nuxeo-development-framework 3.8.0 → 3.8.1

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 (253) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +1069 -890
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/activities-log/activities-log/activities-log.component.js +4 -4
  4. package/esm2015/lib/components/activities-log/activities-log/activities-log.service.js +4 -4
  5. package/esm2015/lib/components/activities-log/activities-log.module.js +5 -5
  6. package/esm2015/lib/components/activity/activity/activity.component.js +4 -4
  7. package/esm2015/lib/components/activity/activity.module.js +5 -5
  8. package/esm2015/lib/components/attachment-item/attachment-item/attachment-item.component.js +4 -4
  9. package/esm2015/lib/components/attachment-item/attachment-item.module.js +5 -5
  10. package/esm2015/lib/components/attachment-modal/attachment-modal.module.js +5 -5
  11. package/esm2015/lib/components/attachment-modal/attachments/attachments.component.js +4 -4
  12. package/esm2015/lib/components/avatar/avatar/avatar.component.js +4 -4
  13. package/esm2015/lib/components/avatar/avatar.module.js +5 -5
  14. package/esm2015/lib/components/card/card.component.js +4 -4
  15. package/esm2015/lib/components/card/card.module.js +5 -5
  16. package/esm2015/lib/components/comments/comments.module.js +5 -5
  17. package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +4 -4
  18. package/esm2015/lib/components/comments/components/comments-dashlet/comments-dashlet.component.js +4 -4
  19. package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +4 -4
  20. package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +4 -4
  21. package/esm2015/lib/components/comments/services/comment-api.service.js +4 -4
  22. package/esm2015/lib/components/confirm-caller/confirm-caller.dialog.js +4 -4
  23. package/esm2015/lib/components/confirm-caller/confirm-caller.module.js +5 -5
  24. package/esm2015/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.js +4 -4
  25. package/esm2015/lib/components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.js +4 -4
  26. package/esm2015/lib/components/confirmation-dialog/confirmation-dialog.module.js +5 -5
  27. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +4 -4
  28. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +4 -4
  29. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +4 -4
  30. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-reply/correspondence-relation-reply.component.js +4 -4
  31. package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +4 -4
  32. package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +5 -5
  33. package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +4 -4
  34. package/esm2015/lib/components/correspondence-relation/services/viewer-files.service.js +4 -4
  35. package/esm2015/lib/components/create-entity/create-entity/create-entity.component.js +4 -4
  36. package/esm2015/lib/components/create-entity/create-entity.module.js +5 -5
  37. package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +4 -4
  38. package/esm2015/lib/components/cts-tags/cts-tags.module.js +5 -5
  39. package/esm2015/lib/components/cts-tags/services/tags-api.service.js +4 -4
  40. package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +4 -4
  41. package/esm2015/lib/components/custom-toastr/custom-toastr.module.js +5 -5
  42. package/esm2015/lib/components/custom-toastr/services/custom-toastr.service.js +4 -4
  43. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/display-suitable-icon.component.js +4 -4
  44. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/icon.service.js +4 -4
  45. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon.module.js +5 -5
  46. package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +4 -4
  47. package/esm2015/lib/components/documents/components/attachments-page-provider/attachments-page-provider.component.js +4 -4
  48. package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +4 -4
  49. package/esm2015/lib/components/documents/components/document-scan/document-scan.component.js +4 -4
  50. package/esm2015/lib/components/documents/components/document-scan/document-scan.service.js +4 -4
  51. package/esm2015/lib/components/documents/components/document-upload/document-upload.component.js +4 -4
  52. package/esm2015/lib/components/documents/components/documents/documents.component.js +4 -4
  53. package/esm2015/lib/components/documents/documents.module.js +5 -5
  54. package/esm2015/lib/components/documents/services/document-templates.service.js +4 -4
  55. package/esm2015/lib/components/documents/services/documents.service.js +4 -4
  56. package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +4 -4
  57. package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +5 -5
  58. package/esm2015/lib/components/dynamic-chart/dynamic-single-chart/dynamic-single-chart.component.js +4 -4
  59. package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +4 -4
  60. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.js +4 -4
  61. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.js +5 -5
  62. package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +4 -4
  63. package/esm2015/lib/components/dynamic-filter/dynamic-filter.module.js +5 -5
  64. package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +4 -4
  65. package/esm2015/lib/components/dynamic-form/components/dynamic-form/dynamic-form.component.js +4 -4
  66. package/esm2015/lib/components/dynamic-form/components/dynamic-form/fields.adapter.js +4 -4
  67. package/esm2015/lib/components/dynamic-form/components/dynamic-form/form-builder.service.js +4 -4
  68. package/esm2015/lib/components/dynamic-form/components/dynamic-form-boolitem/dynamic-form-boolitem.component.js +4 -4
  69. package/esm2015/lib/components/dynamic-form/components/dynamic-form-builder/dynamic-form-builder.component.js +4 -4
  70. package/esm2015/lib/components/dynamic-form/components/dynamic-form-checkbox-item/dynamic-form-checkbox-item.component.js +4 -4
  71. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +4 -4
  72. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.js +4 -4
  73. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +4 -4
  74. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +4 -4
  75. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +4 -4
  76. package/esm2015/lib/components/dynamic-form/components/dynamic-form-field/dynamic-form-field.component.js +4 -4
  77. package/esm2015/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.js +4 -4
  78. package/esm2015/lib/components/dynamic-form/components/dynamic-form-item-dispatcher/dynamic-form-item-dispatcher.component.js +4 -4
  79. package/esm2015/lib/components/dynamic-form/components/dynamic-form-mapitem/dynamic-form-mapitem.component.js +4 -4
  80. package/esm2015/lib/components/dynamic-form/components/dynamic-form-options/dynamic-form-options.component.js +4 -4
  81. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-tag/dynamic-form-select-tag.component.js +4 -4
  82. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-user-filter/dynamic-form-select-user-filter.component.js +4 -4
  83. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +4 -4
  84. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.js +4 -4
  85. package/esm2015/lib/components/dynamic-form/components/dynamic-form-selectitem/dynamic-form-selectitem.component.js +4 -4
  86. package/esm2015/lib/components/dynamic-form/components/dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component.js +4 -4
  87. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +4 -4
  88. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +4 -4
  89. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.js +25 -14
  90. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +7 -4
  91. package/esm2015/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.js +4 -4
  92. package/esm2015/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.js +4 -4
  93. package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.component.js +4 -4
  94. package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.component.js +4 -4
  95. package/esm2015/lib/components/dynamic-form/components/form-wrappers/user-selector-wrapper/user-selector-wrapper.component.js +4 -4
  96. package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.component.js +4 -4
  97. package/esm2015/lib/components/dynamic-form/directives/dynamic-form-content-proxy.directive.js +4 -4
  98. package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +5 -5
  99. package/esm2015/lib/components/dynamic-form/services/card-item-types.service.js +4 -4
  100. package/esm2015/lib/components/dynamic-form/services/dynamic-form-update.service.js +4 -4
  101. package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +4 -4
  102. package/esm2015/lib/components/dynamic-search/dynamic-search.module.js +5 -5
  103. package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +4 -4
  104. package/esm2015/lib/components/dynamic-table/dynamic-table.module.js +5 -5
  105. package/esm2015/lib/components/dynamic-table/services/dynamic-table.service.js +4 -4
  106. package/esm2015/lib/components/dynamic-tabs/dynamic-tabs/dynamic-tabs.component.js +4 -4
  107. package/esm2015/lib/components/dynamic-tabs/dynamic-tabs.module.js +5 -5
  108. package/esm2015/lib/components/dynamic-view/boolean-viewer/boolean-viewer.component.js +4 -4
  109. package/esm2015/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.js +4 -4
  110. package/esm2015/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.js +4 -4
  111. package/esm2015/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.js +4 -4
  112. package/esm2015/lib/components/dynamic-view/data-viewer/data-viewer.component.js +4 -4
  113. package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +4 -4
  114. package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +4 -4
  115. package/esm2015/lib/components/dynamic-view/dropdown-viewer/dropdown-viewer.component.js +4 -4
  116. package/esm2015/lib/components/dynamic-view/dynamic-view.module.js +5 -5
  117. package/esm2015/lib/components/dynamic-view/dynamic-viewe.service.js +4 -4
  118. package/esm2015/lib/components/dynamic-view/list-viewer/list-viewer.component.js +4 -4
  119. package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +4 -4
  120. package/esm2015/lib/components/file-manger/components/clipboard/clipboard.component.js +4 -4
  121. package/esm2015/lib/components/file-manger/components/copy/copy.component.js +4 -4
  122. package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +4 -4
  123. package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +4 -4
  124. package/esm2015/lib/components/file-manger/components/creation-type/creation-type.component.js +4 -4
  125. package/esm2015/lib/components/file-manger/components/delete/delete.component.js +4 -4
  126. package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +4 -4
  127. package/esm2015/lib/components/file-manger/components/loan-request/loan-request.component.js +4 -4
  128. package/esm2015/lib/components/file-manger/components/move/move.component.js +4 -4
  129. package/esm2015/lib/components/file-manger/components/publish-dialog/publish-dialog.component.js +4 -4
  130. package/esm2015/lib/components/file-manger/components/rename/rename.component.js +4 -4
  131. package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +4 -4
  132. package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +4 -4
  133. package/esm2015/lib/components/file-manger/components/sidepanel/sidepanel.component.js +4 -4
  134. package/esm2015/lib/components/file-manger/components/template-modal/template-modal.component.js +4 -4
  135. package/esm2015/lib/components/file-manger/components/transfer-doc/transfer-doc.component.js +4 -4
  136. package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +4 -4
  137. package/esm2015/lib/components/file-manger/file-manager.abstract.js +4 -4
  138. package/esm2015/lib/components/file-manger/file-manger.module.js +5 -5
  139. package/esm2015/lib/components/filter/filter/filter.component.js +4 -4
  140. package/esm2015/lib/components/filter/filter.module.js +5 -5
  141. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/gregorian-datepicker/gregorian-datepicker.component.js +4 -4
  142. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-datepicker/hijri-datepicker.component.js +4 -4
  143. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-gregorian-datepicker.component.js +4 -4
  144. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/provide-parent-form.directive.js +4 -4
  145. package/esm2015/lib/components/hijri-gregorian-datepicker/ngx-hijri-gregorian-datepicker.module.js +5 -5
  146. package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-formatter.service.js +4 -4
  147. package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-helper.service.js +4 -4
  148. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/CustomNgbDateParserFormatter.js +4 -4
  149. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/IslamicI18n.js +4 -4
  150. package/esm2015/lib/components/latest-activity/components/activity-line/activity-line.component.js +4 -4
  151. package/esm2015/lib/components/latest-activity/components/latest-activity/latest-activity.component.js +4 -4
  152. package/esm2015/lib/components/latest-activity/components/single-activity/single-activity.component.js +4 -4
  153. package/esm2015/lib/components/latest-activity/latest-activity.module.js +5 -5
  154. package/esm2015/lib/components/latest-activity/services/activity-log.service.js +4 -4
  155. package/esm2015/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.js +4 -4
  156. package/esm2015/lib/components/mutiple-dynamic-form-viewer/mutiple-dynamic-form-viewer.module.js +5 -5
  157. package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +4 -4
  158. package/esm2015/lib/components/notifications/components/notification-options/notification-options.component.js +4 -4
  159. package/esm2015/lib/components/notifications/components/notification-toast/notification-toast.component.js +4 -4
  160. package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +4 -4
  161. package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +4 -4
  162. package/esm2015/lib/components/notifications/notifications.module.js +5 -5
  163. package/esm2015/lib/components/notifications/notifications.service.js +4 -4
  164. package/esm2015/lib/components/pagination/pagination/pagination.component.js +4 -4
  165. package/esm2015/lib/components/pagination/pagination.module.js +5 -5
  166. package/esm2015/lib/components/pdf-tron/pdf-tron.module.js +5 -5
  167. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +4 -4
  168. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.service.js +4 -4
  169. package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +4 -4
  170. package/esm2015/lib/components/permissions/permission.service.js +4 -4
  171. package/esm2015/lib/components/permissions/permissions/permissions.component.js +4 -4
  172. package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js +4 -4
  173. package/esm2015/lib/components/permissions/permissions.module.js +5 -5
  174. package/esm2015/lib/components/select/select/select.component.js +4 -4
  175. package/esm2015/lib/components/select/select.module.js +5 -5
  176. package/esm2015/lib/components/select-users-by-department/select-users-by-department.module.js +5 -5
  177. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/department-management.service.js +4 -4
  178. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.js +4 -4
  179. package/esm2015/lib/components/table/dynamic-column/dynamic-column.component.js +4 -4
  180. package/esm2015/lib/components/table/table/table.component.js +4 -4
  181. package/esm2015/lib/components/table/table.module.js +5 -5
  182. package/esm2015/lib/components/user/user/user.component.js +4 -4
  183. package/esm2015/lib/components/user/user.module.js +5 -5
  184. package/esm2015/lib/components/users-card/users-card.component.js +4 -4
  185. package/esm2015/lib/components/users-card/users-card.module.js +5 -5
  186. package/esm2015/lib/components/viewer-log/components/viewer-log/viewer-log.component.js +4 -4
  187. package/esm2015/lib/components/viewer-log/viewer-log.module.js +5 -5
  188. package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +4 -4
  189. package/esm2015/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.js +4 -4
  190. package/esm2015/lib/components/vocabulary/vocabulary/vocabulary.component.js +4 -4
  191. package/esm2015/lib/components/vocabulary/vocabulary.module.js +5 -5
  192. package/esm2015/lib/configuration/app-config.service.js +4 -4
  193. package/esm2015/lib/core/adapters/adapter.service.js +4 -4
  194. package/esm2015/lib/core/core.module.js +5 -5
  195. package/esm2015/lib/core/services/callApi/call-api.service.js +4 -4
  196. package/esm2015/lib/core/services/extension/component-register.service.js +4 -4
  197. package/esm2015/lib/core/services/extension/extension-loader.service.js +4 -4
  198. package/esm2015/lib/core/services/extension/extension.service.js +4 -4
  199. package/esm2015/lib/core/services/initialization/initialization.service.js +4 -4
  200. package/esm2015/lib/core/services/localStorag/local-storag.service.js +4 -4
  201. package/esm2015/lib/core/services/nuxeo/nuxeo.service.js +4 -4
  202. package/esm2015/lib/core/services/roles/roles.service.js +4 -4
  203. package/esm2015/lib/core/services/translation/translate-loader.service.js +4 -4
  204. package/esm2015/lib/core/services/translation/translation.service.js +4 -4
  205. package/esm2015/lib/core/services/user/user-preferences.service.js +4 -4
  206. package/esm2015/lib/core/utilities/moment-date-adapter.js +4 -4
  207. package/esm2015/lib/core/utilities/utility.service.js +4 -4
  208. package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +4 -4
  209. package/esm2015/lib/directive/clickOutSide/click-outside.directive.js +4 -4
  210. package/esm2015/lib/directive/directive.module.js +5 -5
  211. package/esm2015/lib/directive/drag-and-drop/drag-and-drop.directive.js +4 -4
  212. package/esm2015/lib/directive/permissions/evaluators.service.js +4 -4
  213. package/esm2015/lib/directive/permissions/permissions.directive.js +4 -4
  214. package/esm2015/lib/directive/rtl/set-dir-rtl.directive.js +4 -4
  215. package/esm2015/lib/directive/rtl/set-rtl.directive.js +4 -4
  216. package/esm2015/lib/nuxeo-development-framework.component.js +4 -4
  217. package/esm2015/lib/nuxeo-development-framework.module.js +5 -5
  218. package/esm2015/lib/nuxeo-development-framework.service.js +4 -4
  219. package/esm2015/lib/pipes/file-size.pipe.js +4 -4
  220. package/esm2015/lib/pipes/hijri-date.pipe.js +4 -4
  221. package/esm2015/lib/pipes/localized-date.pipe.js +4 -4
  222. package/esm2015/lib/pipes/multi-value.pipe.js +4 -4
  223. package/esm2015/lib/pipes/pipes.module.js +5 -5
  224. package/esm2015/lib/pipes/secure-html.pipe.js +4 -4
  225. package/esm2015/lib/pipes/secure.pipe.js +4 -4
  226. package/esm2015/lib/pipes/time-ago.pipe.js +4 -4
  227. package/esm2015/lib/shared/components/button/button.component.js +4 -4
  228. package/esm2015/lib/shared/components/item-list/item-list.component.js +4 -4
  229. package/esm2015/lib/shared/components/no-data/no-data.component.js +4 -4
  230. package/esm2015/lib/shared/components/read-more/read-more.component.js +4 -4
  231. package/esm2015/lib/shared/components/search-autocomplete/search-autocomplete.component.js +4 -4
  232. package/esm2015/lib/shared/components/spinner/spinner.component.js +4 -4
  233. package/esm2015/lib/shared/components/user-card/user-card.component.js +4 -4
  234. package/esm2015/lib/shared/libraryShared.module.js +5 -5
  235. package/esm2015/lib/shared-services/dialog-mangment.service.js +4 -4
  236. package/esm2015/lib/shared-services/dynamic-form.service.js +4 -4
  237. package/esm2015/lib/shared-services/file-manager.adapter.js +4 -4
  238. package/esm2015/lib/shared-services/file-manager.service.js +4 -4
  239. package/esm2015/lib/shared-services/global-admin.service.js +4 -4
  240. package/esm2015/lib/shared-services/global-pdftron.service.js +4 -4
  241. package/esm2015/lib/shared-services/mainfolder.service.js +4 -4
  242. package/esm2015/lib/shared-services/publishing-document.service.js +4 -4
  243. package/esm2015/lib/shared-services/recently-viewed.service.js +4 -4
  244. package/esm2015/lib/shared-services/shared-docs.service.js +4 -4
  245. package/esm2015/lib/shared-services/shared-services.module.js +5 -5
  246. package/esm2015/lib/shared-services/upload-file.service.js +4 -4
  247. package/esm2015/lib/shared-services/upload-managment.service.js +4 -4
  248. package/esm2015/lib/shared-services/user.service.js +4 -4
  249. package/fesm2015/nuxeo-development-framework.js +820 -807
  250. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  251. package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.d.ts +4 -2
  252. package/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.d.ts +2 -1
  253. package/package.json +1 -1
@@ -255,9 +255,9 @@ export class DynamicFormTextItemComponent {
255
255
  }
256
256
  }
257
257
  DynamicFormTextItemComponent.DEFAULT_SEPARATOR = ', ';
258
- DynamicFormTextItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormTextItemComponent, deps: [{ token: i1.DynamicFormUpdateService }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
259
- DynamicFormTextItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: { autoComplete: "autoComplete", nativeAutoComplete: "nativeAutoComplete", autoComplete_pageProvider: "autoComplete_pageProvider", autoComplete_propertyName: "autoComplete_propertyName", autoComplete_propertyKey: "autoComplete_propertyKey", autoCompleteValueKey: "autoCompleteValueKey", autoCompleteType: "autoCompleteType", tenantId: "tenantId", emitFullObject: "emitFullObject", outsideParams: "outsideParams", type: "type", property: "property", label: "label", editable: "editable", placeholder: "placeholder", disabled: "disabled", displayEmpty: "displayEmpty", preventSpace: "preventSpace", id: "id", maxCharsNum: "maxCharsNum" }, viewQueries: [{ propertyName: "editorInput", first: true, predicate: ["editorInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <label *ngIf=\"label\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n <div class=\"\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n <div class=\"new-one\" (clickOutside)=\"openOptions(false)\">\r\n <input\r\n \r\n [id]=\"id\"\r\n [attr.disabled]=\"isDisabled() || null\"\r\n [type]=\"type\"\r\n class=\"form-control\"\r\n [ngClass]=\"{'input-filled' : (emitFullObject ? (editedValue?.title) : editedValue) }\"\r\n (keydown.space)=\"allowSpace($event)\"\r\n #editorInput\r\n [required]=\"isRequired()\"\r\n [(ngModel)]=\"emitFullObject ? editedValue?.title : editedValue\"\r\n [autocomplete]=\"nativeAutoComplete\"\r\n (ngModelChange)=\"update($event)\"\r\n (keyup)=\"waitUntilUserFinishTyping()\"\r\n [attr.data-automation-id]=\"'card-textitem-editinput-'\"\r\n placeholder=\"{{ placeholder | translate }}\"\r\n (focus)=\"openOptions(true)\"\r\n maxlength=\"{{maxCharsNum}}\"\r\n />\r\n <div *ngIf=\"documentList.length !== 0\" id=\"suggestedoptions\">\r\n <div\r\n class=\"suggestions-wrapper\"\r\n [ngClass]=\"{ 'd-block': showsuggestedOptions }\"\r\n >\r\n <div\r\n class=\"option\"\r\n id=\"suggestedoptions\"\r\n *ngFor=\"let option of documentList\"\r\n (click)=\"selectItem(option)\"\r\n >\r\n {{ option.title }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n >\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ label | translate }} {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.pattern\">\r\n {{ \"wrong pattern\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.min\">\r\n {{ \"VALIDATORS.MIN\" | translate }} {{ control.errors.min.min }}\r\n </li>\r\n </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ emitFullObject ? editedValue?.title : editedValue }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-property-value .input-filled{border-color:#1a96c6!important}.app-property-value .app-input-wrapper label{color:#8f98aa;font-size:12px;margin-bottom:0}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;background-color:#8f98aa1a;border-radius:0;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .app-textitem-editable-error ul{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error ul li{margin-top:5px}.app-property-value .app-input-wrapper .new-one{position:relative}.app-property-value .app-input-wrapper .suggestions-wrapper{border-radius:3px;height:auto;max-height:240px;border:1px solid #ccc;box-shadow:2px 2px 2px #0000000f;overflow:auto;display:none;position:absolute;width:100%;background-color:#fff;z-index:99}.app-property-value .app-input-wrapper .suggestions-wrapper .option{margin-bottom:5px;padding:5px 10px;cursor:pointer}.app-property-value .app-input-wrapper .suggestions-wrapper .option:hover{background-color:#f5faff}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFormTextItemComponent, decorators: [{
258
+ DynamicFormTextItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormTextItemComponent, deps: [{ token: i1.DynamicFormUpdateService }, { token: i2.TranslateService }, { token: i3.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
259
+ DynamicFormTextItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: { autoComplete: "autoComplete", nativeAutoComplete: "nativeAutoComplete", autoComplete_pageProvider: "autoComplete_pageProvider", autoComplete_propertyName: "autoComplete_propertyName", autoComplete_propertyKey: "autoComplete_propertyKey", autoCompleteValueKey: "autoCompleteValueKey", autoCompleteType: "autoCompleteType", tenantId: "tenantId", emitFullObject: "emitFullObject", outsideParams: "outsideParams", type: "type", property: "property", label: "label", editable: "editable", placeholder: "placeholder", disabled: "disabled", displayEmpty: "displayEmpty", preventSpace: "preventSpace", id: "id", maxCharsNum: "maxCharsNum" }, viewQueries: [{ propertyName: "editorInput", first: true, predicate: ["editorInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"app-property-value\">\r\n <div class=\"app-input-wrapper\">\r\n <label *ngIf=\"label\" for=\"formGroupInputSmall\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger m-1\">*</span></label\r\n >\r\n <div class=\"\">\r\n <ng-container *ngIf=\"isEditable(); else readOnly\">\r\n <div class=\"new-one\" (clickOutside)=\"openOptions(false)\">\r\n <input\r\n \r\n [id]=\"id\"\r\n [attr.disabled]=\"isDisabled() || null\"\r\n [type]=\"type\"\r\n class=\"form-control\"\r\n [ngClass]=\"{'input-filled' : (emitFullObject ? (editedValue?.title) : editedValue) }\"\r\n (keydown.space)=\"allowSpace($event)\"\r\n #editorInput\r\n [required]=\"isRequired()\"\r\n [(ngModel)]=\"emitFullObject ? editedValue?.title : editedValue\"\r\n [autocomplete]=\"nativeAutoComplete\"\r\n (ngModelChange)=\"update($event)\"\r\n (keyup)=\"waitUntilUserFinishTyping()\"\r\n [attr.data-automation-id]=\"'card-textitem-editinput-'\"\r\n placeholder=\"{{ placeholder | translate }}\"\r\n (focus)=\"openOptions(true)\"\r\n maxlength=\"{{maxCharsNum}}\"\r\n />\r\n <div *ngIf=\"documentList.length !== 0\" id=\"suggestedoptions\">\r\n <div\r\n class=\"suggestions-wrapper\"\r\n [ngClass]=\"{ 'd-block': showsuggestedOptions }\"\r\n >\r\n <div\r\n class=\"option\"\r\n id=\"suggestedoptions\"\r\n *ngFor=\"let option of documentList\"\r\n (click)=\"selectItem(option)\"\r\n >\r\n {{ option.title }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <mat-error\r\n [attr.data-automation-id]=\"'card-textitem-error-'\"\r\n class=\"app-textitem-editable-error\"\r\n *ngIf=\"hasErrors()\"\r\n >\r\n <ul>\r\n <li *ngIf=\"control.errors.required\">\r\n {{ label | translate }} {{ \"VALIDATORS.REQUIRED\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.pattern\">\r\n {{ \"wrong pattern\" | translate }}\r\n </li>\r\n <li *ngIf=\"control.errors.min\">\r\n {{ \"VALIDATORS.MIN\" | translate }} {{ control.errors.min.min }}\r\n </li>\r\n </ul>\r\n </mat-error>\r\n </ng-container>\r\n <ng-template #readOnly>\r\n {{ emitFullObject ? editedValue?.title : editedValue }}\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".app-property-value .input-filled{border-color:#1a96c6!important}.app-property-value .app-input-wrapper label{color:#8f98aa;font-size:12px;margin-bottom:0}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;background-color:#8f98aa1a;border-radius:0;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .app-textitem-editable-error ul{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error ul li{margin-top:5px}.app-property-value .app-input-wrapper .new-one{position:relative}.app-property-value .app-input-wrapper .suggestions-wrapper{border-radius:3px;height:auto;max-height:240px;border:1px solid #ccc;box-shadow:2px 2px 2px #0000000f;overflow:auto;display:none;position:absolute;width:100%;background-color:#fff;z-index:99}.app-property-value .app-input-wrapper .suggestions-wrapper .option{margin-bottom:5px;padding:5px 10px;cursor:pointer}.app-property-value .app-input-wrapper .suggestions-wrapper .option:hover{background-color:#f5faff}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.MatError, selector: "mat-error", inputs: ["id"] }], pipes: { "translate": i2.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DynamicFormTextItemComponent, decorators: [{
261
261
  type: Component,
262
262
  args: [{
263
263
  selector: 'app-dynamic-form-textitem',
@@ -313,4 +313,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
313
313
  type: ViewChild,
314
314
  args: ['editorInput']
315
315
  }] } });
316
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLXRleHRpdGVtL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVV2Qjs7Ozs7Ozs7OztHQVVHO0FBUUgsTUFBTSxPQUFPLDRCQUE0QjtJQW9EdkMsWUFDVSx3QkFBa0QsRUFDbkQsU0FBMkIsRUFDUCxPQUFrQjtRQUZyQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQW5EdEMsaUJBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyw4REFBOEQ7UUFDcEYsdUJBQWtCLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO1FBQ3ZFLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQiw4QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDL0IsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMx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RUFBRSwyQkFBMkI7b0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7b0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO29CQUNyRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQXdESSxJQUFJOzswQkFBSSxRQUFROzRDQW5EVixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLEVBQUU7c0JBREQsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVFLFdBQVc7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPcHRpb25hbCxcclxuICBTZWxmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgTmdDb250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVRleHRJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHluYW1pYy1mb3JtLm1vZGVscyc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtVXBkYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2R5bmFtaWMtZm9ybS11cGRhdGUuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQSB0ZXh0IGZpZWxkIGlucHV0IHRoYXQgY2FuIGJlIHVzZWQgaW5zaWRlIHJlYWN0aXZlIG9yIHRlbXBsYXRlIGRyaXZlbiBmb3Jtc1xyXG4gKiBAdGl0bGVcclxuICogVGV4dCBGaWVsZFxyXG4gKiBAZXhhbXBsZVxyXG4gKiA8YXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbVxyXG4gKiAgICBbaG9yaXpvbnRhbEFsaWduXT1cImZhbHNlXCJcclxuICogICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udHJvbE5hbWVcIlxyXG4gKiAgICBbcGxhY2Vob2xkZXJdPVwiJ1BBVEguVE8uUExBQ0VIT0xERVIuU1RSSU5HJ1wiXHJcbiAqID48L2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0+XHJcbiAqL1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1UZXh0SXRlbUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgc3RhdGljIERFRkFVTFRfU0VQQVJBVE9SID0gJywgJztcclxuXHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlID0gZmFsc2U7IC8vIHRvIGdldCBzdWdnZXN0aW9ucyBmcm9tIGJhY2tlbmQgd2hlbiB1c2VyIHR5cGUgc29tZSBsZXR0ZXJzXHJcbiAgQElucHV0KCkgbmF0aXZlQXV0b0NvbXBsZXRlID0gJ29mZic7IC8vIHRvIGdldCBzdWdnZXN0aW9ucyBmcm9tIGJyb3dzZXIgbmF0aXZlbHlcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVfcGFnZVByb3ZpZGVyID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZV9wcm9wZXJ0eUtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZVZhbHVlS2V5ID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlVHlwZSA9J3BlcmNlbnRhZ2UnO1xyXG4gIEBJbnB1dCgpIHRlbmFudElkOyAvLyByZWFsdGVkIHRvIG11bHRpIHRlbmFudCB3aWxsIGJlIHNlbnQgaW4gY2FlIG9mIG11bHRpIHRlbmFudCBvbmx5XHJcbiAgQElucHV0KCkgZW1pdEZ1bGxPYmplY3QgPSBmYWxzZTsgLy8gdXNlZCB0byBjb250cm9sIG9uIGVtaXRpbmcgZnVsbCBzZWxlY3RlZCBvYmplY3Qgb3Igb25seSBzdHJpbmdcclxuICBASW5wdXQoKSBvdXRzaWRlUGFyYW1zID0ge307IC8vIG9iamVjdCBvZiBwYXJhbXMgdG8gYmUgcGFzc2VkIGZyb20gb3V0c2lkZVxyXG5cclxuICAvKiogaW5wdXQgdHlwZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgdHlwZSA9ICd0ZXh0JztcclxuICAvKiogQGRlcHJlY2F0ZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIHByb3BlcnR5OiBEeW5hbWljRm9ybVRleHRJdGVtTW9kZWw7XHJcbiAgLyoqIEZpZWxkIExhYmVsICovXHJcbiAgQElucHV0KClcclxuICBsYWJlbDtcclxuICAvKiogaXMgRWRpdGFibGUgKi9cclxuICBASW5wdXQoKVxyXG4gIGVkaXRhYmxlID0gdHJ1ZTtcclxuICAvKiogUGxhY2Vob2xkZXIgc3RyaW5nICovXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuICAvKiogaXMgZGlzYWJsZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KClcclxuICBkaXNwbGF5RW1wdHkgPSB0cnVlO1xyXG4gIC8qKiBzaG91bGQgcHJldmVudCBzcGFjZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJldmVudFNwYWNlID0gZmFsc2U7XHJcbiAgLyoqIERPTSBlbGVtZW50IElkICovXHJcbiAgQElucHV0KClcclxuICBpZDtcclxuXHJcbiAgQElucHV0KCkgbWF4Q2hhcnNOdW0gPSBudWxsO1xyXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvcklucHV0JylcclxuICBwcml2YXRlIGVkaXRvcklucHV0OiBhbnk7XHJcblxyXG4gIGluRWRpdCA9IGZhbHNlO1xyXG4gIGVkaXRlZFZhbHVlOiBzdHJpbmc7XHJcbiAgZXJyb3JNZXNzYWdlczogc3RyaW5nW107XHJcbiAgdmFsdWVTZXBhcmF0b3I6IHN0cmluZztcclxuICBzaG93c3VnZ2VzdGVkT3B0aW9ucyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlOiBEeW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB0aGlzLnZhbHVlU2VwYXJhdG9yID0gRHluYW1pY0Zvcm1UZXh0SXRlbUNvbXBvbmVudC5ERUZBVUxUX1NFUEFSQVRPUjtcclxuICB9XHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgaXNSZXF1aXJlZCgpIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3Ioe30gYXMgQWJzdHJhY3RDb250cm9sKTtcclxuICAgIHJldHVybiB2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkO1xyXG4gIH1cclxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRlZFZhbHVlID0gb2JqO1xyXG4gICAgLy90aGlzLnByb3BlcnR5LnZhbHVlID0gb2JqO1xyXG5cclxuICAgIC8vICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wuaW52YWxpZCA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzaG93RXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBkaXJ0eSwgdG91Y2hlZCB9ID0gdGhpcy5jb250cm9sO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyBkaXJ0eSB8fCB0b3VjaGVkIDogZmFsc2U7XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIC8qdGhpcy5lZGl0ZWRWYWx1ZSA9IHRoaXMucHJvcGVydHkubXVsdGlsaW5lXHJcbiAgICAgID8gdGhpcy5wcm9wZXJ0eS5kaXNwbGF5VmFsdWVcclxuICAgICAgOiB0aGlzLnByb3BlcnR5LnZhbHVlOyovXHJcbiAgfVxyXG5cclxuICBzaG93UHJvcGVydHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5RW1wdHkgfHwgIXRoaXMucHJvcGVydHkuaXNFbXB0eSgpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0NsaWNrYWJsZUljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5oYXNJY29uKCkgJiYgdGhpcy5lZGl0YWJsZTtcclxuICB9XHJcblxyXG4gIGlzRWRpdGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5lZGl0YWJsZTtcclxuICB9XHJcbiAgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgaXNDbGlja2FibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLnByb3BlcnR5LmNsaWNrYWJsZTtcclxuICB9XHJcblxyXG4gIGhhc0ljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLnByb3BlcnR5Lmljb247XHJcbiAgfVxyXG5cclxuICBoYXNFcnJvcnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93RXJyb3I7XHJcbiAgfVxyXG4gIGFsbG93U3BhY2UoZSkge1xyXG4gICAgaWYgKHRoaXMucHJldmVudFNwYWNlKSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2V0RWRpdE1vZGUoZWRpdFN0YXR1czogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pbkVkaXQgPSBlZGl0U3RhdHVzO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmVkaXRvcklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JJbnB1dD8ubmF0aXZlRWxlbWVudD8uY2xpY2soKTtcclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICByZXNldChldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIC8vIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIC8qdGhpcy5lZGl0ZWRWYWx1ZSA9IHRoaXMucHJvcGVydHkubXVsdGlsaW5lXHJcbiAgICAgID8gdGhpcy5wcm9wZXJ0eS5kaXNwbGF5VmFsdWVcclxuICAgICAgOiB0aGlzLnByb3BlcnR5LnZhbHVlOyovXHJcbiAgICB0aGlzLnNldEVkaXRNb2RlKGZhbHNlKTtcclxuICAgIHRoaXMucmVzZXRFcnJvck1lc3NhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2V0RXJyb3JNZXNzYWdlcygpIHtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlKGV2ZW50OiBNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgLy8gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBjb25zdCB1cGRhdGVkVmFsdWUgPSB0aGlzLnByZXBhcmVWYWx1ZUZvclVwbG9hZChcclxuICAgICAgdGhpcy5wcm9wZXJ0eSxcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZVxyXG4gICAgKTtcclxuICAgIC8vIHRoaXMucHJvcGVydHkudmFsdWUgPSB1cGRhdGVkVmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHVwZGF0ZWRWYWx1ZSk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgLy8gdGhpcy5keW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UudXBkYXRlKHRoaXMucHJvcGVydHksIHVwZGF0ZWRWYWx1ZSk7XHJcbiAgICB0aGlzLnNldEVkaXRNb2RlKGZhbHNlKTtcclxuICAgIHRoaXMucmVzZXRFcnJvck1lc3NhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlVmFsdWVGb3JVcGxvYWQoXHJcbiAgICBwcm9wZXJ0eTogRHluYW1pY0Zvcm1UZXh0SXRlbU1vZGVsLFxyXG4gICAgdmFsdWU6IHN0cmluZ1xyXG4gICk6IHN0cmluZyB8IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIG9uVGV4dEFyZWFJbnB1dENoYW5nZSgpIHtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IHRoaXMucHJvcGVydHkuZ2V0VmFsaWRhdGlvbkVycm9ycyh0aGlzLmVkaXRlZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIGNsaWNrZWQoKTogdm9pZCB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMucHJvcGVydHkuY2xpY2tDYWxsQmFjayA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aGlzLnByb3BlcnR5LmNsaWNrQ2FsbEJhY2soKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLmNsaWNrZWQodGhpcy5wcm9wZXJ0eSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtKHNlbGVjdGVkSXRlbSkge1xyXG4gICAgaWYodGhpcy5lbWl0RnVsbE9iamVjdCl7XHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWUgPSBzZWxlY3RlZEl0ZW07XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IHNlbGVjdGVkSXRlbS50aXRsZTtcclxuICAgIH1cclxuICAgIHRoaXMudXBkYXRlKG51bGwpO1xyXG4gICAgdGhpcy5zaG93c3VnZ2VzdGVkT3B0aW9ucyA9IGZhbHNlO1xyXG4gICAgdGhpcy5kb2N1bWVudExpc3QgPSBbXTtcclxuICB9XHJcblxyXG4gIHJlc2V0U2VsZWN0aW5nKCl7XHJcbiAgICBpZih0aGlzLmVtaXRGdWxsT2JqZWN0KXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IG51bGw7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9ICcnO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGUobnVsbCk7XHJcbiAgfVxyXG5cclxuICBkb2N1bWVudExpc3Q6IGFueVtdID0gW107XHJcbiAgZGVsYXllZEFjdGlvbjtcclxuICB3YWl0VW50aWxVc2VyRmluaXNoVHlwaW5nKCkge1xyXG4gICAgaWYgKHRoaXMuZGVsYXllZEFjdGlvbikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5kZWxheWVkQWN0aW9uKTtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hJbnB1dENoYW5nZSgpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICBpZighdGhpcy5lZGl0b3JJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlKXtcclxuICAgICAgICB0aGlzLnJlc2V0U2VsZWN0aW5nKCk7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHZhbCA9IHRoaXMuZWRpdG9ySW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZTtcclxuICAgICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICBwYWdlU2l6ZTogNDAsXHJcbiAgICAgICAgcGFnZVByb3ZpZGVyOiB0aGlzLmF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgLi4udGhpcy5vdXRzaWRlUGFyYW1zXHJcbiAgICAgIH07XHJcbiAgICAgIC8vIGlmIGkgd2FzIHNlbmRpbmcgdGVuYW50IGlkIGZyb20gb3V0c2lkZSB0aGVuIGkgYW0gaW4gY2FzZSBvZiBtdWx0aSB0ZW5hbnQgdGhlbiBhZGQgdGVuYW50IGlkIHRvIHBhcmFtc1xyXG4gICAgICBpZih0aGlzLnRlbmFudElkKXtcclxuICAgICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSBgJHt0aGlzLnRlbmFudElkfWBcclxuICAgICAgfVxyXG4gICAgICAvLyBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXSA9ICh2YWwpID8gYCUke3ZhbH0lYCA6ICcnO1xyXG4gICAgICBpZih0aGlzLmF1dG9Db21wbGV0ZVR5cGU9PVwiY2FzZVNlbnNpdGl2ZVwiICYmIHZhbCl7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMuVG9DYXNlSW5zZW5zaXRpdmUodmFsKTtcclxuICAgICAgICBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXT1yZXN1bHQ7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGlmKHRoaXMuYXV0b0NvbXBsZXRlVHlwZT09XCJwZXJjZW50YWdlXCIgJiYgdmFsKXtcclxuXHJcbiAgICAgICAgICBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXT0nJScrdmFsKyclJztcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHBhcmFtc1t0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWVdPSAnJ1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBjaGVjayBpZiByZWxhdGlvbiB0aGVuIHdpbGwgdXNlIGVudHJpZXMgdGhlbiBmZXRjaCBvbmx5IHJlcXVpcmVkIHNjaGVtYXNcclxuICAgICAgLy8gYW5kIG90aGVyIHN1Z2dlc3RlciB3aWxsIHVzZSBhZ2dyZWdhdGlvbnMgZnJvbSByZXNwb25zZSBub3QgZW50cmllcyB0aGVuIGFkZCBwYWdlIHNpemUgMFxyXG4gICAgICAvLyBhbGwgdGhpcyB0byBkZWNyZWFzZSByZXNwb25zZSBzaXplXHJcbiAgICAgIGxldCBjdXN0b21Qcm9wZXJ0aWVzID0gJyonXHJcbiAgICAgIGlmKHRoaXMuYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlciA9PT0gJ1BQX0NvcnJlc3BvbmRlbmNlX1JlbGF0aW9uU2VhY2gnKXtcclxuICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzID0gJ0NvcnJlc3BvbmRlbmNlJztcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgcGFyYW1zLnBhZ2VTaXplID0gMTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmR5bmFtaWNGb3JtVXBkYXRlU2VydmljZVxyXG4gICAgICAgIC5nZXRUZXh0Qm94U3VnZ2VzdGlvblJlc3VsdHMoXHJcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eUtleSxcclxuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlVmFsdWVLZXksXHJcbiAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnRMaXN0ID0gZGF0YS5maWx0ZXIoKG9wdGlvbikgPT5cclxuICAgICAgICAgICAgb3B0aW9uLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsLnRvTG93ZXJDYXNlKCkpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhpcy5zaG93c3VnZ2VzdGVkT3B0aW9ucyA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudExpc3Q7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuT3B0aW9ucyh2YWx1ZSkge1xyXG4gICAgaWYgKHRoaXMuYXV0b0NvbXBsZXRlKSB7XHJcbiAgICAgIHRoaXMuc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSB2YWx1ZTtcclxuICAgICAgaWYgKCF0aGlzLmRvY3VtZW50TGlzdC5sZW5ndGggJiYgdmFsdWUpIHtcclxuICAgICAgICB0aGlzLm9uU2VhcmNoSW5wdXRDaGFuZ2UoKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBUb0Nhc2VJbnNlbnNpdGl2ZSAob3JnaW5hbFRleHQpe1xyXG4gICAgbGV0IHJlc3VsdCA9IFwiXCI7XHJcbiAgICBsZXQgb3JnaW5hbFRleHRMb3dlckNhc2UgPSBvcmdpbmFsVGV4dC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgZm9yKGxldCBpPTA7aTxvcmdpbmFsVGV4dExvd2VyQ2FzZS5sZW5ndGg7aSsrKXtcclxuICAgICAgaWYob3JnaW5hbFRleHRMb3dlckNhc2UuY2hhckF0KGkpID49ICdhJyAmJiBvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkgPD0gJ3onKVxyXG4gICAgICAgcmVzdWx0ID0gcmVzdWx0K1wiW1wiK29yZ2luYWxUZXh0TG93ZXJDYXNlLmNoYXJBdChpKStvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkudG9VcHBlckNhc2UoKStcIl1cIjtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdCtvcmdpbmFsVGV4dC5jaGFyQXQoaSk7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiLipcIityZXN1bHQrXCIuKlwiO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXBwLXByb3BlcnR5LXZhbHVlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFwcC1pbnB1dC13cmFwcGVyXCI+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIGZvcj1cImZvcm1Hcm91cElucHV0U21hbGxcIlxyXG4gICAgICA+e3sgbGFiZWwgfCB0cmFuc2xhdGVcclxuICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbS0xXCI+Kjwvc3Bhbj48L2xhYmVsXHJcbiAgICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0VkaXRhYmxlKCk7IGVsc2UgcmVhZE9ubHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmV3LW9uZVwiIChjbGlja091dHNpZGUpPVwib3Blbk9wdGlvbnMoZmFsc2UpXCI+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgICBbaWRdPVwiaWRcIlxyXG4gICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJpc0Rpc2FibGVkKCkgfHwgbnVsbFwiXHJcbiAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaW5wdXQtZmlsbGVkJyA6IChlbWl0RnVsbE9iamVjdCA/IChlZGl0ZWRWYWx1ZT8udGl0bGUpIDogZWRpdGVkVmFsdWUpIH1cIlxyXG4gICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJhbGxvd1NwYWNlKCRldmVudClcIlxyXG4gICAgICAgICAgICAjZWRpdG9ySW5wdXRcclxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZW1pdEZ1bGxPYmplY3QgPyBlZGl0ZWRWYWx1ZT8udGl0bGUgOiBlZGl0ZWRWYWx1ZVwiXHJcbiAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwibmF0aXZlQXV0b0NvbXBsZXRlXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAoa2V5dXApPVwid2FpdFVudGlsVXNlckZpbmlzaFR5cGluZygpXCJcclxuICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLXRleHRpdGVtLWVkaXRpbnB1dC0nXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvcGVuT3B0aW9ucyh0cnVlKVwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cInt7bWF4Q2hhcnNOdW19fVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImRvY3VtZW50TGlzdC5sZW5ndGggIT09IDBcIiBpZD1cInN1Z2dlc3RlZG9wdGlvbnNcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic3VnZ2VzdGlvbnMtd3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnZC1ibG9jayc6IHNob3dzdWdnZXN0ZWRPcHRpb25zIH1cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJvcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJzdWdnZXN0ZWRvcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZG9jdW1lbnRMaXN0XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKG9wdGlvbilcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IG9wdGlvbi50aXRsZSB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZXJyb3ItJ1wiXHJcbiAgICAgICAgICBjbGFzcz1cImFwcC10ZXh0aXRlbS1lZGl0YWJsZS1lcnJvclwiXHJcbiAgICAgICAgICAqbmdJZj1cImhhc0Vycm9ycygpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLnJlcXVpcmVkXCI+XHJcbiAgICAgICAgICAgICAge3sgbGFiZWwgfCB0cmFuc2xhdGUgfX0ge3sgXCJWQUxJREFUT1JTLlJFUVVJUkVEXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucGF0dGVyblwiPlxyXG4gICAgICAgICAgICAgIHt7IFwid3JvbmcgcGF0dGVyblwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLm1pblwiPlxyXG4gICAgICAgICAgICAgIHt7IFwiVkFMSURBVE9SUy5NSU5cIiB8IHRyYW5zbGF0ZSB9fSB7eyBjb250cm9sLmVycm9ycy5taW4ubWluIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNyZWFkT25seT5cclxuICAgICAgICB7eyBlbWl0RnVsbE9iamVjdCA/IGVkaXRlZFZhbHVlPy50aXRsZSA6IGVkaXRlZFZhbHVlIH19XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
316
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLXRleHRpdGVtL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10ZXh0aXRlbS9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7OztBQVV2Qjs7Ozs7Ozs7OztHQVVHO0FBUUgsTUFBTSxPQUFPLDRCQUE0QjtJQW9EdkMsWUFDVSx3QkFBa0QsRUFDbkQsU0FBMkIsRUFDUCxPQUFrQjtRQUZyQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBQ25ELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBVztRQW5EdEMsaUJBQVksR0FBRyxLQUFLLENBQUMsQ0FBQyw4REFBOEQ7UUFDcEYsdUJBQWtCLEdBQUcsS0FBSyxDQUFDLENBQUMsMkNBQTJDO1FBQ3ZFLDhCQUF5QixHQUFHLEVBQUUsQ0FBQztRQUMvQiw4QkFBeUIsR0FBRyxFQUFFLENBQUM7UUFDL0IsNkJBQXdCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLHlCQUFvQixHQUFHLEVBQUUsQ0FBQztRQUMx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RUFBRSwyQkFBMkI7b0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7b0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO29CQUNyRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7OzBCQXdESSxJQUFJOzswQkFBSSxRQUFROzRDQW5EVixZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0cseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQUlOLEVBQUU7c0JBREQsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVFLFdBQVc7c0JBRGxCLFNBQVM7dUJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPcHRpb25hbCxcclxuICBTZWxmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbnRyb2wsXHJcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXHJcbiAgTmdDb250cm9sLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybVRleHRJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZHluYW1pYy1mb3JtLm1vZGVscyc7XHJcbmltcG9ydCB7IER5bmFtaWNGb3JtVXBkYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2R5bmFtaWMtZm9ybS11cGRhdGUuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogQSB0ZXh0IGZpZWxkIGlucHV0IHRoYXQgY2FuIGJlIHVzZWQgaW5zaWRlIHJlYWN0aXZlIG9yIHRlbXBsYXRlIGRyaXZlbiBmb3Jtc1xyXG4gKiBAdGl0bGVcclxuICogVGV4dCBGaWVsZFxyXG4gKiBAZXhhbXBsZVxyXG4gKiA8YXBwLWR5bmFtaWMtZm9ybS10ZXh0aXRlbVxyXG4gKiAgICBbaG9yaXpvbnRhbEFsaWduXT1cImZhbHNlXCJcclxuICogICAgZm9ybUNvbnRyb2xOYW1lPVwiY29udHJvbE5hbWVcIlxyXG4gKiAgICBbcGxhY2Vob2xkZXJdPVwiJ1BBVEguVE8uUExBQ0VIT0xERVIuU1RSSU5HJ1wiXHJcbiAqID48L2FwcC1keW5hbWljLWZvcm0tdGV4dGl0ZW0+XHJcbiAqL1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZHluYW1pYy1mb3JtLXRleHRpdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLXRleHRpdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0tdGV4dGl0ZW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1UZXh0SXRlbUNvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgc3RhdGljIERFRkFVTFRfU0VQQVJBVE9SID0gJywgJztcclxuXHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlID0gZmFsc2U7IC8vIHRvIGdldCBzdWdnZXN0aW9ucyBmcm9tIGJhY2tlbmQgd2hlbiB1c2VyIHR5cGUgc29tZSBsZXR0ZXJzXHJcbiAgQElucHV0KCkgbmF0aXZlQXV0b0NvbXBsZXRlID0gJ29mZic7IC8vIHRvIGdldCBzdWdnZXN0aW9ucyBmcm9tIGJyb3dzZXIgbmF0aXZlbHlcclxuICBASW5wdXQoKSBhdXRvQ29tcGxldGVfcGFnZVByb3ZpZGVyID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlX3Byb3BlcnR5TmFtZSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZV9wcm9wZXJ0eUtleSA9ICcnO1xyXG4gIEBJbnB1dCgpIGF1dG9Db21wbGV0ZVZhbHVlS2V5ID0gJyc7XHJcbiAgQElucHV0KCkgYXV0b0NvbXBsZXRlVHlwZSA9J3BlcmNlbnRhZ2UnO1xyXG4gIEBJbnB1dCgpIHRlbmFudElkOyAvLyByZWFsdGVkIHRvIG11bHRpIHRlbmFudCB3aWxsIGJlIHNlbnQgaW4gY2FlIG9mIG11bHRpIHRlbmFudCBvbmx5XHJcbiAgQElucHV0KCkgZW1pdEZ1bGxPYmplY3QgPSBmYWxzZTsgLy8gdXNlZCB0byBjb250cm9sIG9uIGVtaXRpbmcgZnVsbCBzZWxlY3RlZCBvYmplY3Qgb3Igb25seSBzdHJpbmdcclxuICBASW5wdXQoKSBvdXRzaWRlUGFyYW1zID0ge307IC8vIG9iamVjdCBvZiBwYXJhbXMgdG8gYmUgcGFzc2VkIGZyb20gb3V0c2lkZVxyXG5cclxuICAvKiogaW5wdXQgdHlwZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgdHlwZSA9ICd0ZXh0JztcclxuICAvKiogQGRlcHJlY2F0ZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIHByb3BlcnR5OiBEeW5hbWljRm9ybVRleHRJdGVtTW9kZWw7XHJcbiAgLyoqIEZpZWxkIExhYmVsICovXHJcbiAgQElucHV0KClcclxuICBsYWJlbDtcclxuICAvKiogaXMgRWRpdGFibGUgKi9cclxuICBASW5wdXQoKVxyXG4gIGVkaXRhYmxlID0gdHJ1ZTtcclxuICAvKiogUGxhY2Vob2xkZXIgc3RyaW5nICovXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuICAvKiogaXMgZGlzYWJsZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgLyoqIEBkZXByZWNhdGVkICovXHJcbiAgQElucHV0KClcclxuICBkaXNwbGF5RW1wdHkgPSB0cnVlO1xyXG4gIC8qKiBzaG91bGQgcHJldmVudCBzcGFjZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJldmVudFNwYWNlID0gZmFsc2U7XHJcbiAgLyoqIERPTSBlbGVtZW50IElkICovXHJcbiAgQElucHV0KClcclxuICBpZDtcclxuXHJcbiAgQElucHV0KCkgbWF4Q2hhcnNOdW0gPSBudWxsO1xyXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvcklucHV0JylcclxuICBwcml2YXRlIGVkaXRvcklucHV0OiBhbnk7XHJcblxyXG4gIGluRWRpdCA9IGZhbHNlO1xyXG4gIGVkaXRlZFZhbHVlOiBzdHJpbmc7XHJcbiAgZXJyb3JNZXNzYWdlczogc3RyaW5nW107XHJcbiAgdmFsdWVTZXBhcmF0b3I6IHN0cmluZztcclxuICBzaG93c3VnZ2VzdGVkT3B0aW9ucyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlOiBEeW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29udHJvbDogTmdDb250cm9sXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB0aGlzLnZhbHVlU2VwYXJhdG9yID0gRHluYW1pY0Zvcm1UZXh0SXRlbUNvbXBvbmVudC5ERUZBVUxUX1NFUEFSQVRPUjtcclxuICB9XHJcbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHsgfTtcclxuICBvblRvdWNoZWQ6IGFueSA9ICgpID0+IHsgfTtcclxuXHJcbiAgaXNSZXF1aXJlZCgpIHtcclxuICAgIGlmICghdGhpcy5jb250cm9sLmNvbnRyb2wudmFsaWRhdG9yKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB2YWxpZGF0b3IgPSB0aGlzLmNvbnRyb2wuY29udHJvbC52YWxpZGF0b3Ioe30gYXMgQWJzdHJhY3RDb250cm9sKTtcclxuICAgIHJldHVybiB2YWxpZGF0b3IgJiYgdmFsaWRhdG9yLnJlcXVpcmVkO1xyXG4gIH1cclxuICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRlZFZhbHVlID0gb2JqO1xyXG4gICAgLy90aGlzLnByb3BlcnR5LnZhbHVlID0gb2JqO1xyXG5cclxuICAgIC8vICB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgaW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNvbnRyb2wgPyB0aGlzLmNvbnRyb2wuaW52YWxpZCA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzaG93RXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXRoaXMuY29udHJvbCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgeyBkaXJ0eSwgdG91Y2hlZCB9ID0gdGhpcy5jb250cm9sO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmludmFsaWQgPyBkaXJ0eSB8fCB0b3VjaGVkIDogZmFsc2U7XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIC8qdGhpcy5lZGl0ZWRWYWx1ZSA9IHRoaXMucHJvcGVydHkubXVsdGlsaW5lXHJcbiAgICAgID8gdGhpcy5wcm9wZXJ0eS5kaXNwbGF5VmFsdWVcclxuICAgICAgOiB0aGlzLnByb3BlcnR5LnZhbHVlOyovXHJcbiAgfVxyXG5cclxuICBzaG93UHJvcGVydHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXNwbGF5RW1wdHkgfHwgIXRoaXMucHJvcGVydHkuaXNFbXB0eSgpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0NsaWNrYWJsZUljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5oYXNJY29uKCkgJiYgdGhpcy5lZGl0YWJsZTtcclxuICB9XHJcblxyXG4gIGlzRWRpdGFibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5lZGl0YWJsZTtcclxuICB9XHJcbiAgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgaXNDbGlja2FibGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLnByb3BlcnR5LmNsaWNrYWJsZTtcclxuICB9XHJcblxyXG4gIGhhc0ljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISF0aGlzLnByb3BlcnR5Lmljb247XHJcbiAgfVxyXG5cclxuICBoYXNFcnJvcnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93RXJyb3I7XHJcbiAgfVxyXG4gIGFsbG93U3BhY2UoZSkge1xyXG4gICAgaWYgKHRoaXMucHJldmVudFNwYWNlKSB7XHJcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2V0RWRpdE1vZGUoZWRpdFN0YXR1czogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pbkVkaXQgPSBlZGl0U3RhdHVzO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmVkaXRvcklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JJbnB1dD8ubmF0aXZlRWxlbWVudD8uY2xpY2soKTtcclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICByZXNldChldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIC8vIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIC8qdGhpcy5lZGl0ZWRWYWx1ZSA9IHRoaXMucHJvcGVydHkubXVsdGlsaW5lXHJcbiAgICAgID8gdGhpcy5wcm9wZXJ0eS5kaXNwbGF5VmFsdWVcclxuICAgICAgOiB0aGlzLnByb3BlcnR5LnZhbHVlOyovXHJcbiAgICB0aGlzLnNldEVkaXRNb2RlKGZhbHNlKTtcclxuICAgIHRoaXMucmVzZXRFcnJvck1lc3NhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2V0RXJyb3JNZXNzYWdlcygpIHtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlKGV2ZW50OiBNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgLy8gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBjb25zdCB1cGRhdGVkVmFsdWUgPSB0aGlzLnByZXBhcmVWYWx1ZUZvclVwbG9hZChcclxuICAgICAgdGhpcy5wcm9wZXJ0eSxcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZVxyXG4gICAgKTtcclxuICAgIC8vIHRoaXMucHJvcGVydHkudmFsdWUgPSB1cGRhdGVkVmFsdWU7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHVwZGF0ZWRWYWx1ZSk7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCgpO1xyXG4gICAgLy8gdGhpcy5keW5hbWljRm9ybVVwZGF0ZVNlcnZpY2UudXBkYXRlKHRoaXMucHJvcGVydHksIHVwZGF0ZWRWYWx1ZSk7XHJcbiAgICB0aGlzLnNldEVkaXRNb2RlKGZhbHNlKTtcclxuICAgIHRoaXMucmVzZXRFcnJvck1lc3NhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcmVwYXJlVmFsdWVGb3JVcGxvYWQoXHJcbiAgICBwcm9wZXJ0eTogRHluYW1pY0Zvcm1UZXh0SXRlbU1vZGVsLFxyXG4gICAgdmFsdWU6IHN0cmluZ1xyXG4gICk6IHN0cmluZyB8IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIG9uVGV4dEFyZWFJbnB1dENoYW5nZSgpIHtcclxuICAgIHRoaXMuZXJyb3JNZXNzYWdlcyA9IHRoaXMucHJvcGVydHkuZ2V0VmFsaWRhdGlvbkVycm9ycyh0aGlzLmVkaXRlZFZhbHVlKTtcclxuICB9XHJcblxyXG4gIGNsaWNrZWQoKTogdm9pZCB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMucHJvcGVydHkuY2xpY2tDYWxsQmFjayA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICB0aGlzLnByb3BlcnR5LmNsaWNrQ2FsbEJhY2soKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHluYW1pY0Zvcm1VcGRhdGVTZXJ2aWNlLmNsaWNrZWQodGhpcy5wcm9wZXJ0eSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtKHNlbGVjdGVkSXRlbSkge1xyXG4gICAgaWYodGhpcy5lbWl0RnVsbE9iamVjdCl7XHJcbiAgICAgIHRoaXMuZWRpdGVkVmFsdWUgPSBzZWxlY3RlZEl0ZW07XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IHNlbGVjdGVkSXRlbS50aXRsZTtcclxuICAgIH1cclxuICAgIHRoaXMudXBkYXRlKG51bGwpO1xyXG4gICAgdGhpcy5zaG93c3VnZ2VzdGVkT3B0aW9ucyA9IGZhbHNlO1xyXG4gICAgdGhpcy5kb2N1bWVudExpc3QgPSBbXTtcclxuICB9XHJcblxyXG4gIHJlc2V0U2VsZWN0aW5nKCl7XHJcbiAgICBpZih0aGlzLmVtaXRGdWxsT2JqZWN0KXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9IG51bGw7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5lZGl0ZWRWYWx1ZSA9ICcnO1xyXG4gICAgfVxyXG4gICAgdGhpcy51cGRhdGUobnVsbCk7XHJcbiAgfVxyXG5cclxuICBkb2N1bWVudExpc3Q6IGFueVtdID0gW107XHJcbiAgZGVsYXllZEFjdGlvbjtcclxuICB3YWl0VW50aWxVc2VyRmluaXNoVHlwaW5nKCkge1xyXG4gICAgaWYgKHRoaXMuZGVsYXllZEFjdGlvbikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5kZWxheWVkQWN0aW9uKTtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kZWxheWVkQWN0aW9uID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vblNlYXJjaElucHV0Q2hhbmdlKCk7XHJcbiAgICAgIH0sIDE1MDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hJbnB1dENoYW5nZSgpIHtcclxuICAgIGlmICh0aGlzLmF1dG9Db21wbGV0ZSkge1xyXG4gICAgICBpZighdGhpcy5lZGl0b3JJbnB1dC5uYXRpdmVFbGVtZW50LnZhbHVlKXtcclxuICAgICAgICB0aGlzLnJlc2V0U2VsZWN0aW5nKCk7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHZhbCA9IHRoaXMuZWRpdG9ySW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZTtcclxuICAgICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICAgIG9mZnNldDogMCxcclxuICAgICAgICBwYWdlU2l6ZTogNDAsXHJcbiAgICAgICAgcGFnZVByb3ZpZGVyOiB0aGlzLmF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgLi4udGhpcy5vdXRzaWRlUGFyYW1zXHJcbiAgICAgIH07XHJcbiAgICAgIC8vIGlmIGkgd2FzIHNlbmRpbmcgdGVuYW50IGlkIGZyb20gb3V0c2lkZSB0aGVuIGkgYW0gaW4gY2FzZSBvZiBtdWx0aSB0ZW5hbnQgdGhlbiBhZGQgdGVuYW50IGlkIHRvIHBhcmFtc1xyXG4gICAgICBpZih0aGlzLnRlbmFudElkKXtcclxuICAgICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSBgJHt0aGlzLnRlbmFudElkfWBcclxuICAgICAgfVxyXG4gICAgICAvLyBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXSA9ICh2YWwpID8gYCUke3ZhbH0lYCA6ICcnO1xyXG4gICAgICBpZih0aGlzLmF1dG9Db21wbGV0ZVR5cGU9PVwiY2FzZVNlbnNpdGl2ZVwiICYmIHZhbCl7XHJcbiAgICAgICAgbGV0IHJlc3VsdCA9IHRoaXMuVG9DYXNlSW5zZW5zaXRpdmUodmFsKTtcclxuICAgICAgICBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXT1yZXN1bHQ7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIGlmKHRoaXMuYXV0b0NvbXBsZXRlVHlwZT09XCJwZXJjZW50YWdlXCIgJiYgdmFsKXtcclxuXHJcbiAgICAgICAgICBwYXJhbXNbdGhpcy5hdXRvQ29tcGxldGVfcHJvcGVydHlOYW1lXT0nJScrdmFsKyclJztcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHBhcmFtc1t0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eU5hbWVdPSAnJ1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBjaGVjayBpZiByZWxhdGlvbiB0aGVuIHdpbGwgdXNlIGVudHJpZXMgdGhlbiBmZXRjaCBvbmx5IHJlcXVpcmVkIHNjaGVtYXNcclxuICAgICAgLy8gYW5kIG90aGVyIHN1Z2dlc3RlciB3aWxsIHVzZSBhZ2dyZWdhdGlvbnMgZnJvbSByZXNwb25zZSBub3QgZW50cmllcyB0aGVuIGFkZCBwYWdlIHNpemUgMFxyXG4gICAgICAvLyBhbGwgdGhpcyB0byBkZWNyZWFzZSByZXNwb25zZSBzaXplXHJcbiAgICAgIGxldCBjdXN0b21Qcm9wZXJ0aWVzID0gJyonXHJcbiAgICAgIGlmKHRoaXMuYXV0b0NvbXBsZXRlX3BhZ2VQcm92aWRlciA9PT0gJ1BQX0NvcnJlc3BvbmRlbmNlX1JlbGF0aW9uU2VhY2gnKXtcclxuICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzID0gJ0NvcnJlc3BvbmRlbmNlJztcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgcGFyYW1zLnBhZ2VTaXplID0gMTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmR5bmFtaWNGb3JtVXBkYXRlU2VydmljZVxyXG4gICAgICAgIC5nZXRUZXh0Qm94U3VnZ2VzdGlvblJlc3VsdHMoXHJcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZV9wYWdlUHJvdmlkZXIsXHJcbiAgICAgICAgICBwYXJhbXMsXHJcbiAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZV9wcm9wZXJ0eUtleSxcclxuICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlVmFsdWVLZXksXHJcbiAgICAgICAgICBjdXN0b21Qcm9wZXJ0aWVzXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnRMaXN0ID0gZGF0YS5maWx0ZXIoKG9wdGlvbikgPT5cclxuICAgICAgICAgICAgb3B0aW9uLnRpdGxlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModmFsLnRvTG93ZXJDYXNlKCkpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhpcy5zaG93c3VnZ2VzdGVkT3B0aW9ucyA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudExpc3Q7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuT3B0aW9ucyh2YWx1ZSkge1xyXG4gICAgaWYgKHRoaXMuYXV0b0NvbXBsZXRlKSB7XHJcbiAgICAgIHRoaXMuc2hvd3N1Z2dlc3RlZE9wdGlvbnMgPSB2YWx1ZTtcclxuICAgICAgaWYgKCF0aGlzLmRvY3VtZW50TGlzdC5sZW5ndGggJiYgdmFsdWUpIHtcclxuICAgICAgICB0aGlzLm9uU2VhcmNoSW5wdXRDaGFuZ2UoKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBUb0Nhc2VJbnNlbnNpdGl2ZSAob3JnaW5hbFRleHQpe1xyXG4gICAgbGV0IHJlc3VsdCA9IFwiXCI7XHJcbiAgICBsZXQgb3JnaW5hbFRleHRMb3dlckNhc2UgPSBvcmdpbmFsVGV4dC50b0xvd2VyQ2FzZSgpO1xyXG4gICAgZm9yKGxldCBpPTA7aTxvcmdpbmFsVGV4dExvd2VyQ2FzZS5sZW5ndGg7aSsrKXtcclxuICAgICAgaWYob3JnaW5hbFRleHRMb3dlckNhc2UuY2hhckF0KGkpID49ICdhJyAmJiBvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkgPD0gJ3onKVxyXG4gICAgICAgcmVzdWx0ID0gcmVzdWx0K1wiW1wiK29yZ2luYWxUZXh0TG93ZXJDYXNlLmNoYXJBdChpKStvcmdpbmFsVGV4dExvd2VyQ2FzZS5jaGFyQXQoaSkudG9VcHBlckNhc2UoKStcIl1cIjtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdCtvcmdpbmFsVGV4dC5jaGFyQXQoaSk7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIFwiLipcIityZXN1bHQrXCIuKlwiO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYXBwLXByb3BlcnR5LXZhbHVlXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFwcC1pbnB1dC13cmFwcGVyXCI+XHJcbiAgICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIGZvcj1cImZvcm1Hcm91cElucHV0U21hbGxcIlxyXG4gICAgICA+e3sgbGFiZWwgfCB0cmFuc2xhdGVcclxuICAgICAgfX08c3BhbiAqbmdJZj1cImlzUmVxdWlyZWQoKVwiIGNsYXNzPVwidGV4dC1kYW5nZXIgbS0xXCI+Kjwvc3Bhbj48L2xhYmVsXHJcbiAgICA+XHJcbiAgICA8ZGl2IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0VkaXRhYmxlKCk7IGVsc2UgcmVhZE9ubHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmV3LW9uZVwiIChjbGlja091dHNpZGUpPVwib3Blbk9wdGlvbnMoZmFsc2UpXCI+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgICBbaWRdPVwiaWRcIlxyXG4gICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCJpc0Rpc2FibGVkKCkgfHwgbnVsbFwiXHJcbiAgICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaW5wdXQtZmlsbGVkJyA6IChlbWl0RnVsbE9iamVjdCA/IChlZGl0ZWRWYWx1ZT8udGl0bGUpIDogZWRpdGVkVmFsdWUpIH1cIlxyXG4gICAgICAgICAgICAoa2V5ZG93bi5zcGFjZSk9XCJhbGxvd1NwYWNlKCRldmVudClcIlxyXG4gICAgICAgICAgICAjZWRpdG9ySW5wdXRcclxuICAgICAgICAgICAgW3JlcXVpcmVkXT1cImlzUmVxdWlyZWQoKVwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZW1pdEZ1bGxPYmplY3QgPyBlZGl0ZWRWYWx1ZT8udGl0bGUgOiBlZGl0ZWRWYWx1ZVwiXHJcbiAgICAgICAgICAgIFthdXRvY29tcGxldGVdPVwibmF0aXZlQXV0b0NvbXBsZXRlXCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlKCRldmVudClcIlxyXG4gICAgICAgICAgICAoa2V5dXApPVwid2FpdFVudGlsVXNlckZpbmlzaFR5cGluZygpXCJcclxuICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidjYXJkLXRleHRpdGVtLWVkaXRpbnB1dC0nXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyBwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZSB9fVwiXHJcbiAgICAgICAgICAgIChmb2N1cyk9XCJvcGVuT3B0aW9ucyh0cnVlKVwiXHJcbiAgICAgICAgICAgIG1heGxlbmd0aD1cInt7bWF4Q2hhcnNOdW19fVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImRvY3VtZW50TGlzdC5sZW5ndGggIT09IDBcIiBpZD1cInN1Z2dlc3RlZG9wdGlvbnNcIj5cclxuICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwic3VnZ2VzdGlvbnMtd3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnZC1ibG9jayc6IHNob3dzdWdnZXN0ZWRPcHRpb25zIH1cIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJvcHRpb25cIlxyXG4gICAgICAgICAgICAgICAgaWQ9XCJzdWdnZXN0ZWRvcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcHRpb24gb2YgZG9jdW1lbnRMaXN0XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RJdGVtKG9wdGlvbilcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIHt7IG9wdGlvbi50aXRsZSB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8bWF0LWVycm9yXHJcbiAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiJ2NhcmQtdGV4dGl0ZW0tZXJyb3ItJ1wiXHJcbiAgICAgICAgICBjbGFzcz1cImFwcC10ZXh0aXRlbS1lZGl0YWJsZS1lcnJvclwiXHJcbiAgICAgICAgICAqbmdJZj1cImhhc0Vycm9ycygpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLnJlcXVpcmVkXCI+XHJcbiAgICAgICAgICAgICAge3sgbGFiZWwgfCB0cmFuc2xhdGUgfX0ge3sgXCJWQUxJREFUT1JTLlJFUVVJUkVEXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPGxpICpuZ0lmPVwiY29udHJvbC5lcnJvcnMucGF0dGVyblwiPlxyXG4gICAgICAgICAgICAgIHt7IFwid3JvbmcgcGF0dGVyblwiIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cImNvbnRyb2wuZXJyb3JzLm1pblwiPlxyXG4gICAgICAgICAgICAgIHt7IFwiVkFMSURBVE9SUy5NSU5cIiB8IHRyYW5zbGF0ZSB9fSB7eyBjb250cm9sLmVycm9ycy5taW4ubWluIH19XHJcbiAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNyZWFkT25seT5cclxuICAgICAgICB7eyBlbWl0RnVsbE9iamVjdCA/IGVkaXRlZFZhbHVlPy50aXRsZSA6IGVkaXRlZFZhbHVlIH19XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,5 +1,7 @@
1
- import { Injectable } from '@angular/core';
2
- import { DefaultTreeviewI18n, } from 'ngx-treeview';
1
+ var _DropdownTreeviewSelectI18n_defaultSelection;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
+ import { Injectable } from "@angular/core";
4
+ import { DefaultTreeviewI18n, } from "ngx-treeview";
3
5
  import * as i0 from "@angular/core";
4
6
  import * as i1 from "../../../../Core/services/translation/translation.service";
5
7
  /** @ignore */
@@ -7,6 +9,10 @@ export class DropdownTreeviewSelectI18n extends DefaultTreeviewI18n {
7
9
  constructor(translation) {
8
10
  super();
9
11
  this.translation = translation;
12
+ _DropdownTreeviewSelectI18n_defaultSelection.set(this, "");
13
+ }
14
+ setDefaultSelection(defaultText) {
15
+ __classPrivateFieldSet(this, _DropdownTreeviewSelectI18n_defaultSelection, defaultText, "f");
10
16
  }
11
17
  set selectedItem(value) {
12
18
  this.internalSelectedItem = value;
@@ -26,8 +32,8 @@ export class DropdownTreeviewSelectI18n extends DefaultTreeviewI18n {
26
32
  if (!val) {
27
33
  this.translation.isArabic.subscribe((arabic) => {
28
34
  arabic
29
- ? (placeHolder = 'أدخل رمز القسم للتصفية')
30
- : (placeHolder = 'Type Department Code To Filter ');
35
+ ? (placeHolder = "أدخل رمز القسم للتصفية")
36
+ : (placeHolder = "Type Department Code To Filter ");
31
37
  });
32
38
  }
33
39
  else {
@@ -39,10 +45,14 @@ export class DropdownTreeviewSelectI18n extends DefaultTreeviewI18n {
39
45
  let placeHolder;
40
46
  let suffix;
41
47
  this.translation.isArabic.subscribe((arabic) => {
42
- arabic
43
- ? (placeHolder = 'الرجاء إختيار القسم')
44
- : (placeHolder = 'Please select Department');
45
- arabic ? (suffix = 'أقسام مختارة') : (suffix = 'Departments Selected');
48
+ if (__classPrivateFieldGet(this, _DropdownTreeviewSelectI18n_defaultSelection, "f"))
49
+ placeHolder = this.translation.instant(__classPrivateFieldGet(this, _DropdownTreeviewSelectI18n_defaultSelection, "f"));
50
+ else {
51
+ arabic
52
+ ? (placeHolder = "الرجاء إختيار القسم")
53
+ : (placeHolder = "Please select Department");
54
+ }
55
+ arabic ? (suffix = "أقسام مختارة") : (suffix = "Departments Selected");
46
56
  });
47
57
  return this.internalSelectedItem
48
58
  ? this.internalSelectedItem.text
@@ -54,15 +64,16 @@ export class DropdownTreeviewSelectI18n extends DefaultTreeviewI18n {
54
64
  let noItemText;
55
65
  this.translation.isArabic.subscribe((arabic) => {
56
66
  arabic
57
- ? (noItemText = 'لم يتم العثور على نتائج')
58
- : (noItemText = 'No items were found');
67
+ ? (noItemText = "لم يتم العثور على نتائج")
68
+ : (noItemText = "No items were found");
59
69
  });
60
70
  return noItemText;
61
71
  }
62
72
  }
63
- DropdownTreeviewSelectI18n.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DropdownTreeviewSelectI18n, deps: [{ token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Injectable });
64
- DropdownTreeviewSelectI18n.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DropdownTreeviewSelectI18n });
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DropdownTreeviewSelectI18n, decorators: [{
73
+ _DropdownTreeviewSelectI18n_defaultSelection = new WeakMap();
74
+ DropdownTreeviewSelectI18n.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DropdownTreeviewSelectI18n, deps: [{ token: i1.TranslationService }], target: i0.ɵɵFactoryTarget.Injectable });
75
+ DropdownTreeviewSelectI18n.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DropdownTreeviewSelectI18n });
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DropdownTreeviewSelectI18n, decorators: [{
66
77
  type: Injectable
67
78
  }], ctorParameters: function () { return [{ type: i1.TranslationService }]; } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tdHJlZXZpZXctc2VsZWN0LWkxOG4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10cmVldmlldy1zZWxlY3QvZHJvcGRvd24tdHJlZXZpZXctc2VsZWN0LWkxOG4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBR0wsbUJBQW1CLEdBQ3BCLE1BQU0sY0FBYyxDQUFDOzs7QUFHdEIsY0FBYztBQUVkLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxtQkFBbUI7SUFDakUsWUFBb0IsV0FBK0I7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEVSxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7SUFFbkQsQ0FBQztJQUlELElBQUksWUFBWSxDQUFDLEtBQW1CO1FBQ2xDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFRCxlQUFlO0lBQ2YsSUFBSSxlQUFlLENBQUMsS0FBYTtRQUMvQixJQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUM7SUFDdEMsQ0FBQztJQUNELG9CQUFvQixDQUFDLEdBQUcsR0FBRyxJQUFJO1FBQzdCLElBQUksV0FBVyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDN0MsTUFBTTtvQkFDSixDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsd0JBQXdCLENBQUM7b0JBQzFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxpQ0FBaUMsQ0FBQyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3QztRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxPQUFPLENBQUMsU0FBNEI7UUFDbEMsSUFBSSxXQUFXLENBQUM7UUFDaEIsSUFBSSxNQUFNLENBQUM7UUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM3QyxNQUFNO2dCQUNKLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQztnQkFDdkMsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLDBCQUEwQixDQUFDLENBQUM7WUFFL0MsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsc0JBQXNCLENBQUMsQ0FBQztRQUN6RSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLG9CQUFvQjtZQUM5QixDQUFDLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUk7WUFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUI7Z0JBQzVCLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsSUFBSSxNQUFNLEVBQUU7Z0JBQzdDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDcEIsQ0FBQztJQUNELHlCQUF5QixDQUFDLEdBQUcsR0FBRyxJQUFJO1FBQ2xDLElBQUksVUFBa0IsQ0FBQztRQUV2QixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM3QyxNQUFNO2dCQUNKLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyx5QkFBeUIsQ0FBQztnQkFDMUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLHFCQUFxQixDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzt1SEE3RFUsMEJBQTBCOzJIQUExQiwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFEdEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBUcmVldmlld0l0ZW0sXHJcbiAgVHJlZXZpZXdTZWxlY3Rpb24sXHJcbiAgRGVmYXVsdFRyZWV2aWV3STE4bixcclxufSBmcm9tICduZ3gtdHJlZXZpZXcnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9Db3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5cclxuLyoqIEBpZ25vcmUgKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25UcmVldmlld1NlbGVjdEkxOG4gZXh0ZW5kcyBEZWZhdWx0VHJlZXZpZXdJMThuIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgaW50ZXJuYWxTZWxlY3RlZEl0ZW06IFRyZWV2aWV3SXRlbTtcclxuICBwcml2YXRlIGludGVybmFsU2VsZWN0aW9uTGVuZ3RoOiBudW1iZXI7XHJcblxyXG4gIHNldCBzZWxlY3RlZEl0ZW0odmFsdWU6IFRyZWV2aWV3SXRlbSkge1xyXG4gICAgdGhpcy5pbnRlcm5hbFNlbGVjdGVkSXRlbSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNlbGVjdGVkSXRlbSgpOiBUcmVldmlld0l0ZW0ge1xyXG4gICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxTZWxlY3RlZEl0ZW07XHJcbiAgfVxyXG5cclxuICAvLyBmb3IgbXVsdGlwbGVcclxuICBzZXQgc2VsZWN0aW9uTGVuZ3RoKHZhbHVlOiBudW1iZXIpIHtcclxuICAgIHRoaXMuaW50ZXJuYWxTZWxlY3Rpb25MZW5ndGggPSB2YWx1ZTtcclxuICB9XHJcbiAgZ2V0IHNlbGVjdGlvbkxlbmd0aCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxTZWxlY3Rpb25MZW5ndGg7XHJcbiAgfVxyXG4gIGdldEZpbHRlclBsYWNlaG9sZGVyKHZhbCA9IG51bGwpOiBzdHJpbmcge1xyXG4gICAgbGV0IHBsYWNlSG9sZGVyO1xyXG4gICAgaWYgKCF2YWwpIHtcclxuICAgICAgdGhpcy50cmFuc2xhdGlvbi5pc0FyYWJpYy5zdWJzY3JpYmUoKGFyYWJpYykgPT4ge1xyXG4gICAgICAgIGFyYWJpY1xyXG4gICAgICAgICAgPyAocGxhY2VIb2xkZXIgPSAn2KPYr9iu2YQg2LHZhdiyINin2YTZgtiz2YUg2YTZhNiq2LXZgdmK2KknKVxyXG4gICAgICAgICAgOiAocGxhY2VIb2xkZXIgPSAnVHlwZSBEZXBhcnRtZW50IENvZGUgVG8gRmlsdGVyICcpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHBsYWNlSG9sZGVyID0gdGhpcy50cmFuc2xhdGlvbi5pbnN0YW50KHZhbCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcGxhY2VIb2xkZXI7XHJcbiAgfVxyXG4gIGdldFRleHQoc2VsZWN0aW9uOiBUcmVldmlld1NlbGVjdGlvbik6IHN0cmluZyB7XHJcbiAgICBsZXQgcGxhY2VIb2xkZXI7XHJcbiAgICBsZXQgc3VmZml4O1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbi5pc0FyYWJpYy5zdWJzY3JpYmUoKGFyYWJpYykgPT4ge1xyXG4gICAgICBhcmFiaWNcclxuICAgICAgICA/IChwbGFjZUhvbGRlciA9ICfYp9mE2LHYrNin2KEg2KXYrtiq2YrYp9ixINin2YTZgtiz2YUnKVxyXG4gICAgICAgIDogKHBsYWNlSG9sZGVyID0gJ1BsZWFzZSBzZWxlY3QgRGVwYXJ0bWVudCcpO1xyXG5cclxuICAgICAgYXJhYmljID8gKHN1ZmZpeCA9ICfYo9mC2LPYp9mFINmF2K7Yqtin2LHYqScpIDogKHN1ZmZpeCA9ICdEZXBhcnRtZW50cyBTZWxlY3RlZCcpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gdGhpcy5pbnRlcm5hbFNlbGVjdGVkSXRlbVxyXG4gICAgICA/IHRoaXMuaW50ZXJuYWxTZWxlY3RlZEl0ZW0udGV4dFxyXG4gICAgICA6IHRoaXMuaW50ZXJuYWxTZWxlY3Rpb25MZW5ndGhcclxuICAgICAgICA/IGAke3RoaXMuaW50ZXJuYWxTZWxlY3Rpb25MZW5ndGh9ICR7c3VmZml4fWBcclxuICAgICAgICA6IHBsYWNlSG9sZGVyO1xyXG4gIH1cclxuICBnZXRGaWx0ZXJOb0l0ZW1zRm91bmRUZXh0KHZhbCA9IG51bGwpOiBzdHJpbmcge1xyXG4gICAgbGV0IG5vSXRlbVRleHQ6IHN0cmluZztcclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uLmlzQXJhYmljLnN1YnNjcmliZSgoYXJhYmljKSA9PiB7XHJcbiAgICAgIGFyYWJpY1xyXG4gICAgICAgID8gKG5vSXRlbVRleHQgPSAn2YTZhSDZitiq2YUg2KfZhNi52KvZiNixINi52YTZiSDZhtiq2KfYptisJylcclxuICAgICAgICA6IChub0l0ZW1UZXh0ID0gJ05vIGl0ZW1zIHdlcmUgZm91bmQnKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBub0l0ZW1UZXh0O1xyXG4gIH1cclxufVxyXG4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tdHJlZXZpZXctc2VsZWN0LWkxOG4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS10cmVldmlldy1zZWxlY3QvZHJvcGRvd24tdHJlZXZpZXctc2VsZWN0LWkxOG4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFHTCxtQkFBbUIsR0FDcEIsTUFBTSxjQUFjLENBQUM7OztBQUd0QixjQUFjO0FBRWQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLG1CQUFtQjtJQU1qRSxZQUFvQixXQUErQjtRQUNqRCxLQUFLLEVBQUUsQ0FBQztRQURVLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUxuRCx1REFBNEIsRUFBRSxFQUFDO0lBTy9CLENBQUM7SUFORCxtQkFBbUIsQ0FBQyxXQUFtQjtRQUNyQyx1QkFBQSxJQUFJLGdEQUFxQixXQUFXLE1BQUEsQ0FBQztJQUN2QyxDQUFDO0lBUUQsSUFBSSxZQUFZLENBQUMsS0FBbUI7UUFDbEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVELGVBQWU7SUFDZixJQUFJLGVBQWUsQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUNELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUN0QyxDQUFDO0lBQ0Qsb0JBQW9CLENBQUMsR0FBRyxHQUFHLElBQUk7UUFDN0IsSUFBSSxXQUFXLENBQUM7UUFDaEIsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUM3QyxNQUFNO29CQUNKLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQztvQkFDMUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLGlDQUFpQyxDQUFDLENBQUM7WUFDeEQsQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUNELE9BQU8sQ0FBQyxTQUE0QjtRQUNsQyxJQUFJLFdBQVcsQ0FBQztRQUNoQixJQUFJLE1BQU0sQ0FBQztRQUVYLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQzdDLElBQUksdUJBQUEsSUFBSSxvREFBa0I7Z0JBQ3hCLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyx1QkFBQSxJQUFJLG9EQUFrQixDQUFDLENBQUM7aUJBQzVEO2dCQUNILE1BQU07b0JBQ0osQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLHFCQUFxQixDQUFDO29CQUN2QyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsMEJBQTBCLENBQUMsQ0FBQzthQUNoRDtZQUVELE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLHNCQUFzQixDQUFDLENBQUM7UUFDekUsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxvQkFBb0I7WUFDOUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJO1lBQ2hDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCO2dCQUM5QixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLElBQUksTUFBTSxFQUFFO2dCQUM3QyxDQUFDLENBQUMsV0FBVyxDQUFDO0lBQ2xCLENBQUM7SUFDRCx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsSUFBSTtRQUNsQyxJQUFJLFVBQWtCLENBQUM7UUFFdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDN0MsTUFBTTtnQkFDSixDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcseUJBQXlCLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7O3dIQXhFVSwwQkFBMEI7NEhBQTFCLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgVHJlZXZpZXdJdGVtLFxyXG4gIFRyZWV2aWV3U2VsZWN0aW9uLFxyXG4gIERlZmF1bHRUcmVldmlld0kxOG4sXHJcbn0gZnJvbSBcIm5neC10cmVldmlld1wiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vQ29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlXCI7XHJcblxyXG4vKiogQGlnbm9yZSAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93blRyZWV2aWV3U2VsZWN0STE4biBleHRlbmRzIERlZmF1bHRUcmVldmlld0kxOG4ge1xyXG4gICNkZWZhdWx0U2VsZWN0aW9uOiBzdHJpbmcgPSBcIlwiO1xyXG4gIHNldERlZmF1bHRTZWxlY3Rpb24oZGVmYXVsdFRleHQ6IHN0cmluZykge1xyXG4gICAgdGhpcy4jZGVmYXVsdFNlbGVjdGlvbiA9IGRlZmF1bHRUZXh0O1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb25TZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBwcml2YXRlIGludGVybmFsU2VsZWN0ZWRJdGVtOiBUcmVldmlld0l0ZW07XHJcbiAgcHJpdmF0ZSBpbnRlcm5hbFNlbGVjdGlvbkxlbmd0aDogbnVtYmVyO1xyXG5cclxuICBzZXQgc2VsZWN0ZWRJdGVtKHZhbHVlOiBUcmVldmlld0l0ZW0pIHtcclxuICAgIHRoaXMuaW50ZXJuYWxTZWxlY3RlZEl0ZW0gPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBzZWxlY3RlZEl0ZW0oKTogVHJlZXZpZXdJdGVtIHtcclxuICAgIHJldHVybiB0aGlzLmludGVybmFsU2VsZWN0ZWRJdGVtO1xyXG4gIH1cclxuXHJcbiAgLy8gZm9yIG11bHRpcGxlXHJcbiAgc2V0IHNlbGVjdGlvbkxlbmd0aCh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmludGVybmFsU2VsZWN0aW9uTGVuZ3RoID0gdmFsdWU7XHJcbiAgfVxyXG4gIGdldCBzZWxlY3Rpb25MZW5ndGgoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmludGVybmFsU2VsZWN0aW9uTGVuZ3RoO1xyXG4gIH1cclxuICBnZXRGaWx0ZXJQbGFjZWhvbGRlcih2YWwgPSBudWxsKTogc3RyaW5nIHtcclxuICAgIGxldCBwbGFjZUhvbGRlcjtcclxuICAgIGlmICghdmFsKSB7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRpb24uaXNBcmFiaWMuc3Vic2NyaWJlKChhcmFiaWMpID0+IHtcclxuICAgICAgICBhcmFiaWNcclxuICAgICAgICAgID8gKHBsYWNlSG9sZGVyID0gXCLYo9iv2K7ZhCDYsdmF2LIg2KfZhNmC2LPZhSDZhNmE2KrYtdmB2YrYqVwiKVxyXG4gICAgICAgICAgOiAocGxhY2VIb2xkZXIgPSBcIlR5cGUgRGVwYXJ0bWVudCBDb2RlIFRvIEZpbHRlciBcIik7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcGxhY2VIb2xkZXIgPSB0aGlzLnRyYW5zbGF0aW9uLmluc3RhbnQodmFsKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwbGFjZUhvbGRlcjtcclxuICB9XHJcbiAgZ2V0VGV4dChzZWxlY3Rpb246IFRyZWV2aWV3U2VsZWN0aW9uKTogc3RyaW5nIHtcclxuICAgIGxldCBwbGFjZUhvbGRlcjtcclxuICAgIGxldCBzdWZmaXg7XHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGlvbi5pc0FyYWJpYy5zdWJzY3JpYmUoKGFyYWJpYykgPT4ge1xyXG4gICAgICBpZiAodGhpcy4jZGVmYXVsdFNlbGVjdGlvbilcclxuICAgICAgICBwbGFjZUhvbGRlciA9IHRoaXMudHJhbnNsYXRpb24uaW5zdGFudCh0aGlzLiNkZWZhdWx0U2VsZWN0aW9uKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgYXJhYmljXHJcbiAgICAgICAgICA/IChwbGFjZUhvbGRlciA9IFwi2KfZhNix2KzYp9ihINil2K7YqtmK2KfYsSDYp9mE2YLYs9mFXCIpXHJcbiAgICAgICAgICA6IChwbGFjZUhvbGRlciA9IFwiUGxlYXNlIHNlbGVjdCBEZXBhcnRtZW50XCIpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhcmFiaWMgPyAoc3VmZml4ID0gXCLYo9mC2LPYp9mFINmF2K7Yqtin2LHYqVwiKSA6IChzdWZmaXggPSBcIkRlcGFydG1lbnRzIFNlbGVjdGVkXCIpO1xyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIHJldHVybiB0aGlzLmludGVybmFsU2VsZWN0ZWRJdGVtXHJcbiAgICAgID8gdGhpcy5pbnRlcm5hbFNlbGVjdGVkSXRlbS50ZXh0XHJcbiAgICAgIDogdGhpcy5pbnRlcm5hbFNlbGVjdGlvbkxlbmd0aFxyXG4gICAgICA/IGAke3RoaXMuaW50ZXJuYWxTZWxlY3Rpb25MZW5ndGh9ICR7c3VmZml4fWBcclxuICAgICAgOiBwbGFjZUhvbGRlcjtcclxuICB9XHJcbiAgZ2V0RmlsdGVyTm9JdGVtc0ZvdW5kVGV4dCh2YWwgPSBudWxsKTogc3RyaW5nIHtcclxuICAgIGxldCBub0l0ZW1UZXh0OiBzdHJpbmc7XHJcblxyXG4gICAgdGhpcy50cmFuc2xhdGlvbi5pc0FyYWJpYy5zdWJzY3JpYmUoKGFyYWJpYykgPT4ge1xyXG4gICAgICBhcmFiaWNcclxuICAgICAgICA/IChub0l0ZW1UZXh0ID0gXCLZhNmFINmK2KrZhSDYp9mE2LnYq9mI2LEg2LnZhNmJINmG2KrYp9im2KxcIilcclxuICAgICAgICA6IChub0l0ZW1UZXh0ID0gXCJObyBpdGVtcyB3ZXJlIGZvdW5kXCIpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIG5vSXRlbVRleHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==