nuxeo-development-framework 6.1.4 → 6.1.6

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 (870) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +459 -583
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/activities-log/activities-log/activities-log.component.js +1 -1
  4. package/esm2015/lib/components/activities-log/activities-log/activities-log.service.js +1 -1
  5. package/esm2015/lib/components/activities-log/activities-log.module.js +1 -1
  6. package/esm2015/lib/components/activity/activity/activity.component.js +1 -1
  7. package/esm2015/lib/components/activity/activity.module.js +1 -1
  8. package/esm2015/lib/components/attachment-item/attachment-item/attachment-item.component.js +2 -2
  9. package/esm2015/lib/components/attachment-item/attachment-item.module.js +1 -1
  10. package/esm2015/lib/components/attachment-modal/attachment-modal.module.js +1 -1
  11. package/esm2015/lib/components/attachment-modal/attachments/attachments.component.js +1 -1
  12. package/esm2015/lib/components/avatar/avatar/avatar.component.js +1 -1
  13. package/esm2015/lib/components/avatar/avatar.module.js +1 -1
  14. package/esm2015/lib/components/card/card.component.js +1 -1
  15. package/esm2015/lib/components/card/card.module.js +1 -1
  16. package/esm2015/lib/components/comments/comments.module.js +1 -1
  17. package/esm2015/lib/components/comments/components/comment-item/comment-item.component.js +2 -2
  18. package/esm2015/lib/components/comments/components/comments-dashlet/comments-dashlet.component.js +1 -1
  19. package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +1 -1
  20. package/esm2015/lib/components/comments/components/edit-delete-modal/edit-delete-modal.component.js +1 -1
  21. package/esm2015/lib/components/comments/constants/comment.js +1 -1
  22. package/esm2015/lib/components/comments/services/comment-api.service.js +1 -1
  23. package/esm2015/lib/components/confirm-caller/confirm-caller.dialog.js +1 -1
  24. package/esm2015/lib/components/confirm-caller/confirm-caller.module.js +1 -1
  25. package/esm2015/lib/components/confirm-caller/confirm-dialog/confirm-dialog.component.js +1 -1
  26. package/esm2015/lib/components/confirmation-dialog/confirmation-dialog/confirmation-dialog.component.js +1 -1
  27. package/esm2015/lib/components/confirmation-dialog/confirmation-dialog.module.js +1 -1
  28. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +1 -1
  29. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.js +1 -1
  30. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-list/correspondence-relation-list.component.js +2 -2
  31. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation-reply/correspondence-relation-reply.component.js +1 -1
  32. package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +1 -1
  33. package/esm2015/lib/components/correspondence-relation/correspondence-relation.module.js +1 -1
  34. package/esm2015/lib/components/correspondence-relation/services/correspondence-realation.service.js +1 -1
  35. package/esm2015/lib/components/correspondence-relation/services/viewer-files.service.js +1 -1
  36. package/esm2015/lib/components/create-entity/create-entity/create-entity.component.js +1 -1
  37. package/esm2015/lib/components/create-entity/create-entity.module.js +1 -1
  38. package/esm2015/lib/components/cts-tags/components/correspondence-tags/correspondence-tags.component.js +2 -2
  39. package/esm2015/lib/components/cts-tags/cts-tags.module.js +1 -1
  40. package/esm2015/lib/components/cts-tags/services/tags-api.service.js +1 -1
  41. package/esm2015/lib/components/custom-toastr/components/custom-toastr/custom-toastr.component.js +1 -1
  42. package/esm2015/lib/components/custom-toastr/custom-toastr.module.js +1 -1
  43. package/esm2015/lib/components/custom-toastr/interfaces/toast-type.interface.js +1 -1
  44. package/esm2015/lib/components/custom-toastr/services/custom-toastr.service.js +1 -1
  45. package/esm2015/lib/components/diagrams/components/base-node.component.js +1 -1
  46. package/esm2015/lib/components/diagrams/components/circle-node/circle-node.component.js +1 -1
  47. package/esm2015/lib/components/diagrams/components/connection-label.component.js +1 -1
  48. package/esm2015/lib/components/diagrams/components/content-node/content-node.component.js +1 -1
  49. package/esm2015/lib/components/diagrams/components/custom-connection.component.js +1 -1
  50. package/esm2015/lib/components/diagrams/components/custom-socket.component.js +1 -1
  51. package/esm2015/lib/components/diagrams/components/gateway-node/gateway-node.component.js +1 -1
  52. package/esm2015/lib/components/diagrams/components/gateway-ports.component.js +1 -1
  53. package/esm2015/lib/components/diagrams/components/index.js +1 -1
  54. package/esm2015/lib/components/diagrams/components/node-icon.component.js +1 -1
  55. package/esm2015/lib/components/diagrams/components/node-inputs.component.js +1 -1
  56. package/esm2015/lib/components/diagrams/components/node-outputs.component.js +1 -1
  57. package/esm2015/lib/components/diagrams/components/node-ports.component.js +1 -1
  58. package/esm2015/lib/components/diagrams/components/remove-button.component.js +1 -1
  59. package/esm2015/lib/components/diagrams/components/status-icon.component.js +1 -1
  60. package/esm2015/lib/components/diagrams/components/template-node/template-node.component.js +1 -1
  61. package/esm2015/lib/components/diagrams/components/zoom-control.component.js +1 -1
  62. package/esm2015/lib/components/diagrams/constants/defaults.js +1 -1
  63. package/esm2015/lib/components/diagrams/constants/direction.js +1 -1
  64. package/esm2015/lib/components/diagrams/constants/index.js +1 -1
  65. package/esm2015/lib/components/diagrams/constants/message-type.js +1 -1
  66. package/esm2015/lib/components/diagrams/constants/node-type.js +1 -1
  67. package/esm2015/lib/components/diagrams/constants/notify-events.js +1 -1
  68. package/esm2015/lib/components/diagrams/constants/sizes.js +1 -1
  69. package/esm2015/lib/components/diagrams/constants/status.js +1 -1
  70. package/esm2015/lib/components/diagrams/diagrams.module.js +1 -1
  71. package/esm2015/lib/components/diagrams/directive/diagram.directive.js +1 -1
  72. package/esm2015/lib/components/diagrams/directive/index.js +1 -1
  73. package/esm2015/lib/components/diagrams/editor/customize.js +1 -1
  74. package/esm2015/lib/components/diagrams/editor/editor.js +1 -1
  75. package/esm2015/lib/components/diagrams/editor/index.js +1 -1
  76. package/esm2015/lib/components/diagrams/editor/overrides/connection-path.transformers.js +1 -1
  77. package/esm2015/lib/components/diagrams/editor/overrides/index.js +1 -1
  78. package/esm2015/lib/components/diagrams/editor/path-plugin.js +1 -1
  79. package/esm2015/lib/components/diagrams/editor/socket-position-watcher.js +1 -1
  80. package/esm2015/lib/components/diagrams/index.js +1 -1
  81. package/esm2015/lib/components/diagrams/models/base-node.model.js +1 -1
  82. package/esm2015/lib/components/diagrams/models/circle-node.model.js +1 -1
  83. package/esm2015/lib/components/diagrams/models/connection.model.js +1 -1
  84. package/esm2015/lib/components/diagrams/models/content-node.model.js +1 -1
  85. package/esm2015/lib/components/diagrams/models/gate-way.model.js +1 -1
  86. package/esm2015/lib/components/diagrams/models/index.js +1 -1
  87. package/esm2015/lib/components/diagrams/models/ports.model.js +1 -1
  88. package/esm2015/lib/components/diagrams/models/socket.model.js +1 -1
  89. package/esm2015/lib/components/diagrams/models/template-node.model.js +1 -1
  90. package/esm2015/lib/components/diagrams/public-api.js +1 -1
  91. package/esm2015/lib/components/diagrams/services/diagram-plugins.service.js +1 -1
  92. package/esm2015/lib/components/diagrams/services/diagram.service.js +1 -1
  93. package/esm2015/lib/components/diagrams/services/index.js +1 -1
  94. package/esm2015/lib/components/diagrams/services/message.service.js +1 -1
  95. package/esm2015/lib/components/diagrams/services/workflow.service.js +1 -1
  96. package/esm2015/lib/components/diagrams/types/common.type.js +1 -1
  97. package/esm2015/lib/components/diagrams/types/connection-config.type.js +1 -1
  98. package/esm2015/lib/components/diagrams/types/connection-label.type.js +1 -1
  99. package/esm2015/lib/components/diagrams/types/customization.type.js +1 -1
  100. package/esm2015/lib/components/diagrams/types/diagram-config.type.js +1 -1
  101. package/esm2015/lib/components/diagrams/types/diagram-editor.type.js +1 -1
  102. package/esm2015/lib/components/diagrams/types/emitter-type.js +1 -1
  103. package/esm2015/lib/components/diagrams/types/index.js +1 -1
  104. package/esm2015/lib/components/diagrams/types/layout.type.js +1 -1
  105. package/esm2015/lib/components/diagrams/types/node-content.js +1 -1
  106. package/esm2015/lib/components/diagrams/types/node-definition.js +1 -1
  107. package/esm2015/lib/components/diagrams/types/node-status.type.js +1 -1
  108. package/esm2015/lib/components/diagrams/types/node.type.js +1 -1
  109. package/esm2015/lib/components/diagrams/types/notify-event.type.js +1 -1
  110. package/esm2015/lib/components/diagrams/types/path.type.js +1 -1
  111. package/esm2015/lib/components/diagrams/types/ports-config.type.js +1 -1
  112. package/esm2015/lib/components/diagrams/types/schemes.type.js +1 -1
  113. package/esm2015/lib/components/diagrams/types/socket.type.js +1 -1
  114. package/esm2015/lib/components/diagrams/utilities/common.js +1 -1
  115. package/esm2015/lib/components/diagrams/utilities/index.js +1 -1
  116. package/esm2015/lib/components/diagrams/utilities/random.js +1 -1
  117. package/esm2015/lib/components/diagrams/utilities/remove.util.js +1 -1
  118. package/esm2015/lib/components/diagrams/utilities/serialize.js +1 -1
  119. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/display-suitable-icon.component.js +2 -2
  120. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon/icon.service.js +1 -1
  121. package/esm2015/lib/components/display-suitable-icon/display-suitable-icon.module.js +1 -1
  122. package/esm2015/lib/components/documents/components/attachments-list/attachments-list.component.js +1 -1
  123. package/esm2015/lib/components/documents/components/attachments-page-provider/attachments-page-provider.component.js +1 -1
  124. package/esm2015/lib/components/documents/components/document-list/documents-list.component.js +1 -1
  125. package/esm2015/lib/components/documents/components/document-scan/document-scan.component.js +1 -1
  126. package/esm2015/lib/components/documents/components/document-scan/document-scan.service.js +1 -1
  127. package/esm2015/lib/components/documents/components/document-upload/document-upload.component.js +1 -1
  128. package/esm2015/lib/components/documents/components/documents/documents.component.js +1 -1
  129. package/esm2015/lib/components/documents/constants/document-templates.js +1 -1
  130. package/esm2015/lib/components/documents/constants/documents.js +1 -1
  131. package/esm2015/lib/components/documents/documents.module.js +1 -1
  132. package/esm2015/lib/components/documents/services/document-templates.service.js +1 -1
  133. package/esm2015/lib/components/documents/services/documents.service.js +1 -1
  134. package/esm2015/lib/components/dynamic-chart/dynamic-chart/dynamic-chart.component.js +1 -1
  135. package/esm2015/lib/components/dynamic-chart/dynamic-chart.module.js +1 -1
  136. package/esm2015/lib/components/dynamic-chart/services/chart-data.service.js +1 -1
  137. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer/dynamic-fields-renderer.component.js +1 -1
  138. package/esm2015/lib/components/dynamic-fields-renderer/dynamic-fields-renderer.module.js +1 -1
  139. package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +2 -2
  140. package/esm2015/lib/components/dynamic-filter/dynamic-filter.module.js +1 -1
  141. package/esm2015/lib/components/dynamic-form/components/department-form/department-form.component.js +1 -1
  142. package/esm2015/lib/components/dynamic-form/components/dynamic-form/dynamic-form.component.js +1 -1
  143. package/esm2015/lib/components/dynamic-form/components/dynamic-form/fields.adapter.js +1 -1
  144. package/esm2015/lib/components/dynamic-form/components/dynamic-form/form-builder.service.js +1 -1
  145. package/esm2015/lib/components/dynamic-form/components/dynamic-form-boolitem/dynamic-form-boolitem.component.js +1 -1
  146. package/esm2015/lib/components/dynamic-form/components/dynamic-form-builder/dynamic-form-builder.component.js +1 -1
  147. package/esm2015/lib/components/dynamic-form/components/dynamic-form-checkbox-item/dynamic-form-checkbox-item.component.js +1 -1
  148. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/dynamic-form-dateitem.component.js +1 -1
  149. package/esm2015/lib/components/dynamic-form/components/dynamic-form-dateitem/owlDateTimeIntl.js +1 -1
  150. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/constants/department.js +1 -1
  151. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/dynamic-form-department.component.js +1 -1
  152. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +1 -1
  153. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-management.service.js +1 -1
  154. package/esm2015/lib/components/dynamic-form/components/dynamic-form-field/dynamic-form-field.component.js +1 -1
  155. package/esm2015/lib/components/dynamic-form/components/dynamic-form-hijri-dateitem/dynamic-form-hijri-dateitem.component.js +1 -1
  156. package/esm2015/lib/components/dynamic-form/components/dynamic-form-item-dispatcher/dynamic-form-item-dispatcher.component.js +1 -1
  157. package/esm2015/lib/components/dynamic-form/components/dynamic-form-mapitem/dynamic-form-mapitem.component.js +1 -1
  158. package/esm2015/lib/components/dynamic-form/components/dynamic-form-options/dynamic-form-options.component.js +1 -1
  159. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-tag/dynamic-form-select-tag.component.js +1 -1
  160. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-user-filter/dynamic-form-select-user-filter.component.js +1 -1
  161. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/dynamic-form-select-users.component.js +1 -1
  162. package/esm2015/lib/components/dynamic-form/components/dynamic-form-select-users/services/user-api.service.js +1 -1
  163. package/esm2015/lib/components/dynamic-form/components/dynamic-form-selectitem/dynamic-form-selectitem.component.js +1 -1
  164. package/esm2015/lib/components/dynamic-form/components/dynamic-form-slide-toggleitem/dynamic-form-slide-toggleitem.component.js +2 -2
  165. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textarea/dynamic-form-textarea.component.js +1 -1
  166. package/esm2015/lib/components/dynamic-form/components/dynamic-form-textitem/dynamic-form-textitem.component.js +1 -1
  167. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select-i18n.js +1 -1
  168. package/esm2015/lib/components/dynamic-form/components/dynamic-form-treeview-select/dropdown-treeview-select.component.js +2 -2
  169. package/esm2015/lib/components/dynamic-form/components/dynamic-form-viewer/dynamic-form-viewer.component.js +1 -1
  170. package/esm2015/lib/components/dynamic-form/components/dynamic-form-vocabulary-item/dynamic-form-vocabulary-item.component.js +1 -1
  171. package/esm2015/lib/components/dynamic-form/components/form-wrappers/base-edit-form/base-edit-form.js +1 -1
  172. package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.component.js +1 -1
  173. package/esm2015/lib/components/dynamic-form/components/form-wrappers/date-wrapper/date-wrapper.formio.js +1 -1
  174. package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.component.js +1 -1
  175. package/esm2015/lib/components/dynamic-form/components/form-wrappers/toggle-wrapper/toggle-wrapper.formio.js +1 -1
  176. package/esm2015/lib/components/dynamic-form/components/form-wrappers/user-selector-wrapper/user-selector-wrapper.component.js +1 -1
  177. package/esm2015/lib/components/dynamic-form/components/form-wrappers/user-selector-wrapper/user-selector-wrapper.formio.js +1 -1
  178. package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.component.js +1 -1
  179. package/esm2015/lib/components/dynamic-form/components/form-wrappers/vocabulary-wrapper/vocabulary-wrapper.formio.js +1 -1
  180. package/esm2015/lib/components/dynamic-form/directives/dynamic-form-content-proxy.directive.js +1 -1
  181. package/esm2015/lib/components/dynamic-form/dynamic-form.module.js +1 -1
  182. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-boolitem-properties.interface.js +1 -1
  183. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-dateitem-properties.interface.js +1 -1
  184. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item-properties.interface.js +1 -1
  185. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item-validator.interface.js +1 -1
  186. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-item.interface.js +1 -1
  187. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-keyvaluepairsitem-properties.interface.js +1 -1
  188. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-selectitem-properties.interface.js +1 -1
  189. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-textitem-pipe-property.interface.js +1 -1
  190. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form-textitem-properties.interface.js +1 -1
  191. package/esm2015/lib/components/dynamic-form/interfaces/dynamic-form.interfaces.js +1 -1
  192. package/esm2015/lib/components/dynamic-form/models/dynamic-form-baseitem.model.js +1 -1
  193. package/esm2015/lib/components/dynamic-form/models/dynamic-form-boolitem.model.js +1 -1
  194. package/esm2015/lib/components/dynamic-form/models/dynamic-form-dateitem.model.js +1 -1
  195. package/esm2015/lib/components/dynamic-form/models/dynamic-form-datetimeitem.model.js +1 -1
  196. package/esm2015/lib/components/dynamic-form/models/dynamic-form-mapitem.model.js +1 -1
  197. package/esm2015/lib/components/dynamic-form/models/dynamic-form-selectitem.model.js +1 -1
  198. package/esm2015/lib/components/dynamic-form/models/dynamic-form-textitem.model.js +1 -1
  199. package/esm2015/lib/components/dynamic-form/models/dynamic-form.models.js +1 -1
  200. package/esm2015/lib/components/dynamic-form/services/card-item-types.service.js +1 -1
  201. package/esm2015/lib/components/dynamic-form/services/dynamic-component-mapper.service.js +1 -1
  202. package/esm2015/lib/components/dynamic-form/services/dynamic-form-update.service.js +1 -1
  203. package/esm2015/lib/components/dynamic-form/services/vocabulary-api.service.js +1 -1
  204. package/esm2015/lib/components/dynamic-form/validators/length-validator.js +1 -1
  205. package/esm2015/lib/components/dynamic-form/validators/regex-validator.js +1 -1
  206. package/esm2015/lib/components/dynamic-form/validators/required-validator.js +1 -1
  207. package/esm2015/lib/components/dynamic-form/validators/value-validator.js +1 -1
  208. package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +1 -1
  209. package/esm2015/lib/components/dynamic-search/dynamic-search.module.js +1 -1
  210. package/esm2015/lib/components/dynamic-tabs/dynamic-tabs/dynamic-tabs.component.js +1 -1
  211. package/esm2015/lib/components/dynamic-tabs/dynamic-tabs.module.js +1 -1
  212. package/esm2015/lib/components/dynamic-view/boolean-viewer/boolean-viewer.component.js +2 -2
  213. package/esm2015/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.js +1 -1
  214. package/esm2015/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.js +1 -1
  215. package/esm2015/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.js +1 -1
  216. package/esm2015/lib/components/dynamic-view/data-viewer/data-viewer.component.js +2 -2
  217. package/esm2015/lib/components/dynamic-view/date-viewer/date-viewer.component.js +2 -2
  218. package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +2 -2
  219. package/esm2015/lib/components/dynamic-view/dropdown-viewer/dropdown-viewer.component.js +2 -2
  220. package/esm2015/lib/components/dynamic-view/dynamic-view.module.js +1 -1
  221. package/esm2015/lib/components/dynamic-view/dynamic-viewe.service.js +1 -1
  222. package/esm2015/lib/components/dynamic-view/list-viewer/list-viewer.component.js +1 -1
  223. package/esm2015/lib/components/file-manger/components/add-to-collection/add-to-collection.component.js +2 -2
  224. package/esm2015/lib/components/file-manger/components/clipboard/clipboard.component.js +2 -2
  225. package/esm2015/lib/components/file-manger/components/copy/copy.component.js +1 -1
  226. package/esm2015/lib/components/file-manger/components/create-directory/create-directory.component.js +2 -2
  227. package/esm2015/lib/components/file-manger/components/create-modal/create-modal.component.js +1 -1
  228. package/esm2015/lib/components/file-manger/components/creation-type/creation-type.component.js +1 -1
  229. package/esm2015/lib/components/file-manger/components/delete/delete.component.js +1 -1
  230. package/esm2015/lib/components/file-manger/components/folder-modal/folder-modal.component.js +1 -1
  231. package/esm2015/lib/components/file-manger/components/loan-request/loan-request.component.js +2 -2
  232. package/esm2015/lib/components/file-manger/components/move/move.component.js +1 -1
  233. package/esm2015/lib/components/file-manger/components/publish-dialog/publish-dialog.component.js +1 -1
  234. package/esm2015/lib/components/file-manger/components/rename/rename.component.js +2 -2
  235. package/esm2015/lib/components/file-manger/components/scan-modal/scan-modal.component.js +1 -1
  236. package/esm2015/lib/components/file-manger/components/share-dialog/share-dialog.component.js +2 -2
  237. package/esm2015/lib/components/file-manger/components/sidepanel/sidepanel.component.js +2 -2
  238. package/esm2015/lib/components/file-manger/components/template-modal/template-modal.component.js +1 -1
  239. package/esm2015/lib/components/file-manger/components/transfer-doc/transfer-doc.component.js +1 -1
  240. package/esm2015/lib/components/file-manger/components/update-modal/update-modal.component.js +1 -1
  241. package/esm2015/lib/components/file-manger/directives/file-grid-infinite-scroll.directive.js +1 -1
  242. package/esm2015/lib/components/file-manger/file-manager.abstract.js +1 -1
  243. package/esm2015/lib/components/file-manger/file-manger.module.js +1 -1
  244. package/esm2015/lib/components/file-manger/models/file-manager-config.model.js +1 -1
  245. package/esm2015/lib/components/file-manger/models/index.js +1 -1
  246. package/esm2015/lib/components/file-manger/models/pagination-payload.mode.js +1 -1
  247. package/esm2015/lib/components/file-manger/models/pagination-response.model.js +1 -1
  248. package/esm2015/lib/components/filter/filter/filter.component.js +1 -1
  249. package/esm2015/lib/components/filter/filter.module.js +1 -1
  250. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/gregorian-datepicker/gregorian-datepicker.component.js +1 -1
  251. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-datepicker/hijri-datepicker.component.js +1 -1
  252. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/hijri-gregorian-datepicker.component.js +1 -1
  253. package/esm2015/lib/components/hijri-gregorian-datepicker/hijri-gregorian-datepicker/provide-parent-form.directive.js +1 -1
  254. package/esm2015/lib/components/hijri-gregorian-datepicker/ngx-hijri-gregorian-datepicker.module.js +1 -1
  255. package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-formatter.service.js +1 -1
  256. package/esm2015/lib/components/hijri-gregorian-datepicker/services/date-helper.service.js +1 -1
  257. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/CustomNgbDateParserFormatter.js +1 -1
  258. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/IslamicI18n.js +1 -1
  259. package/esm2015/lib/components/hijri-gregorian-datepicker/utils/consts.js +1 -1
  260. package/esm2015/lib/components/latest-activity/components/activity-line/activity-line.component.js +1 -1
  261. package/esm2015/lib/components/latest-activity/components/latest-activity/latest-activity.component.js +1 -1
  262. package/esm2015/lib/components/latest-activity/components/single-activity/single-activity.component.js +1 -1
  263. package/esm2015/lib/components/latest-activity/constants/activitylog.js +1 -1
  264. package/esm2015/lib/components/latest-activity/latest-activity.module.js +1 -1
  265. package/esm2015/lib/components/latest-activity/services/activity-log.service.js +1 -1
  266. package/esm2015/lib/components/mutiple-dynamic-form-viewer/multiple-dynamic-form-viewer/multiple-dynamic-form-viewer.component.js +1 -1
  267. package/esm2015/lib/components/mutiple-dynamic-form-viewer/mutiple-dynamic-form-viewer.module.js +1 -1
  268. package/esm2015/lib/components/ndf-config-editor/components/config-editor-actions/config-editor-actions.component.js +1 -1
  269. package/esm2015/lib/components/ndf-config-editor/components/editor-mode-switch.component.js +1 -1
  270. package/esm2015/lib/components/ndf-config-editor/components/index.js +1 -1
  271. package/esm2015/lib/components/ndf-config-editor/components/info-dialog/info-dialog.component.js +2 -2
  272. package/esm2015/lib/components/ndf-config-editor/config.token.js +1 -1
  273. package/esm2015/lib/components/ndf-config-editor/constants/index.js +1 -1
  274. package/esm2015/lib/components/ndf-config-editor/constants/mode.js +1 -1
  275. package/esm2015/lib/components/ndf-config-editor/constants/query.js +1 -1
  276. package/esm2015/lib/components/ndf-config-editor/containers/config-preview/config-preview.component.js +1 -1
  277. package/esm2015/lib/components/ndf-config-editor/containers/editor-settings/editor-settings.component.js +2 -2
  278. package/esm2015/lib/components/ndf-config-editor/containers/index.js +1 -1
  279. package/esm2015/lib/components/ndf-config-editor/containers/monaco-editor.component.js +1 -1
  280. package/esm2015/lib/components/ndf-config-editor/containers/ndf-config-editor/ndf-config-editor.component.js +1 -1
  281. package/esm2015/lib/components/ndf-config-editor/index.js +1 -1
  282. package/esm2015/lib/components/ndf-config-editor/metadata-token.js +1 -1
  283. package/esm2015/lib/components/ndf-config-editor/models/config.js +1 -1
  284. package/esm2015/lib/components/ndf-config-editor/models/dialog-data.js +1 -1
  285. package/esm2015/lib/components/ndf-config-editor/models/editor-model.js +1 -1
  286. package/esm2015/lib/components/ndf-config-editor/models/index.js +1 -1
  287. package/esm2015/lib/components/ndf-config-editor/models/payload-data.js +1 -1
  288. package/esm2015/lib/components/ndf-config-editor/models/type-helper.js +1 -1
  289. package/esm2015/lib/components/ndf-config-editor/ndf-config-editor.module.js +1 -1
  290. package/esm2015/lib/components/ndf-config-editor/pipes/index.js +1 -1
  291. package/esm2015/lib/components/ndf-config-editor/pipes/is-valid-json.pipe.js +1 -1
  292. package/esm2015/lib/components/ndf-config-editor/pipes/validate-object.pipe.js +1 -1
  293. package/esm2015/lib/components/ndf-config-editor/public/editor-navigate-button.js +2 -2
  294. package/esm2015/lib/components/ndf-config-editor/public/index.js +1 -1
  295. package/esm2015/lib/components/ndf-config-editor/public-api.js +1 -1
  296. package/esm2015/lib/components/ndf-config-editor/services/data-access.service.js +1 -1
  297. package/esm2015/lib/components/ndf-config-editor/services/data-store.service.js +1 -1
  298. package/esm2015/lib/components/ndf-config-editor/services/index.js +1 -1
  299. package/esm2015/lib/components/ndf-config-editor/services/monaco.loader.service.js +1 -1
  300. package/esm2015/lib/components/ndf-config-editor/utility/index.js +1 -1
  301. package/esm2015/lib/components/ndf-config-editor/utility/json.js +1 -1
  302. package/esm2015/lib/components/ndf-datepicker/adapters/hijri-adapter.js +1 -1
  303. package/esm2015/lib/components/ndf-datepicker/adapters/index.js +1 -1
  304. package/esm2015/lib/components/ndf-datepicker/adapters/moment-adapter.js +1 -1
  305. package/esm2015/lib/components/ndf-datepicker/base/base-value-accessor.js +1 -1
  306. package/esm2015/lib/components/ndf-datepicker/base/index.js +1 -1
  307. package/esm2015/lib/components/ndf-datepicker/components/base-datepicker.js +1 -1
  308. package/esm2015/lib/components/ndf-datepicker/components/index.js +1 -1
  309. package/esm2015/lib/components/ndf-datepicker/components/input-date.component.js +1 -1
  310. package/esm2015/lib/components/ndf-datepicker/components/input-range-date.component.js +1 -1
  311. package/esm2015/lib/components/ndf-datepicker/constants/date-locale-keys.js +1 -1
  312. package/esm2015/lib/components/ndf-datepicker/constants/date-picker.js +1 -1
  313. package/esm2015/lib/components/ndf-datepicker/constants/date-type.js +1 -1
  314. package/esm2015/lib/components/ndf-datepicker/constants/formats.js +1 -1
  315. package/esm2015/lib/components/ndf-datepicker/constants/hijri-dates-names.js +1 -1
  316. package/esm2015/lib/components/ndf-datepicker/constants/index.js +1 -1
  317. package/esm2015/lib/components/ndf-datepicker/containers/datepicker-container.js +1 -1
  318. package/esm2015/lib/components/ndf-datepicker/containers/index.js +1 -1
  319. package/esm2015/lib/components/ndf-datepicker/containers/ndf-gregorian-datepicker.component.js +1 -1
  320. package/esm2015/lib/components/ndf-datepicker/containers/ndf-hijri-datepicker.component.js +1 -1
  321. package/esm2015/lib/components/ndf-datepicker/index.js +1 -1
  322. package/esm2015/lib/components/ndf-datepicker/models/data-types.js +1 -1
  323. package/esm2015/lib/components/ndf-datepicker/models/index.js +1 -1
  324. package/esm2015/lib/components/ndf-datepicker/models/value-object.js +1 -1
  325. package/esm2015/lib/components/ndf-datepicker/ndf-datepicker.component.js +2 -2
  326. package/esm2015/lib/components/ndf-datepicker/ndf-datepicker.module.js +1 -1
  327. package/esm2015/lib/components/ndf-datepicker/services/calendar.service.js +1 -1
  328. package/esm2015/lib/components/ndf-datepicker/services/index.js +1 -1
  329. package/esm2015/lib/components/ndf-datepicker/services/localize-state.service.js +1 -1
  330. package/esm2015/lib/components/ndf-filters/base/base-aggregation-field.component.js +1 -1
  331. package/esm2015/lib/components/ndf-filters/base/base-checkbox-radio.component.js +1 -1
  332. package/esm2015/lib/components/ndf-filters/base/base-custom-field.component.js +1 -1
  333. package/esm2015/lib/components/ndf-filters/base/base-predicate-field.component.js +1 -1
  334. package/esm2015/lib/components/ndf-filters/base/base-value-accessor.component.js +1 -1
  335. package/esm2015/lib/components/ndf-filters/base/index.js +1 -1
  336. package/esm2015/lib/components/ndf-filters/components/__parts/field-header.component.js +1 -1
  337. package/esm2015/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete-input.component.js +1 -1
  338. package/esm2015/lib/components/ndf-filters/components/__parts/filter-autocomplete-input/filter-autocomplete.service.js +1 -1
  339. package/esm2015/lib/components/ndf-filters/components/__parts/filter-collapse-control/filter-collapse-control.component.js +1 -1
  340. package/esm2015/lib/components/ndf-filters/components/__parts/filter-date-range/filter-date-range.component.js +1 -1
  341. package/esm2015/lib/components/ndf-filters/components/__parts/filter-empty-message.component.js +1 -1
  342. package/esm2015/lib/components/ndf-filters/components/__parts/filter-option-text/filter-option-text.component.js +4 -3
  343. package/esm2015/lib/components/ndf-filters/components/__parts/filter-options-sort/filter-options-sort.component.js +2 -2
  344. package/esm2015/lib/components/ndf-filters/components/__parts/filter-search-input/filter-search-input.component.js +1 -1
  345. package/esm2015/lib/components/ndf-filters/components/__parts/html-dialog/html-dialog.component.js +1 -1
  346. package/esm2015/lib/components/ndf-filters/components/__parts/index.js +1 -1
  347. package/esm2015/lib/components/ndf-filters/components/aggregation-autocomplete/aggregation-autocomplete.component.js +1 -1
  348. package/esm2015/lib/components/ndf-filters/components/aggregation-checkbox/aggregation-checkbox.component.js +1 -1
  349. package/esm2015/lib/components/ndf-filters/components/aggregation-custom/aggregation-custom.component.js +1 -1
  350. package/esm2015/lib/components/ndf-filters/components/aggregation-date-list/aggregation-date-list.component.js +1 -1
  351. package/esm2015/lib/components/ndf-filters/components/aggregation-radio/aggregation-radio.component.js +1 -1
  352. package/esm2015/lib/components/ndf-filters/components/aggregation-select/aggregation-select.component.js +1 -1
  353. package/esm2015/lib/components/ndf-filters/components/aggregation-switch/aggregation-switch.component.js +2 -2
  354. package/esm2015/lib/components/ndf-filters/components/index.js +1 -1
  355. package/esm2015/lib/components/ndf-filters/components/predicate-date-input/predicate-date-input.component.js +1 -1
  356. package/esm2015/lib/components/ndf-filters/components/predicate-text-input/predicate-text-input.component.js +2 -2
  357. package/esm2015/lib/components/ndf-filters/constants/common.js +1 -1
  358. package/esm2015/lib/components/ndf-filters/constants/field.js +1 -1
  359. package/esm2015/lib/components/ndf-filters/constants/index.js +1 -1
  360. package/esm2015/lib/components/ndf-filters/constants/operators.js +1 -1
  361. package/esm2015/lib/components/ndf-filters/constants/sort.js +1 -1
  362. package/esm2015/lib/components/ndf-filters/constants/type.js +1 -1
  363. package/esm2015/lib/components/ndf-filters/containers/aggregation-field/aggregation-field.component.js +1 -1
  364. package/esm2015/lib/components/ndf-filters/containers/base-field.js +1 -1
  365. package/esm2015/lib/components/ndf-filters/containers/custom-field/custom-field.component.js +1 -1
  366. package/esm2015/lib/components/ndf-filters/containers/filters-panel/base-filters-panel.js +1 -1
  367. package/esm2015/lib/components/ndf-filters/containers/filters-panel/filters-panel.component.js +1 -1
  368. package/esm2015/lib/components/ndf-filters/containers/index.js +1 -1
  369. package/esm2015/lib/components/ndf-filters/containers/predicate-field/predicate-field.component.js +1 -1
  370. package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/active-user-switch.component.js +2 -2
  371. package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/active-user.service.js +1 -1
  372. package/esm2015/lib/components/ndf-filters/custom-components/active-user-switch/user-types.js +1 -1
  373. package/esm2015/lib/components/ndf-filters/custom-components/aggregation-group/aggregation-group.component.js +1 -1
  374. package/esm2015/lib/components/ndf-filters/custom-components/aggregation-group/map-aggregation-config.js +1 -1
  375. package/esm2015/lib/components/ndf-filters/custom-components/index.js +1 -1
  376. package/esm2015/lib/components/ndf-filters/directives/autocomplete-template.directive.js +1 -1
  377. package/esm2015/lib/components/ndf-filters/directives/checkbox-template.directive.js +1 -1
  378. package/esm2015/lib/components/ndf-filters/directives/custom-template.directive.js +1 -1
  379. package/esm2015/lib/components/ndf-filters/directives/date-template.directive.js +1 -1
  380. package/esm2015/lib/components/ndf-filters/directives/dropdown-label-template.directive.js +1 -1
  381. package/esm2015/lib/components/ndf-filters/directives/dropdown-template.directive.js +1 -1
  382. package/esm2015/lib/components/ndf-filters/directives/index.js +1 -1
  383. package/esm2015/lib/components/ndf-filters/directives/radio-template.directive.js +1 -1
  384. package/esm2015/lib/components/ndf-filters/directives/switch-template.directive.js +1 -1
  385. package/esm2015/lib/components/ndf-filters/index.js +1 -1
  386. package/esm2015/lib/components/ndf-filters/models/aggregation-field-config.js +1 -1
  387. package/esm2015/lib/components/ndf-filters/models/aggregation-response.model.js +1 -1
  388. package/esm2015/lib/components/ndf-filters/models/base-field-config.js +1 -1
  389. package/esm2015/lib/components/ndf-filters/models/common.js +1 -1
  390. package/esm2015/lib/components/ndf-filters/models/custom-field-config.js +1 -1
  391. package/esm2015/lib/components/ndf-filters/models/field-config.model.js +1 -1
  392. package/esm2015/lib/components/ndf-filters/models/field-options/autocomplete-options.js +1 -1
  393. package/esm2015/lib/components/ndf-filters/models/field-options/checkbox-options.js +1 -1
  394. package/esm2015/lib/components/ndf-filters/models/field-options/common-utils.js +1 -1
  395. package/esm2015/lib/components/ndf-filters/models/field-options/custom-fields-options.js +1 -1
  396. package/esm2015/lib/components/ndf-filters/models/field-options/custom-options.js +1 -1
  397. package/esm2015/lib/components/ndf-filters/models/field-options/date-list-options.js +1 -1
  398. package/esm2015/lib/components/ndf-filters/models/field-options/date-options.js +1 -1
  399. package/esm2015/lib/components/ndf-filters/models/field-options/dropdown-options.js +1 -1
  400. package/esm2015/lib/components/ndf-filters/models/field-options/index.js +1 -1
  401. package/esm2015/lib/components/ndf-filters/models/field-options/input-options.js +1 -1
  402. package/esm2015/lib/components/ndf-filters/models/field-options/radio-options.js +1 -1
  403. package/esm2015/lib/components/ndf-filters/models/field-options/switch-options.js +1 -1
  404. package/esm2015/lib/components/ndf-filters/models/filter-option.model.js +1 -1
  405. package/esm2015/lib/components/ndf-filters/models/form-query-request.js +1 -1
  406. package/esm2015/lib/components/ndf-filters/models/index.js +1 -1
  407. package/esm2015/lib/components/ndf-filters/models/operator-value-object.js +1 -1
  408. package/esm2015/lib/components/ndf-filters/models/predicate-field-config.js +1 -1
  409. package/esm2015/lib/components/ndf-filters/models/types-helper.js +1 -1
  410. package/esm2015/lib/components/ndf-filters/models/value-object.model.js +1 -1
  411. package/esm2015/lib/components/ndf-filters/ndf-filters-panel.module.js +5 -3
  412. package/esm2015/lib/components/ndf-filters/pipes/autocomplete-filter.pipe.js +1 -1
  413. package/esm2015/lib/components/ndf-filters/pipes/check-condition.pipe.js +1 -1
  414. package/esm2015/lib/components/ndf-filters/pipes/evaluate-label.pipe.js +40 -0
  415. package/esm2015/lib/components/ndf-filters/pipes/filter.pipe.js +1 -1
  416. package/esm2015/lib/components/ndf-filters/pipes/hash-translate.pipe.js +1 -1
  417. package/esm2015/lib/components/ndf-filters/pipes/index.js +4 -3
  418. package/esm2015/lib/components/ndf-filters/pipes/localized-label.pipe.js +1 -1
  419. package/esm2015/lib/components/ndf-filters/pipes/roles-filters.pipe.js +1 -1
  420. package/esm2015/lib/components/ndf-filters/pipes/sanitizer.pipe.js +1 -1
  421. package/esm2015/lib/components/ndf-filters/pipes/sort.pipe.js +1 -1
  422. package/esm2015/lib/components/ndf-filters/pipes/tooltip.pipe.js +1 -1
  423. package/esm2015/lib/components/ndf-filters/public-api.js +1 -1
  424. package/esm2015/lib/components/ndf-filters/services/aggregation-field.service.js +2 -1
  425. package/esm2015/lib/components/ndf-filters/services/dynamic-component-loader.service.js +1 -1
  426. package/esm2015/lib/components/ndf-filters/services/filters-mapper.service.js +1 -1
  427. package/esm2015/lib/components/ndf-filters/services/filters-query.service.js +1 -1
  428. package/esm2015/lib/components/ndf-filters/services/index.js +1 -1
  429. package/esm2015/lib/components/ndf-filters/utility/index.js +1 -1
  430. package/esm2015/lib/components/ndf-filters/utility/nxql-query.js +1 -1
  431. package/esm2015/lib/components/ndf-filters/utility/nxql.js +1 -1
  432. package/esm2015/lib/components/ndf-filters/utility/object.js +1 -1
  433. package/esm2015/lib/components/ndf-panel/component/ndf-panel.component.js +1 -1
  434. package/esm2015/lib/components/ndf-panel/index.js +1 -1
  435. package/esm2015/lib/components/ndf-panel/ndf-panel.module.js +1 -1
  436. package/esm2015/lib/components/ndf-scanner/index.js +1 -1
  437. package/esm2015/lib/components/ndf-scanner/ndf-scanner.component.js +2 -2
  438. package/esm2015/lib/components/ndf-scanner/ndf-scanner.module.js +1 -1
  439. package/esm2015/lib/components/ndf-signatures/emdha/dialogs/auth/emdha-auth.dialog.js +1 -1
  440. package/esm2015/lib/components/ndf-signatures/emdha/dialogs/index.js +1 -1
  441. package/esm2015/lib/components/ndf-signatures/emdha/index.js +1 -1
  442. package/esm2015/lib/components/ndf-signatures/emdha/services/emdha.service.js +1 -1
  443. package/esm2015/lib/components/ndf-signatures/emdha/services/index.js +1 -1
  444. package/esm2015/lib/components/ndf-signatures/index.js +1 -1
  445. package/esm2015/lib/components/ndf-signatures/ndf-signature-panel/ndf-signature-panel.component.js +1 -1
  446. package/esm2015/lib/components/ndf-signatures/ndf-signatures.module.js +1 -1
  447. package/esm2015/lib/components/ndf-signatures/services/index.js +1 -1
  448. package/esm2015/lib/components/ndf-signatures/services/signatures.service.js +1 -1
  449. package/esm2015/lib/components/ndf-tabs/component/ndf-tabs.component.js +1 -1
  450. package/esm2015/lib/components/ndf-tabs/index.js +1 -1
  451. package/esm2015/lib/components/ndf-tabs/ndf-tabs.module.js +1 -1
  452. package/esm2015/lib/components/ndf-tabs/tab.type.js +1 -1
  453. package/esm2015/lib/components/ndf-uploader/components/bottom-sheet/ndf-uploader-bottom-sheet.component.js +2 -2
  454. package/esm2015/lib/components/ndf-uploader/components/index.js +1 -1
  455. package/esm2015/lib/components/ndf-uploader/config/index.js +1 -1
  456. package/esm2015/lib/components/ndf-uploader/config/uploader.config.js +1 -1
  457. package/esm2015/lib/components/ndf-uploader/constant/file-content.js +1 -1
  458. package/esm2015/lib/components/ndf-uploader/constant/index.js +1 -1
  459. package/esm2015/lib/components/ndf-uploader/helpers/index.js +1 -1
  460. package/esm2015/lib/components/ndf-uploader/helpers/uploader.helper.js +1 -1
  461. package/esm2015/lib/components/ndf-uploader/index.js +1 -1
  462. package/esm2015/lib/components/ndf-uploader/models/batch.model.js +1 -1
  463. package/esm2015/lib/components/ndf-uploader/models/index.js +1 -1
  464. package/esm2015/lib/components/ndf-uploader/models/ndf-file.model.js +1 -1
  465. package/esm2015/lib/components/ndf-uploader/models/provider.model.js +1 -1
  466. package/esm2015/lib/components/ndf-uploader/ndf-uploader-bottom-sheet.service.js +1 -1
  467. package/esm2015/lib/components/ndf-uploader/ndf-uploader.module.js +1 -1
  468. package/esm2015/lib/components/ndf-uploader/ndf-uploader.service.js +1 -1
  469. package/esm2015/lib/components/ndf-uploader/nuxeo-base-url.js +1 -1
  470. package/esm2015/lib/components/ndf-uploader/providers/index.js +1 -1
  471. package/esm2015/lib/components/ndf-uploader/providers/nuxeo-provider.service.js +1 -1
  472. package/esm2015/lib/components/ndf-uploader/providers/s3-provider.service.js +1 -1
  473. package/esm2015/lib/components/no-data-found/index.js +1 -1
  474. package/esm2015/lib/components/no-data-found/no-data-found.component.js +1 -1
  475. package/esm2015/lib/components/no-data-found/no-data.module.js +1 -1
  476. package/esm2015/lib/components/notifications/components/base-list-notfications.component.js +1 -1
  477. package/esm2015/lib/components/notifications/components/base-notifications.component.js +1 -1
  478. package/esm2015/lib/components/notifications/components/index.js +1 -1
  479. package/esm2015/lib/components/notifications/components/notification-item/get-icon.pipe.js +1 -1
  480. package/esm2015/lib/components/notifications/components/notification-item/notification-item.component.js +2 -2
  481. package/esm2015/lib/components/notifications/components/notification-sortby-toggle/notification-sortby-toggle.component.js +2 -2
  482. package/esm2015/lib/components/notifications/components/notification-source-select/notification-source-select.component.js +2 -2
  483. package/esm2015/lib/components/notifications/components/notification-status-toggle/notification-status-toggle.component.js +2 -2
  484. package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +2 -2
  485. package/esm2015/lib/components/notifications/components/notifications-date-select/notifications-date-select.component.js +2 -2
  486. package/esm2015/lib/components/notifications/components/notifications-list/notifications-list.component.js +2 -2
  487. package/esm2015/lib/components/notifications/components/notifications-list/options.js +1 -1
  488. package/esm2015/lib/components/notifications/components/notifications-list-actions/notifications-list-actions.component.js +2 -2
  489. package/esm2015/lib/components/notifications/components/notifications-settings/check-if-subscribed.pipe.js +1 -1
  490. package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.adapter.js +1 -1
  491. package/esm2015/lib/components/notifications/components/notifications-settings/notifications-settings.component.js +2 -2
  492. package/esm2015/lib/components/notifications/components/notifications-sidebar/notifications-sidebar-content.js +1 -1
  493. package/esm2015/lib/components/notifications/components/notifications-sidebar/notifications-sidebar.component.js +1 -1
  494. package/esm2015/lib/components/notifications/constants/date.js +1 -1
  495. package/esm2015/lib/components/notifications/constants/index.js +1 -1
  496. package/esm2015/lib/components/notifications/constants/pagination.js +1 -1
  497. package/esm2015/lib/components/notifications/constants/panel.js +1 -1
  498. package/esm2015/lib/components/notifications/constants/status.js +1 -1
  499. package/esm2015/lib/components/notifications/containers/index.js +1 -1
  500. package/esm2015/lib/components/notifications/containers/notifications-list-container/notifications-list-container.component.js +2 -2
  501. package/esm2015/lib/components/notifications/containers/notifications-list-container/options.js +1 -1
  502. package/esm2015/lib/components/notifications/containers/notifications-settings-container/notifications-settings-container.component.js +1 -1
  503. package/esm2015/lib/components/notifications/directives/button.directive.js +1 -1
  504. package/esm2015/lib/components/notifications/directives/index.js +1 -1
  505. package/esm2015/lib/components/notifications/directives/notification.directive.js +1 -1
  506. package/esm2015/lib/components/notifications/index.js +1 -1
  507. package/esm2015/lib/components/notifications/models/common.js +1 -1
  508. package/esm2015/lib/components/notifications/models/index.js +1 -1
  509. package/esm2015/lib/components/notifications/models/notification-definition.model.js +1 -1
  510. package/esm2015/lib/components/notifications/models/notification-message.mode.js +1 -1
  511. package/esm2015/lib/components/notifications/models/notification-options.js +1 -1
  512. package/esm2015/lib/components/notifications/models/notification-setting.presenter.js +1 -1
  513. package/esm2015/lib/components/notifications/models/notification-subscription.model.js +1 -1
  514. package/esm2015/lib/components/notifications/models/notification.model.js +1 -1
  515. package/esm2015/lib/components/notifications/models/notifications-list-options.js +1 -1
  516. package/esm2015/lib/components/notifications/models/paging-response.model.js +1 -1
  517. package/esm2015/lib/components/notifications/models/params.model.js +1 -1
  518. package/esm2015/lib/components/notifications/models/vocabularies.js +1 -1
  519. package/esm2015/lib/components/notifications/notifications.module.js +1 -1
  520. package/esm2015/lib/components/notifications/public-api.js +1 -1
  521. package/esm2015/lib/components/notifications/services/index.js +1 -1
  522. package/esm2015/lib/components/notifications/services/listener.service.js +1 -1
  523. package/esm2015/lib/components/notifications/services/notifications.service.js +1 -1
  524. package/esm2015/lib/components/notifications/services/params.service.js +1 -1
  525. package/esm2015/lib/components/notifications/services/response.service.js +1 -1
  526. package/esm2015/lib/components/notifications/services/socket.service.js +1 -1
  527. package/esm2015/lib/components/notifications/utilities/index.js +1 -1
  528. package/esm2015/lib/components/notifications/utilities/response.adapter.js +1 -1
  529. package/esm2015/lib/components/pagination/pagination/pagination.component.js +1 -1
  530. package/esm2015/lib/components/pagination/pagination.module.js +1 -1
  531. package/esm2015/lib/components/pdf-tron/directives/index.js +1 -1
  532. package/esm2015/lib/components/pdf-tron/directives/ndf-tron-extract-text.directive.js +1 -1
  533. package/esm2015/lib/components/pdf-tron/models/index.js +1 -1
  534. package/esm2015/lib/components/pdf-tron/models/tron.model.js +1 -1
  535. package/esm2015/lib/components/pdf-tron/pdf-tron.module.js +1 -1
  536. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.component.js +2 -1
  537. package/esm2015/lib/components/pdf-tron/pdftron/pdftron.service.js +1 -1
  538. package/esm2015/lib/components/pdf-tron/pdftron/silent-pdftron.service.js +2 -1
  539. package/esm2015/lib/components/permissions/add-permissions-dialog/add-permissions-dialog.component.js +2 -2
  540. package/esm2015/lib/components/permissions/permission.service.js +1 -1
  541. package/esm2015/lib/components/permissions/permissions/permissions.component.js +1 -1
  542. package/esm2015/lib/components/permissions/permissions-template/permissions-template.component.js +1 -1
  543. package/esm2015/lib/components/permissions/permissions.module.js +1 -1
  544. package/esm2015/lib/components/reports/chart-panel.js +1 -1
  545. package/esm2015/lib/components/reports/charts/chart.const.js +1 -1
  546. package/esm2015/lib/components/reports/charts/chart.token.js +1 -1
  547. package/esm2015/lib/components/reports/charts/charts.module.js +1 -1
  548. package/esm2015/lib/components/reports/charts/components/base-chart.component.js +1 -1
  549. package/esm2015/lib/components/reports/charts/components/chart.component.js +1 -1
  550. package/esm2015/lib/components/reports/charts/components/data-chart.component.js +1 -1
  551. package/esm2015/lib/components/reports/charts/components/index.js +1 -1
  552. package/esm2015/lib/components/reports/charts/defaults/bar.js +1 -1
  553. package/esm2015/lib/components/reports/charts/defaults/doughnut.js +1 -1
  554. package/esm2015/lib/components/reports/charts/defaults/index.js +1 -1
  555. package/esm2015/lib/components/reports/charts/defaults/line.js +1 -1
  556. package/esm2015/lib/components/reports/charts/defaults/pie.js +1 -1
  557. package/esm2015/lib/components/reports/charts/index.js +1 -1
  558. package/esm2015/lib/components/reports/charts/models/index.js +1 -1
  559. package/esm2015/lib/components/reports/charts/models/options.js +1 -1
  560. package/esm2015/lib/components/reports/charts/models/plugins-options.js +1 -1
  561. package/esm2015/lib/components/reports/charts/models/response.js +1 -1
  562. package/esm2015/lib/components/reports/charts/models/statistic-request-config.js +1 -1
  563. package/esm2015/lib/components/reports/charts/plugins/data-labels.js +1 -1
  564. package/esm2015/lib/components/reports/charts/plugins/doughnut-center-text.js +1 -1
  565. package/esm2015/lib/components/reports/charts/plugins/doughnut-empty-state.js +1 -1
  566. package/esm2015/lib/components/reports/charts/plugins/index.js +1 -1
  567. package/esm2015/lib/components/reports/charts/plugins/legend-margin.js +1 -1
  568. package/esm2015/lib/components/reports/charts/plugins/scrollable-legends.js +1 -1
  569. package/esm2015/lib/components/reports/charts/public-api.js +1 -1
  570. package/esm2015/lib/components/reports/charts/services/index.js +1 -1
  571. package/esm2015/lib/components/reports/charts/services/statistic.service.js +1 -1
  572. package/esm2015/lib/components/reports/charts/utility/colors.js +1 -1
  573. package/esm2015/lib/components/reports/charts/utility/common.js +1 -1
  574. package/esm2015/lib/components/reports/charts/utility/css.js +1 -1
  575. package/esm2015/lib/components/reports/charts/utility/index.js +1 -1
  576. package/esm2015/lib/components/reports/index.js +1 -1
  577. package/esm2015/lib/components/reports/ndf-reports/base/base-chart.js +1 -1
  578. package/esm2015/lib/components/reports/ndf-reports/base/base-custom-report.js +1 -1
  579. package/esm2015/lib/components/reports/ndf-reports/base/base-graph.report.js +1 -1
  580. package/esm2015/lib/components/reports/ndf-reports/base/base-report.js +1 -1
  581. package/esm2015/lib/components/reports/ndf-reports/base/index.js +1 -1
  582. package/esm2015/lib/components/reports/ndf-reports/charts-components/custom-chart/custom-chart.component.js +1 -1
  583. package/esm2015/lib/components/reports/ndf-reports/charts-components/digit-chart/digit-chart.component.js +1 -1
  584. package/esm2015/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.component.js +1 -1
  585. package/esm2015/lib/components/reports/ndf-reports/charts-components/graph-chart/graph-chart.service.js +1 -1
  586. package/esm2015/lib/components/reports/ndf-reports/charts-components/index.js +1 -1
  587. package/esm2015/lib/components/reports/ndf-reports/components/_parts/chart-type-selector/chart-type-selector.component.js +2 -2
  588. package/esm2015/lib/components/reports/ndf-reports/components/_parts/custom-chart-dialog/custom-chart-dialog.component.js +2 -2
  589. package/esm2015/lib/components/reports/ndf-reports/components/_parts/graph-dialog/graph-dialog.component.js +2 -2
  590. package/esm2015/lib/components/reports/ndf-reports/components/_parts/index.js +1 -1
  591. package/esm2015/lib/components/reports/ndf-reports/components/_parts/report-actions/report-actions.component.js +2 -2
  592. package/esm2015/lib/components/reports/ndf-reports/components/_parts/time-group-selector/time-group-selector.component.js +1 -1
  593. package/esm2015/lib/components/reports/ndf-reports/components/_parts/timeline-dialog/timeline-dialog.component.js +2 -2
  594. package/esm2015/lib/components/reports/ndf-reports/components/custom-report/custom-report.component.js +2 -2
  595. package/esm2015/lib/components/reports/ndf-reports/components/digit-report/digit-report.component.js +1 -1
  596. package/esm2015/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.js +2 -2
  597. package/esm2015/lib/components/reports/ndf-reports/components/graph-report/graph-report.component.js +2 -2
  598. package/esm2015/lib/components/reports/ndf-reports/components/index.js +1 -1
  599. package/esm2015/lib/components/reports/ndf-reports/constants/charts-types.js +1 -1
  600. package/esm2015/lib/components/reports/ndf-reports/constants/index.js +1 -1
  601. package/esm2015/lib/components/reports/ndf-reports/constants/time-group.js +1 -1
  602. package/esm2015/lib/components/reports/ndf-reports/containers/index.js +1 -1
  603. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-report/ndf-report.component.js +1 -1
  604. package/esm2015/lib/components/reports/ndf-reports/containers/ndf-reports/ndf-reports.component.js +1 -1
  605. package/esm2015/lib/components/reports/ndf-reports/directives/empty-content-template.directive.js +1 -1
  606. package/esm2015/lib/components/reports/ndf-reports/directives/header-panel-template.directive.js +1 -1
  607. package/esm2015/lib/components/reports/ndf-reports/directives/index.js +1 -1
  608. package/esm2015/lib/components/reports/ndf-reports/directives/scrollable-div.directive.js +1 -1
  609. package/esm2015/lib/components/reports/ndf-reports/index.js +1 -1
  610. package/esm2015/lib/components/reports/ndf-reports/models/base.js +1 -1
  611. package/esm2015/lib/components/reports/ndf-reports/models/common.js +1 -1
  612. package/esm2015/lib/components/reports/ndf-reports/models/custom-definition.js +1 -1
  613. package/esm2015/lib/components/reports/ndf-reports/models/details.js +1 -1
  614. package/esm2015/lib/components/reports/ndf-reports/models/dialog-data.js +1 -1
  615. package/esm2015/lib/components/reports/ndf-reports/models/digit.js +1 -1
  616. package/esm2015/lib/components/reports/ndf-reports/models/dynamic-line.js +1 -1
  617. package/esm2015/lib/components/reports/ndf-reports/models/graph-definition.js +1 -1
  618. package/esm2015/lib/components/reports/ndf-reports/models/index.js +1 -1
  619. package/esm2015/lib/components/reports/ndf-reports/models/ndf-reports.config.js +1 -1
  620. package/esm2015/lib/components/reports/ndf-reports/models/report-config.js +1 -1
  621. package/esm2015/lib/components/reports/ndf-reports/models/report-data-source.js +1 -1
  622. package/esm2015/lib/components/reports/ndf-reports/models/report-response.model.js +1 -1
  623. package/esm2015/lib/components/reports/ndf-reports/models/request.js +1 -1
  624. package/esm2015/lib/components/reports/ndf-reports/ndf-reports.module.js +1 -1
  625. package/esm2015/lib/components/reports/ndf-reports/options/doughnut.js +1 -1
  626. package/esm2015/lib/components/reports/ndf-reports/options/horizontal-bar.js +1 -1
  627. package/esm2015/lib/components/reports/ndf-reports/options/index.js +1 -1
  628. package/esm2015/lib/components/reports/ndf-reports/options/line.js +1 -1
  629. package/esm2015/lib/components/reports/ndf-reports/options/pie.js +1 -1
  630. package/esm2015/lib/components/reports/ndf-reports/options/vertical-bar.js +1 -1
  631. package/esm2015/lib/components/reports/ndf-reports/pipes/check-condition.pipe.js +1 -1
  632. package/esm2015/lib/components/reports/ndf-reports/public-api.js +1 -1
  633. package/esm2015/lib/components/reports/ndf-reports/services/base-chart-builder.service.js +1 -1
  634. package/esm2015/lib/components/reports/ndf-reports/services/chart-callbacks-register.services.js +1 -1
  635. package/esm2015/lib/components/reports/ndf-reports/services/chart-data-transformers.service.js +1 -1
  636. package/esm2015/lib/components/reports/ndf-reports/services/chart-manager.service.js +1 -1
  637. package/esm2015/lib/components/reports/ndf-reports/services/chart-plugins-registry.service.js +1 -1
  638. package/esm2015/lib/components/reports/ndf-reports/services/chart-theme.service.js +1 -1
  639. package/esm2015/lib/components/reports/ndf-reports/services/custom-reports-registry.service.js +1 -1
  640. package/esm2015/lib/components/reports/ndf-reports/services/digit-chart.service.js +1 -1
  641. package/esm2015/lib/components/reports/ndf-reports/services/dynamic-timeline-report.service.js +1 -1
  642. package/esm2015/lib/components/reports/ndf-reports/services/index.js +1 -1
  643. package/esm2015/lib/components/reports/ndf-reports/services/ndf-reports.service.js +1 -1
  644. package/esm2015/lib/components/reports/ndf-reports/services/report-config-mapper.service.js +1 -1
  645. package/esm2015/lib/components/reports/ndf-reports/services/report-configuration.service.js +1 -1
  646. package/esm2015/lib/components/reports/ndf-reports/services/report-transform.service.js +1 -1
  647. package/esm2015/lib/components/reports/ndf-reports/services/reports-data-transformers.service.js +1 -1
  648. package/esm2015/lib/components/reports/ndf-reports/services/reports-dialog.service.js +1 -1
  649. package/esm2015/lib/components/reports/ndf-reports/services/reports-hooks.service.js +1 -1
  650. package/esm2015/lib/components/reports/ndf-reports/services/reports-state.service.js +1 -1
  651. package/esm2015/lib/components/reports/ndf-reports/utilities/dataset-colors.js +1 -1
  652. package/esm2015/lib/components/reports/ndf-reports/utilities/index.js +1 -1
  653. package/esm2015/lib/components/reports/ndf-reports/utilities/reports-table.mapper.js +1 -1
  654. package/esm2015/lib/components/select/select/select.component.js +1 -1
  655. package/esm2015/lib/components/select/select.module.js +1 -1
  656. package/esm2015/lib/components/select-users-by-department/select-users-by-department.module.js +1 -1
  657. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/department-management.service.js +1 -1
  658. package/esm2015/lib/components/select-users-by-department/select-users-by-departments/select-users-by-departments.component.js +1 -1
  659. package/esm2015/lib/components/skeleton/index.js +1 -1
  660. package/esm2015/lib/components/skeleton/skeleton.component.js +1 -1
  661. package/esm2015/lib/components/skeleton/skeleton.module.js +1 -1
  662. package/esm2015/lib/components/skeleton/table-skeleton.component.js +1 -1
  663. package/esm2015/lib/components/spell-checker-field/spell-checker-field.module.js +1 -1
  664. package/esm2015/lib/components/spell-checker-field/spell-checker-text-field/spell-checker-text-field.component.js +1 -1
  665. package/esm2015/lib/components/tables/dynamic-table/directives/empty-state.directive.js +1 -1
  666. package/esm2015/lib/components/tables/dynamic-table/dynamic-table/dynamic-table.component.js +1 -1
  667. package/esm2015/lib/components/tables/dynamic-table/dynamic-table.module.js +1 -1
  668. package/esm2015/lib/components/tables/dynamic-table/index.js +1 -1
  669. package/esm2015/lib/components/tables/dynamic-table/public-api.js +1 -1
  670. package/esm2015/lib/components/tables/dynamic-table/services/dynamic-table.service.js +1 -1
  671. package/esm2015/lib/components/tables/dynamic-table/services/table-hooks.service.js +1 -1
  672. package/esm2015/lib/components/tables/index.js +1 -1
  673. package/esm2015/lib/components/tables/ndf-table/components/index.js +1 -1
  674. package/esm2015/lib/components/tables/ndf-table/components/mode-toggler/mode-toggler.component.js +1 -1
  675. package/esm2015/lib/components/tables/ndf-table/components/sorting-list/sorting-list.component.js +2 -2
  676. package/esm2015/lib/components/tables/ndf-table/components/table-columns-toggler/table-columns-toggler.component.js +2 -2
  677. package/esm2015/lib/components/tables/ndf-table/components/table-export/table-export.component.js +2 -2
  678. package/esm2015/lib/components/tables/ndf-table/components/text-search/text-search.component.js +1 -1
  679. package/esm2015/lib/components/tables/ndf-table/constants/index.js +1 -1
  680. package/esm2015/lib/components/tables/ndf-table/constants/sizes.js +1 -1
  681. package/esm2015/lib/components/tables/ndf-table/containers/index.js +1 -1
  682. package/esm2015/lib/components/tables/ndf-table/containers/ndf-table/ndf-table.component.js +1 -1
  683. package/esm2015/lib/components/tables/ndf-table/directives/actions.directive.js +1 -1
  684. package/esm2015/lib/components/tables/ndf-table/directives/filter-custom.directive.js +1 -1
  685. package/esm2015/lib/components/tables/ndf-table/directives/index.js +1 -1
  686. package/esm2015/lib/components/tables/ndf-table/directives/search.directive.js +1 -1
  687. package/esm2015/lib/components/tables/ndf-table/index.js +1 -1
  688. package/esm2015/lib/components/tables/ndf-table/models/index.js +1 -1
  689. package/esm2015/lib/components/tables/ndf-table/models/payload-types.js +1 -1
  690. package/esm2015/lib/components/tables/ndf-table/models/search.config.js +1 -1
  691. package/esm2015/lib/components/tables/ndf-table/models/table-column.js +1 -1
  692. package/esm2015/lib/components/tables/ndf-table/models/table-config.js +1 -1
  693. package/esm2015/lib/components/tables/ndf-table/models/table-mode.js +1 -1
  694. package/esm2015/lib/components/tables/ndf-table/models/table-options.js +1 -1
  695. package/esm2015/lib/components/tables/ndf-table/models/types.js +1 -1
  696. package/esm2015/lib/components/tables/ndf-table/ndf-table.module.js +1 -1
  697. package/esm2015/lib/components/tables/ndf-table/public-api.js +1 -1
  698. package/esm2015/lib/components/tables/ndf-table/services/index.js +1 -1
  699. package/esm2015/lib/components/tables/ndf-table/services/ndf-table-configuration.service.js +1 -1
  700. package/esm2015/lib/components/tables/ndf-table/services/ndf-table.service.js +1 -1
  701. package/esm2015/lib/components/tables/public-api.js +1 -1
  702. package/esm2015/lib/components/tables/table/dynamic-column/dynamic-column.component.js +1 -1
  703. package/esm2015/lib/components/tables/table/dynamic-component.js +1 -1
  704. package/esm2015/lib/components/tables/table/index.js +1 -1
  705. package/esm2015/lib/components/tables/table/page-sizes-list/page-sizes-list.component.js +1 -1
  706. package/esm2015/lib/components/tables/table/public-api.js +1 -1
  707. package/esm2015/lib/components/tables/table/table/table.component.js +2 -2
  708. package/esm2015/lib/components/tables/table/table.module.js +1 -1
  709. package/esm2015/lib/components/toasts/components/notification-toast/notification-toast.component.js +1 -1
  710. package/esm2015/lib/components/toasts/index.js +1 -1
  711. package/esm2015/lib/components/toasts/public-api.js +1 -1
  712. package/esm2015/lib/components/toasts/toasts.module.js +1 -1
  713. package/esm2015/lib/components/user/user/user.component.js +1 -1
  714. package/esm2015/lib/components/user/user.module.js +1 -1
  715. package/esm2015/lib/components/users-card/users-card.component.js +2 -2
  716. package/esm2015/lib/components/users-card/users-card.module.js +1 -1
  717. package/esm2015/lib/components/viewer-log/components/viewer-log/viewer-log.component.js +1 -1
  718. package/esm2015/lib/components/viewer-log/viewer-log.module.js +1 -1
  719. package/esm2015/lib/components/vocabulary/interfaces/op-type.interface.js +1 -1
  720. package/esm2015/lib/components/vocabulary/services/vocabulary-api.service.js +1 -1
  721. package/esm2015/lib/components/vocabulary/translated-vocabulary-select/translated-vocabulary-select.component.js +1 -1
  722. package/esm2015/lib/components/vocabulary/vocabulary/vocabulary.component.js +1 -1
  723. package/esm2015/lib/components/vocabulary/vocabulary.module.js +1 -1
  724. package/esm2015/lib/configuration/app-config.service.js +1 -1
  725. package/esm2015/lib/configuration/helpers/app-initializer.js +1 -1
  726. package/esm2015/lib/core/adapters/adapter.service.js +1 -1
  727. package/esm2015/lib/core/core.module.js +1 -1
  728. package/esm2015/lib/core/enums/language.enum.js +1 -1
  729. package/esm2015/lib/core/env/env-manager.js +1 -1
  730. package/esm2015/lib/core/env/index.js +1 -1
  731. package/esm2015/lib/core/models/api-response.model.js +1 -1
  732. package/esm2015/lib/core/models/automation-response.model.js +1 -1
  733. package/esm2015/lib/core/models/base-response.models.js +1 -1
  734. package/esm2015/lib/core/models/component.model.js +1 -1
  735. package/esm2015/lib/core/models/index.js +1 -1
  736. package/esm2015/lib/core/services/callApi/call-api.service.js +1 -1
  737. package/esm2015/lib/core/services/column-renderer/column-renderer-registry.service.js +1 -1
  738. package/esm2015/lib/core/services/column-renderer/index.js +1 -1
  739. package/esm2015/lib/core/services/extension/action.extensions.js +1 -1
  740. package/esm2015/lib/core/services/extension/component-register.service.js +1 -1
  741. package/esm2015/lib/core/services/extension/extenion-utils.js +1 -1
  742. package/esm2015/lib/core/services/extension/extension-element.js +1 -1
  743. package/esm2015/lib/core/services/extension/extension-loader.service.js +1 -1
  744. package/esm2015/lib/core/services/extension/extension.service.js +1 -1
  745. package/esm2015/lib/core/services/index.js +1 -1
  746. package/esm2015/lib/core/services/initialization/initialization.service.js +1 -1
  747. package/esm2015/lib/core/services/localStorag/local-storag.service.js +1 -1
  748. package/esm2015/lib/core/services/ndf-transform.service.js +1 -1
  749. package/esm2015/lib/core/services/nuxeo/new-nuxeo-overide.js +1 -1
  750. package/esm2015/lib/core/services/nuxeo/nuxeo-override.js +1 -1
  751. package/esm2015/lib/core/services/nuxeo/nuxeo.service.js +1 -1
  752. package/esm2015/lib/core/services/roles/roles.service.js +1 -1
  753. package/esm2015/lib/core/services/translation/translate-loader.service.js +1 -1
  754. package/esm2015/lib/core/services/translation/translation.service.js +1 -1
  755. package/esm2015/lib/core/services/user/user-preferences.service.js +1 -1
  756. package/esm2015/lib/core/tokens/index.js +1 -1
  757. package/esm2015/lib/core/tokens/project.token.js +1 -1
  758. package/esm2015/lib/core/utilities/moment-date-adapter.js +1 -1
  759. package/esm2015/lib/core/utilities/utility.service.js +1 -1
  760. package/esm2015/lib/directive/app-has-role/app-has-role.directive.js +1 -1
  761. package/esm2015/lib/directive/clickOutSide/click-outside.directive.js +1 -1
  762. package/esm2015/lib/directive/directive.module.js +1 -1
  763. package/esm2015/lib/directive/drag-and-drop/drag-and-drop.directive.js +1 -1
  764. package/esm2015/lib/directive/permissions/evaluators.service.js +1 -1
  765. package/esm2015/lib/directive/permissions/permissions.directive.js +1 -1
  766. package/esm2015/lib/directive/rtl/set-dir-rtl.directive.js +1 -1
  767. package/esm2015/lib/directive/rtl/set-rtl.directive.js +1 -1
  768. package/esm2015/lib/nuxeo-development-framework.component.js +1 -1
  769. package/esm2015/lib/nuxeo-development-framework.module.js +1 -1
  770. package/esm2015/lib/nuxeo-development-framework.service.js +1 -1
  771. package/esm2015/lib/pipes/file-size.pipe.js +1 -1
  772. package/esm2015/lib/pipes/hijri-date.pipe.js +1 -1
  773. package/esm2015/lib/pipes/localized-date.pipe.js +1 -1
  774. package/esm2015/lib/pipes/multi-value.pipe.js +1 -1
  775. package/esm2015/lib/pipes/pipes.module.js +1 -1
  776. package/esm2015/lib/pipes/secure-html.pipe.js +1 -1
  777. package/esm2015/lib/pipes/secure.pipe.js +1 -1
  778. package/esm2015/lib/pipes/time-ago.pipe.js +1 -1
  779. package/esm2015/lib/shared/components/base/base-column.component.js +1 -1
  780. package/esm2015/lib/shared/components/base/base-dialog.component.js +1 -1
  781. package/esm2015/lib/shared/components/base/base-selector.component.js +1 -1
  782. package/esm2015/lib/shared/components/base/base.component.js +1 -1
  783. package/esm2015/lib/shared/components/base/destroy.subject.js +1 -1
  784. package/esm2015/lib/shared/components/base/index.js +1 -1
  785. package/esm2015/lib/shared/components/button/button.component.js +1 -1
  786. package/esm2015/lib/shared/components/general-notification-popup/general-notification-popup.component.js +1 -1
  787. package/esm2015/lib/shared/components/index.js +1 -1
  788. package/esm2015/lib/shared/components/item-list/item-list.component.js +2 -2
  789. package/esm2015/lib/shared/components/no-data/no-data.component.js +1 -1
  790. package/esm2015/lib/shared/components/nuxeo-dialog/confirmation/ndf-confirmation-dialog.component.js +1 -1
  791. package/esm2015/lib/shared/components/nuxeo-dialog/index.js +1 -1
  792. package/esm2015/lib/shared/components/nuxeo-dialog/models/confirm-options.model.js +1 -1
  793. package/esm2015/lib/shared/components/nuxeo-dialog/models/dialog-option.model.js +1 -1
  794. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo-dialog.module.js +1 -1
  795. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +2 -2
  796. package/esm2015/lib/shared/components/nuxeo-dialog/services/nuxeo-dialog.service.js +1 -1
  797. package/esm2015/lib/shared/components/read-more/read-more.component.js +1 -1
  798. package/esm2015/lib/shared/components/search-autocomplete/search-autocomplete.component.js +1 -1
  799. package/esm2015/lib/shared/components/spinner/spinner.component.js +1 -1
  800. package/esm2015/lib/shared/components/user-card/user-card.component.js +1 -1
  801. package/esm2015/lib/shared/constants/editor-config-type.js +1 -1
  802. package/esm2015/lib/shared/constants/index.js +1 -1
  803. package/esm2015/lib/shared/directives/copy-to-clipboard.directive.js +1 -1
  804. package/esm2015/lib/shared/directives/element-height.directive.js +1 -1
  805. package/esm2015/lib/shared/directives/fluid-height.directive.js +1 -1
  806. package/esm2015/lib/shared/directives/index.js +1 -1
  807. package/esm2015/lib/shared/evaluator/evaluator.js +1 -1
  808. package/esm2015/lib/shared/evaluator/index.js +1 -1
  809. package/esm2015/lib/shared/evaluator/types.js +1 -1
  810. package/esm2015/lib/shared/index.js +1 -1
  811. package/esm2015/lib/shared/libraryShared.module.js +1 -1
  812. package/esm2015/lib/shared/models/index.js +1 -1
  813. package/esm2015/lib/shared/models/mapper/index.js +1 -1
  814. package/esm2015/lib/shared/models/mapper/nuxeo-mapper.js +1 -1
  815. package/esm2015/lib/shared/models/ndf-request.model.js +1 -1
  816. package/esm2015/lib/shared/models/nuxeo-response.model.js +1 -1
  817. package/esm2015/lib/shared/models/task.model.js +1 -1
  818. package/esm2015/lib/shared/models/type-helpers.js +1 -1
  819. package/esm2015/lib/shared/services/base/base-editor-config.service.js +1 -1
  820. package/esm2015/lib/shared/services/base/base.service.js +1 -1
  821. package/esm2015/lib/shared/services/base/cache-base.service.js +1 -1
  822. package/esm2015/lib/shared/services/base/config/default-ttl-config.js +1 -1
  823. package/esm2015/lib/shared/services/base/config/index.js +1 -1
  824. package/esm2015/lib/shared/services/base/constants/default-cache-options.js +1 -1
  825. package/esm2015/lib/shared/services/base/constants/index.js +1 -1
  826. package/esm2015/lib/shared/services/base/http-base.service.js +1 -1
  827. package/esm2015/lib/shared/services/base/index.js +1 -1
  828. package/esm2015/lib/shared/services/base/models/cache-info-model.js +1 -1
  829. package/esm2015/lib/shared/services/base/models/http-options.model.js +1 -1
  830. package/esm2015/lib/shared/services/base/models/index.js +1 -1
  831. package/esm2015/lib/shared/services/base/models/operation-options.model.js +1 -1
  832. package/esm2015/lib/shared/services/base/models/query-options.model.js +1 -1
  833. package/esm2015/lib/shared/services/base/models/request-options.model.js +1 -1
  834. package/esm2015/lib/shared/services/base/override-token.service.js +1 -1
  835. package/esm2015/lib/shared/services/index.js +1 -1
  836. package/esm2015/lib/shared-services/apis-errors-messages.service.js +1 -1
  837. package/esm2015/lib/shared-services/dialog-mangment.service.js +1 -1
  838. package/esm2015/lib/shared-services/dynamic-form.service.js +1 -1
  839. package/esm2015/lib/shared-services/file-manager.adapter.js +1 -1
  840. package/esm2015/lib/shared-services/file-manager.service.js +1 -1
  841. package/esm2015/lib/shared-services/global-admin.service.js +1 -1
  842. package/esm2015/lib/shared-services/global-pdftron.service.js +2 -1
  843. package/esm2015/lib/shared-services/mainfolder.service.js +1 -1
  844. package/esm2015/lib/shared-services/publishing-document.service.js +1 -1
  845. package/esm2015/lib/shared-services/recently-viewed.service.js +1 -1
  846. package/esm2015/lib/shared-services/shared-docs.service.js +1 -1
  847. package/esm2015/lib/shared-services/shared-services.module.js +1 -1
  848. package/esm2015/lib/shared-services/upload-file.service.js +1 -1
  849. package/esm2015/lib/shared-services/upload-managment.service.js +1 -1
  850. package/esm2015/lib/shared-services/user.service.js +1 -1
  851. package/esm2015/nuxeo-development-framework.js +1 -1
  852. package/esm2015/public-api.js +1 -1
  853. package/fesm2015/nuxeo-development-framework.js +418 -377
  854. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  855. package/lib/components/diagrams/components/custom-connection.component.d.ts +1 -1
  856. package/lib/components/dynamic-form/components/form-wrappers/base-edit-form/base-edit-form.d.ts +1 -1
  857. package/lib/components/ndf-filters/models/base-field-config.d.ts +2 -1
  858. package/lib/components/ndf-filters/models/filter-option.model.d.ts +3 -0
  859. package/lib/components/ndf-filters/ndf-filters-panel.module.d.ts +31 -30
  860. package/lib/components/ndf-filters/pipes/evaluate-label.pipe.d.ts +14 -0
  861. package/lib/components/ndf-filters/pipes/index.d.ts +3 -2
  862. package/lib/components/reports/charts/components/base-chart.component.d.ts +1 -1
  863. package/lib/components/reports/ndf-reports/base/base-chart.d.ts +1 -1
  864. package/lib/components/reports/ndf-reports/components/dynamic-timeline-report/dynamic-timeline-report.component.d.ts +17 -1
  865. package/lib/components/reports/ndf-reports/components/graph-report/graph-report.component.d.ts +1 -1
  866. package/lib/components/reports/ndf-reports/services/base-chart-builder.service.d.ts +14 -14
  867. package/lib/components/reports/ndf-reports/services/ndf-reports.service.d.ts +1 -1
  868. package/lib/components/tables/ndf-table/components/table-export/table-export.component.d.ts +1 -1
  869. package/lib/shared/evaluator/types.d.ts +1 -1
  870. package/package.json +1 -1
@@ -226,4 +226,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
226
226
  type: ViewChild,
227
227
  args: ['fileInput']
228
228
  }] } });
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZG9jdW1lbnRzL2NvbXBvbmVudHMvZG9jdW1lbnQtdXBsb2FkL2RvY3VtZW50LXVwbG9hZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50cy9jb21wb25lbnRzL2RvY3VtZW50LXVwbG9hZC9kb2N1bWVudC11cGxvYWQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7O0FBSXJDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBT0gsTUFBTSxPQUFPLHVCQUF1QjtJQTZDbEMsWUFDVSxZQUE4QixFQUM5QixtQkFBd0M7UUFEeEMsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBQzlCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUE5Q2xELDJCQUEyQjtRQUUzQixpQkFBWSxHQUFHLHlIQUF5SCxDQUFDO1FBQ3pJLGlFQUFpRTtRQUVqRSxXQUFNLEdBQUcsRUFBRSxDQUFDO1FBSVosc0NBQXNDO1FBRXRDLFlBQU8sR0FBRyxPQUFPLENBQUM7UUFDbEIsOEJBQThCO1FBRTlCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFFZiwyREFBMkQ7UUFFM0QsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVOLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ2pDLHdDQUF3QztRQUV4QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGdEQUFnRDtRQUVoRCxtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0Qix1Q0FBdUM7UUFFdkMsNEJBQXVCLEdBQUcsRUFBRSxDQUFDO1FBRzdCLGdDQUEyQixHQUFHLElBQUksQ0FBQztRQUUxQixpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUMzQiw2R0FBNkc7UUFFN0csa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLGlFQUFpRTtRQUVqRSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsY0FBUyxHQUFHLEtBQUssQ0FBQztJQU1kLENBQUM7SUFFTCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFJO1FBQ2hCLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzVCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQzNCLE9BQU8sRUFDUCxPQUFPLEVBQ1AsYUFBYSxFQUNiLEVBQUUsRUFDRixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUNqRCxDQUFDO1lBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDckMsT0FBTyxLQUFLLENBQUM7U0FDZDthQUFNLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQzNCLE9BQU8sRUFDUCxPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLEVBQUUsRUFDRixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzFDLENBQUM7WUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNyQyxPQUFPLEtBQUssQ0FBQztTQUNkO2FBQU07WUFDTCxPQUFPLElBQUksQ0FBQTtTQUNaO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFJO1FBQ2hCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuSCxPQUFPLElBQUksQ0FBQTtTQUNkO2FBQ0k7WUFDSCxJQUFJLElBQUksQ0FBQywyQkFBMkIsRUFBRTtnQkFDcEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FDM0IsT0FBTyxFQUNQLE9BQU8sRUFDUCxhQUFhLEVBQ2IsRUFBRSxFQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQ3ZGLENBQUM7YUFDSDtpQkFBTTtnQkFDTCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUMzQixPQUFPLEVBQ1AsT0FBTyxFQUNQLG1CQUFtQixDQUFDLENBQUM7YUFDeEI7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNyQyxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLGFBQWE7UUFDOUIsSUFBSSxhQUFhLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyx1QkFBdUI7WUFDdEQsT0FBTyxJQUFJLENBQUE7YUFDUjtZQUNILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQzNCLE9BQU8sRUFDUCxPQUFPLEVBQ1AsNEJBQTRCLEVBQzVCLEVBQUUsRUFDRixJQUFJLENBQUMsdUJBQXVCLENBQzdCLENBQUM7WUFDRixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1lBQ2pELE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBSTtRQUNuQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUM5QixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM1QixNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxJQUFJLEdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMvRCxJQUFJLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQ3RCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQzNCLE9BQU8sRUFDUCxPQUFPLEVBQ1Asb0JBQW9CLEVBQ3BCLEVBQUUsRUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQ25ELENBQUM7b0JBQ0YsT0FBTyxLQUFLLENBQUM7aUJBQ2Q7cUJBQU07b0JBQ0wsT0FBTyxJQUFJLENBQUE7aUJBQ1o7WUFDSCxDQUFDLENBQUE7U0FDRjtJQUNILENBQUM7SUFFRixjQUFjLENBQUMsS0FBSztRQUNqQixJQUFJLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzlELGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzFDLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxFQUFFO2dCQUMxQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDekQsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBRyxhQUFhLENBQUMsTUFBTSxFQUFDO1lBQ3RCLElBQUcsSUFBSSxDQUFDLGVBQWUsRUFBQztnQkFDcEIsSUFBSSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3hCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDcEIsSUFBSSxJQUFJLEdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUMvRCxJQUFJLEtBQUssR0FBRyxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztvQkFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7d0JBQ3RCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQzNCLE9BQU8sRUFDUCxPQUFPLEVBQ1Asb0JBQW9CLEVBQ3BCLEVBQUUsRUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQ25ELENBQUM7d0JBQ0YsT0FBTyxLQUFLLENBQUM7cUJBQ2Q7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQTtxQkFDaEM7Z0JBQ0gsQ0FBQyxDQUFBO2FBQ0o7aUJBQUk7Z0JBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQTthQUNoQztTQUNGO0lBR0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxhQUFhO1FBQ3ZCLElBQUksYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUV0QixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztpQkFDM0QsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ25CLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtvQkFDdkIsYUFBYSxDQUFDO3dCQUNaLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7cUJBQ2xHLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7NEJBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUMvQixDQUFDLENBQUMsQ0FBQzt3QkFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQzt3QkFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztvQkFDMUMsQ0FBQyxDQUFDLENBQUM7aUJBQ0o7cUJBQU07b0JBQ0wsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTt3QkFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQy9CLENBQUMsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO29CQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO2lCQUN6QztZQUdILENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNULElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUMxQyxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQUk7UUFDbkIsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsR0FBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7O3FIQTVOVSx1QkFBdUI7eUdBQXZCLHVCQUF1QixnbUJDL0JwQyxtOEJBbUJBOzRGRFlhLHVCQUF1QjtrQkFObkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixXQUFXLEVBQUUsa0NBQWtDO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxrQ0FBa0MsQ0FBQztvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDO3lJQUlDLFlBQVk7c0JBRFgsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFJTix1QkFBdUI7c0JBRHRCLEtBQUs7Z0JBSU4sMkJBQTJCO3NCQUQxQixLQUFLO2dCQUdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBR04sYUFBYTtzQkFEWixNQUFNO2dCQUlQLFdBQVc7c0JBRFYsTUFBTTtnQkFHaUIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEb2N1bWVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZG9jdW1lbnRzLnNlcnZpY2UnO1xyXG5cclxuLyoqXHJcbiAqIERvY3VtZW50IHVwbG9hZCBpcyBhIHJldXNhYmxlIEFQSSBpbnRlZ3JhdGVkIHVwbG9hZCBidXR0b24gY29tcG9uZW50LFxyXG4gKiB0aGF0IGNhbiBiZSBjb25maWd1cmVkIHRvIHN1aXQgdGhlIG5lZWRzIG9mIHJlcXVpcmVkIGltcGxlbWVudGF0aW9uLFxyXG4gKiBpdCBpcyBwb3NzaWJsZSB0byB1cGxvYWQgYmF0Y2ggYW5kIGNyZWF0ZSBhIGRvY3VtZW50LCBvciBqdXN0IHVwbG9hZCBhIGJhdGNoIGFuZFxyXG4gKiBjb25zdW1lIGl0IGFueSBvdGhlciB3YXkuXHJcbiAqXHJcbiAqIEB0aXRsZVxyXG4gKiBEb2N1bWVudCBVcGxvYWRcclxuICpcclxuICogQGV4YW1wbGVcclxuICpcclxuICogPGFwcC1kb2N1bWVudC11cGxvYWRcclxuICogICBbYWxsb3dlZFR5cGVzXT1cIidhcHBsaWNhdGlvbi9wZGYnXCJcclxuICogICBbY3JlYXRlRG9jdW1lbnRdPVwiZmFsc2VcIlxyXG4gKiAgICh1cGxvYWRTdWNjZXNzKT1cIm9uVXBsb2FkU3VjY2VzcygkZXZlbnQpXCJcclxuICogICAodXBsb2FkRXJyb3IpPVwib25VcGxvYWRFcnJvcigkZXZlbnQpXCJcclxuICogPlxyXG4gKiAgIDxidXR0b24+IFVQTE9BRCBGSUxFIDwvYnV0dG9uPlxyXG4gKiA8L2FwcC1kb2N1bWVudC11cGxvYWQ+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1kb2N1bWVudC11cGxvYWQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2N1bWVudC11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RvY3VtZW50LXVwbG9hZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIERvY3VtZW50VXBsb2FkQ29tcG9uZW50IHtcclxuICAvKiogQWxsb3dlZCBVcGxvYWQgVHlwZXMgKi9cclxuICBASW5wdXQoKVxyXG4gIGFsbG93ZWRUeXBlcyA9ICdhcHBsaWNhdGlvbi9wZGYsYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQsYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNlbnRhdGlvbic7XHJcbiAgLyoqIFBhcmFtcyB0byBiZSBzZW50IHdpdGggcHJvcGVydGllcyB3aGVuIGNyZWF0aW5nIGEgZG9jdW1lbnQgKi9cclxuICBASW5wdXQoKVxyXG4gIHBhcmFtcyA9IHt9O1xyXG4gIC8qKiBQYXRoIGluIHdpdGNoIGEgZG9jdW1lbnQgd2lsbCBiZSBjcmVhdGVkICovXHJcbiAgQElucHV0KClcclxuICBwYXRoO1xyXG4gIC8qKiBNYXggYWxsb3dlZCB1cGxvYWQgc2l6ZSBpbiBCeXRlcyovXHJcbiAgQElucHV0KClcclxuICBtYXhTaXplID0gMTE0NTcyODtcclxuICAvKiogbWluIGFsbG93ZWQgdXBsb2FkIHNpemUgKi9cclxuICBASW5wdXQoKVxyXG4gIG1pblNpemUgPSAxMDAwO1xyXG5cclxuICAvKiogUGFyYW1zIHRvIGJlIHNlbnQgd2l0aCBib2R5IHdoZW4gY3JlYXRpbmcgYSBkb2N1bWVudCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZG9jUGFyYW1zID0ge307XHJcblxyXG4gIEBJbnB1dCgpIGNoZWNrUGRmQ29udGVudCA9IGZhbHNlO1xyXG4gIC8qKiBDYW4gdXBsb2FkIG11bHRpcGxlIGZpbGVzIGF0IG9uY2UgKi9cclxuICBASW5wdXQoKVxyXG4gIG11bHRpcGxlID0gZmFsc2U7XHJcbiAgLyoqIHNob3VsZCBjcmVhdGUgZG9jdW1lbnQgYWZ0ZXIgYmF0Y2ggdXBsb2FkICovXHJcbiAgQElucHV0KClcclxuICBjcmVhdGVEb2N1bWVudCA9IHRydWU7XHJcbiAgLyoqIE1heCBhbGxvd2VkIG51bWJlciBvZiBmaWxlcyBzaXplICovXHJcbiAgQElucHV0KClcclxuICBhbGxvd2VkTWF4TnVtYmVyT2ZGaWxlcyA9IDEwO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dBbGxvd2VkVHlwZXNJbkVycm9yTWVzcyA9IHRydWU7XHJcbiAgXHJcbiAgQElucHV0KCkgZXh0cmFIZWFkZXJzID0ge307XHJcbiAgLyoqIEV2ZW50IGVtaXR0ZWQgb24gZG9jdW1lbnQgdXBsb2FkIHN1Y2Nlc3MsIGl0IHdpbGwgaGF2ZSBkb2N1bWVudCBvciBiYXRjaCBvYmplY3QgYmFzZWQgb24gY29uZmlndXJhdGlvbiAqL1xyXG4gIEBPdXRwdXQoKVxyXG4gIHVwbG9hZFN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhbiBlcnJvciBvY2N1cnMgd2hpbGUgYXR0ZW1wdGluZyB1cGxvYWQgKi9cclxuICBAT3V0cHV0KClcclxuICB1cGxvYWRFcnJvciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICB1cGxvYWRpbmcgPSBmYWxzZTtcclxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkb2N1bWVudHNBcGk6IERvY3VtZW50c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGN1c3RvbVRvYXN0clNlcnZpY2U6IEN1c3RvbVRvYXN0clNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICB0cmlnZ2VyVXBsb2FkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC5jbGljaygpO1xyXG4gIH1cclxuXHJcbiAgaXNTaXplQ2hlY2tlZChmaWxlKSB7XHJcbiAgICBpZiAoZmlsZS5zaXplID4gdGhpcy5tYXhTaXplKSB7XHJcbiAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAnRVJST1JTLlNJWkUnLFxyXG4gICAgICAgIHt9LFxyXG4gICAgICAgIGAkeyh0aGlzLm1heFNpemUgLyAoMTAyNCAqIDEwMjQpKS50b0ZpeGVkKDIpfU1CYFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnVwbG9hZEVycm9yLm5leHQoJ2Vycm9ycy5zaXplJyk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSBpZiAoZmlsZS5zaXplIDw9IHRoaXMubWluU2l6ZSkge1xyXG4gICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAnZXJyb3InLFxyXG4gICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgJ0VSUk9SUy5NSU5fU0laRScsXHJcbiAgICAgICAge30sXHJcbiAgICAgICAgYCR7KHRoaXMubWluU2l6ZSAvICgxMDAwKSkudG9GaXhlZCgyKX1LQmBcclxuICAgICAgKTtcclxuICAgICAgdGhpcy51cGxvYWRFcnJvci5uZXh0KCdlcnJvcnMuc2l6ZScpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNUeXBlQ2hlY2tlZChmaWxlKSB7XHJcbiAgICBsZXQgYXJyID0gdGhpcy5hbGxvd2VkVHlwZXMuc3BsaXQoJywnKTtcclxuICAgIGlmICgoYXJyLmluZGV4T2YoZmlsZS50eXBlLnRvTG93ZXJDYXNlKCkpID4gLTEpIHx8IChhcnIuaW5kZXhPZih0aGlzLmdldEZpbGVFeHRlbnNpb24oZmlsZS5uYW1lLnRvTG93ZXJDYXNlKCkpKSA+IC0xKSkge1xyXG4gICAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc2hvd0FsbG93ZWRUeXBlc0luRXJyb3JNZXNzKSB7XHJcbiAgICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgICAnZXJyb3InLFxyXG4gICAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAgICdFUlJPUlMuVFlQRScsXHJcbiAgICAgICAgICB7fSxcclxuICAgICAgICAgIHRoaXMuYWxsb3dlZFR5cGVzLnJlcGxhY2UoL2ltYWdlfGFwcGxpY2F0aW9uL2dpLCAnJykucmVwbGFjZSgvWy9dL2csICcnKS50b1VwcGVyQ2FzZSgpXHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgICAnZXJyb3InLFxyXG4gICAgICAgICAgJ0VSUk9SUy5XUk9OR19UWVBFJyk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy51cGxvYWRFcnJvci5uZXh0KCdlcnJvcnMudHlwZScpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc01heE51bWJlck9mRmlsZXMoc2VsZWN0ZWRGaWxlcykge1xyXG4gICAgaWYgKHNlbGVjdGVkRmlsZXMubGVuZ3RoIDw9IHRoaXMuYWxsb3dlZE1heE51bWJlck9mRmlsZXMpXHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAnZXJyb3InLFxyXG4gICAgICAgICdFUlJPUlMuTUFYX05VTUJFUl9PRl9GSUxFUycsXHJcbiAgICAgICAge30sXHJcbiAgICAgICAgdGhpcy5hbGxvd2VkTWF4TnVtYmVyT2ZGaWxlc1xyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnVwbG9hZEVycm9yLm5leHQoJ2Vycm9ycy5tYXhOdW1iZXJPZkZpbGVzJyk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoZWNrRmlsZUNvbnRlbnQoZmlsZSl7XHJcbiAgICBpZiAodGhpcy5jaGVja1BkZkNvbnRlbnQpIHtcclxuICAgICAgbGV0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgIGxldCBibG9iID0gZmlsZS5zbGljZSgwLCA4KTtcclxuICAgICAgcmVhZGVyLnJlYWRBc1RleHQoYmxvYik7XHJcbiAgICAgIHJlYWRlci5vbmxvYWQgPSAoZSkgPT4ge1xyXG4gICAgICAgIHZhciBkYXRhOiBzdHJpbmcgPSAoKGUudGFyZ2V0LnJlc3VsdCkudG9TdHJpbmcoKSkuc3Vic3RyKDAsIDgpO1xyXG4gICAgICAgIHZhciByZWdleCA9IG5ldyBSZWdFeHAoXCIlUERGLTEuWzAtN11cIik7XHJcbiAgICAgICAgaWYgKCFkYXRhLm1hdGNoKHJlZ2V4KSkge1xyXG4gICAgICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgICAgICdFUlJPUlMuVU5WQUxJRF9QREYnLFxyXG4gICAgICAgICAgICB7fSxcclxuICAgICAgICAgICAgdGhpcy5hbGxvd2VkVHlwZXMucmVwbGFjZSgvLi9naSwgJycpLnRvVXBwZXJDYXNlKClcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuIHVwbG9hZERvY3VtZW50KGZpbGVzKTogdm9pZCB7XHJcbiAgICBsZXQgc2VsZWN0ZWRGaWxlcyA9IE9iamVjdC5rZXlzKGZpbGVzKS5tYXAoa2V5ID0+IGZpbGVzW2tleV0pO1xyXG4gICAgc2VsZWN0ZWRGaWxlcyA9IHNlbGVjdGVkRmlsZXMuZmlsdGVyKGZpbGUgPT4ge1xyXG4gICAgICBpZiAodGhpcy5pc01heE51bWJlck9mRmlsZXMoc2VsZWN0ZWRGaWxlcykpIHtcclxuICAgICAgICBpZiAodGhpcy5pc1NpemVDaGVja2VkKGZpbGUpICYmICB0aGlzLmlzVHlwZUNoZWNrZWQoZmlsZSkpIHtcclxuICAgICAgICAgIHJldHVybiBmaWxlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgaWYoc2VsZWN0ZWRGaWxlcy5sZW5ndGgpe1xyXG4gICAgICBpZih0aGlzLmNoZWNrUGRmQ29udGVudCl7XHJcbiAgICAgICAgICBsZXQgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgICAgIGxldCBibG9iID0gZmlsZXNbMF0uc2xpY2UoMCwgOCk7XHJcbiAgICAgICAgICByZWFkZXIucmVhZEFzVGV4dChibG9iKTtcclxuICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoZSkgPT4ge1xyXG4gICAgICAgICAgICB2YXIgZGF0YTogc3RyaW5nID0gKChlLnRhcmdldC5yZXN1bHQpLnRvU3RyaW5nKCkpLnN1YnN0cigwLCA4KTtcclxuICAgICAgICAgICAgdmFyIHJlZ2V4ID0gbmV3IFJlZ0V4cChcIiVQREYtMS5bMC03XVwiKTtcclxuICAgICAgICAgICAgaWYgKCFkYXRhLm1hdGNoKHJlZ2V4KSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAgICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgICAgICAgICAnRVJST1JTLlVOVkFMSURfUERGJyxcclxuICAgICAgICAgICAgICAgIHt9LFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGxvd2VkVHlwZXMucmVwbGFjZSgvLi9naSwgJycpLnRvVXBwZXJDYXNlKClcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLnVwbG9hZEZpbGVzKHNlbGVjdGVkRmlsZXMpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy51cGxvYWRGaWxlcyhzZWxlY3RlZEZpbGVzKVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICB9XHJcblxyXG4gIHVwbG9hZEZpbGVzKHNlbGVjdGVkRmlsZXMpe1xyXG4gICAgaWYgKHNlbGVjdGVkRmlsZXMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMudXBsb2FkaW5nID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMuZG9jdW1lbnRzQXBpLnVwbG9hZEJhdGNoKHNlbGVjdGVkRmlsZXMsdGhpcy5leHRyYUhlYWRlcnMpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZmlsZXMpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLmNyZWF0ZURvY3VtZW50KSB7XHJcbiAgICAgICAgICAgIGNvbWJpbmVMYXRlc3QoW1xyXG4gICAgICAgICAgICAgIC4uLmZpbGVzLm1hcCgoZmlsZSkgPT4gdGhpcy5kb2N1bWVudHNBcGkuY3JlYXRlRG9jKGZpbGUsIHRoaXMucGF0aCwgdGhpcy5wYXJhbXMsIHRoaXMuZG9jUGFyYW1zKSlcclxuICAgICAgICAgICAgXSkuc3Vic2NyaWJlKGRvY3MgPT4ge1xyXG4gICAgICAgICAgICAgIGRvY3MuZm9yRWFjaChkb2MgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy51cGxvYWRTdWNjZXNzLm5leHQoZG9jKTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB0aGlzLnVwbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmaWxlcy5mb3JFYWNoKGRvYyA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy51cGxvYWRTdWNjZXNzLm5leHQoZG9jKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMudXBsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcclxuICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgIH0sIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMudXBsb2FkRXJyb3IubmV4dChlcnIpO1xyXG4gICAgICAgICAgdGhpcy51cGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEZpbGVFeHRlbnNpb24obmFtZSkge1xyXG4gICAgbGV0IGV4dGVuc2lvbiA9IG5hbWUuc3BsaXQoJy4nKVsxXTtcclxuICAgIHJldHVybiAoJy4nICsgZXh0ZW5zaW9uKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxpbnB1dCB0eXBlPVwiZmlsZVwiIGNsYXNzPVwiaGlkZGVuXCIgI2ZpbGVJbnB1dCBbYWNjZXB0XT1cImFsbG93ZWRUeXBlc1wiIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXHJcbiAgKGNoYW5nZSk9XCJ1cGxvYWREb2N1bWVudCgkZXZlbnQudGFyZ2V0LmZpbGVzKVwiPlxyXG48ZGl2ICN0ZW1wbGF0ZSBbbmdDbGFzc109XCJ7J2hpZGRlbic6IHRlbXBsYXRlLmNoaWxkTm9kZXMubGVuZ3RoID09IDB9XCIgKGNsaWNrKT1cInRyaWdnZXJVcGxvYWQoKVwiXHJcbiAgY2xhc3M9XCJ1cGxvYWQtY29udGFpbmVyXCI+XHJcbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48L2Rpdj5cclxuPGRpdiAqbmdJZj1cInRlbXBsYXRlLmNoaWxkTm9kZXMubGVuZ3RoID09IDBcIiBjbGFzcz1cImRlZmF1bHQtdXBsb2FkXCIgKGNsaWNrKT1cInRyaWdnZXJVcGxvYWQoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ1cGxvYWQtc2VjdGlvblwiIHN0eWxlPVwiY29sb3I6IzQ2NTU3MztcIj5cclxuICAgIDxtYXQtaWNvbiBjbGFzcz1cInVwbG9hZC1pY29uXCI+dXBsb2FkPC9tYXQtaWNvbj5cclxuICAgIDxoMyBjbGFzcz1cInVwbG9hZC10aXRsZVwiPlxyXG4gICAgICB7eydkb2N1bWVudHMudXBsb2FkRG9jdW1lbnRzJ3wgdHJhbnNsYXRlIH19PC9oMz5cclxuICAgIDxwIGNsYXNzPVwidXBsb2FkLWRlc2NcIj5cclxuICAgICAge3snZG9jdW1lbnRzLm1heFNpemUnfCB0cmFuc2xhdGUgfX0ge3ttYXhTaXplIHwgRmlsZVNpemV9fTwvcD5cclxuICA8L2Rpdj5cclxuICA8ZGl2PlxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwibS0yXCIgc3R5bGU9XCJjb2xvcjojNDY1NTczO1wiPmZpbGVfY29weTwvbWF0LWljb24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48bWF0LXByb2dyZXNzLWJhciBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiICpuZ0lmPVwidXBsb2FkaW5nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG4iXX0=
229
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50cy9jb21wb25lbnRzL2RvY3VtZW50LXVwbG9hZC9kb2N1bWVudC11cGxvYWQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZG9jdW1lbnRzL2NvbXBvbmVudHMvZG9jdW1lbnQtdXBsb2FkL2RvY3VtZW50LXVwbG9hZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7QUFJckM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFPSCxNQUFNLE9BQU8sdUJBQXVCO0lBNkNsQyxZQUNVLFlBQThCLEVBQzlCLG1CQUF3QztRQUR4QyxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQTlDbEQsMkJBQTJCO1FBRTNCLGlCQUFZLEdBQUcseUhBQXlILENBQUM7UUFDekksaUVBQWlFO1FBRWpFLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFJWixzQ0FBc0M7UUFFdEMsWUFBTyxHQUFHLE9BQU8sQ0FBQztRQUNsQiw4QkFBOEI7UUFFOUIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUVmLDJEQUEyRDtRQUUzRCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRU4sb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFD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QyxDQUFDO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7eUlBSUMsWUFBWTtzQkFEWCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixJQUFJO3NCQURILEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sY0FBYztzQkFEYixLQUFLO2dCQUlOLHVCQUF1QjtzQkFEdEIsS0FBSztnQkFJTiwyQkFBMkI7c0JBRDFCLEtBQUs7Z0JBR0csWUFBWTtzQkFBcEIsS0FBSztnQkFHTixhQUFhO3NCQURaLE1BQU07Z0JBSVAsV0FBVztzQkFEVixNQUFNO2dCQUdpQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEN1c3RvbVRvYXN0clNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdG9hc3RyL3NlcnZpY2VzL2N1c3RvbS10b2FzdHIuc2VydmljZSc7XHJcbmltcG9ydCB7IERvY3VtZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9kb2N1bWVudHMuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogRG9jdW1lbnQgdXBsb2FkIGlzIGEgcmV1c2FibGUgQVBJIGludGVncmF0ZWQgdXBsb2FkIGJ1dHRvbiBjb21wb25lbnQsXHJcbiAqIHRoYXQgY2FuIGJlIGNvbmZpZ3VyZWQgdG8gc3VpdCB0aGUgbmVlZHMgb2YgcmVxdWlyZWQgaW1wbGVtZW50YXRpb24sXHJcbiAqIGl0IGlzIHBvc3NpYmxlIHRvIHVwbG9hZCBiYXRjaCBhbmQgY3JlYXRlIGEgZG9jdW1lbnQsIG9yIGp1c3QgdXBsb2FkIGEgYmF0Y2ggYW5kXHJcbiAqIGNvbnN1bWUgaXQgYW55IG90aGVyIHdheS5cclxuICpcclxuICogQHRpdGxlXHJcbiAqIERvY3VtZW50IFVwbG9hZFxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiA8YXBwLWRvY3VtZW50LXVwbG9hZFxyXG4gKiAgIFthbGxvd2VkVHlwZXNdPVwiJ2FwcGxpY2F0aW9uL3BkZidcIlxyXG4gKiAgIFtjcmVhdGVEb2N1bWVudF09XCJmYWxzZVwiXHJcbiAqICAgKHVwbG9hZFN1Y2Nlc3MpPVwib25VcGxvYWRTdWNjZXNzKCRldmVudClcIlxyXG4gKiAgICh1cGxvYWRFcnJvcik9XCJvblVwbG9hZEVycm9yKCRldmVudClcIlxyXG4gKiA+XHJcbiAqICAgPGJ1dHRvbj4gVVBMT0FEIEZJTEUgPC9idXR0b24+XHJcbiAqIDwvYXBwLWRvY3VtZW50LXVwbG9hZD5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWRvY3VtZW50LXVwbG9hZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50LXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZG9jdW1lbnQtdXBsb2FkLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRVcGxvYWRDb21wb25lbnQge1xyXG4gIC8qKiBBbGxvd2VkIFVwbG9hZCBUeXBlcyAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgYWxsb3dlZFR5cGVzID0gJ2FwcGxpY2F0aW9uL3BkZixhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludCxhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uJztcclxuICAvKiogUGFyYW1zIHRvIGJlIHNlbnQgd2l0aCBwcm9wZXJ0aWVzIHdoZW4gY3JlYXRpbmcgYSBkb2N1bWVudCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgcGFyYW1zID0ge307XHJcbiAgLyoqIFBhdGggaW4gd2l0Y2ggYSBkb2N1bWVudCB3aWxsIGJlIGNyZWF0ZWQgKi9cclxuICBASW5wdXQoKVxyXG4gIHBhdGg7XHJcbiAgLyoqIE1heCBhbGxvd2VkIHVwbG9hZCBzaXplIGluIEJ5dGVzKi9cclxuICBASW5wdXQoKVxyXG4gIG1heFNpemUgPSAxMTQ1NzI4O1xyXG4gIC8qKiBtaW4gYWxsb3dlZCB1cGxvYWQgc2l6ZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgbWluU2l6ZSA9IDEwMDA7XHJcblxyXG4gIC8qKiBQYXJhbXMgdG8gYmUgc2VudCB3aXRoIGJvZHkgd2hlbiBjcmVhdGluZyBhIGRvY3VtZW50ICovXHJcbiAgQElucHV0KClcclxuICBkb2NQYXJhbXMgPSB7fTtcclxuXHJcbiAgQElucHV0KCkgY2hlY2tQZGZDb250ZW50ID0gZmFsc2U7XHJcbiAgLyoqIENhbiB1cGxvYWQgbXVsdGlwbGUgZmlsZXMgYXQgb25jZSAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgbXVsdGlwbGUgPSBmYWxzZTtcclxuICAvKiogc2hvdWxkIGNyZWF0ZSBkb2N1bWVudCBhZnRlciBiYXRjaCB1cGxvYWQgKi9cclxuICBASW5wdXQoKVxyXG4gIGNyZWF0ZURvY3VtZW50ID0gdHJ1ZTtcclxuICAvKiogTWF4IGFsbG93ZWQgbnVtYmVyIG9mIGZpbGVzIHNpemUgKi9cclxuICBASW5wdXQoKVxyXG4gIGFsbG93ZWRNYXhOdW1iZXJPZkZpbGVzID0gMTA7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd0FsbG93ZWRUeXBlc0luRXJyb3JNZXNzID0gdHJ1ZTtcclxuICBcclxuICBASW5wdXQoKSBleHRyYUhlYWRlcnMgPSB7fTtcclxuICAvKiogRXZlbnQgZW1pdHRlZCBvbiBkb2N1bWVudCB1cGxvYWQgc3VjY2VzcywgaXQgd2lsbCBoYXZlIGRvY3VtZW50IG9yIGJhdGNoIG9iamVjdCBiYXNlZCBvbiBjb25maWd1cmF0aW9uICovXHJcbiAgQE91dHB1dCgpXHJcbiAgdXBsb2FkU3VjY2VzcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIGFuIGVycm9yIG9jY3VycyB3aGlsZSBhdHRlbXB0aW5nIHVwbG9hZCAqL1xyXG4gIEBPdXRwdXQoKVxyXG4gIHVwbG9hZEVycm9yID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHVwbG9hZGluZyA9IGZhbHNlO1xyXG4gIEBWaWV3Q2hpbGQoJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRvY3VtZW50c0FwaTogRG9jdW1lbnRzU2VydmljZSxcclxuICAgIHByaXZhdGUgY3VzdG9tVG9hc3RyU2VydmljZTogQ3VzdG9tVG9hc3RyU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIHRyaWdnZXJVcGxvYWQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbGVJbnB1dC5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBpc1NpemVDaGVja2VkKGZpbGUpIHtcclxuICAgIGlmIChmaWxlLnNpemUgPiB0aGlzLm1heFNpemUpIHtcclxuICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAnZXJyb3InLFxyXG4gICAgICAgICdFUlJPUlMuU0laRScsXHJcbiAgICAgICAge30sXHJcbiAgICAgICAgYCR7KHRoaXMubWF4U2l6ZSAvICgxMDI0ICogMTAyNCkpLnRvRml4ZWQoMil9TUJgXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMudXBsb2FkRXJyb3IubmV4dCgnZXJyb3JzLnNpemUnKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSBlbHNlIGlmIChmaWxlLnNpemUgPD0gdGhpcy5taW5TaXplKSB7XHJcbiAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAnRVJST1JTLk1JTl9TSVpFJyxcclxuICAgICAgICB7fSxcclxuICAgICAgICBgJHsodGhpcy5taW5TaXplIC8gKDEwMDApKS50b0ZpeGVkKDIpfUtCYFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLnVwbG9hZEVycm9yLm5leHQoJ2Vycm9ycy5zaXplJyk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0cnVlXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc1R5cGVDaGVja2VkKGZpbGUpIHtcclxuICAgIGxldCBhcnIgPSB0aGlzLmFsbG93ZWRUeXBlcy5zcGxpdCgnLCcpO1xyXG4gICAgaWYgKChhcnIuaW5kZXhPZihmaWxlLnR5cGUudG9Mb3dlckNhc2UoKSkgPiAtMSkgfHwgKGFyci5pbmRleE9mKHRoaXMuZ2V0RmlsZUV4dGVuc2lvbihmaWxlLm5hbWUudG9Mb3dlckNhc2UoKSkpID4gLTEpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5zaG93QWxsb3dlZFR5cGVzSW5FcnJvck1lc3MpIHtcclxuICAgICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgICAnZXJyb3InLFxyXG4gICAgICAgICAgJ0VSUk9SUy5UWVBFJyxcclxuICAgICAgICAgIHt9LFxyXG4gICAgICAgICAgdGhpcy5hbGxvd2VkVHlwZXMucmVwbGFjZSgvaW1hZ2V8YXBwbGljYXRpb24vZ2ksICcnKS5yZXBsYWNlKC9bL10vZywgJycpLnRvVXBwZXJDYXNlKClcclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY3VzdG9tVG9hc3RyU2VydmljZS5zaG93KFxyXG4gICAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgICAnRVJST1JTLldST05HX1RZUEUnKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnVwbG9hZEVycm9yLm5leHQoJ2Vycm9ycy50eXBlJyk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzTWF4TnVtYmVyT2ZGaWxlcyhzZWxlY3RlZEZpbGVzKSB7XHJcbiAgICBpZiAoc2VsZWN0ZWRGaWxlcy5sZW5ndGggPD0gdGhpcy5hbGxvd2VkTWF4TnVtYmVyT2ZGaWxlcylcclxuICAgICAgcmV0dXJuIHRydWVcclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAnZXJyb3InLFxyXG4gICAgICAgICdlcnJvcicsXHJcbiAgICAgICAgJ0VSUk9SUy5NQVhfTlVNQkVSX09GX0ZJTEVTJyxcclxuICAgICAgICB7fSxcclxuICAgICAgICB0aGlzLmFsbG93ZWRNYXhOdW1iZXJPZkZpbGVzXHJcbiAgICAgICk7XHJcbiAgICAgIHRoaXMudXBsb2FkRXJyb3IubmV4dCgnZXJyb3JzLm1heE51bWJlck9mRmlsZXMnKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hlY2tGaWxlQ29udGVudChmaWxlKXtcclxuICAgIGlmICh0aGlzLmNoZWNrUGRmQ29udGVudCkge1xyXG4gICAgICBsZXQgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgbGV0IGJsb2IgPSBmaWxlLnNsaWNlKDAsIDgpO1xyXG4gICAgICByZWFkZXIucmVhZEFzVGV4dChibG9iKTtcclxuICAgICAgcmVhZGVyLm9ubG9hZCA9IChlKSA9PiB7XHJcbiAgICAgICAgdmFyIGRhdGE6IHN0cmluZyA9ICgoZS50YXJnZXQucmVzdWx0KS50b1N0cmluZygpKS5zdWJzdHIoMCwgOCk7XHJcbiAgICAgICAgdmFyIHJlZ2V4ID0gbmV3IFJlZ0V4cChcIiVQREYtMS5bMC03XVwiKTtcclxuICAgICAgICBpZiAoIWRhdGEubWF0Y2gocmVnZXgpKSB7XHJcbiAgICAgICAgICB0aGlzLmN1c3RvbVRvYXN0clNlcnZpY2Uuc2hvdyhcclxuICAgICAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAgICAgJ0VSUk9SUy5VTlZBTElEX1BERicsXHJcbiAgICAgICAgICAgIHt9LFxyXG4gICAgICAgICAgICB0aGlzLmFsbG93ZWRUeXBlcy5yZXBsYWNlKC8uL2dpLCAnJykudG9VcHBlckNhc2UoKVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gdXBsb2FkRG9jdW1lbnQoZmlsZXMpOiB2b2lkIHtcclxuICAgIGxldCBzZWxlY3RlZEZpbGVzID0gT2JqZWN0LmtleXMoZmlsZXMpLm1hcChrZXkgPT4gZmlsZXNba2V5XSk7XHJcbiAgICBzZWxlY3RlZEZpbGVzID0gc2VsZWN0ZWRGaWxlcy5maWx0ZXIoZmlsZSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmlzTWF4TnVtYmVyT2ZGaWxlcyhzZWxlY3RlZEZpbGVzKSkge1xyXG4gICAgICAgIGlmICh0aGlzLmlzU2l6ZUNoZWNrZWQoZmlsZSkgJiYgIHRoaXMuaXNUeXBlQ2hlY2tlZChmaWxlKSkge1xyXG4gICAgICAgICAgcmV0dXJuIGZpbGU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZihzZWxlY3RlZEZpbGVzLmxlbmd0aCl7XHJcbiAgICAgIGlmKHRoaXMuY2hlY2tQZGZDb250ZW50KXtcclxuICAgICAgICAgIGxldCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgICAgbGV0IGJsb2IgPSBmaWxlc1swXS5zbGljZSgwLCA4KTtcclxuICAgICAgICAgIHJlYWRlci5yZWFkQXNUZXh0KGJsb2IpO1xyXG4gICAgICAgICAgcmVhZGVyLm9ubG9hZCA9IChlKSA9PiB7XHJcbiAgICAgICAgICAgIHZhciBkYXRhOiBzdHJpbmcgPSAoKGUudGFyZ2V0LnJlc3VsdCkudG9TdHJpbmcoKSkuc3Vic3RyKDAsIDgpO1xyXG4gICAgICAgICAgICB2YXIgcmVnZXggPSBuZXcgUmVnRXhwKFwiJVBERi0xLlswLTddXCIpO1xyXG4gICAgICAgICAgICBpZiAoIWRhdGEubWF0Y2gocmVnZXgpKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jdXN0b21Ub2FzdHJTZXJ2aWNlLnNob3coXHJcbiAgICAgICAgICAgICAgICAnZXJyb3InLFxyXG4gICAgICAgICAgICAgICAgJ2Vycm9yJyxcclxuICAgICAgICAgICAgICAgICdFUlJPUlMuVU5WQUxJRF9QREYnLFxyXG4gICAgICAgICAgICAgICAge30sXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsbG93ZWRUeXBlcy5yZXBsYWNlKC8uL2dpLCAnJykudG9VcHBlckNhc2UoKVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMudXBsb2FkRmlsZXMoc2VsZWN0ZWRGaWxlcylcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLnVwbG9hZEZpbGVzKHNlbGVjdGVkRmlsZXMpXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gIH1cclxuXHJcbiAgdXBsb2FkRmlsZXMoc2VsZWN0ZWRGaWxlcyl7XHJcbiAgICBpZiAoc2VsZWN0ZWRGaWxlcy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy51cGxvYWRpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgdGhpcy5kb2N1bWVudHNBcGkudXBsb2FkQmF0Y2goc2VsZWN0ZWRGaWxlcyx0aGlzLmV4dHJhSGVhZGVycylcclxuICAgICAgICAuc3Vic2NyaWJlKChmaWxlcykgPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMuY3JlYXRlRG9jdW1lbnQpIHtcclxuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbXHJcbiAgICAgICAgICAgICAgLi4uZmlsZXMubWFwKChmaWxlKSA9PiB0aGlzLmRvY3VtZW50c0FwaS5jcmVhdGVEb2MoZmlsZSwgdGhpcy5wYXRoLCB0aGlzLnBhcmFtcywgdGhpcy5kb2NQYXJhbXMpKVxyXG4gICAgICAgICAgICBdKS5zdWJzY3JpYmUoZG9jcyA9PiB7XHJcbiAgICAgICAgICAgICAgZG9jcy5mb3JFYWNoKGRvYyA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZFN1Y2Nlc3MubmV4dChkb2MpO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIHRoaXMudXBsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZpbGVzLmZvckVhY2goZG9jID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnVwbG9hZFN1Y2Nlc3MubmV4dChkb2MpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy51cGxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgfSwgKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy51cGxvYWRFcnJvci5uZXh0KGVycik7XHJcbiAgICAgICAgICB0aGlzLnVwbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5maWxlSW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0RmlsZUV4dGVuc2lvbihuYW1lKSB7XHJcbiAgICBsZXQgZXh0ZW5zaW9uID0gbmFtZS5zcGxpdCgnLicpWzFdO1xyXG4gICAgcmV0dXJuICgnLicgKyBleHRlbnNpb24pO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGlucHV0IHR5cGU9XCJmaWxlXCIgY2xhc3M9XCJoaWRkZW5cIiAjZmlsZUlucHV0IFthY2NlcHRdPVwiYWxsb3dlZFR5cGVzXCIgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcclxuICAoY2hhbmdlKT1cInVwbG9hZERvY3VtZW50KCRldmVudC50YXJnZXQuZmlsZXMpXCI+XHJcbjxkaXYgI3RlbXBsYXRlIFtuZ0NsYXNzXT1cInsnaGlkZGVuJzogdGVtcGxhdGUuY2hpbGROb2Rlcy5sZW5ndGggPT0gMH1cIiAoY2xpY2spPVwidHJpZ2dlclVwbG9hZCgpXCJcclxuICBjbGFzcz1cInVwbG9hZC1jb250YWluZXJcIj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwidGVtcGxhdGUuY2hpbGROb2Rlcy5sZW5ndGggPT0gMFwiIGNsYXNzPVwiZGVmYXVsdC11cGxvYWRcIiAoY2xpY2spPVwidHJpZ2dlclVwbG9hZCgpXCI+XHJcbiAgPGRpdiBjbGFzcz1cInVwbG9hZC1zZWN0aW9uXCIgc3R5bGU9XCJjb2xvcjojNDY1NTczO1wiPlxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwidXBsb2FkLWljb25cIj51cGxvYWQ8L21hdC1pY29uPlxyXG4gICAgPGgzIGNsYXNzPVwidXBsb2FkLXRpdGxlXCI+XHJcbiAgICAgIHt7J2RvY3VtZW50cy51cGxvYWREb2N1bWVudHMnfCB0cmFuc2xhdGUgfX08L2gzPlxyXG4gICAgPHAgY2xhc3M9XCJ1cGxvYWQtZGVzY1wiPlxyXG4gICAgICB7eydkb2N1bWVudHMubWF4U2l6ZSd8IHRyYW5zbGF0ZSB9fSB7e21heFNpemUgfCBGaWxlU2l6ZX19PC9wPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXY+XHJcbiAgICA8bWF0LWljb24gY2xhc3M9XCJtLTJcIiBzdHlsZT1cImNvbG9yOiM0NjU1NzM7XCI+ZmlsZV9jb3B5PC9tYXQtaWNvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgKm5nSWY9XCJ1cGxvYWRpbmdcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbiJdfQ==
@@ -60,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
60
60
  }], maxSize: [{
61
61
  type: Input
62
62
  }] } });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZG9jdW1lbnRzL2NvbXBvbmVudHMvZG9jdW1lbnRzL2RvY3VtZW50cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50cy9jb21wb25lbnRzL2RvY3VtZW50cy9kb2N1bWVudHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7OztBQUUvRCxjQUFjO0FBTWQsTUFBTSxPQUFPLGtCQUFrQjtJQXNCN0IsWUFBb0IsTUFBMkI7UUFBM0IsV0FBTSxHQUFOLE1BQU0sQ0FBcUI7UUFoQi9DLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFNWixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUV0QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLFlBQU8sR0FBRyxPQUFPLENBQUM7UUFDbEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUM5QixzQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQztJQUNZLENBQUM7SUFFcEQsT0FBTyxDQUFDLEtBQUs7UUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUMvQixLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pCLFVBQVUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUU7WUFDMUIsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxTQUFTLENBQUMsS0FBSztRQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxRQUFRLENBQUMsS0FBSztRQUNaLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUseUJBQXlCLENBQUMsQ0FBQztJQUNwRSxDQUFDOztnSEFwQ1Usa0JBQWtCO29HQUFsQixrQkFBa0IsMlBDWC9CLDJyQkFnQkE7NEZETGEsa0JBQWtCO2tCQUw5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixXQUFXLEVBQUUsNEJBQTRCO29CQUN6QyxTQUFTLEVBQUUsQ0FBQyw0QkFBNEIsQ0FBQztpQkFDMUM7MEdBR0MsVUFBVTtzQkFEVCxLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLElBQUk7c0JBREgsS0FBSztnQkFHTixjQUFjO3NCQURiLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdOLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBkZWxheSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2N1c3RvbS10b2FzdHIvc2VydmljZXMvY3VzdG9tLXRvYXN0ci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRzQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2RvY3VtZW50cyc7XHJcblxyXG4vKiogQGlnbm9yZSAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1kb2N1bWVudHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kb2N1bWVudHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RvY3VtZW50cy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRzQ29tcG9uZW50IHtcclxuICBASW5wdXQoKVxyXG4gIGFuY2VzdG9ySWQ7XHJcbiAgQElucHV0KClcclxuICBxdWlja0ZpbHRlcnM7XHJcbiAgQElucHV0KClcclxuICBwYXJhbXMgPSB7fTtcclxuICBASW5wdXQoKVxyXG4gIHByb3ZpZGVyO1xyXG4gIEBJbnB1dCgpXHJcbiAgcGF0aDtcclxuICBASW5wdXQoKVxyXG4gIGNhblVwbG9hZFJvbGVzID0gbnVsbDtcclxuICBASW5wdXQoKVxyXG4gIG11bHRpcGxlID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBtYXhTaXplID0gMzE0NTcyODtcclxuICBpdGVtcyA9IFtdO1xyXG4gIGlzRmV0Y2hpbmcgPSBmYWxzZTtcclxuICB1cGxvYWRpbmcgPSBmYWxzZTtcclxuICBub3RpZmllciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBkb2N1bWVudENvbnN0YW50cyA9IERvY3VtZW50c0NvbnN0YW50cztcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRvYXN0cjogQ3VzdG9tVG9hc3RyU2VydmljZSkgeyB9XHJcblxyXG4gIG9uRXJyb3IoZXJyb3IpOiB2b2lkIHtcclxuICAgIHRoaXMudG9hc3RyLnNob3coJ2Vycm9yJywgJ2Vycm9yJyxcclxuICAgICAgZXJyb3IucmV0Lm1lc3NhZ2UgP1xyXG4gICAgICAgIGBlcnJvcnMuJHtlcnJvci5yZXQuY29kZX1gXHJcbiAgICAgICAgOiAnZ2VuZXJpY0Vycm9yJyk7XHJcbiAgfVxyXG4gIG9uU3VjY2VzcyhmaWxlcyk6IHZvaWQge1xyXG4gICAgdGhpcy50b2FzdHIuc2hvdygnc3VjY2VzcycsICdzdWNjZXNzJywgJ2RvY3VtZW50cy5hZGRTdWNjZXNzJyk7XHJcbiAgICB0aGlzLm5vdGlmaWVyLm5leHQoKTtcclxuICB9XHJcbiAgb25EZWxldGUoZXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMudG9hc3RyLnNob3coJ3N1Y2Nlc3MnLCAnc3VjY2VzcycsICdkb2N1bWVudHMuZGVsZXRlU3VjY2VzcycpO1xyXG4gIH1cclxufVxyXG4iLCI8YXBwLWNhcmQ+XHJcbiAgPGgzIGNsYXNzPVwidGl0bGUgdGV4dC1sZyBmb250LWJvbGRcIj5cclxuICAgIHt7IFwiZG9jdW1lbnRzLnRpdGxlXCIgfCB0cmFuc2xhdGUgfX1cclxuICA8L2gzPlxyXG5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImJvZHlcIj5cclxuICAgIDxhcHAtZG9jdW1lbnQtdXBsb2FkIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiICphcHBIYXNSb2xlPVwiY2FuVXBsb2FkUm9sZXNcIiBbZG9jUGFyYW1zXT1cInt0eXBlOmRvY3VtZW50Q29uc3RhbnRzLmRvY3VtZW50VHlwZXMuYXR0YWNobWVudH1cIlxyXG4gICAgICBbcGF0aF09XCJ0aGlzLnBhdGhcIiBbcGFyYW1zXT1cInRoaXMucGFyYW1zXCIgKHVwbG9hZFN1Y2Nlc3MpPVwib25TdWNjZXNzKCRldmVudClcIiAodXBsb2FkRXJyb3IpPVwib25FcnJvcigkZXZlbnQpXCI+XHJcbiAgICA8L2FwcC1kb2N1bWVudC11cGxvYWQ+XHJcbiAgICA8YXBwLWRvY3VtZW50cy1saXN0IFtxdWlja0ZpbHRlcnNdPVwicXVpY2tGaWx0ZXJzXCIgW25vdGlmaWVyXT1cIm5vdGlmaWVyXCIgW2FuY2VzdG9ySWRdPVwiYW5jZXN0b3JJZFwiXHJcbiAgICAgIFtwcm92aWRlcl09XCJwcm92aWRlclwiIChkZWxldGVTdWNjZXNzKT1cIm9uRGVsZXRlKCRldmVudClcIj5cclxuICAgIDwvYXBwLWRvY3VtZW50cy1saXN0PlxyXG5cclxuICA8L2Rpdj5cclxuPC9hcHAtY2FyZD5cclxuIl19
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50cy9jb21wb25lbnRzL2RvY3VtZW50cy9kb2N1bWVudHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZG9jdW1lbnRzL2NvbXBvbmVudHMvZG9jdW1lbnRzL2RvY3VtZW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7O0FBRS9ELGNBQWM7QUFNZCxNQUFNLE9BQU8sa0JBQWtCO0lBc0I3QixZQUFvQixNQUEyQjtRQUEzQixXQUFNLEdBQU4sTUFBTSxDQUFxQjtRQWhCL0MsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQU1aLG1CQUFjLEdBQUcsSUFBSSxDQUFDO1FBRXRCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsWUFBTyxHQUFHLE9BQU8sQ0FBQztRQUNsQixVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzlCLHNCQUFpQixHQUFHLGtCQUFrQixDQUFDO0lBQ1ksQ0FBQztJQUVwRCxPQUFPLENBQUMsS0FBSztRQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQy9CLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakIsVUFBVSxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRTtZQUMxQixDQUFDLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUNELFNBQVMsQ0FBQyxLQUFLO1FBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUNELFFBQVEsQ0FBQyxLQUFLO1FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7O2dIQXBDVSxrQkFBa0I7b0dBQWxCLGtCQUFrQiwyUENYL0IsMnJCQWdCQTs0RkRMYSxrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFdBQVcsRUFBRSw0QkFBNEI7b0JBQ3pDLFNBQVMsRUFBRSxDQUFDLDRCQUE0QixDQUFDO2lCQUMxQzswR0FHQyxVQUFVO3NCQURULEtBQUs7Z0JBR04sWUFBWTtzQkFEWCxLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sSUFBSTtzQkFESCxLQUFLO2dCQUdOLGNBQWM7c0JBRGIsS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGRlbGF5LCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDdXN0b21Ub2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY3VzdG9tLXRvYXN0ci9zZXJ2aWNlcy9jdXN0b20tdG9hc3RyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEb2N1bWVudHNDb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvZG9jdW1lbnRzJztcclxuXHJcbi8qKiBAaWdub3JlICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWRvY3VtZW50cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RvY3VtZW50cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZG9jdW1lbnRzLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb2N1bWVudHNDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpXHJcbiAgYW5jZXN0b3JJZDtcclxuICBASW5wdXQoKVxyXG4gIHF1aWNrRmlsdGVycztcclxuICBASW5wdXQoKVxyXG4gIHBhcmFtcyA9IHt9O1xyXG4gIEBJbnB1dCgpXHJcbiAgcHJvdmlkZXI7XHJcbiAgQElucHV0KClcclxuICBwYXRoO1xyXG4gIEBJbnB1dCgpXHJcbiAgY2FuVXBsb2FkUm9sZXMgPSBudWxsO1xyXG4gIEBJbnB1dCgpXHJcbiAgbXVsdGlwbGUgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIG1heFNpemUgPSAzMTQ1NzI4O1xyXG4gIGl0ZW1zID0gW107XHJcbiAgaXNGZXRjaGluZyA9IGZhbHNlO1xyXG4gIHVwbG9hZGluZyA9IGZhbHNlO1xyXG4gIG5vdGlmaWVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGRvY3VtZW50Q29uc3RhbnRzID0gRG9jdW1lbnRzQ29uc3RhbnRzO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdG9hc3RyOiBDdXN0b21Ub2FzdHJTZXJ2aWNlKSB7IH1cclxuXHJcbiAgb25FcnJvcihlcnJvcik6IHZvaWQge1xyXG4gICAgdGhpcy50b2FzdHIuc2hvdygnZXJyb3InLCAnZXJyb3InLFxyXG4gICAgICBlcnJvci5yZXQubWVzc2FnZSA/XHJcbiAgICAgICAgYGVycm9ycy4ke2Vycm9yLnJldC5jb2RlfWBcclxuICAgICAgICA6ICdnZW5lcmljRXJyb3InKTtcclxuICB9XHJcbiAgb25TdWNjZXNzKGZpbGVzKTogdm9pZCB7XHJcbiAgICB0aGlzLnRvYXN0ci5zaG93KCdzdWNjZXNzJywgJ3N1Y2Nlc3MnLCAnZG9jdW1lbnRzLmFkZFN1Y2Nlc3MnKTtcclxuICAgIHRoaXMubm90aWZpZXIubmV4dCgpO1xyXG4gIH1cclxuICBvbkRlbGV0ZShldmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy50b2FzdHIuc2hvdygnc3VjY2VzcycsICdzdWNjZXNzJywgJ2RvY3VtZW50cy5kZWxldGVTdWNjZXNzJyk7XHJcbiAgfVxyXG59XHJcbiIsIjxhcHAtY2FyZD5cclxuICA8aDMgY2xhc3M9XCJ0aXRsZSB0ZXh0LWxnIGZvbnQtYm9sZFwiPlxyXG4gICAge3sgXCJkb2N1bWVudHMudGl0bGVcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gIDwvaDM+XHJcblxyXG5cclxuICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxyXG4gICAgPGFwcC1kb2N1bWVudC11cGxvYWQgW211bHRpcGxlXT1cIm11bHRpcGxlXCIgKmFwcEhhc1JvbGU9XCJjYW5VcGxvYWRSb2xlc1wiIFtkb2NQYXJhbXNdPVwie3R5cGU6ZG9jdW1lbnRDb25zdGFudHMuZG9jdW1lbnRUeXBlcy5hdHRhY2htZW50fVwiXHJcbiAgICAgIFtwYXRoXT1cInRoaXMucGF0aFwiIFtwYXJhbXNdPVwidGhpcy5wYXJhbXNcIiAodXBsb2FkU3VjY2Vzcyk9XCJvblN1Y2Nlc3MoJGV2ZW50KVwiICh1cGxvYWRFcnJvcik9XCJvbkVycm9yKCRldmVudClcIj5cclxuICAgIDwvYXBwLWRvY3VtZW50LXVwbG9hZD5cclxuICAgIDxhcHAtZG9jdW1lbnRzLWxpc3QgW3F1aWNrRmlsdGVyc109XCJxdWlja0ZpbHRlcnNcIiBbbm90aWZpZXJdPVwibm90aWZpZXJcIiBbYW5jZXN0b3JJZF09XCJhbmNlc3RvcklkXCJcclxuICAgICAgW3Byb3ZpZGVyXT1cInByb3ZpZGVyXCIgKGRlbGV0ZVN1Y2Nlc3MpPVwib25EZWxldGUoJGV2ZW50KVwiPlxyXG4gICAgPC9hcHAtZG9jdW1lbnRzLWxpc3Q+XHJcblxyXG4gIDwvZGl2PlxyXG48L2FwcC1jYXJkPlxyXG4iXX0=
@@ -29,4 +29,4 @@ DocumentTemplatesConstants.fields = {
29
29
  major_version: 'uid:major_version',
30
30
  minor_version: 'uid:minor_version',
31
31
  };
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kb2N1bWVudHMvY29uc3RhbnRzL2RvY3VtZW50LXRlbXBsYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sMEJBQTBCOztBQUN2Qix1Q0FBWSxHQUFHO0lBQzNCLGlCQUFpQixFQUFFO1FBQ2pCLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsT0FBTyxFQUFFO1lBQ1AsZ0JBQWdCLEVBQUUsR0FBRztTQUN0QjtRQUNELFNBQVMsRUFBRTtZQUNULG1CQUFtQixFQUFFLGFBQWE7WUFDbEMsMkJBQTJCLEVBQUUsOENBQThDO1NBQzVFO0tBQ0Y7Q0FDRixDQUFDO0FBQ1kscUNBQVUsR0FBRztJQUN6QixLQUFLLEVBQUUsNkJBQTZCO0lBQ3BDLE1BQU0sRUFBRSw4QkFBOEI7SUFDdEMsYUFBYSxFQUFFLHFDQUFxQztJQUNwRCxjQUFjLEVBQUUsc0NBQXNDO0lBQ3RELCtCQUErQixFQUFFLHVDQUF1QztDQUN6RSxDQUFDO0FBQ1ksdUNBQVksR0FBRyxFQUM1QixDQUFDO0FBQ1kscUNBQVUsR0FBRyxFQUFDLGdCQUFnQixFQUFFLHdDQUF3QyxFQUFDLENBQUM7QUFDMUUsaUNBQU0sR0FBRztJQUNyQixPQUFPLEVBQUUsWUFBWTtJQUNyQixPQUFPLEVBQUUsY0FBYztJQUN2QixLQUFLLEVBQUUsVUFBVTtJQUNqQixPQUFPLEVBQUUsWUFBWTtJQUNyQixhQUFhLEVBQUUsbUJBQW1CO0lBQ2xDLGFBQWEsRUFBRSxtQkFBbUI7Q0FDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cyB7XHJcbiAgcHVibGljIHN0YXRpYyBwYWdlUHJvdmlkZXIgPSB7XHJcbiAgICBkb2N1bWVudFRlbXBsYXRlczoge1xyXG4gICAgICBuYW1lOiAnUFBfQ1REb2N1bWVudFRlbXBsYXRlcycsXHJcbiAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAnWC1OWHByb3BlcnRpZXMnOiAnKidcclxuICAgICAgfSxcclxuICAgICAgY29uc3RhbnRzOiB7XHJcbiAgICAgICAgc3lzdGVtUGF0aFBhcmFtTmFtZTogJ3N5c3RlbV9wYXRoJyxcclxuICAgICAgICBzeXN0ZW1QYXRoUGFyYW1EZWZhdWx0VmFsdWU6ICcvZGVmYXVsdC1kb21haW4vd29ya3NwYWNlcy9DVFMvQ1RTIFRlbXBsYXRlcycsXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgfTtcclxuICBwdWJsaWMgc3RhdGljIG9wZXJhdGlvbnMgPSB7XHJcbiAgICBwYXJzZTogJ0FDX1VBX1BhcnNlVGVtcGxhdGVEb2N1bWVudCcsXHJcbiAgICByZW5kZXI6ICdBQ19VQV9SZW5kZXJUZW1wbGF0ZURvY3VtZW50JyxcclxuICAgIG1lcmdlQW5kUGFyc2U6ICdBQ19VQV9NZXJnZUFuZFBhcnNlVGVtcGxhdGVEb2N1bWVudCcsXHJcbiAgICBtZXJnZUFuZFJlbmRlcjogJ0FDX1VBX01lcmdlQW5kUmVuZGVyVGVtcGxhdGVEb2N1bWVudCcsXHJcbiAgICByZWZsZWN0VGVtcGxhdGVUb0NvcnJlc3BvbmRlbmNlOiAnQUNfVUFfUmVmbGVjdFRlbXBsYXRlVG9Db3JyZXNwb25kZW5jZSdcclxuICB9O1xyXG4gIHB1YmxpYyBzdGF0aWMgcXVpY2tGaWx0ZXJzID0ge1xyXG4gIH07XHJcbiAgcHVibGljIHN0YXRpYyB2b2NhYnVsYXJ5ID0ge2VkaXRvclNpZGViYXJWb2M6ICdWT0NfRG9jdW1lbnRFZGl0b3JDb3JyZXNwb25kZW5jZUZpZWxkcyd9O1xyXG4gIHB1YmxpYyBzdGF0aWMgZmllbGRzID0ge1xyXG4gICAgY3JlYXRvcjogJ2RjOmNyZWF0b3InLFxyXG4gICAgY29udGVudDogJ2ZpbGU6Y29udGVudCcsXHJcbiAgICB0aXRsZTogJ2RjOnRpdGxlJyxcclxuICAgIGNyZWF0ZWQ6ICdkYzpjcmVhdGVkJyxcclxuICAgIG1ham9yX3ZlcnNpb246ICd1aWQ6bWFqb3JfdmVyc2lvbicsXHJcbiAgICBtaW5vcl92ZXJzaW9uOiAndWlkOm1pbm9yX3ZlcnNpb24nLFxyXG4gIH07XHJcbn1cclxuIl19
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZG9jdW1lbnRzL2NvbnN0YW50cy9kb2N1bWVudC10ZW1wbGF0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLDBCQUEwQjs7QUFDdkIsdUNBQVksR0FBRztJQUMzQixpQkFBaUIsRUFBRTtRQUNqQixJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLE9BQU8sRUFBRTtZQUNQLGdCQUFnQixFQUFFLEdBQUc7U0FDdEI7UUFDRCxTQUFTLEVBQUU7WUFDVCxtQkFBbUIsRUFBRSxhQUFhO1lBQ2xDLDJCQUEyQixFQUFFLDhDQUE4QztTQUM1RTtLQUNGO0NBQ0YsQ0FBQztBQUNZLHFDQUFVLEdBQUc7SUFDekIsS0FBSyxFQUFFLDZCQUE2QjtJQUNwQyxNQUFNLEVBQUUsOEJBQThCO0lBQ3RDLGFBQWEsRUFBRSxxQ0FBcUM7SUFDcEQsY0FBYyxFQUFFLHNDQUFzQztJQUN0RCwrQkFBK0IsRUFBRSx1Q0FBdUM7Q0FDekUsQ0FBQztBQUNZLHVDQUFZLEdBQUcsRUFDNUIsQ0FBQztBQUNZLHFDQUFVLEdBQUcsRUFBQyxnQkFBZ0IsRUFBRSx3Q0FBd0MsRUFBQyxDQUFDO0FBQzFFLGlDQUFNLEdBQUc7SUFDckIsT0FBTyxFQUFFLFlBQVk7SUFDckIsT0FBTyxFQUFFLGNBQWM7SUFDdkIsS0FBSyxFQUFFLFVBQVU7SUFDakIsT0FBTyxFQUFFLFlBQVk7SUFDckIsYUFBYSxFQUFFLG1CQUFtQjtJQUNsQyxhQUFhLEVBQUUsbUJBQW1CO0NBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMge1xyXG4gIHB1YmxpYyBzdGF0aWMgcGFnZVByb3ZpZGVyID0ge1xyXG4gICAgZG9jdW1lbnRUZW1wbGF0ZXM6IHtcclxuICAgICAgbmFtZTogJ1BQX0NURG9jdW1lbnRUZW1wbGF0ZXMnLFxyXG4gICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgJ1gtTlhwcm9wZXJ0aWVzJzogJyonXHJcbiAgICAgIH0sXHJcbiAgICAgIGNvbnN0YW50czoge1xyXG4gICAgICAgIHN5c3RlbVBhdGhQYXJhbU5hbWU6ICdzeXN0ZW1fcGF0aCcsXHJcbiAgICAgICAgc3lzdGVtUGF0aFBhcmFtRGVmYXVsdFZhbHVlOiAnL2RlZmF1bHQtZG9tYWluL3dvcmtzcGFjZXMvQ1RTL0NUUyBUZW1wbGF0ZXMnLFxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gIH07XHJcbiAgcHVibGljIHN0YXRpYyBvcGVyYXRpb25zID0ge1xyXG4gICAgcGFyc2U6ICdBQ19VQV9QYXJzZVRlbXBsYXRlRG9jdW1lbnQnLFxyXG4gICAgcmVuZGVyOiAnQUNfVUFfUmVuZGVyVGVtcGxhdGVEb2N1bWVudCcsXHJcbiAgICBtZXJnZUFuZFBhcnNlOiAnQUNfVUFfTWVyZ2VBbmRQYXJzZVRlbXBsYXRlRG9jdW1lbnQnLFxyXG4gICAgbWVyZ2VBbmRSZW5kZXI6ICdBQ19VQV9NZXJnZUFuZFJlbmRlclRlbXBsYXRlRG9jdW1lbnQnLFxyXG4gICAgcmVmbGVjdFRlbXBsYXRlVG9Db3JyZXNwb25kZW5jZTogJ0FDX1VBX1JlZmxlY3RUZW1wbGF0ZVRvQ29ycmVzcG9uZGVuY2UnXHJcbiAgfTtcclxuICBwdWJsaWMgc3RhdGljIHF1aWNrRmlsdGVycyA9IHtcclxuICB9O1xyXG4gIHB1YmxpYyBzdGF0aWMgdm9jYWJ1bGFyeSA9IHtlZGl0b3JTaWRlYmFyVm9jOiAnVk9DX0RvY3VtZW50RWRpdG9yQ29ycmVzcG9uZGVuY2VGaWVsZHMnfTtcclxuICBwdWJsaWMgc3RhdGljIGZpZWxkcyA9IHtcclxuICAgIGNyZWF0b3I6ICdkYzpjcmVhdG9yJyxcclxuICAgIGNvbnRlbnQ6ICdmaWxlOmNvbnRlbnQnLFxyXG4gICAgdGl0bGU6ICdkYzp0aXRsZScsXHJcbiAgICBjcmVhdGVkOiAnZGM6Y3JlYXRlZCcsXHJcbiAgICBtYWpvcl92ZXJzaW9uOiAndWlkOm1ham9yX3ZlcnNpb24nLFxyXG4gICAgbWlub3JfdmVyc2lvbjogJ3VpZDptaW5vcl92ZXJzaW9uJyxcclxuICB9O1xyXG59XHJcbiJdfQ==
@@ -83,4 +83,4 @@ DocumentsConstants.fields = {
83
83
  major_version: 'uid:major_version',
84
84
  minor_version: 'uid:minor_version',
85
85
  };
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kb2N1bWVudHMvY29uc3RhbnRzL2RvY3VtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sa0JBQWtCOztBQUNmLCtCQUFZLEdBQUc7SUFDM0IsT0FBTyxFQUFFO1FBQ1AsSUFBSSxFQUFFLHdCQUF3QjtRQUM5QixPQUFPLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7S0FDbkM7SUFDRCxTQUFTLEVBQUU7UUFDVCxJQUFJLEVBQUUsMEJBQTBCO1FBQ2hDLE9BQU8sRUFBRTtZQUNQLGdCQUFnQixFQUFFLEdBQUc7WUFDckIsb0JBQW9CLEVBQUUsK0NBQStDO1NBQ3RFO0tBQ0Y7SUFDRCxVQUFVLEVBQUU7UUFDVixJQUFJLEVBQUUsMkJBQTJCO1FBQ2pDLE9BQU8sRUFBRSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtLQUNuQztJQUNELGFBQWEsRUFBRTtRQUNiLElBQUksRUFBRSw0QkFBNEI7UUFDbEMsT0FBTyxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO0tBQ25DO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixPQUFPLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7S0FDbkM7SUFDRCxtQkFBbUIsRUFBRTtRQUNuQixJQUFJLEVBQUUseUJBQXlCO1FBQy9CLE9BQU8sRUFBRSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtLQUNuQztJQUNELGtDQUFrQyxFQUFFO1FBQ2xDLElBQUksRUFBRSxpQkFBaUI7UUFDdkIsT0FBTyxFQUFFO1lBQ1AsWUFBWSxFQUFFLEdBQUc7WUFDakIsZ0JBQWdCLEVBQUUsWUFBWTtZQUM5QixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLDBCQUEwQixFQUFDLE9BQU87U0FDbkM7S0FDRjtJQUNELHlCQUF5QixFQUFFO1FBQ3pCLElBQUksRUFBRSw4QkFBOEI7UUFDcEMsT0FBTyxFQUFFO1lBQ1AsWUFBWSxFQUFFLEdBQUc7WUFDakIsZ0JBQWdCLEVBQUUsWUFBWTtZQUM5QixpQkFBaUIsRUFBRSxLQUFLO1lBQ3hCLDBCQUEwQixFQUFDLE9BQU87U0FDbkM7S0FDRjtDQUNGLENBQUM7QUFDWSxnQ0FBYSxHQUFHO0lBQzVCLFVBQVUsRUFBRSxjQUFjO0lBQzFCLGNBQWMsRUFBRSxnQkFBZ0I7SUFDaEMsV0FBVyxFQUFFLGFBQWE7Q0FDM0IsQ0FBQztBQUNZLDZCQUFVLEdBQUc7SUFDekIsYUFBYSxFQUFFLDBCQUEwQjtJQUN6QyxpQkFBaUIsRUFBRyxzQkFBc0I7SUFDMUMsV0FBVyxFQUFFLHNCQUFzQjtJQUNuQyxJQUFJLEVBQUUscUJBQXFCO0lBQzNCLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLE1BQU0sRUFBRSx1QkFBdUI7SUFDL0IsVUFBVSxFQUFFLGlCQUFpQjtDQUM5QixDQUFDO0FBQ1ksK0JBQVksR0FBRztJQUMzQixVQUFVLEVBQUUsWUFBWTtJQUN4QixTQUFTLEVBQUUsV0FBVztJQUN0QixJQUFJLEVBQUUsVUFBVTtDQUNqQixDQUFDO0FBQ1ksNkJBQVUsR0FBRyxFQUFFLENBQUM7QUFDaEIseUJBQU0sR0FBRztJQUNyQixPQUFPLEVBQUUsWUFBWTtJQUNyQixPQUFPLEVBQUUsY0FBYztJQUN2QixLQUFLLEVBQUUsVUFBVTtJQUNqQixPQUFPLEVBQUUsWUFBWTtJQUNyQixRQUFRLEVBQUUsb0JBQW9CO0lBQzlCLFdBQVcsRUFBRSx1QkFBdUI7SUFDcEMsYUFBYSxFQUFFLG9CQUFvQjtJQUNuQyxTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLFdBQVcsRUFBRSxrQkFBa0I7SUFDL0IsYUFBYSxFQUFFLG9CQUFvQjtJQUNuQyxXQUFXLEVBQUUsa0JBQWtCO0lBQy9CLFNBQVMsRUFBRSxpQkFBaUI7SUFDNUIsYUFBYSxFQUFFLG1CQUFtQjtJQUNsQyxhQUFhLEVBQUUsbUJBQW1CO0NBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgRG9jdW1lbnRzQ29uc3RhbnRzIHtcclxuICBwdWJsaWMgc3RhdGljIHBhZ2VQcm92aWRlciA9IHtcclxuICAgIG1lZXRpbmc6IHtcclxuICAgICAgbmFtZTogJ1BQX01lZXRpbmdfQ1REb2N1bWVudHMnLFxyXG4gICAgICBoZWFkZXJzOiB7ICdYLU5YcHJvcGVydGllcyc6ICcqJyB9LFxyXG4gICAgfSxcclxuICAgIGNvbW1pdHRlZToge1xyXG4gICAgICBuYW1lOiAnUFBfQ29tbWl0dGVlX0NURG9jdW1lbnRzJyxcclxuICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICdYLU5YcHJvcGVydGllcyc6ICcqJyxcclxuICAgICAgICAnWC1OWGZldGNoLWRvY3VtZW50JzogJ2RjOmNyZWF0b3IsZGM6bGFzdENvbnRyaWJ1dG9yLGRjOmNvbnRyaWJ1dG9ycycsXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gICAgYWdlbmRhSXRlbToge1xyXG4gICAgICBuYW1lOiAnUFBfQWdlbmRhSXRlbV9DVERvY3VtZW50cycsXHJcbiAgICAgIGhlYWRlcnM6IHsgJ1gtTlhwcm9wZXJ0aWVzJzogJyonIH0sXHJcbiAgICB9LFxyXG4gICAgbWVldGluZ0FnZW5kYToge1xyXG4gICAgICBuYW1lOiAnUFBfTWVldGluZ19BZ2VuZGFEb2N1bWVudHMnLFxyXG4gICAgICBoZWFkZXJzOiB7ICdYLU5YcHJvcGVydGllcyc6ICcqJyB9LFxyXG4gICAgfSxcclxuICAgIG1lZXRpbmdNb206IHtcclxuICAgICAgbmFtZTogJ1BQX01lZXRpbmdfTW9NRG9jdW1lbnRzJyxcclxuICAgICAgaGVhZGVyczogeyAnWC1OWHByb3BlcnRpZXMnOiAnKicgfSxcclxuICAgIH0sXHJcbiAgICBkb2N1bWVudEF0dGFjaG1lbnRzOiB7XHJcbiAgICAgIG5hbWU6ICdQUF9Eb2N1bWVudF9BdHRhY2htZW50cycsXHJcbiAgICAgIGhlYWRlcnM6IHsgJ1gtTlhwcm9wZXJ0aWVzJzogJyonIH0sXHJcbiAgICB9LFxyXG4gICAgZG9jdW1lbnRBdHRhY2htZW50c1dpdGhBZ2dyZWdhdGlvbjoge1xyXG4gICAgICBuYW1lOiAnUFBfQ1RBdHRhY2htZW50JyxcclxuICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICdwcm9wZXJ0aWVzJzogJyonLFxyXG4gICAgICAgICdmZXRjaC1kb2N1bWVudCc6ICdwcm9wZXJ0aWVzJyxcclxuICAgICAgICAnZmV0Y2gtYWdncmVnYXRlJzogJ2tleScsXHJcbiAgICAgICAgJ3RyYW5zbGF0ZS1kaXJlY3RvcnlFbnRyeSc6J2xhYmVsJ1xyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIGNvcnJlc3BvbmRlbmNlQXR0YWNobWVudHM6IHtcclxuICAgICAgbmFtZTogJ1BQX0NvcnJlc3BvbmRlbmNlQXR0YWNobWVudHMnLFxyXG4gICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgJ3Byb3BlcnRpZXMnOiAnKicsXHJcbiAgICAgICAgJ2ZldGNoLWRvY3VtZW50JzogJ3Byb3BlcnRpZXMnLFxyXG4gICAgICAgICdmZXRjaC1hZ2dyZWdhdGUnOiAna2V5JyxcclxuICAgICAgICAndHJhbnNsYXRlLWRpcmVjdG9yeUVudHJ5JzonbGFiZWwnXHJcbiAgICAgIH0sXHJcbiAgICB9LFxyXG4gIH07XHJcbiAgcHVibGljIHN0YXRpYyBkb2N1bWVudFR5cGVzID0ge1xyXG4gICAgYXR0YWNobWVudDogJ0NUQXR0YWNobWVudCcsXHJcbiAgICBhZ2VuZGFEb2N1bWVudDogJ0FnZW5kYURvY3VtZW50JyxcclxuICAgIE1vTURvY3VtZW50OiAnTW9NRG9jdW1lbnQnLFxyXG4gIH07XHJcbiAgcHVibGljIHN0YXRpYyBvcGVyYXRpb25zID0ge1xyXG4gICAgY3JlYXRlVmVyc2lvbjogJ0FDX1VBX0NUU19WZXJzaW9uX0NyZWF0ZScsXHJcbiAgICBjcmVhdGVNZW1vVmVyc2lvbiA6ICdBQ19VQV9WZXJzaW9uX0NyZWF0ZScsXHJcbiAgICBnZXRWZXJzaW9uczogJ0RvY3VtZW50LkdldFZlcnNpb25zJyxcclxuICAgIGxvY2s6ICdBQ19VQV9Eb2N1bWVudF9Mb2NrJyxcclxuICAgIGxvY2tNZW1vOiAnRG9jdW1lbnQuTG9jaycsXHJcbiAgICB1bmxvY2s6ICdBQ19VQV9Eb2N1bWVudF9VbmxvY2snLFxyXG4gICAgdW5sb2NrTWVtbzogJ0RvY3VtZW50LlVubG9jaydcclxuICB9O1xyXG4gIHB1YmxpYyBzdGF0aWMgcXVpY2tGaWx0ZXJzID0ge1xyXG4gICAgcmVzb2x1dGlvbjogJ1Jlc29sdXRpb24nLFxyXG4gICAgY29tbWl0dGVlOiAnQ29tbWl0dGVlJyxcclxuICAgIHRhc2s6ICdXb3JrZmxvdycsXHJcbiAgfTtcclxuICBwdWJsaWMgc3RhdGljIHZvY2FidWxhcnkgPSB7fTtcclxuICBwdWJsaWMgc3RhdGljIGZpZWxkcyA9IHtcclxuICAgIGNyZWF0b3I6ICdkYzpjcmVhdG9yJyxcclxuICAgIGNvbnRlbnQ6ICdmaWxlOmNvbnRlbnQnLFxyXG4gICAgdGl0bGU6ICdkYzp0aXRsZScsXHJcbiAgICBjcmVhdGVkOiAnZGM6Y3JlYXRlZCcsXHJcbiAgICBkb2NSZWZJZDogJ2N0X2F0dGFjaDpkb2NSZWZJZCcsXHJcbiAgICBkb2NSZWZUeXBlczogJ2N0X2F0dGFjaDpkb2NSZWZUeXBlcycsXHJcbiAgICBjb21taXR0ZWVOYW1lOiAnY29tbTpjb21taXR0ZWVOYW1lJyxcclxuICAgIG1lZXRpbmdJZDogJ2NvbW06bWVldGluZ0lkJyxcclxuICAgIGNvbW1pdHRlZUlkOiAnY29tbTpjb21taXR0ZWVJZCcsXHJcbiAgICBjb21taXR0ZWVDb2RlOiAnY29tbTpjb21taXR0ZWVDb2RlJyxcclxuICAgIG1lZXRpbmdDb2RlOiAnY29tbTptZWV0aW5nQ29kZScsXHJcbiAgICB0aHVtYm5haWw6ICd0aHVtYjp0aHVtYm5haWwnLFxyXG4gICAgbWFqb3JfdmVyc2lvbjogJ3VpZDptYWpvcl92ZXJzaW9uJyxcclxuICAgIG1pbm9yX3ZlcnNpb246ICd1aWQ6bWlub3JfdmVyc2lvbicsXHJcbiAgfTtcclxufVxyXG4iXX0=
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZG9jdW1lbnRzL2NvbnN0YW50cy9kb2N1bWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGtCQUFrQjs7QUFDZiwrQkFBWSxHQUFHO0lBQzNCLE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsT0FBTyxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO0tBQ25DO0lBQ0QsU0FBUyxFQUFFO1FBQ1QsSUFBSSxFQUFFLDBCQUEwQjtRQUNoQyxPQUFPLEVBQUU7WUFDUCxnQkFBZ0IsRUFBRSxHQUFHO1lBQ3JCLG9CQUFvQixFQUFFLCtDQUErQztTQUN0RTtLQUNGO0lBQ0QsVUFBVSxFQUFFO1FBQ1YsSUFBSSxFQUFFLDJCQUEyQjtRQUNqQyxPQUFPLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7S0FDbkM7SUFDRCxhQUFhLEVBQUU7UUFDYixJQUFJLEVBQUUsNEJBQTRCO1FBQ2xDLE9BQU8sRUFBRSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsRUFBRTtLQUNuQztJQUNELFVBQVUsRUFBRTtRQUNWLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsT0FBTyxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFO0tBQ25DO0lBQ0QsbUJBQW1CLEVBQUU7UUFDbkIsSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixPQUFPLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLEVBQUU7S0FDbkM7SUFDRCxrQ0FBa0MsRUFBRTtRQUNsQyxJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLE9BQU8sRUFBRTtZQUNQLFlBQVksRUFBRSxHQUFHO1lBQ2pCLGdCQUFnQixFQUFFLFlBQVk7WUFDOUIsaUJBQWlCLEVBQUUsS0FBSztZQUN4QiwwQkFBMEIsRUFBQyxPQUFPO1NBQ25DO0tBQ0Y7SUFDRCx5QkFBeUIsRUFBRTtRQUN6QixJQUFJLEVBQUUsOEJBQThCO1FBQ3BDLE9BQU8sRUFBRTtZQUNQLFlBQVksRUFBRSxHQUFHO1lBQ2pCLGdCQUFnQixFQUFFLFlBQVk7WUFDOUIsaUJBQWlCLEVBQUUsS0FBSztZQUN4QiwwQkFBMEIsRUFBQyxPQUFPO1NBQ25DO0tBQ0Y7Q0FDRixDQUFDO0FBQ1ksZ0NBQWEsR0FBRztJQUM1QixVQUFVLEVBQUUsY0FBYztJQUMxQixjQUFjLEVBQUUsZ0JBQWdCO0lBQ2hDLFdBQVcsRUFBRSxhQUFhO0NBQzNCLENBQUM7QUFDWSw2QkFBVSxHQUFHO0lBQ3pCLGFBQWEsRUFBRSwwQkFBMEI7SUFDekMsaUJBQWlCLEVBQUcsc0JBQXNCO0lBQzFDLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkMsSUFBSSxFQUFFLHFCQUFxQjtJQUMzQixRQUFRLEVBQUUsZUFBZTtJQUN6QixNQUFNLEVBQUUsdUJBQXVCO0lBQy9CLFVBQVUsRUFBRSxpQkFBaUI7Q0FDOUIsQ0FBQztBQUNZLCtCQUFZLEdBQUc7SUFDM0IsVUFBVSxFQUFFLFlBQVk7SUFDeEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsSUFBSSxFQUFFLFVBQVU7Q0FDakIsQ0FBQztBQUNZLDZCQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ2hCLHlCQUFNLEdBQUc7SUFDckIsT0FBTyxFQUFFLFlBQVk7SUFDckIsT0FBTyxFQUFFLGNBQWM7SUFDdkIsS0FBSyxFQUFFLFVBQVU7SUFDakIsT0FBTyxFQUFFLFlBQVk7SUFDckIsUUFBUSxFQUFFLG9CQUFvQjtJQUM5QixXQUFXLEVBQUUsdUJBQXVCO0lBQ3BDLGFBQWEsRUFBRSxvQkFBb0I7SUFDbkMsU0FBUyxFQUFFLGdCQUFnQjtJQUMzQixXQUFXLEVBQUUsa0JBQWtCO0lBQy9CLGFBQWEsRUFBRSxvQkFBb0I7SUFDbkMsV0FBVyxFQUFFLGtCQUFrQjtJQUMvQixTQUFTLEVBQUUsaUJBQWlCO0lBQzVCLGFBQWEsRUFBRSxtQkFBbUI7SUFDbEMsYUFBYSxFQUFFLG1CQUFtQjtDQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIERvY3VtZW50c0NvbnN0YW50cyB7XHJcbiAgcHVibGljIHN0YXRpYyBwYWdlUHJvdmlkZXIgPSB7XHJcbiAgICBtZWV0aW5nOiB7XHJcbiAgICAgIG5hbWU6ICdQUF9NZWV0aW5nX0NURG9jdW1lbnRzJyxcclxuICAgICAgaGVhZGVyczogeyAnWC1OWHByb3BlcnRpZXMnOiAnKicgfSxcclxuICAgIH0sXHJcbiAgICBjb21taXR0ZWU6IHtcclxuICAgICAgbmFtZTogJ1BQX0NvbW1pdHRlZV9DVERvY3VtZW50cycsXHJcbiAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAnWC1OWHByb3BlcnRpZXMnOiAnKicsXHJcbiAgICAgICAgJ1gtTlhmZXRjaC1kb2N1bWVudCc6ICdkYzpjcmVhdG9yLGRjOmxhc3RDb250cmlidXRvcixkYzpjb250cmlidXRvcnMnLFxyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICAgIGFnZW5kYUl0ZW06IHtcclxuICAgICAgbmFtZTogJ1BQX0FnZW5kYUl0ZW1fQ1REb2N1bWVudHMnLFxyXG4gICAgICBoZWFkZXJzOiB7ICdYLU5YcHJvcGVydGllcyc6ICcqJyB9LFxyXG4gICAgfSxcclxuICAgIG1lZXRpbmdBZ2VuZGE6IHtcclxuICAgICAgbmFtZTogJ1BQX01lZXRpbmdfQWdlbmRhRG9jdW1lbnRzJyxcclxuICAgICAgaGVhZGVyczogeyAnWC1OWHByb3BlcnRpZXMnOiAnKicgfSxcclxuICAgIH0sXHJcbiAgICBtZWV0aW5nTW9tOiB7XHJcbiAgICAgIG5hbWU6ICdQUF9NZWV0aW5nX01vTURvY3VtZW50cycsXHJcbiAgICAgIGhlYWRlcnM6IHsgJ1gtTlhwcm9wZXJ0aWVzJzogJyonIH0sXHJcbiAgICB9LFxyXG4gICAgZG9jdW1lbnRBdHRhY2htZW50czoge1xyXG4gICAgICBuYW1lOiAnUFBfRG9jdW1lbnRfQXR0YWNobWVudHMnLFxyXG4gICAgICBoZWFkZXJzOiB7ICdYLU5YcHJvcGVydGllcyc6ICcqJyB9LFxyXG4gICAgfSxcclxuICAgIGRvY3VtZW50QXR0YWNobWVudHNXaXRoQWdncmVnYXRpb246IHtcclxuICAgICAgbmFtZTogJ1BQX0NUQXR0YWNobWVudCcsXHJcbiAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAncHJvcGVydGllcyc6ICcqJyxcclxuICAgICAgICAnZmV0Y2gtZG9jdW1lbnQnOiAncHJvcGVydGllcycsXHJcbiAgICAgICAgJ2ZldGNoLWFnZ3JlZ2F0ZSc6ICdrZXknLFxyXG4gICAgICAgICd0cmFuc2xhdGUtZGlyZWN0b3J5RW50cnknOidsYWJlbCdcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICBjb3JyZXNwb25kZW5jZUF0dGFjaG1lbnRzOiB7XHJcbiAgICAgIG5hbWU6ICdQUF9Db3JyZXNwb25kZW5jZUF0dGFjaG1lbnRzJyxcclxuICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICdwcm9wZXJ0aWVzJzogJyonLFxyXG4gICAgICAgICdmZXRjaC1kb2N1bWVudCc6ICdwcm9wZXJ0aWVzJyxcclxuICAgICAgICAnZmV0Y2gtYWdncmVnYXRlJzogJ2tleScsXHJcbiAgICAgICAgJ3RyYW5zbGF0ZS1kaXJlY3RvcnlFbnRyeSc6J2xhYmVsJ1xyXG4gICAgICB9LFxyXG4gICAgfSxcclxuICB9O1xyXG4gIHB1YmxpYyBzdGF0aWMgZG9jdW1lbnRUeXBlcyA9IHtcclxuICAgIGF0dGFjaG1lbnQ6ICdDVEF0dGFjaG1lbnQnLFxyXG4gICAgYWdlbmRhRG9jdW1lbnQ6ICdBZ2VuZGFEb2N1bWVudCcsXHJcbiAgICBNb01Eb2N1bWVudDogJ01vTURvY3VtZW50JyxcclxuICB9O1xyXG4gIHB1YmxpYyBzdGF0aWMgb3BlcmF0aW9ucyA9IHtcclxuICAgIGNyZWF0ZVZlcnNpb246ICdBQ19VQV9DVFNfVmVyc2lvbl9DcmVhdGUnLFxyXG4gICAgY3JlYXRlTWVtb1ZlcnNpb24gOiAnQUNfVUFfVmVyc2lvbl9DcmVhdGUnLFxyXG4gICAgZ2V0VmVyc2lvbnM6ICdEb2N1bWVudC5HZXRWZXJzaW9ucycsXHJcbiAgICBsb2NrOiAnQUNfVUFfRG9jdW1lbnRfTG9jaycsXHJcbiAgICBsb2NrTWVtbzogJ0RvY3VtZW50LkxvY2snLFxyXG4gICAgdW5sb2NrOiAnQUNfVUFfRG9jdW1lbnRfVW5sb2NrJyxcclxuICAgIHVubG9ja01lbW86ICdEb2N1bWVudC5VbmxvY2snXHJcbiAgfTtcclxuICBwdWJsaWMgc3RhdGljIHF1aWNrRmlsdGVycyA9IHtcclxuICAgIHJlc29sdXRpb246ICdSZXNvbHV0aW9uJyxcclxuICAgIGNvbW1pdHRlZTogJ0NvbW1pdHRlZScsXHJcbiAgICB0YXNrOiAnV29ya2Zsb3cnLFxyXG4gIH07XHJcbiAgcHVibGljIHN0YXRpYyB2b2NhYnVsYXJ5ID0ge307XHJcbiAgcHVibGljIHN0YXRpYyBmaWVsZHMgPSB7XHJcbiAgICBjcmVhdG9yOiAnZGM6Y3JlYXRvcicsXHJcbiAgICBjb250ZW50OiAnZmlsZTpjb250ZW50JyxcclxuICAgIHRpdGxlOiAnZGM6dGl0bGUnLFxyXG4gICAgY3JlYXRlZDogJ2RjOmNyZWF0ZWQnLFxyXG4gICAgZG9jUmVmSWQ6ICdjdF9hdHRhY2g6ZG9jUmVmSWQnLFxyXG4gICAgZG9jUmVmVHlwZXM6ICdjdF9hdHRhY2g6ZG9jUmVmVHlwZXMnLFxyXG4gICAgY29tbWl0dGVlTmFtZTogJ2NvbW06Y29tbWl0dGVlTmFtZScsXHJcbiAgICBtZWV0aW5nSWQ6ICdjb21tOm1lZXRpbmdJZCcsXHJcbiAgICBjb21taXR0ZWVJZDogJ2NvbW06Y29tbWl0dGVlSWQnLFxyXG4gICAgY29tbWl0dGVlQ29kZTogJ2NvbW06Y29tbWl0dGVlQ29kZScsXHJcbiAgICBtZWV0aW5nQ29kZTogJ2NvbW06bWVldGluZ0NvZGUnLFxyXG4gICAgdGh1bWJuYWlsOiAndGh1bWI6dGh1bWJuYWlsJyxcclxuICAgIG1ham9yX3ZlcnNpb246ICd1aWQ6bWFqb3JfdmVyc2lvbicsXHJcbiAgICBtaW5vcl92ZXJzaW9uOiAndWlkOm1pbm9yX3ZlcnNpb24nLFxyXG4gIH07XHJcbn1cclxuIl19
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
120
120
  providers: [],
121
121
  }]
122
122
  }] });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZG9jdW1lbnRzL2RvY3VtZW50cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw0RUFBNEUsQ0FBQztBQUM5SCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFFeEU7OztHQUdHO0FBd0NILE1BQU0sT0FBTyxlQUFlOzs2R0FBZixlQUFlOzhHQUFmLGVBQWUsaUJBckN4QixrQkFBa0I7UUFDbEIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QixhQUFhO1FBQ2Isd0JBQXdCO1FBQ3hCLGdDQUFnQyxhQUdoQyxlQUFlO1FBQ2YsWUFBWTtRQUNaLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIsbUJBQW1CO1FBQ25CLFlBQVk7UUFDWixvQkFBb0I7UUFDcEIsd0JBQXdCO1FBQ3hCLGFBQWE7UUFDYixlQUFlO1FBQ2YsZUFBZTtRQUNmLFdBQVc7UUFDWCxtQkFBbUI7UUFDbkIsY0FBYztRQUNkLFdBQVc7UUFDWCxVQUFVO1FBQ1YsaUJBQWlCO1FBQ2pCLG1CQUFtQixhQUduQixrQkFBa0I7UUFDbEIsc0JBQXNCO1FBQ3RCLHVCQUF1QjtRQUN2QixhQUFhO1FBQ2Isd0JBQXdCO1FBQ3hCLGdDQUFnQzs4R0FJdkIsZUFBZSxhQUZmLEVBQUUsWUE1Qko7WUFDUCxlQUFlO1lBQ2YsWUFBWTtZQUNaLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLFlBQVk7WUFDWixvQkFBb0I7WUFDcEIsd0JBQXdCO1lBQ3hCLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLFdBQVc7WUFDWCxVQUFVO1lBQ1YsaUJBQWlCO1lBQ2pCLG1CQUFtQjtTQUNwQjs0RkFXVSxlQUFlO2tCQXZDM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLGdDQUFnQztxQkFDakM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixlQUFlO3dCQUNmLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLG9CQUFvQjt3QkFDcEIsd0JBQXdCO3dCQUN4QixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxXQUFXO3dCQUNYLFVBQVU7d0JBQ1YsaUJBQWlCO3dCQUNqQixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsdUJBQXVCO3dCQUN2QixhQUFhO3dCQUNiLHdCQUF3Qjt3QkFDeEIsZ0NBQWdDO3FCQUNqQztvQkFDRCxTQUFTLEVBQUUsRUFBRTtpQkFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhcic7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgRGlyZWN0aXZlTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2RpcmVjdGl2ZS5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQaXBlc01vZHVsZSB9IGZyb20gJy4uLy4uL3BpcGVzL3BpcGVzLm1vZHVsZSc7XHJcbmltcG9ydCB7IENhcmRNb2R1bGUgfSBmcm9tICcuLi9jYXJkL2NhcmQubW9kdWxlJztcclxuaW1wb3J0IHsgQ29uZmlybUNhbGxlck1vZHVsZSB9IGZyb20gJy4uL2NvbmZpcm0tY2FsbGVyL2NvbmZpcm0tY2FsbGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7IFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICcuLi9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kb2N1bWVudC1saXN0L2RvY3VtZW50cy1saXN0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNjYW5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZG9jdW1lbnQtc2Nhbi9kb2N1bWVudC1zY2FuLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvY3VtZW50VXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RvY3VtZW50LXVwbG9hZC9kb2N1bWVudC11cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRG9jdW1lbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RvY3VtZW50cy9kb2N1bWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXR0YWNobWVudHNMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2F0dGFjaG1lbnRzLWxpc3QvYXR0YWNobWVudHMtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybU1vZHVsZSB9IGZyb20gJy4uL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0ubW9kdWxlJztcclxuaW1wb3J0IHsgQXR0YWNobWVudHNQYWdlUHJvdmlkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXR0YWNobWVudHMtcGFnZS1wcm92aWRlci9hdHRhY2htZW50cy1wYWdlLXByb3ZpZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpYnJhcnlTaGFyZWRNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvbGlicmFyeVNoYXJlZC5tb2R1bGUnO1xyXG5cclxuLyoqXHJcbiAqIEB0aXRsZVxyXG4gKiBEb2N1bWVudHMgTW9kdWxlXHJcbiAqL1xyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgRG9jdW1lbnRzQ29tcG9uZW50LFxyXG4gICAgRG9jdW1lbnRzTGlzdENvbXBvbmVudCxcclxuICAgIERvY3VtZW50VXBsb2FkQ29tcG9uZW50LFxyXG4gICAgU2NhbkNvbXBvbmVudCxcclxuICAgIEF0dGFjaG1lbnRzTGlzdENvbXBvbmVudCxcclxuICAgIEF0dGFjaG1lbnRzUGFnZVByb3ZpZGVyQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBUcmFuc2xhdGVNb2R1bGUsXHJcbiAgICBQYWdpbmF0aW9uTW9kdWxlLFxyXG4gICAgQ29uZmlybUNhbGxlck1vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdERpYWxvZ01vZHVsZSxcclxuICAgIERpcmVjdGl2ZU1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgUGlwZXNNb2R1bGUsXHJcbiAgICBDYXJkTW9kdWxlLFxyXG4gICAgRHluYW1pY0Zvcm1Nb2R1bGUsXHJcbiAgICBMaWJyYXJ5U2hhcmVkTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBEb2N1bWVudHNDb21wb25lbnQsXHJcbiAgICBEb2N1bWVudHNMaXN0Q29tcG9uZW50LFxyXG4gICAgRG9jdW1lbnRVcGxvYWRDb21wb25lbnQsXHJcbiAgICBTY2FuQ29tcG9uZW50LFxyXG4gICAgQXR0YWNobWVudHNMaXN0Q29tcG9uZW50LFxyXG4gICAgQXR0YWNobWVudHNQYWdlUHJvdmlkZXJDb21wb25lbnRcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb2N1bWVudHNNb2R1bGUgeyB9XHJcbiJdfQ==
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50cy9kb2N1bWVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDbkYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0RBQXdELENBQUM7QUFDakcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDcEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDOUgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBRXhFOzs7R0FHRztBQXdDSCxNQUFNLE9BQU8sZUFBZTs7NkdBQWYsZUFBZTs4R0FBZixlQUFlLGlCQXJDeEIsa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0Qix1QkFBdUI7UUFDdkIsYUFBYTtRQUNiLHdCQUF3QjtRQUN4QixnQ0FBZ0MsYUFHaEMsZUFBZTtRQUNmLFlBQVk7UUFDWixlQUFlO1FBQ2YsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixZQUFZO1FBQ1osb0JBQW9CO1FBQ3BCLHdCQUF3QjtRQUN4QixhQUFhO1FBQ2IsZUFBZTtRQUNmLGVBQWU7UUFDZixXQUFXO1FBQ1gsbUJBQW1CO1FBQ25CLGNBQWM7UUFDZCxXQUFXO1FBQ1gsVUFBVTtRQUNWLGlCQUFpQjtRQUNqQixtQkFBbUIsYUFHbkIsa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0Qix1QkFBdUI7UUFDdkIsYUFBYTtRQUNiLHdCQUF3QjtRQUN4QixnQ0FBZ0M7OEdBSXZCLGVBQWUsYUFGZixFQUFFLFlBNUJKO1lBQ1AsZUFBZTtZQUNmLFlBQVk7WUFDWixlQUFlO1lBQ2YsZ0JBQWdCO1lBQ2hCLG1CQUFtQjtZQUNuQixZQUFZO1lBQ1osb0JBQW9CO1lBQ3BCLHdCQUF3QjtZQUN4QixhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7WUFDZixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxXQUFXO1lBQ1gsVUFBVTtZQUNWLGlCQUFpQjtZQUNqQixtQkFBbUI7U0FDcEI7NEZBV1UsZUFBZTtrQkF2QzNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0Qix1QkFBdUI7d0JBQ3ZCLGFBQWE7d0JBQ2Isd0JBQXdCO3dCQUN4QixnQ0FBZ0M7cUJBQ2pDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLHdCQUF3Qjt3QkFDeEIsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsV0FBVzt3QkFDWCxVQUFVO3dCQUNWLGlCQUFpQjt3QkFDakIsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLHVCQUF1Qjt3QkFDdkIsYUFBYTt3QkFDYix3QkFBd0I7d0JBQ3hCLGdDQUFnQztxQkFDakM7b0JBQ0QsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xyXG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IERpcmVjdGl2ZU1vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9kaXJlY3RpdmUubW9kdWxlJztcclxuaW1wb3J0IHsgUGlwZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9waXBlcy9waXBlcy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBDYXJkTW9kdWxlIH0gZnJvbSAnLi4vY2FyZC9jYXJkLm1vZHVsZSc7XHJcbmltcG9ydCB7IENvbmZpcm1DYWxsZXJNb2R1bGUgfSBmcm9tICcuLi9jb25maXJtLWNhbGxlci9jb25maXJtLWNhbGxlci5tb2R1bGUnO1xyXG5pbXBvcnQgeyBQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnLi4vcGFnaW5hdGlvbi9wYWdpbmF0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7IERvY3VtZW50c0xpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZG9jdW1lbnQtbGlzdC9kb2N1bWVudHMtbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTY2FuQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RvY3VtZW50LXNjYW4vZG9jdW1lbnQtc2Nhbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEb2N1bWVudFVwbG9hZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kb2N1bWVudC11cGxvYWQvZG9jdW1lbnQtdXBsb2FkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvY3VtZW50c0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kb2N1bWVudHMvZG9jdW1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnRzTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hdHRhY2htZW50cy1saXN0L2F0dGFjaG1lbnRzLWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRHluYW1pY0Zvcm1Nb2R1bGUgfSBmcm9tICcuLi9keW5hbWljLWZvcm0vZHluYW1pYy1mb3JtLm1vZHVsZSc7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnRzUGFnZVByb3ZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2F0dGFjaG1lbnRzLXBhZ2UtcHJvdmlkZXIvYXR0YWNobWVudHMtcGFnZS1wcm92aWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMaWJyYXJ5U2hhcmVkTW9kdWxlIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2xpYnJhcnlTaGFyZWQubW9kdWxlJztcclxuXHJcbi8qKlxyXG4gKiBAdGl0bGVcclxuICogRG9jdW1lbnRzIE1vZHVsZVxyXG4gKi9cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIERvY3VtZW50c0NvbXBvbmVudCxcclxuICAgIERvY3VtZW50c0xpc3RDb21wb25lbnQsXHJcbiAgICBEb2N1bWVudFVwbG9hZENvbXBvbmVudCxcclxuICAgIFNjYW5Db21wb25lbnQsXHJcbiAgICBBdHRhY2htZW50c0xpc3RDb21wb25lbnQsXHJcbiAgICBBdHRhY2htZW50c1BhZ2VQcm92aWRlckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gICAgUGFnaW5hdGlvbk1vZHVsZSxcclxuICAgIENvbmZpcm1DYWxsZXJNb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZSxcclxuICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICBEaXJlY3RpdmVNb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBNYXRJbnB1dE1vZHVsZSxcclxuICAgIFBpcGVzTW9kdWxlLFxyXG4gICAgQ2FyZE1vZHVsZSxcclxuICAgIER5bmFtaWNGb3JtTW9kdWxlLFxyXG4gICAgTGlicmFyeVNoYXJlZE1vZHVsZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgRG9jdW1lbnRzQ29tcG9uZW50LFxyXG4gICAgRG9jdW1lbnRzTGlzdENvbXBvbmVudCxcclxuICAgIERvY3VtZW50VXBsb2FkQ29tcG9uZW50LFxyXG4gICAgU2NhbkNvbXBvbmVudCxcclxuICAgIEF0dGFjaG1lbnRzTGlzdENvbXBvbmVudCxcclxuICAgIEF0dGFjaG1lbnRzUGFnZVByb3ZpZGVyQ29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRzTW9kdWxlIHsgfVxyXG4iXX0=
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
112
112
  type: Inject,
113
113
  args: ['environment']
114
114
  }] }]; } });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdGVtcGxhdGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50cy9zZXJ2aWNlcy9kb2N1bWVudC10ZW1wbGF0ZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQWlCLElBQUksRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFJNUQsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0saUNBQWlDLENBQUM7Ozs7O0FBTzNFLE1BQU0sT0FBTyx3QkFBd0I7SUFHbkMsMEJBQTBCO0lBQzFCLFlBQ1UsWUFBMEIsRUFDMUIsZ0JBQWdDLEVBQ2hDLFVBQXNCLEVBQ0MsV0FBVztRQUhsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWdCO1FBQ2hDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDQyxnQkFBVyxHQUFYLFdBQVcsQ0FBQTtRQVA1QyxVQUFLLEdBQUcsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFRakMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFLO1FBQ2YsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2YsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBQ0QsbUJBQW1C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L2NvcmUnO1xyXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmcm9tLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbi9hcHAtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvYWRhcHRlcnMvYWRhcHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHtEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50c30gZnJvbSAnLi4vY29uc3RhbnRzL2RvY3VtZW50LXRlbXBsYXRlcyc7XHJcbmltcG9ydCB7RG9jdW1lbnRzQ29uc3RhbnRzfSBmcm9tICcuLi9jb25zdGFudHMvZG9jdW1lbnRzJztcclxuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRUZW1wbGF0ZXNTZXJ2aWNlIHtcclxuICB2YWx1ZSA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xyXG4gIHJlRmV0Y2ggPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIC8vIHRlbXBsYXRlc1Jvb3RQYXRoID0gJyc7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkb2N1bWVudHNBZGFwdGVyOiBBZGFwdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCxcclxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudFxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgaW5mb3JtVmFsdWUodmFsdWUpOiB2b2lkIHtcclxuICAgIGNvbnN0IGFyciA9IFtdO1xyXG4gICAgYXJyLnB1c2godmFsdWUpO1xyXG4gICAgdGhpcy52YWx1ZS5uZXh0KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0RG9jdW1lbnRUZW1wbGF0ZSh1aWQpOiBPYnNlcnZhYmxlPGFueT4gIHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5yZXBvc2l0b3J5KClcclxuICAgICAgICAuaGVhZGVycyh7XHJcbiAgICAgICAgICAuLi5Eb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuZG9jdW1lbnRUZW1wbGF0ZXMuaGVhZGVycyxcclxuICAgICAgICAgICdYLU5YZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxkYzpjcmVhdG9yJyxcclxuICAgICAgICAgICdYLU5YZW5yaWNoZXJzLWRvY3VtZW50JzogJ3RhZ3MnLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZldGNoKHVpZClcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0SW4oZGF0YSwgRG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMuZmllbGRzKTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIGdldERvY3VtZW50VGVtcGxhdGVzV2l0aEFnZ3JlZ2F0aW9uKHBhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGlmICghcGFyYW1zKSB7XHJcbiAgICAgIHBhcmFtcyA9IHt9O1xyXG4gICAgfVxyXG4gICAgaWYgKCFwYXJhbXNbRG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMucGFnZVByb3ZpZGVyLmRvY3VtZW50VGVtcGxhdGVzLmNvbnN0YW50cy5zeXN0ZW1QYXRoUGFyYW1OYW1lXSkge1xyXG4gICAgICBwYXJhbXNbRG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMucGFnZVByb3ZpZGVyLmRvY3VtZW50VGVtcGxhdGVzLmNvbnN0YW50cy5zeXN0ZW1QYXRoUGFyYW1OYW1lXVxyXG4gICAgICAgID0gRG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMucGFnZVByb3ZpZGVyLmRvY3VtZW50VGVtcGxhdGVzLmNvbnN0YW50cy5zeXN0ZW1QYXRoUGFyYW1EZWZhdWx0VmFsdWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQucmVwb3NpdG9yeSgpLnF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhZ2VQcm92aWRlcjpcclxuICAgICAgICAgIERvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5kb2N1bWVudFRlbXBsYXRlcy5uYW1lLFxyXG4gICAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaGVhZGVyczpcclxuICAgICAgICAgIERvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5kb2N1bWVudFRlbXBsYXRlcy5oZWFkZXJzLFxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGRhdGEuZW50cmllcy5tYXAoKGl0ZW0pID0+XHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50c0FkYXB0ZXIuYWRhcHRJbihpdGVtLCBEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5maWVsZHMpXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIHBhcnNlVGVtcGxhdGUodGVtcGxhdGVJZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKERvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLm9wZXJhdGlvbnMucGFyc2UsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KHRlbXBsYXRlSWQpXHJcbiAgICAgICAgLnBhcmFtcyh7fSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgcmVuZGVyVGVtcGxhdGUodGVtcGxhdGVJZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn0vJHtEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5vcGVyYXRpb25zLnJlbmRlcn1gLFxyXG4gICAgICB7aW5wdXQ6IHRlbXBsYXRlSWR9LCB7cmVzcG9uc2VUeXBlOiAnYmxvYid9XHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgbWVyZ2VBbmRQYXJzZVRlbXBsYXRlKHRlbXBsYXRlSWQsIG1lcmdlRG9jdW1lbnRJZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKERvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLm9wZXJhdGlvbnMubWVyZ2VBbmRQYXJzZSwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQodGVtcGxhdGVJZClcclxuICAgICAgICAucGFyYW1zKHt9KVxyXG4gICAgICAgIC5jb250ZXh0KHtcclxuICAgICAgICAgIG1lcmdlRG9jdW1lbnRJZFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIG1lcmdlQW5kUmVuZGVyVGVtcGxhdGUodGVtcGxhdGVJZCwgbWVyZ2VEb2N1bWVudElkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucG9zdChgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufS8ke0RvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLm9wZXJhdGlvbnMubWVyZ2VBbmRSZW5kZXJ9YCxcclxuICAgICAge2lucHV0OiB0ZW1wbGF0ZUlkLCBjb250ZXh0OiB7bWVyZ2VEb2N1bWVudElkfX0sIHtyZXNwb25zZVR5cGU6ICdibG9iJ31cclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICByZWZsZWN0VGVtcGxhdGVUb0NvcnJlc3BvbmRlbmNlKGNvcnJlc3BvbmRlbmNlSWQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5vcGVyYXRpb25zLnJlZmxlY3RUZW1wbGF0ZVRvQ29ycmVzcG9uZGVuY2UsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KGNvcnJlc3BvbmRlbmNlSWQpXHJcbiAgICAgICAgLnBhcmFtcyh7fSlcclxuICAgICAgICAuY29udGV4dCh7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdGVtcGxhdGVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kb2N1bWVudHMvc2VydmljZXMvZG9jdW1lbnQtdGVtcGxhdGVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFpQixJQUFJLEVBQWMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBSTVELE9BQU8sRUFBQywwQkFBMEIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDOzs7OztBQU8zRSxNQUFNLE9BQU8sd0JBQXdCO0lBR25DLDBCQUEwQjtJQUMxQixZQUNVLFlBQTBCLEVBQzFCLGdCQUFnQyxFQUNoQyxVQUFzQixFQUNDLFdBQVc7UUFIbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFnQjtRQUNoQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ0MsZ0JBQVcsR0FBWCxXQUFXLENBQUE7UUFQNUMsVUFBSyxHQUFHLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO0lBUWpDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBSztRQUNmLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNmLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUNELG1CQUFtQixDQUFD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JztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZnJvbSwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvbmZpZ3VyYXRpb24vYXBwLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2FkYXB0ZXJzL2FkYXB0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcbmltcG9ydCB7RG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHN9IGZyb20gJy4uL2NvbnN0YW50cy9kb2N1bWVudC10ZW1wbGF0ZXMnO1xyXG5pbXBvcnQge0RvY3VtZW50c0NvbnN0YW50c30gZnJvbSAnLi4vY29uc3RhbnRzL2RvY3VtZW50cyc7XHJcbmltcG9ydCB7SHR0cENsaWVudH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERvY3VtZW50VGVtcGxhdGVzU2VydmljZSB7XHJcbiAgdmFsdWUgPSBuZXcgUmVwbGF5U3ViamVjdCgxKTtcclxuICByZUZldGNoID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICAvLyB0ZW1wbGF0ZXNSb290UGF0aCA9ICcnO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBudXhlb1NlcnZpY2U6IE51eGVvU2VydmljZSxcclxuICAgIHByaXZhdGUgZG9jdW1lbnRzQWRhcHRlcjogQWRhcHRlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXHJcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnRcclxuICApIHtcclxuICB9XHJcblxyXG4gIGluZm9ybVZhbHVlKHZhbHVlKTogdm9pZCB7XHJcbiAgICBjb25zdCBhcnIgPSBbXTtcclxuICAgIGFyci5wdXNoKHZhbHVlKTtcclxuICAgIHRoaXMudmFsdWUubmV4dCh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldERvY3VtZW50VGVtcGxhdGUodWlkKTogT2JzZXJ2YWJsZTxhbnk+ICB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAucmVwb3NpdG9yeSgpXHJcbiAgICAgICAgLmhlYWRlcnMoe1xyXG4gICAgICAgICAgLi4uRG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMucGFnZVByb3ZpZGVyLmRvY3VtZW50VGVtcGxhdGVzLmhlYWRlcnMsXHJcbiAgICAgICAgICAnWC1OWGZldGNoLWRvY3VtZW50JzogJ2xvY2ssZGM6Y3JlYXRvcicsXHJcbiAgICAgICAgICAnWC1OWGVucmljaGVycy1kb2N1bWVudCc6ICd0YWdzJyxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5mZXRjaCh1aWQpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRzQWRhcHRlci5hZGFwdEluKGRhdGEsIERvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLmZpZWxkcyk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICBnZXREb2N1bWVudFRlbXBsYXRlc1dpdGhBZ2dyZWdhdGlvbihwYXJhbXMgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBpZiAoIXBhcmFtcykge1xyXG4gICAgICBwYXJhbXMgPSB7fTtcclxuICAgIH1cclxuICAgIGlmICghcGFyYW1zW0RvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5kb2N1bWVudFRlbXBsYXRlcy5jb25zdGFudHMuc3lzdGVtUGF0aFBhcmFtTmFtZV0pIHtcclxuICAgICAgcGFyYW1zW0RvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5kb2N1bWVudFRlbXBsYXRlcy5jb25zdGFudHMuc3lzdGVtUGF0aFBhcmFtTmFtZV1cclxuICAgICAgICA9IERvY3VtZW50VGVtcGxhdGVzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5kb2N1bWVudFRlbXBsYXRlcy5jb25zdGFudHMuc3lzdGVtUGF0aFBhcmFtRGVmYXVsdFZhbHVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnJlcG9zaXRvcnkoKS5xdWVyeShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwYWdlUHJvdmlkZXI6XHJcbiAgICAgICAgICBEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuZG9jdW1lbnRUZW1wbGF0ZXMubmFtZSxcclxuICAgICAgICAgIC4uLnBhcmFtcyxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGhlYWRlcnM6XHJcbiAgICAgICAgICBEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuZG9jdW1lbnRUZW1wbGF0ZXMuaGVhZGVycyxcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBkYXRhLmVudHJpZXMubWFwKChpdGVtKSA9PlxyXG4gICAgICAgICAgdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0SW4oaXRlbSwgRG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMuZmllbGRzKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICBwYXJzZVRlbXBsYXRlKHRlbXBsYXRlSWQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5vcGVyYXRpb25zLnBhcnNlLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dCh0ZW1wbGF0ZUlkKVxyXG4gICAgICAgIC5wYXJhbXMoe30pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIHJlbmRlclRlbXBsYXRlKHRlbXBsYXRlSWQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259LyR7RG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMub3BlcmF0aW9ucy5yZW5kZXJ9YCxcclxuICAgICAge2lucHV0OiB0ZW1wbGF0ZUlkfSwge3Jlc3BvbnNlVHlwZTogJ2Jsb2InfVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIG1lcmdlQW5kUGFyc2VUZW1wbGF0ZSh0ZW1wbGF0ZUlkLCBtZXJnZURvY3VtZW50SWQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5vcGVyYXRpb25zLm1lcmdlQW5kUGFyc2UsIHtcclxuICAgICAgICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn1gLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmlucHV0KHRlbXBsYXRlSWQpXHJcbiAgICAgICAgLnBhcmFtcyh7fSlcclxuICAgICAgICAuY29udGV4dCh7XHJcbiAgICAgICAgICBtZXJnZURvY3VtZW50SWRcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICBtZXJnZUFuZFJlbmRlclRlbXBsYXRlKHRlbXBsYXRlSWQsIG1lcmdlRG9jdW1lbnRJZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30ke3RoaXMuZW52aXJvbm1lbnQuY3VzdG9tQXV0b21hdGlvbn0vJHtEb2N1bWVudFRlbXBsYXRlc0NvbnN0YW50cy5vcGVyYXRpb25zLm1lcmdlQW5kUmVuZGVyfWAsXHJcbiAgICAgIHtpbnB1dDogdGVtcGxhdGVJZCwgY29udGV4dDoge21lcmdlRG9jdW1lbnRJZH19LCB7cmVzcG9uc2VUeXBlOiAnYmxvYid9XHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgcmVmbGVjdFRlbXBsYXRlVG9Db3JyZXNwb25kZW5jZShjb3JyZXNwb25kZW5jZUlkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oRG9jdW1lbnRUZW1wbGF0ZXNDb25zdGFudHMub3BlcmF0aW9ucy5yZWZsZWN0VGVtcGxhdGVUb0NvcnJlc3BvbmRlbmNlLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dChjb3JyZXNwb25kZW5jZUlkKVxyXG4gICAgICAgIC5wYXJhbXMoe30pXHJcbiAgICAgICAgLmNvbnRleHQoe1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -276,4 +276,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
276
276
  type: Inject,
277
277
  args: ['environment']
278
278
  }] }]; } });
279
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2RvY3VtZW50cy9zZXJ2aWNlcy9kb2N1bWVudHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQWMsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUk1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsYUFBYSxJQUFJLEtBQUssRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7OztBQUVyRixjQUFjO0FBSWQsTUFBTSxPQUFPLGdCQUFnQjtJQU0zQixZQUNVLFlBQTBCLEVBQzFCLGdCQUFnQyxFQUNoQyxhQUErQixFQUFpQyxXQUFXO1FBRjNFLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0I7UUFDaEMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQWlDLGdCQUFXLEdBQVgsV0FBVyxDQUFBO1FBUnJGLFVBQUssR0FBRyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0Qix1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9DLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBTy9CLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsZ0JBQWdCO1lBQ25CLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFD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QUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzs4R0E5WVUsZ0JBQWdCLDRHQVN3QixhQUFhO2tIQVRyRCxnQkFBZ0IsY0FGZixNQUFNOzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVU2QyxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmcm9tLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29uZmlndXJhdGlvbi9hcHAtY29uZmlnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvYWRhcHRlcnMvYWRhcHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTnV4ZW9TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9udXhlby9udXhlby5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRzQ29uc3RhbnRzIH0gZnJvbSAnLi4vY29uc3RhbnRzL2RvY3VtZW50cyc7XHJcbmltcG9ydCB7IE51eGVvT3ZlcnJpZGUgYXMgTnV4ZW8gfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL251eGVvL251eGVvLW92ZXJyaWRlJztcclxuXHJcbi8qKiBAaWdub3JlICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEb2N1bWVudHNTZXJ2aWNlIHtcclxuICB2YWx1ZSA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xyXG4gIHB1YmxpYyBnZXR1cGRhdGVkRG9jdW1lbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHJlRmV0Y2ggPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIGluY29taW5nQ29uc3RhbnQ7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIG51eGVvU2VydmljZTogTnV4ZW9TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkb2N1bWVudHNBZGFwdGVyOiBBZGFwdGVyU2VydmljZSxcclxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQXBwQ29uZmlnU2VydmljZSwgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50XHJcbiAgKSB7XHJcbiAgICAvLyBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgIHRoaXMuaW5jb21pbmdDb25zdGFudCA9XHJcbiAgICAgIHRoaXMuY29uZmlnU2VydmljZS5teUNvbmZpZ3VyYXRpb25bJ2NvcnJlc3BvbmRhbmNlJ11bJ2luY29taW5nJ107XHJcbiAgICAvLyB9LCAyMDAwKTtcclxuICB9XHJcblxyXG4gIGluZm9ybVZhbHVlKHZhbHVlKSB7XHJcbiAgICBsZXQgYXJyID0gW107XHJcbiAgICBhcnIucHVzaCh2YWx1ZSk7XHJcbiAgICB0aGlzLnZhbHVlLm5leHQodmFsdWUpO1xyXG4gIH1cclxuICBnZXREb2N1bWVudCh1aWQsIGhlYWRlcnM/KSB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAucmVwb3NpdG9yeSgpXHJcbiAgICAgICAgLmhlYWRlcnMoe1xyXG4gICAgICAgICAgLi4uRG9jdW1lbnRzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5jb21taXR0ZWUuaGVhZGVycyxcclxuICAgICAgICAgICdYLU5YZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxkYzpjcmVhdG9yLGNvcnI6Y2MsY3RzX2NvbW1vbjpkZXBhcnRtZW50LGNvcnI6b3duZXInLFxyXG4gICAgICAgICAgJ1gtTlhlbnJpY2hlcnMtZG9jdW1lbnQnOiAndGFncyxwZXJtaXNzaW9ucycsXHJcbiAgICAgICAgICAuLi5oZWFkZXJzXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZmV0Y2godWlkKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIC8vIGkgY29tbWVudGVkIHRoaXMgc2luY2UgaSBhbSBhZGFwdGluZyBpbiBkYXRhIGNvbWluZyBpbnNpZGUgdGhlIHBhZ2Ugbm90IGhlcmVcclxuICAgICAgICAvLyByZXR1cm4gdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0SW4oZGF0YSwgRG9jdW1lbnRzQ29uc3RhbnRzLmZpZWxkcyk7XHJcbiAgICAgICAgZGVsZXRlIGRhdGEuX251eGVvO1xyXG4gICAgICAgIGRlbGV0ZSBkYXRhLl9yZXBvc2l0b3J5O1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgZ2V0RG9jdW1lbnRBdHRhY2htZW50c1dpdGhBZ2dyZWdhdGlvbihwYXJhbXMgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQucmVwb3NpdG9yeSgpLnF1ZXJ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHBhZ2VQcm92aWRlcjpcclxuICAgICAgICAgICAgRG9jdW1lbnRzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5kb2N1bWVudEF0dGFjaG1lbnRzV2l0aEFnZ3JlZ2F0aW9uXHJcbiAgICAgICAgICAgICAgLm5hbWUsXHJcbiAgICAgICAgICAuLi5wYXJhbXMsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBoZWFkZXJzOlxyXG4gICAgICAgICAgICBEb2N1bWVudHNDb25zdGFudHMucGFnZVByb3ZpZGVyLmRvY3VtZW50QXR0YWNobWVudHNXaXRoQWdncmVnYXRpb25cclxuICAgICAgICAgICAgICAuaGVhZGVycyxcclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBkYXRhLmVudHJpZXMubWFwKChpdGVtKSA9PlxyXG4gICAgICAgICAgdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0SW4oaXRlbSwgRG9jdW1lbnRzQ29uc3RhbnRzLmZpZWxkcylcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgdXBkYXRlRG9jdW1lbnQoZG9jLCBwYXJhbXMgPSB7fSkge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLnJlcG9zaXRvcnkoKVxyXG4gICAgICAgIC5oZWFkZXJzKHtcclxuICAgICAgICAgIC4uLkRvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuY29tbWl0dGVlLmhlYWRlcnMsXHJcbiAgICAgICAgICAnZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxjb21tOmNvbW1pdHRlZUlkLGNvbW06bWVldGluZ0lkJyxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC51cGRhdGUoZG9jLCBwYXJhbXMpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZG9jdW1lbnRzQWRhcHRlci5hZGFwdEluKGRhdGEsIERvY3VtZW50c0NvbnN0YW50cy5maWVsZHMpO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbiAgY3JlYXRlVmVyc2lvbihkb2NJZCwgdmVyc2lvbiA9ICdtYWpvcicsIGN1c3RvbUFwaT8sIGN1c3RvbVBhcmFtcz8pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihjdXN0b21BcGkgPyBjdXN0b21BcGkgOiBEb2N1bWVudHNDb25zdGFudHMub3BlcmF0aW9ucy5jcmVhdGVWZXJzaW9uLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dChkb2NJZClcclxuICAgICAgICAucGFyYW1zKGN1c3RvbVBhcmFtcyA/IGN1c3RvbVBhcmFtcyA6IHsgdmVyc2lvbiwgfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZU1lbW9WZXJzaW9uKGRvY0lkLCB2ZXJzaW9uID0gJ21ham9yJyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKERvY3VtZW50c0NvbnN0YW50cy5vcGVyYXRpb25zLmNyZWF0ZU1lbW9WZXJzaW9uLCB7XHJcbiAgICAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99JHt0aGlzLmVudmlyb25tZW50LmN1c3RvbUF1dG9tYXRpb259YCxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5pbnB1dChkb2NJZClcclxuICAgICAgICAucGFyYW1zKHtcclxuICAgICAgICAgIHZlcnNpb24sXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFZlcnNpb25zKGRvY0lkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oRG9jdW1lbnRzQ29uc3RhbnRzLm9wZXJhdGlvbnMuZ2V0VmVyc2lvbnMpXHJcbiAgICAgICAgLmlucHV0KGRvY0lkKVxyXG4gICAgICAgIC5wYXJhbXMoKVxyXG4gICAgICAgIC5leGVjdXRlKHtcclxuICAgICAgICAgIGhlYWRlcnM6IERvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuY29tbWl0dGVlLmhlYWRlcnMsXHJcbiAgICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICBkYXRhLmVudHJpZXMubWFwKChpdGVtKSA9PlxyXG4gICAgICAgICAgdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0SW4oaXRlbSwgdGhpcy5pbmNvbWluZ0NvbnN0YW50LmF0dGFjaG1lbnRzKVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIGxvY2tEb2N1bWVudChkb2NJZCwgbW9kZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKERvY3VtZW50c0NvbnN0YW50cy5vcGVyYXRpb25zLmxvY2spXHJcbiAgICAgICAgLmlucHV0KGRvY0lkKVxyXG4gICAgICAgIC5wYXJhbXMoe1xyXG4gICAgICAgICAgbW9kZTogbW9kZSxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5leGVjdXRlKHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgLi4uRG9jdW1lbnRzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5jb21taXR0ZWUuaGVhZGVycyxcclxuICAgICAgICAgICAgJ1gtTlhmZXRjaC1kb2N1bWVudCc6ICdsb2NrLGRjOmNyZWF0b3IsY29ycjpvd25lcixjdHNfY29tbW9uOmRlcGFydG1lbnQnLFxyXG4gICAgICAgICAgICAnWC1OWGVucmljaGVycy1kb2N1bWVudCc6ICd0YWdzJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGl0ZW1cclxuICAgICAgICAvL3JlbW92ZSBhZGFwdGUgc2luY2UgaXQgaXMgY291c2luZyBjb25mbGljdHMgd2hlbiBlbWl0aW5nIG91dCBzaWRlIGFuZCByZWFkYXB0aW5nIGFnYWluIG91dHNpZGVcclxuICAgICAgICAvLyB0aGlzLmRvY3VtZW50c0FkYXB0ZXIuYWRhcHRJbihpdGVtLCBEb2N1bWVudHNDb25zdGFudHMuZmllbGRzKVxyXG4gICAgICB9XHJcbiAgICAgICksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHVubG9ja0RvY3VtZW50KGRvY0lkKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oRG9jdW1lbnRzQ29uc3RhbnRzLm9wZXJhdGlvbnMudW5sb2NrKVxyXG4gICAgICAgIC5pbnB1dChkb2NJZClcclxuICAgICAgICAucGFyYW1zKClcclxuICAgICAgICAuZXhlY3V0ZSh7XHJcbiAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIC4uLkRvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuY29tbWl0dGVlLmhlYWRlcnMsXHJcbiAgICAgICAgICAgICdYLU5YZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxkYzpjcmVhdG9yJyxcclxuICAgICAgICAgICAgJ1gtTlhlbnJpY2hlcnMtZG9jdW1lbnQnOiAndGFncycsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBpdGVtO1xyXG4gICAgICAgIC8vcmVtb3ZlIGFkYXB0ZSBzaW5jZSBpdCBpcyBjb3VzaW5nIGNvbmZsaWN0cyB3aGVuIGVtaXRpbmcgb3V0IHNpZGUgYW5kIHJlYWRhcHRpbmcgYWdhaW4gb3V0c2lkZVxyXG4gICAgICAgIC8vIHRoaXMuZG9jdW1lbnRzQWRhcHRlci5hZGFwdEluKGl0ZW0sIERvY3VtZW50c0NvbnN0YW50cy5maWVsZHMpXHJcbiAgICAgIH1cclxuICAgICAgKSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbG9ja01lbW9Eb2N1bWVudChkb2NJZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKERvY3VtZW50c0NvbnN0YW50cy5vcGVyYXRpb25zLmxvY2tNZW1vKVxyXG4gICAgICAgIC5pbnB1dChkb2NJZClcclxuICAgICAgICAucGFyYW1zKClcclxuICAgICAgICAuZXhlY3V0ZSh7XHJcbiAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIC4uLkRvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuY29tbWl0dGVlLmhlYWRlcnMsXHJcbiAgICAgICAgICAgICdYLU5YZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxkYzpjcmVhdG9yJyxcclxuICAgICAgICAgICAgJ1gtTlhlbnJpY2hlcnMtZG9jdW1lbnQnOiAndGFncycsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcChpdGVtID0+IHsgcmV0dXJuIGl0ZW0gfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHVubG9ja01lbW9Eb2N1bWVudChkb2NJZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKERvY3VtZW50c0NvbnN0YW50cy5vcGVyYXRpb25zLnVubG9ja01lbW8pXHJcbiAgICAgICAgLmlucHV0KGRvY0lkKVxyXG4gICAgICAgIC5wYXJhbXMoKVxyXG4gICAgICAgIC5leGVjdXRlKHtcclxuICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgLi4uRG9jdW1lbnRzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5jb21taXR0ZWUuaGVhZGVycyxcclxuICAgICAgICAgICAgJ1gtTlhmZXRjaC1kb2N1bWVudCc6ICdsb2NrLGRjOmNyZWF0b3InLFxyXG4gICAgICAgICAgICAnWC1OWGVucmljaGVycy1kb2N1bWVudCc6ICd0YWdzJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSlcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKGl0ZW0gPT4geyByZXR1cm4gaXRlbSB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlRG9jdW1lbnQocGF0aDogYW55KSB7XHJcbiAgICByZXR1cm4gZnJvbSh0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC5yZXBvc2l0b3J5KCkuZGVsZXRlKHBhdGgpKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkQmF0Y2goZmlsZXMsIGV4dHJhSGVhZGVycyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcclxuICAgICAgLi4uZmlsZXMubWFwKChmaWxlLCBpZHgpID0+IHtcclxuICAgICAgICBjb25zdCBudXhlb0Jsb2IgPSB0aGlzLm51eGVvU2VydmljZS5jcmVhdGVCbG9iKGZpbGUpO1xyXG4gICAgICAgIC8vIGNvbnN0IGZpbGVOYW1lID0gZmlsZS5uYW1lO1xyXG4gICAgICAgIC8vIGNvbnN0IGJhdGNoID0gdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQuYmF0Y2hVcGxvYWQoKTtcclxuICAgICAgICBpZiAoT2JqZWN0LmtleXMoZXh0cmFIZWFkZXJzKS5sZW5ndGggIT0gMCkge1xyXG4gICAgICAgICAgLy8gQ3VzdG9tIHVwbG9hZCB3aXRoIGhlYWRlcnNcclxuICAgICAgICAgIGxldCBiYXRjaCA9IHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LmJhdGNoVXBsb2FkKCk7XHJcbiAgICAgICAgICBjb25zdCBibG9iID0gbmV3IE51eGVvLkJsb2Ioe1xyXG4gICAgICAgICAgICBjb250ZW50OiBmaWxlLFxyXG4gICAgICAgICAgICBuYW1lOiBmaWxlLm5hbWUsXHJcbiAgICAgICAgICAgIG1pbWVUeXBlOiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJ1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByZXR1cm4gZnJvbShiYXRjaC51cGxvYWQoYmxvYiwge1xyXG4gICAgICAgICAgICBjaHVua1NpemU6IChudXhlb0Jsb2Iuc2l6ZSAqIDEuNSksXHJcbiAgICAgICAgICAgIHVzZUZvcm1EYXRhOiBmYWxzZSxcclxuICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyxcclxuICAgICAgICAgICAgICAnQ2FjaGUtQ29udHJvbCc6ICduby1jYWNoZScsXHJcbiAgICAgICAgICAgICAgJ1gtRmlsZS1OYW1lJzogZW5jb2RlVVJJQ29tcG9uZW50KG51eGVvQmxvYi5uYW1lKSxcclxuICAgICAgICAgICAgICAnWC1GaWxlLVNpemUnOiBudXhlb0Jsb2Iuc2l6ZSxcclxuICAgICAgICAgICAgICAnWC1GaWxlLVR5cGUnOiBudXhlb0Jsb2IubWltZVR5cGUsXHJcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtTGVuZ3RoJzogbnV4ZW9CbG9iLnNpemUsXHJcbiAgICAgICAgICAgICAgJ1gtQmF0Y2gtTm8tRHJvcCc6IHRydWUsXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgICkpXHJcbiAgICAgICAgICBcclxuICAgICAgICAgIC8vIGNvbnN0IGdldEJhdGNoSWQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAvLyAgIHJldHVybiB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC5faHR0cCh7XHJcbiAgICAgICAgICAvLyAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgICAgICAvLyAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfS9hcGkvdjEvdXBsb2FkYCxcclxuICAgICAgICAgIC8vICAgfSkudGhlbigocmVzOiBhbnkpID0+IHJlcy5iYXRjaElkKTtcclxuICAgICAgICAgIC8vIH07XHJcblxyXG4gICAgICAgICAgLy8gcmV0dXJuIGZyb20oXHJcbiAgICAgICAgICAvLyAgIGdldEJhdGNoSWQoKS50aGVuKChiYXRjaElkKSA9PiB7XHJcbiAgICAgICAgICAvLyAgICAgY29uc3Qgb3B0cyA9IHtcclxuICAgICAgICAgIC8vICAgICAgIGpzb246IGZhbHNlLFxyXG4gICAgICAgICAgLy8gICAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgICAgICAvLyAgICAgICB1cmw6IGAke3RoaXMuZW52aXJvbm1lbnQubnV4ZW99L2FwaS92MS91cGxvYWQvJHtiYXRjaElkfS8ke2lkeH1gLFxyXG4gICAgICAgICAgLy8gICAgICAgYm9keTogbnV4ZW9CbG9iLmNvbnRlbnQsXHJcbiAgICAgICAgICAvLyAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAvLyAgICAgICAgIC4uLmV4dHJhSGVhZGVycyxcclxuICAgICAgICAgIC8vICAgICAgICAgJ0NhY2hlLUNvbnRyb2wnOiAnbm8tY2FjaGUnLFxyXG4gICAgICAgICAgLy8gICAgICAgICAnWC1GaWxlLU5hbWUnOiBlbmNvZGVVUklDb21wb25lbnQobnV4ZW9CbG9iLm5hbWUpLFxyXG4gICAgICAgICAgLy8gICAgICAgICAnWC1GaWxlLVNpemUnOiBudXhlb0Jsb2Iuc2l6ZSxcclxuICAgICAgICAgIC8vICAgICAgICAgJ1gtRmlsZS1UeXBlJzogbnV4ZW9CbG9iLm1pbWVUeXBlLFxyXG4gICAgICAgICAgLy8gICAgICAgICAnQ29udGVudC1MZW5ndGgnOiBudXhlb0Jsb2Iuc2l6ZSxcclxuICAgICAgICAgIC8vICAgICAgICAgJ1gtQmF0Y2gtTm8tRHJvcCc6IHRydWUsXHJcbiAgICAgICAgICAvLyAgICAgICB9LFxyXG4gICAgICAgICAgLy8gICAgIH07XHJcbiAgICAgICAgICAvLyAgICAgcmV0dXJuIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50Ll9odHRwKG9wdHMpO1xyXG4gICAgICAgICAgLy8gICB9KVxyXG4gICAgICAgICAgLy8gKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIGZyb20oXHJcbiAgICAgICAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LmJhdGNoVXBsb2FkKCkudXBsb2FkKG51eGVvQmxvYilcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgXSkucGlwZShcclxuICAgICAgbWFwKCh1cGxvYWRlZEZpbGVzOiBhbnlbXSkgPT4ge1xyXG4gICAgICAgIGZpbGVzLmZvckVhY2goKGZpbGUsIGkpID0+IHtcclxuICAgICAgICAgIHVwbG9hZGVkRmlsZXNbaV0udGl0bGUgPSBmaWxlLm5hbWU7XHJcbiAgICAgICAgICBpZih1cGxvYWRlZEZpbGVzW2ldWydibG9icyddKXtcclxuICAgICAgICAgICAgdXBsb2FkZWRGaWxlc1tpXVsnYmxvYiddID0geyAuLi51cGxvYWRlZEZpbGVzW2ldWydibG9icyddWzBdIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gdXBsb2FkZWRGaWxlcztcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVEb2ModXBsb2FkZWRGaWxlLCBwYXRoLCBwYXJhbXMsIGRvY1BhcmFtcyA9IHt9KSB7XHJcbiAgICBjb25zdCBkb2MgPSB7XHJcbiAgICAgICdlbnRpdHktdHlwZSc6ICdkb2N1bWVudCcsXHJcbiAgICAgIG5hbWU6IHVwbG9hZGVkRmlsZS50aXRsZSxcclxuICAgICAgdHlwZTogJ2ZpbGUnLFxyXG4gICAgICAuLi5kb2NQYXJhbXMsXHJcbiAgICAgIHByb3BlcnRpZXM6IHtcclxuICAgICAgICB0aXRsZTogdXBsb2FkZWRGaWxlLnRpdGxlLFxyXG4gICAgICAgIGNvbnRlbnQ6IHVwbG9hZGVkRmlsZS5ibG9iLFxyXG4gICAgICAgIC4uLnBhcmFtcyxcclxuICAgICAgfSxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgcmVwbyA9IHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnJlcG9zaXRvcnkoKTtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICByZXBvLmNyZWF0ZShgJHtwYXRofWAsIHtcclxuICAgICAgICAuLi5kb2MsXHJcbiAgICAgICAgcHJvcGVydGllczogdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0T3V0KFxyXG4gICAgICAgICAgZG9jLnByb3BlcnRpZXMsXHJcbiAgICAgICAgICBEb2N1bWVudHNDb25zdGFudHMuZmllbGRzXHJcbiAgICAgICAgKSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIHVwbG9hZERvY3VtZW50KGZpbGUsIHBhdGgsIHBhcmFtcywgZG9jUGFyYW1zID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMudXBsb2FkQmF0Y2goZmlsZSkucGlwZShcclxuICAgICAgc3dpdGNoTWFwKCh1cGxvYWRlZEZpbGUpID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5jcmVhdGVEb2ModXBsb2FkZWRGaWxlLCBwYXRoLCBwYXJhbXMsIGRvY1BhcmFtcykucGlwZShcclxuICAgICAgICAgIG1hcCgoY3JlYXRlZERvY3VtZW50KSA9PiBjcmVhdGVkRG9jdW1lbnQpLFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIHRocm93IGVycjtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIGdldERvY3VtZW50cyhhbmNlc3RvcklkLCBwcm92aWRlciwgcGFyYW1zID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLnJlcG9zaXRvcnkoKVxyXG4gICAgICAgIC8vIC5lbnJpY2hlcignZG9jdW1lbnQnLCAnYWNscycpXHJcbiAgICAgICAgLnF1ZXJ5KFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBwYWdlUHJvdmlkZXI6IERvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXJbcHJvdmlkZXJdLm5hbWUsXHJcbiAgICAgICAgICAgIC8vIGN0X2F0dGFjaG1lbnRfZG9jUmVmSWQ6IGFuY2VzdG9ySWQsXHJcbiAgICAgICAgICAgIEN0c0NvbW1vbl9jb3JyZXNwb25kZW5jZTogYW5jZXN0b3JJZCxcclxuICAgICAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgaGVhZGVyczogRG9jdW1lbnRzQ29uc3RhbnRzLnBhZ2VQcm92aWRlcltwcm92aWRlcl0uaGVhZGVycyxcclxuICAgICAgICAgIH1cclxuICAgICAgICApXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgZGF0YS5lbnRyaWVzLm1hcCgoaXRlbSkgPT5cclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnRzQWRhcHRlci5hZGFwdEluKGl0ZW0sIHRoaXMuaW5jb21pbmdDb25zdGFudC5hdHRhY2htZW50cylcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
279
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9kb2N1bWVudHMvc2VydmljZXMvZG9jdW1lbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFjLGFBQWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsSUFBSSxLQUFLLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7QUFFckYsY0FBYztBQUlkLE1BQU0sT0FBTyxnQkFBZ0I7SUFNM0IsWUFDVSxZQUEwQixFQUMxQixnQkFBZ0MsRUFDaEMsYUFBK0IsRUFBaUMsV0FBVztRQUYzRSxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWdCO1FBQ2hDLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUFpQyxnQkFBVyxHQUFYLFdBQVcsQ0FBQTtRQVJyRixVQUFLLEdBQUcsSUFBSSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUvQyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQU8vQixxQkFBcUI7UUFDckIsSUFBSSxDQUFDLGdCQUFnQjtZQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxnQkFB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QUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQzs7OEdBOVlVLGdCQUFnQiw0R0FTd0IsYUFBYTtrSEFUckQsZ0JBQWdCLGNBRmYsTUFBTTs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVNkMsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgZnJvbSwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQXBwQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvbmZpZ3VyYXRpb24vYXBwLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2FkYXB0ZXJzL2FkYXB0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcbmltcG9ydCB7IERvY3VtZW50c0NvbnN0YW50cyB9IGZyb20gJy4uL2NvbnN0YW50cy9kb2N1bWVudHMnO1xyXG5pbXBvcnQgeyBOdXhlb092ZXJyaWRlIGFzIE51eGVvIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9udXhlby9udXhlby1vdmVycmlkZSc7XHJcblxyXG4vKiogQGlnbm9yZSAqL1xyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRzU2VydmljZSB7XHJcbiAgdmFsdWUgPSBuZXcgUmVwbGF5U3ViamVjdCgxKTtcclxuICBwdWJsaWMgZ2V0dXBkYXRlZERvY3VtZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICByZUZldGNoID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBpbmNvbWluZ0NvbnN0YW50O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBudXhlb1NlcnZpY2U6IE51eGVvU2VydmljZSxcclxuICAgIHByaXZhdGUgZG9jdW1lbnRzQWRhcHRlcjogQWRhcHRlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IEFwcENvbmZpZ1NlcnZpY2UsIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudFxyXG4gICkge1xyXG4gICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICB0aGlzLmluY29taW5nQ29uc3RhbnQgPVxyXG4gICAgICB0aGlzLmNvbmZpZ1NlcnZpY2UubXlDb25maWd1cmF0aW9uWydjb3JyZXNwb25kYW5jZSddWydpbmNvbWluZyddO1xyXG4gICAgLy8gfSwgMjAwMCk7XHJcbiAgfVxyXG5cclxuICBpbmZvcm1WYWx1ZSh2YWx1ZSkge1xyXG4gICAgbGV0IGFyciA9IFtdO1xyXG4gICAgYXJyLnB1c2godmFsdWUpO1xyXG4gICAgdGhpcy52YWx1ZS5uZXh0KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0RG9jdW1lbnQodWlkLCBoZWFkZXJzPykge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLnJlcG9zaXRvcnkoKVxyXG4gICAgICAgIC5oZWFkZXJzKHtcclxuICAgICAgICAgIC4uLkRvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuY29tbWl0dGVlLmhlYWRlcnMsXHJcbiAgICAgICAgICAnWC1OWGZldGNoLWRvY3VtZW50JzogJ2xvY2ssZGM6Y3JlYXRvcixjb3JyOmNjLGN0c19jb21tb246ZGVwYXJ0bWVudCxjb3JyOm93bmVyJyxcclxuICAgICAgICAgICdYLU5YZW5yaWNoZXJzLWRvY3VtZW50JzogJ3RhZ3MscGVybWlzc2lvbnMnLFxyXG4gICAgICAgICAgLi4uaGVhZGVyc1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZldGNoKHVpZClcclxuICAgICkucGlwZShcclxuICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAvLyBpIGNvbW1lbnRlZCB0aGlzIHNpbmNlIGkgYW0gYWRhcHRpbmcgaW4gZGF0YSBjb21pbmcgaW5zaWRlIHRoZSBwYWdlIG5vdCBoZXJlXHJcbiAgICAgICAgLy8gcmV0dXJuIHRoaXMuZG9jdW1lbnRzQWRhcHRlci5hZGFwdEluKGRhdGEsIERvY3VtZW50c0NvbnN0YW50cy5maWVsZHMpO1xyXG4gICAgICAgIGRlbGV0ZSBkYXRhLl9udXhlbztcclxuICAgICAgICBkZWxldGUgZGF0YS5fcmVwb3NpdG9yeTtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIGdldERvY3VtZW50QXR0YWNobWVudHNXaXRoQWdncmVnYXRpb24ocGFyYW1zID0ge30pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnJlcG9zaXRvcnkoKS5xdWVyeShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwYWdlUHJvdmlkZXI6XHJcbiAgICAgICAgICAgIERvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuZG9jdW1lbnRBdHRhY2htZW50c1dpdGhBZ2dyZWdhdGlvblxyXG4gICAgICAgICAgICAgIC5uYW1lLFxyXG4gICAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaGVhZGVyczpcclxuICAgICAgICAgICAgRG9jdW1lbnRzQ29uc3RhbnRzLnBhZ2VQcm92aWRlci5kb2N1bWVudEF0dGFjaG1lbnRzV2l0aEFnZ3JlZ2F0aW9uXHJcbiAgICAgICAgICAgICAgLmhlYWRlcnMsXHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgZGF0YS5lbnRyaWVzLm1hcCgoaXRlbSkgPT5cclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnRzQWRhcHRlci5hZGFwdEluKGl0ZW0sIERvY3VtZW50c0NvbnN0YW50cy5maWVsZHMpXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIHVwZGF0ZURvY3VtZW50KGRvYywgcGFyYW1zID0ge30pIHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5yZXBvc2l0b3J5KClcclxuICAgICAgICAuaGVhZGVycyh7XHJcbiAgICAgICAgICAuLi5Eb2N1bWVudHNDb25zdGFudHMucGFnZVByb3ZpZGVyLmNvbW1pdHRlZS5oZWFkZXJzLFxyXG4gICAgICAgICAgJ2ZldGNoLWRvY3VtZW50JzogJ2xvY2ssY29tbTpjb21taXR0ZWVJZCxjb21tOm1lZXRpbmdJZCcsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAudXBkYXRlKGRvYywgcGFyYW1zKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmRvY3VtZW50c0FkYXB0ZXIuYWRhcHRJbihkYXRhLCBEb2N1bWVudHNDb25zdGFudHMuZmllbGRzKTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG4gIGNyZWF0ZVZlcnNpb24oZG9jSWQsIHZlcnNpb24gPSAnbWFqb3InLCBjdXN0b21BcGk/LCBjdXN0b21QYXJhbXM/KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5vcGVyYXRpb24oY3VzdG9tQXBpID8gY3VzdG9tQXBpIDogRG9jdW1lbnRzQ29uc3RhbnRzLm9wZXJhdGlvbnMuY3JlYXRlVmVyc2lvbiwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQoZG9jSWQpXHJcbiAgICAgICAgLnBhcmFtcyhjdXN0b21QYXJhbXMgPyBjdXN0b21QYXJhbXMgOiB7IHZlcnNpb24sIH0pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjcmVhdGVNZW1vVmVyc2lvbihkb2NJZCwgdmVyc2lvbiA9ICdtYWpvcicpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihEb2N1bWVudHNDb25zdGFudHMub3BlcmF0aW9ucy5jcmVhdGVNZW1vVmVyc2lvbiwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQoZG9jSWQpXHJcbiAgICAgICAgLnBhcmFtcyh7XHJcbiAgICAgICAgICB2ZXJzaW9uLFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRWZXJzaW9ucyhkb2NJZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKERvY3VtZW50c0NvbnN0YW50cy5vcGVyYXRpb25zLmdldFZlcnNpb25zKVxyXG4gICAgICAgIC5pbnB1dChkb2NJZClcclxuICAgICAgICAucGFyYW1zKClcclxuICAgICAgICAuZXhlY3V0ZSh7XHJcbiAgICAgICAgICBoZWFkZXJzOiBEb2N1bWVudHNDb25zdGFudHMucGFnZVByb3ZpZGVyLmNvbW1pdHRlZS5oZWFkZXJzLFxyXG4gICAgICAgIH0pXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgZGF0YS5lbnRyaWVzLm1hcCgoaXRlbSkgPT5cclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnRzQWRhcHRlci5hZGFwdEluKGl0ZW0sIHRoaXMuaW5jb21pbmdDb25zdGFudC5hdHRhY2htZW50cylcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICB9KSxcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICBsb2NrRG9jdW1lbnQoZG9jSWQsIG1vZGUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihEb2N1bWVudHNDb25zdGFudHMub3BlcmF0aW9ucy5sb2NrKVxyXG4gICAgICAgIC5pbnB1dChkb2NJZClcclxuICAgICAgICAucGFyYW1zKHtcclxuICAgICAgICAgIG1vZGU6IG1vZGUsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZXhlY3V0ZSh7XHJcbiAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIC4uLkRvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuY29tbWl0dGVlLmhlYWRlcnMsXHJcbiAgICAgICAgICAgICdYLU5YZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxkYzpjcmVhdG9yLGNvcnI6b3duZXIsY3RzX2NvbW1vbjpkZXBhcnRtZW50JyxcclxuICAgICAgICAgICAgJ1gtTlhlbnJpY2hlcnMtZG9jdW1lbnQnOiAndGFncycsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBpdGVtXHJcbiAgICAgICAgLy9yZW1vdmUgYWRhcHRlIHNpbmNlIGl0IGlzIGNvdXNpbmcgY29uZmxpY3RzIHdoZW4gZW1pdGluZyBvdXQgc2lkZSBhbmQgcmVhZGFwdGluZyBhZ2FpbiBvdXRzaWRlXHJcbiAgICAgICAgLy8gdGhpcy5kb2N1bWVudHNBZGFwdGVyLmFkYXB0SW4oaXRlbSwgRG9jdW1lbnRzQ29uc3RhbnRzLmZpZWxkcylcclxuICAgICAgfVxyXG4gICAgICApLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB1bmxvY2tEb2N1bWVudChkb2NJZCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKERvY3VtZW50c0NvbnN0YW50cy5vcGVyYXRpb25zLnVubG9jaylcclxuICAgICAgICAuaW5wdXQoZG9jSWQpXHJcbiAgICAgICAgLnBhcmFtcygpXHJcbiAgICAgICAgLmV4ZWN1dGUoe1xyXG4gICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAuLi5Eb2N1bWVudHNDb25zdGFudHMucGFnZVByb3ZpZGVyLmNvbW1pdHRlZS5oZWFkZXJzLFxyXG4gICAgICAgICAgICAnWC1OWGZldGNoLWRvY3VtZW50JzogJ2xvY2ssZGM6Y3JlYXRvcicsXHJcbiAgICAgICAgICAgICdYLU5YZW5yaWNoZXJzLWRvY3VtZW50JzogJ3RhZ3MnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4gaXRlbTtcclxuICAgICAgICAvL3JlbW92ZSBhZGFwdGUgc2luY2UgaXQgaXMgY291c2luZyBjb25mbGljdHMgd2hlbiBlbWl0aW5nIG91dCBzaWRlIGFuZCByZWFkYXB0aW5nIGFnYWluIG91dHNpZGVcclxuICAgICAgICAvLyB0aGlzLmRvY3VtZW50c0FkYXB0ZXIuYWRhcHRJbihpdGVtLCBEb2N1bWVudHNDb25zdGFudHMuZmllbGRzKVxyXG4gICAgICB9XHJcbiAgICAgICksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGxvY2tNZW1vRG9jdW1lbnQoZG9jSWQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihEb2N1bWVudHNDb25zdGFudHMub3BlcmF0aW9ucy5sb2NrTWVtbylcclxuICAgICAgICAuaW5wdXQoZG9jSWQpXHJcbiAgICAgICAgLnBhcmFtcygpXHJcbiAgICAgICAgLmV4ZWN1dGUoe1xyXG4gICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAuLi5Eb2N1bWVudHNDb25zdGFudHMucGFnZVByb3ZpZGVyLmNvbW1pdHRlZS5oZWFkZXJzLFxyXG4gICAgICAgICAgICAnWC1OWGZldGNoLWRvY3VtZW50JzogJ2xvY2ssZGM6Y3JlYXRvcicsXHJcbiAgICAgICAgICAgICdYLU5YZW5yaWNoZXJzLWRvY3VtZW50JzogJ3RhZ3MnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoaXRlbSA9PiB7IHJldHVybiBpdGVtIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICB1bmxvY2tNZW1vRG9jdW1lbnQoZG9jSWQpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihEb2N1bWVudHNDb25zdGFudHMub3BlcmF0aW9ucy51bmxvY2tNZW1vKVxyXG4gICAgICAgIC5pbnB1dChkb2NJZClcclxuICAgICAgICAucGFyYW1zKClcclxuICAgICAgICAuZXhlY3V0ZSh7XHJcbiAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgIC4uLkRvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXIuY29tbWl0dGVlLmhlYWRlcnMsXHJcbiAgICAgICAgICAgICdYLU5YZmV0Y2gtZG9jdW1lbnQnOiAnbG9jayxkYzpjcmVhdG9yJyxcclxuICAgICAgICAgICAgJ1gtTlhlbnJpY2hlcnMtZG9jdW1lbnQnOiAndGFncycsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIG1hcChpdGVtID0+IHsgcmV0dXJuIGl0ZW0gfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZURvY3VtZW50KHBhdGg6IGFueSkge1xyXG4gICAgcmV0dXJuIGZyb20odGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQucmVwb3NpdG9yeSgpLmRlbGV0ZShwYXRoKSkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHVwbG9hZEJhdGNoKGZpbGVzLCBleHRyYUhlYWRlcnMgPSB7fSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXHJcbiAgICAgIC4uLmZpbGVzLm1hcCgoZmlsZSwgaWR4KSA9PiB7XHJcbiAgICAgICAgY29uc3QgbnV4ZW9CbG9iID0gdGhpcy5udXhlb1NlcnZpY2UuY3JlYXRlQmxvYihmaWxlKTtcclxuICAgICAgICAvLyBjb25zdCBmaWxlTmFtZSA9IGZpbGUubmFtZTtcclxuICAgICAgICAvLyBjb25zdCBiYXRjaCA9IHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LmJhdGNoVXBsb2FkKCk7XHJcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKGV4dHJhSGVhZGVycykubGVuZ3RoICE9IDApIHtcclxuICAgICAgICAgIC8vIEN1c3RvbSB1cGxvYWQgd2l0aCBoZWFkZXJzXHJcbiAgICAgICAgICBsZXQgYmF0Y2ggPSB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC5iYXRjaFVwbG9hZCgpO1xyXG4gICAgICAgICAgY29uc3QgYmxvYiA9IG5ldyBOdXhlby5CbG9iKHtcclxuICAgICAgICAgICAgY29udGVudDogZmlsZSxcclxuICAgICAgICAgICAgbmFtZTogZmlsZS5uYW1lLFxyXG4gICAgICAgICAgICBtaW1lVHlwZTogJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSdcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgcmV0dXJuIGZyb20oYmF0Y2gudXBsb2FkKGJsb2IsIHtcclxuICAgICAgICAgICAgY2h1bmtTaXplOiAobnV4ZW9CbG9iLnNpemUgKiAxLjUpLFxyXG4gICAgICAgICAgICB1c2VGb3JtRGF0YTogZmFsc2UsXHJcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsXHJcbiAgICAgICAgICAgICAgJ0NhY2hlLUNvbnRyb2wnOiAnbm8tY2FjaGUnLFxyXG4gICAgICAgICAgICAgICdYLUZpbGUtTmFtZSc6IGVuY29kZVVSSUNvbXBvbmVudChudXhlb0Jsb2IubmFtZSksXHJcbiAgICAgICAgICAgICAgJ1gtRmlsZS1TaXplJzogbnV4ZW9CbG9iLnNpemUsXHJcbiAgICAgICAgICAgICAgJ1gtRmlsZS1UeXBlJzogbnV4ZW9CbG9iLm1pbWVUeXBlLFxyXG4gICAgICAgICAgICAgICdDb250ZW50LUxlbmd0aCc6IG51eGVvQmxvYi5zaXplLFxyXG4gICAgICAgICAgICAgICdYLUJhdGNoLU5vLURyb3AnOiB0cnVlLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICApKVxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICAvLyBjb25zdCBnZXRCYXRjaElkID0gKCkgPT4ge1xyXG4gICAgICAgICAgLy8gICByZXR1cm4gdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQuX2h0dHAoe1xyXG4gICAgICAgICAgLy8gICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgICAgICAgLy8gICAgIHVybDogYCR7dGhpcy5lbnZpcm9ubWVudC5udXhlb30vYXBpL3YxL3VwbG9hZGAsXHJcbiAgICAgICAgICAvLyAgIH0pLnRoZW4oKHJlczogYW55KSA9PiByZXMuYmF0Y2hJZCk7XHJcbiAgICAgICAgICAvLyB9O1xyXG5cclxuICAgICAgICAgIC8vIHJldHVybiBmcm9tKFxyXG4gICAgICAgICAgLy8gICBnZXRCYXRjaElkKCkudGhlbigoYmF0Y2hJZCkgPT4ge1xyXG4gICAgICAgICAgLy8gICAgIGNvbnN0IG9wdHMgPSB7XHJcbiAgICAgICAgICAvLyAgICAgICBqc29uOiBmYWxzZSxcclxuICAgICAgICAgIC8vICAgICAgIG1ldGhvZDogJ1BPU1QnLFxyXG4gICAgICAgICAgLy8gICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfS9hcGkvdjEvdXBsb2FkLyR7YmF0Y2hJZH0vJHtpZHh9YCxcclxuICAgICAgICAgIC8vICAgICAgIGJvZHk6IG51eGVvQmxvYi5jb250ZW50LFxyXG4gICAgICAgICAgLy8gICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgLy8gICAgICAgICAuLi5leHRyYUhlYWRlcnMsXHJcbiAgICAgICAgICAvLyAgICAgICAgICdDYWNoZS1Db250cm9sJzogJ25vLWNhY2hlJyxcclxuICAgICAgICAgIC8vICAgICAgICAgJ1gtRmlsZS1OYW1lJzogZW5jb2RlVVJJQ29tcG9uZW50KG51eGVvQmxvYi5uYW1lKSxcclxuICAgICAgICAgIC8vICAgICAgICAgJ1gtRmlsZS1TaXplJzogbnV4ZW9CbG9iLnNpemUsXHJcbiAgICAgICAgICAvLyAgICAgICAgICdYLUZpbGUtVHlwZSc6IG51eGVvQmxvYi5taW1lVHlwZSxcclxuICAgICAgICAgIC8vICAgICAgICAgJ0NvbnRlbnQtTGVuZ3RoJzogbnV4ZW9CbG9iLnNpemUsXHJcbiAgICAgICAgICAvLyAgICAgICAgICdYLUJhdGNoLU5vLURyb3AnOiB0cnVlLFxyXG4gICAgICAgICAgLy8gICAgICAgfSxcclxuICAgICAgICAgIC8vICAgICB9O1xyXG4gICAgICAgICAgLy8gICAgIHJldHVybiB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC5faHR0cChvcHRzKTtcclxuICAgICAgICAgIC8vICAgfSlcclxuICAgICAgICAgIC8vICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBmcm9tKFxyXG4gICAgICAgICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC5iYXRjaFVwbG9hZCgpLnVwbG9hZChudXhlb0Jsb2IpXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIF0pLnBpcGUoXHJcbiAgICAgIG1hcCgodXBsb2FkZWRGaWxlczogYW55W10pID0+IHtcclxuICAgICAgICBmaWxlcy5mb3JFYWNoKChmaWxlLCBpKSA9PiB7XHJcbiAgICAgICAgICB1cGxvYWRlZEZpbGVzW2ldLnRpdGxlID0gZmlsZS5uYW1lO1xyXG4gICAgICAgICAgaWYodXBsb2FkZWRGaWxlc1tpXVsnYmxvYnMnXSl7XHJcbiAgICAgICAgICAgIHVwbG9hZGVkRmlsZXNbaV1bJ2Jsb2InXSA9IHsgLi4udXBsb2FkZWRGaWxlc1tpXVsnYmxvYnMnXVswXSB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHVwbG9hZGVkRmlsZXM7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlRG9jKHVwbG9hZGVkRmlsZSwgcGF0aCwgcGFyYW1zLCBkb2NQYXJhbXMgPSB7fSkge1xyXG4gICAgY29uc3QgZG9jID0ge1xyXG4gICAgICAnZW50aXR5LXR5cGUnOiAnZG9jdW1lbnQnLFxyXG4gICAgICBuYW1lOiB1cGxvYWRlZEZpbGUudGl0bGUsXHJcbiAgICAgIHR5cGU6ICdmaWxlJyxcclxuICAgICAgLi4uZG9jUGFyYW1zLFxyXG4gICAgICBwcm9wZXJ0aWVzOiB7XHJcbiAgICAgICAgdGl0bGU6IHVwbG9hZGVkRmlsZS50aXRsZSxcclxuICAgICAgICBjb250ZW50OiB1cGxvYWRlZEZpbGUuYmxvYixcclxuICAgICAgICAuLi5wYXJhbXMsXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG5cclxuICAgIGNvbnN0IHJlcG8gPSB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC5yZXBvc2l0b3J5KCk7XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgcmVwby5jcmVhdGUoYCR7cGF0aH1gLCB7XHJcbiAgICAgICAgLi4uZG9jLFxyXG4gICAgICAgIHByb3BlcnRpZXM6IHRoaXMuZG9jdW1lbnRzQWRhcHRlci5hZGFwdE91dChcclxuICAgICAgICAgIGRvYy5wcm9wZXJ0aWVzLFxyXG4gICAgICAgICAgRG9jdW1lbnRzQ29uc3RhbnRzLmZpZWxkc1xyXG4gICAgICAgICksXHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICB1cGxvYWREb2N1bWVudChmaWxlLCBwYXRoLCBwYXJhbXMsIGRvY1BhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnVwbG9hZEJhdGNoKGZpbGUpLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcCgodXBsb2FkZWRGaWxlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlRG9jKHVwbG9hZGVkRmlsZSwgcGF0aCwgcGFyYW1zLCBkb2NQYXJhbXMpLnBpcGUoXHJcbiAgICAgICAgICBtYXAoKGNyZWF0ZWREb2N1bWVudCkgPT4gY3JlYXRlZERvY3VtZW50KSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICBnZXREb2N1bWVudHMoYW5jZXN0b3JJZCwgcHJvdmlkZXIsIHBhcmFtcyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5yZXBvc2l0b3J5KClcclxuICAgICAgICAvLyAuZW5yaWNoZXIoJ2RvY3VtZW50JywgJ2FjbHMnKVxyXG4gICAgICAgIC5xdWVyeShcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgcGFnZVByb3ZpZGVyOiBEb2N1bWVudHNDb25zdGFudHMucGFnZVByb3ZpZGVyW3Byb3ZpZGVyXS5uYW1lLFxyXG4gICAgICAgICAgICAvLyBjdF9hdHRhY2htZW50X2RvY1JlZklkOiBhbmNlc3RvcklkLFxyXG4gICAgICAgICAgICBDdHNDb21tb25fY29ycmVzcG9uZGVuY2U6IGFuY2VzdG9ySWQsXHJcbiAgICAgICAgICAgIC4uLnBhcmFtcyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGhlYWRlcnM6IERvY3VtZW50c0NvbnN0YW50cy5wYWdlUHJvdmlkZXJbcHJvdmlkZXJdLmhlYWRlcnMsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGRhdGEuZW50cmllcy5tYXAoKGl0ZW0pID0+XHJcbiAgICAgICAgICB0aGlzLmRvY3VtZW50c0FkYXB0ZXIuYWRhcHRJbihpdGVtLCB0aGlzLmluY29taW5nQ29uc3RhbnQuYXR0YWNobWVudHMpXHJcbiAgICAgICAgKTtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgfSksXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==