@bizdoc/core 3.0.7 → 3.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (653) hide show
  1. package/assets/themes/brown.min.css +1 -1
  2. package/assets/themes/dark.min.css +1 -1
  3. package/assets/themes/deep-purple-light-blue.min.css +1 -1
  4. package/assets/themes/deep-purple-teal.min.css +1 -1
  5. package/assets/themes/default.min.css +26 -16
  6. package/assets/themes/green.min.css +1 -1
  7. package/assets/themes/indigo-amber.min.css +1 -1
  8. package/assets/themes/indigo.min.css +1 -1
  9. package/esm2022/bizdoc-core.mjs +1 -1
  10. package/esm2022/lib/admin/admin-dismiss.service.mjs +4 -4
  11. package/esm2022/lib/admin/admin-menu.component.mjs +4 -4
  12. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +10 -10
  13. package/esm2022/lib/admin/architecture/declarations.mjs +3 -2
  14. package/esm2022/lib/admin/architecture/designer-element.component.mjs +25 -22
  15. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +5 -5
  16. package/esm2022/lib/admin/architecture/designer.base.mjs +11 -14
  17. package/esm2022/lib/admin/architecture/designer.component.mjs +8 -7
  18. package/esm2022/lib/admin/architecture/elements/action.component.mjs +4 -5
  19. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +4 -4
  20. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +4 -4
  21. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +4 -4
  22. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +4 -5
  23. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +4 -4
  24. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +4 -4
  25. package/esm2022/lib/admin/architecture/elements/control.component.mjs +4 -7
  26. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +4 -4
  27. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +4 -4
  28. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +14 -15
  29. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +5 -7
  30. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +4 -4
  31. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +4 -4
  32. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +4 -4
  33. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +4 -5
  34. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +8 -10
  35. package/esm2022/lib/admin/architecture/elements/form.component.mjs +12 -13
  36. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +4 -5
  37. package/esm2022/lib/admin/architecture/elements/job.component.mjs +4 -5
  38. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +5 -5
  39. package/esm2022/lib/admin/architecture/elements/node.component.mjs +4 -4
  40. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +4 -4
  41. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +4 -4
  42. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +4 -4
  43. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +4 -4
  44. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +4 -4
  45. package/esm2022/lib/admin/architecture/elements/report.component.mjs +4 -5
  46. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +4 -4
  47. package/esm2022/lib/admin/architecture/elements/role.component.mjs +4 -5
  48. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +4 -4
  49. package/esm2022/lib/admin/architecture/elements/source.component.mjs +4 -4
  50. package/esm2022/lib/admin/architecture/elements/state.component.mjs +4 -5
  51. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +4 -4
  52. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +4 -4
  53. package/esm2022/lib/admin/architecture/elements/type.component.mjs +6 -7
  54. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +5 -5
  55. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +4 -4
  56. package/esm2022/lib/admin/architecture/elements/view.component.mjs +4 -4
  57. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +4 -5
  58. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +11 -6
  59. package/esm2022/lib/admin/core/ace.input.mjs +14 -13
  60. package/esm2022/lib/admin/core/color-picker.input.mjs +4 -4
  61. package/esm2022/lib/admin/core/localized-string.component.mjs +7 -6
  62. package/esm2022/lib/admin/core/search.input.mjs +5 -5
  63. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +7 -6
  64. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +18 -12
  65. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +4 -4
  66. package/esm2022/lib/admin/document-trace/timeline.mjs +1 -1
  67. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +5 -5
  68. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +7 -7
  69. package/esm2022/lib/admin/form/designer/declarations.mjs +1 -1
  70. package/esm2022/lib/admin/form/designer/design-control.component.mjs +4 -4
  71. package/esm2022/lib/admin/form/designer/properties.component.mjs +5 -5
  72. package/esm2022/lib/admin/form/designer/section.component.mjs +4 -4
  73. package/esm2022/lib/admin/form/designer/settings.component.mjs +4 -4
  74. package/esm2022/lib/admin/form/form.resolve.service.mjs +4 -4
  75. package/esm2022/lib/admin/form/workflow/node-ref.mjs +1 -1
  76. package/esm2022/lib/admin/form/workflow/node.component.mjs +34 -34
  77. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +4 -4
  78. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +33 -33
  79. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +8 -8
  80. package/esm2022/lib/admin/patterns/patterns.component.mjs +4 -4
  81. package/esm2022/lib/admin/permissions/permissions.component.mjs +4 -4
  82. package/esm2022/lib/admin/positions/positions-popup.component.mjs +7 -6
  83. package/esm2022/lib/admin/positions/positions.component.mjs +8 -8
  84. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +5 -5
  85. package/esm2022/lib/admin/profiler/profiler.component.mjs +6 -6
  86. package/esm2022/lib/admin/system.service.mjs +15 -11
  87. package/esm2022/lib/admin/utility-ref.mjs +7 -5
  88. package/esm2022/lib/admin/utility-wrapper.component.mjs +4 -4
  89. package/esm2022/lib/admin/utility.pane.component.mjs +4 -4
  90. package/esm2022/lib/app.component.mjs +7 -7
  91. package/esm2022/lib/bizdoc.module.mjs +5 -5
  92. package/esm2022/lib/browse/browse-items.component.mjs +34 -33
  93. package/esm2022/lib/browse/browse.mobile.component.mjs +11 -8
  94. package/esm2022/lib/browse/browse.pane.component.mjs +9 -9
  95. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +11 -11
  96. package/esm2022/lib/browse/filter/filter.component.mjs +27 -39
  97. package/esm2022/lib/browse/folders-menu.component.mjs +4 -4
  98. package/esm2022/lib/chat/chat-info.mjs +9 -8
  99. package/esm2022/lib/chat/chat.mobile.component.mjs +4 -4
  100. package/esm2022/lib/chat/chat.service.mjs +6 -6
  101. package/esm2022/lib/chat/contacts.component.mjs +9 -8
  102. package/esm2022/lib/chat/contacts.pane.component.mjs +4 -4
  103. package/esm2022/lib/chat/conversation.component.mjs +7 -7
  104. package/esm2022/lib/chat/conversation.pane.component.mjs +4 -4
  105. package/esm2022/lib/compose/action/action-picker.component.mjs +6 -9
  106. package/esm2022/lib/compose/action/action-ref.mjs +1 -1
  107. package/esm2022/lib/compose/action/action.base.mjs +1 -1
  108. package/esm2022/lib/compose/action/action.dialog.mjs +5 -5
  109. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +7 -7
  110. package/esm2022/lib/compose/action/assign-action.component.mjs +4 -4
  111. package/esm2022/lib/compose/action/moveto-action.component.mjs +5 -5
  112. package/esm2022/lib/compose/action/return-action.component.mjs +4 -4
  113. package/esm2022/lib/compose/attachments/attachments.component.mjs +4 -4
  114. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +4 -4
  115. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +4 -4
  116. package/esm2022/lib/compose/box/box.component.mjs +4 -4
  117. package/esm2022/lib/compose/box/control.component.mjs +4 -4
  118. package/esm2022/lib/compose/box/row.component.mjs +4 -4
  119. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +4 -4
  120. package/esm2022/lib/compose/comments/comment.component.mjs +17 -14
  121. package/esm2022/lib/compose/comments/comments.component.mjs +6 -6
  122. package/esm2022/lib/compose/comments/comments.pane.component.mjs +5 -5
  123. package/esm2022/lib/compose/comments/edit-comment.component.mjs +4 -4
  124. package/esm2022/lib/compose/comments/edits.component.mjs +4 -4
  125. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +5 -5
  126. package/esm2022/lib/compose/comments/votes.component.mjs +4 -4
  127. package/esm2022/lib/compose/compose-resolve.service.mjs +4 -4
  128. package/esm2022/lib/compose/compose.mobile.component.mjs +8 -8
  129. package/esm2022/lib/compose/compose.pane.component.mjs +11 -11
  130. package/esm2022/lib/compose/copy/copy.dialog.mjs +4 -4
  131. package/esm2022/lib/compose/dismiss.service.mjs +4 -4
  132. package/esm2022/lib/compose/document-resolve.service.mjs +7 -7
  133. package/esm2022/lib/compose/document-resolver.service.mjs +4 -4
  134. package/esm2022/lib/compose/document.component.mjs +4 -4
  135. package/esm2022/lib/compose/document.mobile.component.mjs +4 -4
  136. package/esm2022/lib/compose/document.pane.component.mjs +4 -4
  137. package/esm2022/lib/compose/events/events.component.mjs +4 -4
  138. package/esm2022/lib/compose/form-ref.mjs +1 -1
  139. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +4 -4
  140. package/esm2022/lib/compose/form.component.mjs +58 -22
  141. package/esm2022/lib/compose/new-menu.component.mjs +7 -6
  142. package/esm2022/lib/compose/overlay.component.exp.mjs +4 -4
  143. package/esm2022/lib/compose/privilage.directive.mjs +7 -7
  144. package/esm2022/lib/compose/recipient-resolver.service.mjs +4 -4
  145. package/esm2022/lib/compose/state.component.mjs +4 -4
  146. package/esm2022/lib/compose/tag/tags.component.mjs +4 -4
  147. package/esm2022/lib/compose/trace/flow.component.mjs +16 -17
  148. package/esm2022/lib/compose/trace/people.component.mjs +14 -9
  149. package/esm2022/lib/compose/trace/trace.base.mjs +6 -7
  150. package/esm2022/lib/compose/trace/trace.component.mjs +5 -5
  151. package/esm2022/lib/compose/trace/trace.pane.component.mjs +4 -4
  152. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +5 -4
  153. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +14 -14
  154. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +4 -4
  155. package/esm2022/lib/core/account.service.mjs +4 -4
  156. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +4 -4
  157. package/esm2022/lib/core/animations.mjs +1 -1
  158. package/esm2022/lib/core/authentication.mjs +1 -4
  159. package/esm2022/lib/core/avatar/avatar.component.mjs +52 -43
  160. package/esm2022/lib/core/base.mjs +1 -1
  161. package/esm2022/lib/core/checkbox.mjs +4 -4
  162. package/esm2022/lib/core/colors.mjs +1 -1
  163. package/esm2022/lib/core/component-factory-resolver.mjs +5 -5
  164. package/esm2022/lib/core/configuration.mjs +1 -1
  165. package/esm2022/lib/core/datasource.service.mjs +4 -4
  166. package/esm2022/lib/core/decorators.mjs +1 -1
  167. package/esm2022/lib/core/document-factory.service.mjs +4 -11
  168. package/esm2022/lib/core/fields/address.designer.mjs +4 -4
  169. package/esm2022/lib/core/fields/address.field.mjs +4 -4
  170. package/esm2022/lib/core/fields/autocomplete.field.mjs +7 -7
  171. package/esm2022/lib/core/fields/axes-picker.designer.mjs +4 -4
  172. package/esm2022/lib/core/fields/axes-picker.field.mjs +4 -4
  173. package/esm2022/lib/core/fields/checkbox.designer.mjs +4 -4
  174. package/esm2022/lib/core/fields/checkbox.field.mjs +4 -4
  175. package/esm2022/lib/core/fields/checklist.designer.mjs +4 -4
  176. package/esm2022/lib/core/fields/checklist.field.mjs +4 -4
  177. package/esm2022/lib/core/fields/date-range.designer.mjs +4 -4
  178. package/esm2022/lib/core/fields/date-range.field.mjs +4 -4
  179. package/esm2022/lib/core/fields/date.designer.mjs +4 -4
  180. package/esm2022/lib/core/fields/date.field.mjs +4 -4
  181. package/esm2022/lib/core/fields/expression.field.mjs +7 -7
  182. package/esm2022/lib/core/fields/file.designer.mjs +4 -4
  183. package/esm2022/lib/core/fields/file.field.mjs +4 -4
  184. package/esm2022/lib/core/fields/html.designer.mjs +4 -4
  185. package/esm2022/lib/core/fields/html.field.mjs +4 -4
  186. package/esm2022/lib/core/fields/input.designer.mjs +4 -4
  187. package/esm2022/lib/core/fields/input.field.mjs +4 -4
  188. package/esm2022/lib/core/fields/localized-string.field.mjs +7 -7
  189. package/esm2022/lib/core/fields/numeric.designer.mjs +4 -4
  190. package/esm2022/lib/core/fields/numeric.field.mjs +4 -4
  191. package/esm2022/lib/core/fields/options.base.mjs +8 -8
  192. package/esm2022/lib/core/fields/options.component.mjs +4 -4
  193. package/esm2022/lib/core/fields/radio-button.designer.mjs +4 -4
  194. package/esm2022/lib/core/fields/radio-button.field.mjs +4 -4
  195. package/esm2022/lib/core/fields/select.designer.mjs +4 -4
  196. package/esm2022/lib/core/fields/select.field.mjs +4 -4
  197. package/esm2022/lib/core/fields/signature.designer.mjs +4 -4
  198. package/esm2022/lib/core/fields/signature.field.mjs +4 -4
  199. package/esm2022/lib/core/fields/switch.field.mjs +4 -4
  200. package/esm2022/lib/core/fields/tags.designer.mjs +4 -4
  201. package/esm2022/lib/core/fields/tags.field.mjs +4 -4
  202. package/esm2022/lib/core/fields/textarea.designer.mjs +4 -4
  203. package/esm2022/lib/core/fields/textarea.field.mjs +4 -4
  204. package/esm2022/lib/core/fields/time.designer.mjs +4 -4
  205. package/esm2022/lib/core/fields/time.field.mjs +4 -4
  206. package/esm2022/lib/core/fields/timespan.field.mjs +7 -7
  207. package/esm2022/lib/core/fields/yesno.designer.mjs +4 -4
  208. package/esm2022/lib/core/fields/yesno.field.mjs +4 -4
  209. package/esm2022/lib/core/firebase.service.mjs +1 -1
  210. package/esm2022/lib/core/functions.mjs +4 -1
  211. package/esm2022/lib/core/guide/guide.component.mjs +4 -4
  212. package/esm2022/lib/core/guide/guide.service.mjs +11 -7
  213. package/esm2022/lib/core/guide/help-tip.component.mjs +5 -5
  214. package/esm2022/lib/core/http.interceptor.mjs +6 -6
  215. package/esm2022/lib/core/hub.service.mjs +4 -4
  216. package/esm2022/lib/core/identity/identity.component.mjs +4 -4
  217. package/esm2022/lib/core/info/attachment-info.service.mjs +4 -4
  218. package/esm2022/lib/core/info/document-info.service.mjs +4 -4
  219. package/esm2022/lib/core/info/location-info.component.mjs +4 -4
  220. package/esm2022/lib/core/info/map-info.mjs +4 -4
  221. package/esm2022/lib/core/inputs/address.input.mjs +4 -4
  222. package/esm2022/lib/core/inputs/auto-complete.input.mjs +7 -6
  223. package/esm2022/lib/core/inputs/combination-picker-body.mjs +10 -12
  224. package/esm2022/lib/core/inputs/combination-picker.mjs +5 -6
  225. package/esm2022/lib/core/inputs/combination-pool.mjs +6 -5
  226. package/esm2022/lib/core/inputs/file.input.mjs +29 -23
  227. package/esm2022/lib/core/inputs/select.input.mjs +4 -4
  228. package/esm2022/lib/core/inputs/signature.input.mjs +4 -4
  229. package/esm2022/lib/core/inputs/time-picker.mjs +7 -7
  230. package/esm2022/lib/core/inputs/timespan.input.mjs +7 -7
  231. package/esm2022/lib/core/layout.component.mjs +11 -5
  232. package/esm2022/lib/core/lottie-animation.exp.mjs +49 -0
  233. package/esm2022/lib/core/mailbox.service.mjs +20 -14
  234. package/esm2022/lib/core/models.mjs +2 -1
  235. package/esm2022/lib/core/none.component.mjs +4 -4
  236. package/esm2022/lib/core/pipes/action.pipe.mjs +4 -4
  237. package/esm2022/lib/core/pipes/calendar.pipe.mjs +4 -4
  238. package/esm2022/lib/core/pipes/date-format.pipe.mjs +4 -4
  239. package/esm2022/lib/core/pipes/daterange.pipe.mjs +7 -7
  240. package/esm2022/lib/core/pipes/difference.pipe.mjs +4 -4
  241. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +4 -4
  242. package/esm2022/lib/core/pipes/duration.pipe.mjs +4 -4
  243. package/esm2022/lib/core/pipes/filter.pipe.mjs +25 -0
  244. package/esm2022/lib/core/pipes/form.pipe.mjs +4 -4
  245. package/esm2022/lib/core/pipes/join.pipe.mjs +4 -4
  246. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +4 -4
  247. package/esm2022/lib/core/pipes/role.pipe.mjs +4 -4
  248. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +4 -4
  249. package/esm2022/lib/core/pipes/sort.pipe.mjs +8 -30
  250. package/esm2022/lib/core/pipes/state.pipe.mjs +4 -4
  251. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +4 -4
  252. package/esm2022/lib/core/pipes/to-now.pipe.mjs +4 -4
  253. package/esm2022/lib/core/pipes/translate.pipe.mjs +10 -10
  254. package/esm2022/lib/core/pipes/type-value.pipe.mjs +4 -4
  255. package/esm2022/lib/core/pipes/user-name.pipe.mjs +4 -4
  256. package/esm2022/lib/core/popup/popup-ref.mjs +1 -1
  257. package/esm2022/lib/core/popup/popup.component.mjs +4 -4
  258. package/esm2022/lib/core/popup/popup.service.mjs +7 -5
  259. package/esm2022/lib/core/popup/tooltip.directive.mjs +10 -11
  260. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +4 -4
  261. package/esm2022/lib/core/prompt/mask/mask.component.mjs +4 -4
  262. package/esm2022/lib/core/prompt.service.mjs +6 -6
  263. package/esm2022/lib/core/router.mjs +9 -9
  264. package/esm2022/lib/core/save-changes.dialog.mjs +4 -4
  265. package/esm2022/lib/core/session.service.mjs +47 -36
  266. package/esm2022/lib/core/slots/pane-ref.mjs +2 -2
  267. package/esm2022/lib/core/slots/router.directive.mjs +4 -4
  268. package/esm2022/lib/core/slots/router.service.mjs +6 -5
  269. package/esm2022/lib/core/slots/slots.component.mjs +25 -22
  270. package/esm2022/lib/core/sticky-toolbar.exp.mjs +9 -6
  271. package/esm2022/lib/core/tagging/documents.component.mjs +4 -4
  272. package/esm2022/lib/core/tagging/edit-input.component.mjs +16 -13
  273. package/esm2022/lib/core/tagging/emoji.component.mjs +4 -4
  274. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +4 -4
  275. package/esm2022/lib/core/tagging/tagging.component-base.mjs +4 -4
  276. package/esm2022/lib/core/tagging/tagging.directive.mjs +5 -5
  277. package/esm2022/lib/core/tagging/tagging.pipe.mjs +4 -4
  278. package/esm2022/lib/core/tagging/users.component.mjs +5 -5
  279. package/esm2022/lib/core/translate.service.mjs +5 -4
  280. package/esm2022/lib/core/translations.mjs +8 -6
  281. package/esm2022/lib/core/virtual-tabs.component.exp.mjs +7 -7
  282. package/esm2022/lib/core/window-title.service.mjs +14 -6
  283. package/esm2022/lib/cube/accum/accum.component.mjs +4 -4
  284. package/esm2022/lib/cube/chart/chart.component.mjs +8 -7
  285. package/esm2022/lib/cube/cube-info.service.mjs +13 -10
  286. package/esm2022/lib/cube/cube-menu.component.mjs +4 -4
  287. package/esm2022/lib/cube/cube-view.component.mjs +5 -5
  288. package/esm2022/lib/cube/cube.service.mjs +21 -19
  289. package/esm2022/lib/cube/declarations.mjs +1 -1
  290. package/esm2022/lib/cube/explore/document-item.component.mjs +4 -4
  291. package/esm2022/lib/cube/explore/explore-item.component.mjs +4 -4
  292. package/esm2022/lib/cube/explore/explore-items.component.mjs +8 -8
  293. package/esm2022/lib/cube/explore/explore.pane.component.mjs +5 -5
  294. package/esm2022/lib/cube/explore/item-resolver.service.mjs +7 -7
  295. package/esm2022/lib/cube/explore/item.pane.component.mjs +5 -5
  296. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +4 -4
  297. package/esm2022/lib/cube/filter/filter.component.mjs +14 -13
  298. package/esm2022/lib/cube/grid/grid.component.mjs +9 -8
  299. package/esm2022/lib/cube/matrix/matrix.base.mjs +20 -18
  300. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +4 -4
  301. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +5 -5
  302. package/esm2022/lib/cube/matrix/popup.component.mjs +4 -4
  303. package/esm2022/lib/cube/matrix/table.component.mjs +9 -8
  304. package/esm2022/lib/cube/parallel/item.mjs +1 -2
  305. package/esm2022/lib/cube/parallel/parallel.component.mjs +5 -5
  306. package/esm2022/lib/cube/pivot/pivot.component.mjs +16 -7
  307. package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +6 -6
  308. package/esm2022/lib/cube/spreadsheet/spreadsheet.container.exp.mjs +4 -4
  309. package/esm2022/lib/cube/sum/sum.component.mjs +19 -18
  310. package/esm2022/lib/cube/view-base.mjs +5 -5
  311. package/esm2022/lib/cube/view.mobile.component.mjs +5 -5
  312. package/esm2022/lib/cube/view.pane.component.mjs +4 -4
  313. package/esm2022/lib/dashboard/actions/actions.widget.mjs +7 -6
  314. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +4 -8
  315. package/esm2022/lib/dashboard/cube/compare.widget.mjs +5 -7
  316. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +8 -6
  317. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +4 -4
  318. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +5 -4
  319. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +6 -5
  320. package/esm2022/lib/dashboard/cube/documents.widget.mjs +4 -4
  321. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +4 -4
  322. package/esm2022/lib/dashboard/dashboard.component.mjs +4 -4
  323. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +4 -4
  324. package/esm2022/lib/dashboard/recents/recents.widget.mjs +13 -16
  325. package/esm2022/lib/dashboard/score/activity.widget.mjs +6 -5
  326. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +12 -5
  327. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +9 -8
  328. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +4 -4
  329. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +19 -18
  330. package/esm2022/lib/dashboard/widget-item.component.mjs +4 -4
  331. package/esm2022/lib/dashboard/widget-ref.mjs +1 -1
  332. package/esm2022/lib/designer.module.mjs +5 -5
  333. package/esm2022/lib/desktop.module.mjs +8 -12
  334. package/esm2022/lib/home/about/about.dialog.mjs +5 -5
  335. package/esm2022/lib/home/home-base.component.mjs +18 -10
  336. package/esm2022/lib/home/home.desktop.component.mjs +14 -24
  337. package/esm2022/lib/home/home.mobile.component.mjs +29 -32
  338. package/esm2022/lib/home/notifications/notifications.component.mjs +21 -23
  339. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +9 -9
  340. package/esm2022/lib/home/sign/sign.component.mjs +20 -24
  341. package/esm2022/lib/impersonate/impersonate.component.mjs +36 -34
  342. package/esm2022/lib/mobile.module.mjs +8 -11
  343. package/esm2022/lib/modules/chart.module.mjs +13 -11
  344. package/esm2022/lib/modules/circular-gauge.module.mjs +9 -7
  345. package/esm2022/lib/modules/date.adapter.mjs +1 -1
  346. package/esm2022/lib/modules/datepicker.intl.mjs +4 -4
  347. package/esm2022/lib/modules/dayjs.module.mjs +5 -5
  348. package/esm2022/lib/modules/diagram.module.mjs +9 -7
  349. package/esm2022/lib/modules/gantt.module.mjs +11 -9
  350. package/esm2022/lib/modules/grid.module.mjs +9 -7
  351. package/esm2022/lib/modules/linear-gauge.module.mjs +5 -5
  352. package/esm2022/lib/modules/material.module.mjs +5 -5
  353. package/esm2022/lib/modules/paginator.intl.mjs +4 -4
  354. package/esm2022/lib/modules/pivot.module.mjs +9 -7
  355. package/esm2022/lib/modules/schedule.module.mjs +9 -7
  356. package/esm2022/lib/modules/spreadsheet.module.mjs +5 -5
  357. package/esm2022/lib/modules/stepper.intl.mjs +4 -4
  358. package/esm2022/lib/modules/texteditor.module.mjs +7 -6
  359. package/esm2022/lib/notifications/filter.component.mjs +4 -4
  360. package/esm2022/lib/notifications/notifications-table.component.mjs +6 -7
  361. package/esm2022/lib/notifications/notifications.component-base.mjs +1 -1
  362. package/esm2022/lib/notifications/notifications.mobile.component.mjs +4 -4
  363. package/esm2022/lib/notifications/notifications.pane.component.mjs +4 -4
  364. package/esm2022/lib/notifications/notifications.service.mjs +13 -6
  365. package/esm2022/lib/notifications/types/commented.notification.mjs +4 -4
  366. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +4 -4
  367. package/esm2022/lib/notifications/types/escalated.notification.mjs +4 -4
  368. package/esm2022/lib/notifications/types/invite.notification.mjs +4 -4
  369. package/esm2022/lib/notifications/types/liked.notification.mjs +4 -4
  370. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +4 -4
  371. package/esm2022/lib/notifications/types/notification-base.mjs +4 -4
  372. package/esm2022/lib/notifications/types/nudge.notification.mjs +4 -4
  373. package/esm2022/lib/notifications/types/state-changed.notification.mjs +4 -4
  374. package/esm2022/lib/notifications/types/tagged.notification.mjs +4 -4
  375. package/esm2022/lib/notifications/types/text.notification.mjs +4 -4
  376. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +4 -4
  377. package/esm2022/lib/options/options.component.mjs +91 -49
  378. package/esm2022/lib/options/options.desktop.component.mjs +26 -0
  379. package/esm2022/lib/options/options.mobile.component.mjs +23 -0
  380. package/esm2022/lib/reports/arguments-component.mjs +4 -4
  381. package/esm2022/lib/reports/cube/documents.component.mjs +4 -4
  382. package/esm2022/lib/reports/cube/grid-documents.component.mjs +4 -4
  383. package/esm2022/lib/reports/cube/performance-hilo.component.mjs +5 -5
  384. package/esm2022/lib/reports/cube/performance-wind.component.mjs +4 -4
  385. package/esm2022/lib/reports/cube/table-documents.component.mjs +6 -5
  386. package/esm2022/lib/reports/cube/usage-args.component.mjs +6 -5
  387. package/esm2022/lib/reports/cube/usage-base.mjs +8 -8
  388. package/esm2022/lib/reports/cube/usage-chart.component.mjs +6 -6
  389. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +5 -5
  390. package/esm2022/lib/reports/cube/usage.component.mjs +4 -4
  391. package/esm2022/lib/reports/report-ref.mjs +1 -1
  392. package/esm2022/lib/reports/report-viewer.component.mjs +5 -5
  393. package/esm2022/lib/reports/report.mobile.component.mjs +4 -4
  394. package/esm2022/lib/reports/report.pane.component.mjs +4 -4
  395. package/esm2022/lib/reports/reports-menu.component.mjs +4 -4
  396. package/esm2022/lib/reports/substitution/substitution.component.mjs +4 -4
  397. package/esm2022/lib/reports/table/table-view.component.mjs +4 -4
  398. package/esm2022/lib/reports/tasks/tasks.component.mjs +4 -4
  399. package/esm2022/lib/routes.desktop.mjs +24 -5
  400. package/esm2022/lib/routes.mobile.mjs +12 -2
  401. package/esm2022/lib/scheduler/schedule.component.mjs +5 -5
  402. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +4 -4
  403. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +4 -4
  404. package/esm2022/lib/search/cube.component.mjs +8 -9
  405. package/esm2022/lib/search/declarations.mjs +1 -1
  406. package/esm2022/lib/search/document.component.mjs +4 -4
  407. package/esm2022/lib/search/guide.component.mjs +4 -4
  408. package/esm2022/lib/search/path.component.mjs +4 -4
  409. package/esm2022/lib/search/search.service.mjs +5 -5
  410. package/esm2022/lib/shared.module.mjs +15 -15
  411. package/esm2022/lib/system.module.mjs +5 -5
  412. package/esm2022/lib/views/cube/chart.component.mjs +4 -4
  413. package/esm2022/lib/views/cube/cube-base.mjs +4 -4
  414. package/esm2022/lib/views/cube/explore.component.mjs +5 -5
  415. package/esm2022/lib/views/cube/matrix.component.mjs +6 -6
  416. package/esm2022/lib/views/cube/parallel.component.mjs +4 -4
  417. package/esm2022/lib/views/cube/pivot.component.mjs +4 -4
  418. package/esm2022/lib/views/cube/sum.component.mjs +4 -4
  419. package/esm2022/lib/views/cube/view.component.mjs +6 -6
  420. package/esm2022/lib/views/document-view-ref.mjs +1 -1
  421. package/esm2022/lib/views/timeline/timeline.component.mjs +7 -8
  422. package/esm2022/lib/views/view-item.component.mjs +4 -4
  423. package/esm2022/lib/views/views.component.mjs +5 -5
  424. package/esm2022/lib/views/views.mobile.component.mjs +6 -6
  425. package/esm2022/lib/views/views.pane.component.mjs +8 -8
  426. package/esm2022/public-api.mjs +4 -3
  427. package/fesm2022/bizdoc-core.mjs +3267 -3149
  428. package/fesm2022/bizdoc-core.mjs.map +1 -1
  429. package/lib/admin/architecture/cube-axes-filter.component.d.ts +4 -1
  430. package/lib/admin/architecture/declarations.d.ts +14 -9
  431. package/lib/admin/architecture/designer-element.component.d.ts +1 -0
  432. package/lib/admin/architecture/designer-privileges.component.d.ts +4 -2
  433. package/lib/admin/architecture/designer.base.d.ts +1 -4
  434. package/lib/admin/architecture/designer.component.d.ts +3 -3
  435. package/lib/admin/architecture/elements/action.component.d.ts +13 -13
  436. package/lib/admin/architecture/elements/analysis-view.component.d.ts +8 -8
  437. package/lib/admin/architecture/elements/analysis-widget.component.d.ts +7 -7
  438. package/lib/admin/architecture/elements/anomaly-rule.component.d.ts +3 -3
  439. package/lib/admin/architecture/elements/attribute.component.d.ts +1 -1
  440. package/lib/admin/architecture/elements/box-form.component.d.ts +5 -5
  441. package/lib/admin/architecture/elements/configuration-datasource.component.d.ts +1 -1
  442. package/lib/admin/architecture/elements/control.component.d.ts +1 -2
  443. package/lib/admin/architecture/elements/cube-index-utility.component.d.ts +3 -4
  444. package/lib/admin/architecture/elements/cube-view.component.d.ts +4 -4
  445. package/lib/admin/architecture/elements/cube.component.d.ts +9 -10
  446. package/lib/admin/architecture/elements/document-state-widget.component.d.ts +3 -6
  447. package/lib/admin/architecture/elements/documents-report.component.d.ts +4 -5
  448. package/lib/admin/architecture/elements/documents-widget.component.d.ts +5 -5
  449. package/lib/admin/architecture/elements/explore-view.component.d.ts +4 -4
  450. package/lib/admin/architecture/elements/folder.component.d.ts +2 -2
  451. package/lib/admin/architecture/elements/form-invite.dialog.d.ts +7 -7
  452. package/lib/admin/architecture/elements/form.component.d.ts +10 -9
  453. package/lib/admin/architecture/elements/guide.component.d.ts +1 -1
  454. package/lib/admin/architecture/elements/matrix-view.component.d.ts +16 -16
  455. package/lib/admin/architecture/elements/parallel-view.component.d.ts +9 -10
  456. package/lib/admin/architecture/elements/performance-report.component.d.ts +2 -3
  457. package/lib/admin/architecture/elements/performance-widget.component.d.ts +4 -5
  458. package/lib/admin/architecture/elements/pivot-view.component.d.ts +9 -10
  459. package/lib/admin/architecture/elements/report.component.d.ts +1 -1
  460. package/lib/admin/architecture/elements/return-to-role-action.component.d.ts +1 -1
  461. package/lib/admin/architecture/elements/role.component.d.ts +4 -4
  462. package/lib/admin/architecture/elements/source.component.d.ts +2 -3
  463. package/lib/admin/architecture/elements/state.component.d.ts +4 -4
  464. package/lib/admin/architecture/elements/sum-view.component.d.ts +7 -8
  465. package/lib/admin/architecture/elements/tasks-report.component.d.ts +4 -4
  466. package/lib/admin/architecture/elements/type.component.d.ts +8 -4
  467. package/lib/admin/architecture/elements/usage-report.component.d.ts +7 -7
  468. package/lib/admin/architecture/elements/widget.component.d.ts +1 -1
  469. package/lib/admin/architecture/icon-picker.component.d.ts +5 -3
  470. package/lib/admin/core/ace.input.d.ts +2 -5
  471. package/lib/admin/core/localized-string.component.d.ts +3 -2
  472. package/lib/admin/document-trace/document-trace.component.d.ts +6 -5
  473. package/lib/admin/document-trace/reassign.dialog.d.ts +2 -2
  474. package/lib/admin/document-trace/timeline.d.ts +2 -2
  475. package/lib/admin/form/designer/box-designer.component.d.ts +13 -13
  476. package/lib/admin/form/designer/section.component.d.ts +5 -5
  477. package/lib/admin/form/workflow/node-ref.d.ts +1 -1
  478. package/lib/admin/form/workflow/node.component.d.ts +3 -2
  479. package/lib/admin/form/workflow/role-node.component.d.ts +11 -11
  480. package/lib/admin/form/workflow/workflow.component.d.ts +9 -11
  481. package/lib/admin/indices/manage-cube-index.component.d.ts +3 -3
  482. package/lib/admin/patterns/patterns.component.d.ts +2 -2
  483. package/lib/admin/positions/positions-popup.component.d.ts +1 -1
  484. package/lib/admin/positions/positions.component.d.ts +6 -6
  485. package/lib/admin/profiler/outofoffice.component.d.ts +15 -15
  486. package/lib/admin/profiler/profiler.component.d.ts +3 -3
  487. package/lib/admin/system.service.d.ts +8 -9
  488. package/lib/admin/utility-ref.d.ts +2 -2
  489. package/lib/browse/browse-items.component.d.ts +6 -7
  490. package/lib/browse/browse.mobile.component.d.ts +2 -2
  491. package/lib/browse/browse.pane.component.d.ts +2 -2
  492. package/lib/browse/filter/filter.component.d.ts +10 -11
  493. package/lib/chat/chat-info.d.ts +1 -1
  494. package/lib/chat/chat.service.d.ts +1 -1
  495. package/lib/chat/conversation.component.d.ts +2 -2
  496. package/lib/compose/action/action.base.d.ts +2 -1
  497. package/lib/compose/action/assign-action.component.d.ts +5 -5
  498. package/lib/compose/action/moveto-action.component.d.ts +3 -3
  499. package/lib/compose/action/return-action.component.d.ts +4 -4
  500. package/lib/compose/box/box.component.d.ts +1 -1
  501. package/lib/compose/comments/comments.component.d.ts +4 -4
  502. package/lib/compose/compose.mobile.component.d.ts +5 -5
  503. package/lib/compose/compose.pane.component.d.ts +3 -3
  504. package/lib/compose/copy/copy.dialog.d.ts +1 -1
  505. package/lib/compose/form-ref.d.ts +5 -5
  506. package/lib/compose/form.component.d.ts +36 -2
  507. package/lib/compose/new-menu.component.d.ts +2 -1
  508. package/lib/compose/privilage.directive.d.ts +1 -1
  509. package/lib/compose/tag/tags.component.d.ts +1 -1
  510. package/lib/compose/trace/flow.component.d.ts +1 -0
  511. package/lib/compose/trace/people.component.d.ts +5 -2
  512. package/lib/compose/trace/trace.base.d.ts +1 -1
  513. package/lib/compose/version-compare/version-compare.directive.d.ts +1 -1
  514. package/lib/core/account.service.d.ts +1 -1
  515. package/lib/core/authentication.d.ts +2 -2
  516. package/lib/core/avatar/avatar.component.d.ts +13 -11
  517. package/lib/core/base.d.ts +9 -9
  518. package/lib/core/colors.d.ts +1 -0
  519. package/lib/core/configuration.d.ts +3 -2
  520. package/lib/core/datasource.service.d.ts +1 -1
  521. package/lib/core/document-factory.service.d.ts +0 -1
  522. package/lib/core/fields/address.designer.d.ts +3 -3
  523. package/lib/core/fields/address.field.d.ts +1 -1
  524. package/lib/core/fields/autocomplete.field.d.ts +5 -5
  525. package/lib/core/fields/axes-picker.designer.d.ts +3 -3
  526. package/lib/core/fields/axes-picker.field.d.ts +1 -1
  527. package/lib/core/fields/checkbox.designer.d.ts +2 -2
  528. package/lib/core/fields/checkbox.field.d.ts +1 -1
  529. package/lib/core/fields/checklist.designer.d.ts +4 -4
  530. package/lib/core/fields/checklist.field.d.ts +1 -2
  531. package/lib/core/fields/date-range.designer.d.ts +6 -6
  532. package/lib/core/fields/date-range.field.d.ts +2 -2
  533. package/lib/core/fields/date.designer.d.ts +5 -5
  534. package/lib/core/fields/file.designer.d.ts +3 -3
  535. package/lib/core/fields/html.designer.d.ts +4 -4
  536. package/lib/core/fields/input.designer.d.ts +8 -9
  537. package/lib/core/fields/numeric.designer.d.ts +7 -7
  538. package/lib/core/fields/options.base.d.ts +1 -1
  539. package/lib/core/fields/radio-button.designer.d.ts +3 -3
  540. package/lib/core/fields/radio-button.field.d.ts +2 -3
  541. package/lib/core/fields/select.designer.d.ts +5 -5
  542. package/lib/core/fields/select.field.d.ts +1 -2
  543. package/lib/core/fields/signature.designer.d.ts +2 -2
  544. package/lib/core/fields/switch.field.d.ts +1 -1
  545. package/lib/core/fields/textarea.designer.d.ts +6 -6
  546. package/lib/core/fields/time.designer.d.ts +5 -5
  547. package/lib/core/fields/yesno.designer.d.ts +3 -3
  548. package/lib/core/fields/yesno.field.d.ts +1 -1
  549. package/lib/core/firebase.service.d.ts +1 -1
  550. package/lib/core/functions.d.ts +7 -4
  551. package/lib/core/guide/help-tip.component.d.ts +1 -1
  552. package/lib/core/http.interceptor.d.ts +1 -1
  553. package/lib/core/hub.service.d.ts +2 -2
  554. package/lib/core/inputs/address.input.d.ts +4 -4
  555. package/lib/core/inputs/auto-complete.input.d.ts +4 -4
  556. package/lib/core/inputs/combination-picker-body.d.ts +2 -2
  557. package/lib/core/inputs/file.input.d.ts +4 -4
  558. package/lib/core/inputs/time-picker.d.ts +2 -2
  559. package/lib/core/inputs/timespan.input.d.ts +7 -7
  560. package/lib/core/{lottie-animation.d.ts → lottie-animation.exp.d.ts} +0 -1
  561. package/lib/core/mailbox.service.d.ts +2 -3
  562. package/lib/core/models.d.ts +6 -5
  563. package/lib/core/pipes/filter.pipe.d.ts +7 -0
  564. package/lib/core/pipes/localized-string.pipe.d.ts +1 -1
  565. package/lib/core/pipes/sort.pipe.d.ts +1 -6
  566. package/lib/core/pipes/time-ago.pipe.d.ts +1 -1
  567. package/lib/core/pipes/user-name.pipe.d.ts +1 -1
  568. package/lib/core/popup/popup-ref.d.ts +4 -4
  569. package/lib/core/popup/tooltip.directive.d.ts +2 -3
  570. package/lib/core/router.d.ts +3 -3
  571. package/lib/core/session.service.d.ts +11 -8
  572. package/lib/core/slots/pane-ref.d.ts +16 -16
  573. package/lib/core/slots/router.directive.d.ts +2 -2
  574. package/lib/core/slots/router.service.d.ts +1 -1
  575. package/lib/core/slots/slots.component.d.ts +3 -3
  576. package/lib/core/sticky-toolbar.exp.d.ts +1 -0
  577. package/lib/core/tagging/edit-input.component.d.ts +5 -5
  578. package/lib/core/tagging/emoji.component.d.ts +1 -1
  579. package/lib/core/tagging/tagging.component-base.d.ts +1 -1
  580. package/lib/core/tagging/tagging.directive.d.ts +1 -1
  581. package/lib/core/tagging/tagging.pipe.d.ts +1 -1
  582. package/lib/core/translate.service.d.ts +2 -2
  583. package/lib/core/translations.d.ts +2 -1049
  584. package/lib/core/virtual-tabs.component.exp.d.ts +2 -2
  585. package/lib/core/window-title.service.d.ts +2 -1
  586. package/lib/cube/accum/accum.component.d.ts +1 -1
  587. package/lib/cube/chart/chart.component.d.ts +5 -5
  588. package/lib/cube/cube-info.service.d.ts +1 -1
  589. package/lib/cube/cube.service.d.ts +2 -2
  590. package/lib/cube/declarations.d.ts +3 -3
  591. package/lib/cube/explore/explore-items.component.d.ts +2 -2
  592. package/lib/cube/filter/filter.component.d.ts +1 -1
  593. package/lib/cube/grid/grid.component.d.ts +4 -4
  594. package/lib/cube/matrix/matrix.base.d.ts +9 -8
  595. package/lib/cube/matrix/matrix.pane.component.d.ts +2 -1
  596. package/lib/cube/matrix/table.component.d.ts +3 -3
  597. package/lib/cube/pivot/pivot.component.d.ts +6 -7
  598. package/lib/cube/spreadsheet/spreadsheet.component.d.ts +3 -3
  599. package/lib/cube/sum/sum.component.d.ts +5 -5
  600. package/lib/cube/view-base.d.ts +3 -2
  601. package/lib/cube/view.mobile.component.d.ts +1 -1
  602. package/lib/dashboard/cube/accum-cube.widget.d.ts +0 -1
  603. package/lib/dashboard/cube/cube-analysis.base.d.ts +9 -6
  604. package/lib/dashboard/cube/filter/filter.component.d.ts +3 -2
  605. package/lib/dashboard/recents/recents.widget.d.ts +5 -6
  606. package/lib/dashboard/score/activity.widget.d.ts +1 -0
  607. package/lib/dashboard/score/peers-performance.widget.d.ts +1 -0
  608. package/lib/dashboard/score/personal-score.widget.d.ts +2 -4
  609. package/lib/desktop.module.d.ts +5 -6
  610. package/lib/home/about/about.dialog.d.ts +2 -2
  611. package/lib/home/home-base.component.d.ts +2 -0
  612. package/lib/home/home.desktop.component.d.ts +6 -9
  613. package/lib/home/home.mobile.component.d.ts +4 -6
  614. package/lib/home/notifications/notifications.component.d.ts +3 -5
  615. package/lib/home/outofoffice/outofoffice.component.d.ts +3 -3
  616. package/lib/home/sign/sign.component.d.ts +4 -2
  617. package/lib/impersonate/impersonate.component.d.ts +11 -12
  618. package/lib/mobile.module.d.ts +3 -3
  619. package/lib/modules/chart.module.d.ts +1 -0
  620. package/lib/modules/circular-gauge.module.d.ts +1 -0
  621. package/lib/modules/diagram.module.d.ts +1 -0
  622. package/lib/modules/gantt.module.d.ts +1 -0
  623. package/lib/modules/grid.module.d.ts +1 -0
  624. package/lib/modules/pivot.module.d.ts +1 -0
  625. package/lib/modules/schedule.module.d.ts +1 -0
  626. package/lib/notifications/filter.component.d.ts +2 -2
  627. package/lib/options/options.component.d.ts +54 -31
  628. package/lib/options/options.desktop.component.d.ts +10 -0
  629. package/lib/options/options.mobile.component.d.ts +9 -0
  630. package/lib/reports/arguments-component.d.ts +2 -2
  631. package/lib/reports/cube/performance-hilo.component.d.ts +1 -1
  632. package/lib/reports/cube/performance-wind.component.d.ts +2 -2
  633. package/lib/reports/cube/usage-args.component.d.ts +3 -1
  634. package/lib/reports/cube/usage-base.d.ts +9 -7
  635. package/lib/reports/cube/usage-chart.component.d.ts +1 -1
  636. package/lib/reports/cube/usage-pivot.component.d.ts +1 -1
  637. package/lib/reports/report.mobile.component.d.ts +3 -1
  638. package/lib/search/cube.component.d.ts +1 -1
  639. package/lib/search/declarations.d.ts +2 -2
  640. package/lib/shared.module.d.ts +154 -153
  641. package/lib/views/cube/chart.component.d.ts +2 -2
  642. package/lib/views/cube/cube-base.d.ts +6 -6
  643. package/lib/views/cube/sum.component.d.ts +2 -2
  644. package/lib/views/timeline/timeline.component.d.ts +3 -2
  645. package/lib/views/views.component.d.ts +1 -1
  646. package/package.json +19 -18
  647. package/public-api.d.ts +3 -2
  648. package/assets/themes/readme.md +0 -0
  649. package/esm2022/lib/core/lottie-animation.mjs +0 -48
  650. package/esm2022/lib/home/options/options.component.mjs +0 -97
  651. package/esm2022/lib/options/options.service.mjs +0 -42
  652. package/lib/home/options/options.component.d.ts +0 -45
  653. package/lib/options/options.service.d.ts +0 -14
@@ -141,7 +141,7 @@ export class UsageChartComponent extends UsageReportBase {
141
141
  return [this._session.getAccent()].
142
142
  concat(this._indices.map((_, i) => this._session.getPrimery(300 + 300 * i)));
143
143
  }
144
- dataBound(args) {
144
+ dataBound(_) {
145
145
  this.pivot.chart.pointClick = this.pointClick.bind(this);
146
146
  }
147
147
  /**
@@ -316,7 +316,7 @@ export class UsageChartComponent extends UsageReportBase {
316
316
  return;
317
317
  }
318
318
  const axes = this._axes(x);
319
- super.browse(axes, title === this._yTitle ? null : this._indexName(title));
319
+ super.browse(axes, title === this._yTitle ? undefined : this._indexName(title));
320
320
  }
321
321
  /**
322
322
  * reverse engineering axes from series label
@@ -342,10 +342,10 @@ export class UsageChartComponent extends UsageReportBase {
342
342
  this.pivot && this.pivot.destroy();
343
343
  super.ngOnDestroy();
344
344
  }
345
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UsageChartComponent, deps: [{ token: i1.ReportRef }, { token: i2.DatasourceService }, { token: i3.CubeService }, { token: i4.SessionService }, { token: i5.RouterImpl }, { token: i6.PromptService }, { token: i0.ElementRef }, { token: i7.Directionality }, { token: i8.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
346
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: UsageChartComponent, selector: "ng-component", host: { properties: { "id": "id", "dir": "dir" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
345
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UsageChartComponent, deps: [{ token: i1.ReportRef }, { token: i2.DatasourceService }, { token: i3.CubeService }, { token: i4.SessionService }, { token: i5.RouterImpl }, { token: i6.PromptService }, { token: i0.ElementRef }, { token: i7.Directionality }, { token: i8.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
346
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: UsageChartComponent, selector: "ng-component", host: { properties: { "id": "id", "dir": "dir" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
347
347
  }
348
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UsageChartComponent, decorators: [{
348
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UsageChartComponent, decorators: [{
349
349
  type: Component,
350
350
  args: [{
351
351
  template: '',
@@ -355,4 +355,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
355
355
  }
356
356
  }]
357
357
  }], ctorParameters: () => [{ type: i1.ReportRef }, { type: i2.DatasourceService }, { type: i3.CubeService }, { type: i4.SessionService }, { type: i5.RouterImpl }, { type: i6.PromptService }, { type: i0.ElementRef }, { type: i7.Directionality }, { type: i8.TranslateService }] });
358
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNhZ2UtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9yZXBvcnRzL2N1YmUvdXNhZ2UtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBc0IsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFJbEYsT0FBTyxFQUFFLFFBQVEsRUFBMEIsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQTRCLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQVF6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7QUFHaEQ7O0tBRUs7QUFRTCxNQUFNLE9BQ0UsbUJBQW9CLFNBQVEsZUFBZTtJQVFqRCxPQUFPO0lBQ1AsWUFBWSxTQUF3QyxFQUFFLElBQXVCLEVBQUUsT0FBb0IsRUFBRSxPQUF1QixFQUMxSCxNQUFrQixFQUNsQixFQUFpQixFQUNULFdBQXVCLEVBQy9CLEdBQW1CLEVBQ25CLFNBQTJCO1FBQzNCLEtBQUssQ0FDSCxNQUFNLEVBQ04sU0FBUyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUNqQyxFQUFFLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBTmQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFYeEIsUUFBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1FBRzlCLGtCQUFhLEdBQXVCO1lBQzNDLElBQUksRUFBRSxPQUFPO1NBQ2QsQ0FBQztRQWFBLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsbUJBQW1CO0lBQ1gsU0FBUztRQUNmLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUM5QyxNQUFNLE1BQU0sR0FBRyxTQUFTLEtBQUssTUFBTSxJQUFJLFNBQVMsS0FBSyxRQUFRLENBQUM7UUFDOUQsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RDLFlBQVksRUFBRTtnQkFDWixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsdUJBQXVCLEVBQUUsSUFBSTtnQkFDN0Isa0JBQWtCLEVBQUUsSUFBSTtnQkFDeEIsc0JBQXNCLEVBQUUsS0FBSzthQUM5QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxNQUFNLEVBQUUsTUFBTTtnQkFDZCxJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLENBQUM7aUJBQ1Q7YUFDRjtZQUNELFdBQVcsRUFBRTtnQkFDWCxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDMUIsSUFBSSxFQUFFLFNBQVMsSUFBSSxRQUFRO2dCQUMzQixXQUFXO2dCQUNYLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7Z0JBQ3BCLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUU7YUFDdEU7WUFDRCxZQUFZLEVBQUUsSUFBSTtZQUNsQixTQUFTLEVBQUU7Z0JBQ1QsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTthQUNyQjtZQUNELEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsV0FBVztZQUMvRCxVQUFVLEVBQUUsYUFBYTtZQUN6QixZQUFZLEVBQUU7Z0JBQ1osVUFBVSxFQUFFO29CQUNWLFVBQVUsRUFBRSxXQUFXO2lCQUN4QjtnQkFDRCxVQUFVLEVBQUU7b0JBQ1YsVUFBVSxFQUFFLFdBQVc7aUJBQ3hCO2FBQ0Y7WUFDRCxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQ3BCLGNBQWMsRUFBRTtnQkFDZCxTQUFTLEVBQUU7b0JBQ1QsVUFBVSxFQUFFLFdBQVc7aUJBQ3hCO2dCQUNELFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87YUFDbEM7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsU0FBUyxFQUFFO29CQUNULFVBQVUsRUFBRSxXQUFXO2lCQUN4QjthQUNGO1lBQ0QsVUFBVSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxXQUFXO2FBQ3hCO1lBQ0QsYUFBYSxFQUFFO2dCQUNiLFVBQVUsRUFBRSxXQUFXO2FBQ3hCO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLFVBQVUsRUFBRTtvQkFDVixVQUFVLEVBQUUsV0FBVztpQkFDeEI7Z0JBQ0QsVUFBVSxFQUFFO29CQUNWLFVBQVUsRUFBRSxXQUFXO2lCQUN4QjtnQkFDRCxnQkFBZ0IsRUFBRTtvQkFDaEIsTUFBTSxFQUFFLElBQUk7b0JBQ1osU0FBUyxFQUFFO3dCQUNULFVBQVUsRUFBRSxXQUFXO3FCQUN4QjtpQkFDRjthQUNGO1NBQ0YsQ0FBQztRQUNGLE1BQU0sY0FBYyxHQUFzQixDQUFDO2dCQUN6QyxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUc7Z0JBQ3BELHFCQUFxQixFQUFFLElBQUksQ0FBQyxlQUFlO2dCQUMzQyw4Q0FBOEM7Z0JBQzlDLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWTthQUM1QixDQUFDLENBQUM7UUFDSCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoQyxPQUFPO2dCQUNMLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtnQkFDWixPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUs7YUFDQSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGtCQUFrQixHQUFHO1lBQ3hCLE9BQU8sRUFBRSxDQUFDO29CQUNSLElBQUksRUFBRSxNQUFNO2lCQUNiLENBQUM7WUFDRixJQUFJO1lBQ0osTUFBTSxFQUFFO2dCQUNOO29CQUNFLElBQUksRUFBRSxPQUFPO29CQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7aUJBQ3RDO2FBQ0Y7WUFDRCxhQUFhLEVBQUUsS0FBSztZQUNwQixZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFXLENBQUEsQ0FBQyxDQUFDLENBQUM7WUFDL0UsU0FBUyxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzFCLGNBQWM7WUFDZCxVQUFVLEVBQUUsRUFBRTtTQUNmLENBQUM7SUFDSixDQUFDO0lBQ08sU0FBUztRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFTO1FBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLE1BQWM7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDL0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFO2dCQUNSLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDTyxLQUFLO1FBQ1gsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDekIsS0FBSyxFQUFFLE1BQU07WUFDYixNQUFNLEVBQUUsTUFBTTtZQUNkLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3BDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDakMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtZQUMzQyxlQUFlLEVBQUUsRUFBRTtZQUNuQiwwQkFBMEIsRUFBRSxJQUFJO1lBQ2hDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtTQUNoQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQyx3Q0FBd0M7WUFDeEMsc0NBQXNDO1lBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBZSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVDLENBQUM7SUFDSCxDQUFDO0lBQ0QsYUFBYSxDQUFDLEtBQWE7UUFDekIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM1QyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUM7Z0JBQ3BELHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztZQUN6RSxDQUFDLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQzFFLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQ2hGLElBQUksR0FBRyxDQUFDO2dCQUNOLEtBQUssRUFBRSxDQUFDO2dCQUNSLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDNUIsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLO29CQUM1QixLQUFLLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLElBQUk7cUJBQ1g7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0osQ0FBVSxDQUFDO1FBQ2QsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDakIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUN6QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7WUFDOUIsS0FBSyxFQUFFO2dCQUNMLElBQUksRUFBRSxJQUFJO2FBQ1g7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQzlDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ2pCLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDO1lBQzdCLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSztZQUNkLEtBQUssRUFBRTtnQkFDTCxJQUFJLEVBQUUsSUFBSTthQUNYO1NBQ0YsQ0FBQyxDQUFDLENBQUM7UUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMxQixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNqQyxPQUFPO29CQUNMLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFDOUIsS0FBSyxFQUFFLEVBQ047aUJBQ00sQ0FBQztZQUNaLENBQUMsQ0FDQSxDQUFDO1lBQ0YsS0FBSyxDQUFDLElBQUksQ0FBQztnQkFDVCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDO2dCQUN6QixLQUFLLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixNQUFNLEVBQUUsT0FBTztpQkFDaEI7Z0JBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUM7YUFDbEIsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUM5QyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNULElBQUksRUFBRSxRQUFRO2dCQUNkLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDO2dCQUM3QixLQUFLLEVBQUU7b0JBQ0wsWUFBWTtvQkFDWixNQUFNLEVBQUUsT0FBTztpQkFDaEI7Z0JBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2FBQ2pCLENBQUMsQ0FDSCxDQUFDO1lBQ0YsSUFBSSxDQUFDLElBQUksQ0FDUDtnQkFDRSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUM7Z0JBQ1osS0FBSzthQUNDLENBQUMsQ0FBQTtRQUNiLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxJQUFJLEdBQUcsSUFBSSxRQUFRLENBQ3ZCO1lBQ0UsVUFBVSxFQUFFO2dCQUNWO29CQUNFLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87b0JBQ2hDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO29CQUN0QyxPQUFPLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBYSxDQUFBLENBQUM7d0JBQ3hFLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUNqQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDOzRCQUMvQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQzt5QkFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUNSO29CQUNELElBQUk7aUJBQ1E7YUFDZjtTQUNGLEVBQ0QsTUFBTSxDQUNQLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBQ0Q7OztPQUdHO0lBQ0ssU0FBUyxDQUFDLE1BQWM7UUFDOUIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixNQUFNLFdBQVcsR0FBc0IsRUFBRSxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUN2QixNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBVyxDQUFDO29CQUNsQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQzt3QkFDaEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFO3dCQUNyQixHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUM7d0JBQ3hCLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztvQkFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDTixXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMvQixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxXQUFXLENBQUMsTUFBTTtnQkFDcEIsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNsQyxNQUFNLElBQUksR0FBUyxFQUFFLENBQUM7b0JBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7d0JBQ3ZCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7d0JBQzVCLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7NEJBQ3ZDLE1BQU0sR0FBRyxHQUFHO2dDQUNWLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTztnQ0FDbEIsS0FBSzs2QkFDTixDQUFDOzRCQUNGLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dDQUN2QixHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQ0FDMUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUNoQyxDQUFDLENBQUMsQ0FBQzs0QkFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUNqQixDQUFDO3dCQUNELElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFOzRCQUN4QixNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUM5QixJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO2dDQUN2QyxNQUFNLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO2dDQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtvQ0FDdkIsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7b0NBQzFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQ0FDaEMsQ0FBQyxDQUFDLENBQUM7Z0NBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDakIsQ0FBQzt3QkFDSCxDQUFDLENBQUMsQ0FBQztvQkFDTCxDQUFDLENBQUMsQ0FBQztvQkFDSCxPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Z0JBRXZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLENBQWtCO1FBQzNCLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzVELElBQUksTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2hCLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQTZCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBVyxDQUFDLENBQUM7UUFDL0QsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFDRDs7O09BR0c7SUFDSyxLQUFLLENBQUMsS0FBYTtRQUN6QixNQUFNLElBQUksR0FBMkMsRUFBRSxDQUFDO1FBQ3hELEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUNqRCxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssVUFBVSxDQUFDLEtBQWE7UUFDOUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQ3pELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQztJQUNwQixDQUFDO0lBQ1EsV0FBVztRQUNsQixJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDbkMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7OEdBOVZLLG1CQUFtQjtrR0FBbkIsbUJBQW1CLCtIQVBmLEVBQUU7OzJGQU9OLG1CQUFtQjtrQkFSMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtvQkFDWixJQUFJLEVBQUU7d0JBQ0osTUFBTSxFQUFFLElBQUk7d0JBQ1osT0FBTyxFQUFFLEtBQUs7cUJBQ2Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9iaWRpXCI7XHJcbmltcG9ydCB7IGdldEN1cnJlbmN5U3ltYm9sLCBnZXRMb2NhbGVOdW1iZXJGb3JtYXQsIE51bWJlckZvcm1hdFN0eWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IHRhcCwgdGFrZVVudGlsLCBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgRGlzcGxheU9wdGlvbk1vZGVsLCBQaXZvdFZpZXcgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItcGl2b3R2aWV3XCI7XHJcbmltcG9ydCB7IElTb3J0LCBJRmllbGRPcHRpb25zLCBJRm9ybWF0U2V0dGluZ3MgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLXBpdm90dmlld1wiO1xyXG5pbXBvcnQgeyBDaGFydFNldHRpbmdzTW9kZWwgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItcGl2b3R2aWV3L3NyYy9waXZvdHZpZXcvbW9kZWwvY2hhcnRzZXR0aW5ncy1tb2RlbCc7XHJcbmltcG9ydCB7IENoYXJ0LCBJUG9pbnRFdmVudEFyZ3MgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItY2hhcnRzXCI7XHJcbmltcG9ydCB7IFdvcmtib29rLCBXb3Jrc2hlZXQsIFJvdywgQ29sdW1uIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydCc7XHJcbmltcG9ydCB7IEl0ZW0sIFVzYWdlU2V0dGluZ3NNb2RlbCwgVXNhZ2VSZXBvcnRCYXNlIH0gZnJvbSBcIi4vdXNhZ2UtYmFzZVwiO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL2RhdGFzb3VyY2Uuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDdWJlU2VydmljZSB9IGZyb20gXCIuLi8uLi9jdWJlL2N1YmUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFJlcG9ydFJlZiB9IGZyb20gXCIuLi9yZXBvcnQtcmVmXCI7XHJcbmltcG9ydCB7IE1hdGVyaWFsTW9kZSB9IGZyb20gXCIuLi8uLi9jb3JlL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBGT05UX0ZBTUlMWSB9IGZyb20gXCIuLi8uLi9jb3JlL2NvbG9yc1wiO1xyXG5pbXBvcnQgeyBSb3V0ZXJJbXBsIH0gZnJvbSBcIi4uLy4uL2NvcmUvcm91dGVyXCI7XHJcbnR5cGUgRGF0YVNvdXJjZVNldHRpbmdzTW9kZWwgPSBhbnk7XHJcbi8qKlxyXG4gKiBjdWJlIHVzYWdlXHJcbiAqICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBob3N0OiB7XHJcbiAgICAnW2lkXSc6ICdpZCcsXHJcbiAgICAnW2Rpcl0nOiAnZGlyJ1xyXG4gIH1cclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgVXNhZ2VDaGFydENvbXBvbmVudCBleHRlbmRzIFVzYWdlUmVwb3J0QmFzZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcmVhZG9ubHkgZGlyID0gdGhpcy5fc2Vzc2lvbi5kaXJlY3Rpb247XHJcbiAgcGl2b3Q6IFBpdm90VmlldztcclxuICBkYXRhU291cmNlU2V0dGluZ3M6IERhdGFTb3VyY2VTZXR0aW5nc01vZGVsO1xyXG4gIHJlYWRvbmx5IGRpc3BsYXlPcHRpb246IERpc3BsYXlPcHRpb25Nb2RlbCA9IHtcclxuICAgIHZpZXc6ICdDaGFydCdcclxuICB9O1xyXG4gIGNoYXJ0U2V0dGluZ3M6IENoYXJ0U2V0dGluZ3NNb2RlbDtcclxuICAvLyBjdG9yXHJcbiAgY29uc3RydWN0b3IocmVwb3J0UmVmOiBSZXBvcnRSZWY8VXNhZ2VTZXR0aW5nc01vZGVsPiwgdHlwZTogRGF0YXNvdXJjZVNlcnZpY2UsIHNlcnZpY2U6IEN1YmVTZXJ2aWNlLCBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHJvdXRlcjogUm91dGVySW1wbCxcclxuICAgIHNiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIGRpcjogRGlyZWN0aW9uYWxpdHksXHJcbiAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKFxyXG4gICAgICByb3V0ZXIsXHJcbiAgICAgIHJlcG9ydFJlZiwgdHlwZSwgc2VydmljZSwgc2Vzc2lvbixcclxuICAgICAgc2IsIGRpciwgdHJhbnNsYXRlKTtcclxuICAgIHRoaXMuX3Nlc3Npb24udGhlbWVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgdGhpcy5jaGFydFNldHRpbmdzLnRoZW1lID0gdC5kYXJrID8gJ01hdGVyaWFsM0RhcmsnIDogJ01hdGVyaWFsMyc7XHJcbiAgICAgIHRoaXMuY2hhcnRTZXR0aW5ncy5wYWxldHRlcyA9IHRoaXMuX3BhbGV0dGVzKCk7XHJcbiAgICAgIHRoaXMuX2RyYXcoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fZGVmYXVsdHMoKTtcclxuICB9XHJcbiAgLyoqIHNldCBkZWZhdWx0cyAqL1xyXG4gIHByaXZhdGUgX2RlZmF1bHRzKCkge1xyXG4gICAgY29uc3QgeyBjaGFydFR5cGUgfSA9IHRoaXMuX3JlcG9ydFJlZi5vcHRpb25zO1xyXG4gICAgY29uc3QgaXNMaW5lID0gY2hhcnRUeXBlID09PSAnTGluZScgfHwgY2hhcnRUeXBlID09PSAnU3BsaW5lJztcclxuICAgIHRoaXMuY2hhcnRTZXR0aW5ncyA9IHtcclxuICAgICAgcG9pbnRDbGljazogdGhpcy5wb2ludENsaWNrLmJpbmQodGhpcyksXHJcbiAgICAgIHpvb21TZXR0aW5nczoge1xyXG4gICAgICAgIHRvb2xiYXJJdGVtczogW10sXHJcbiAgICAgICAgbW9kZTogJ1hZJyxcclxuICAgICAgICBlbmFibGVNb3VzZVdoZWVsWm9vbWluZzogdHJ1ZSxcclxuICAgICAgICBlbmFibGVQaW5jaFpvb21pbmc6IHRydWUsXHJcbiAgICAgICAgZW5hYmxlU2VsZWN0aW9uWm9vbWluZzogZmFsc2VcclxuICAgICAgfSxcclxuICAgICAgY3Jvc3NoYWlyOiB7XHJcbiAgICAgICAgZW5hYmxlOiBpc0xpbmUsXHJcbiAgICAgICAgbGluZToge1xyXG4gICAgICAgICAgd2lkdGg6IDFcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGNoYXJ0U2VyaWVzOiB7XHJcbiAgICAgICAgcGFsZXR0ZXM6IHRoaXMuX3BhbGV0dGVzKCksXHJcbiAgICAgICAgdHlwZTogY2hhcnRUeXBlIHx8ICdDb2x1bW4nLFxyXG4gICAgICAgIC8vd2lkdGg6IDIsXHJcbiAgICAgICAgYm9yZGVyOiB7IHdpZHRoOiAwIH0sXHJcbiAgICAgICAgbWFya2VyOiB7IGhlaWdodDogMTAsIHdpZHRoOiAxMCwgc2hhcGU6ICdQZW50YWdvbicsIHZpc2libGU6IGlzTGluZSB9LFxyXG4gICAgICB9LFxyXG4gICAgICBlbmFibGVFeHBvcnQ6IHRydWUsXHJcbiAgICAgIGNoYXJ0QXJlYToge1xyXG4gICAgICAgIGJvcmRlcjogeyB3aWR0aDogMCB9XHJcbiAgICAgIH0sXHJcbiAgICAgIHRoZW1lOiB0aGlzLl9zZXNzaW9uLnRoZW1lLmRhcmsgPyAnTWF0ZXJpYWwzRGFyaycgOiAnTWF0ZXJpYWwzJyxcclxuICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcclxuICAgICAgcHJpbWFyeVhBeGlzOiB7XHJcbiAgICAgICAgdGl0bGVTdHlsZToge1xyXG4gICAgICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxhYmVsU3R5bGU6IHtcclxuICAgICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBib3JkZXI6IHsgd2lkdGg6IDAgfSxcclxuICAgICAgbGVnZW5kU2V0dGluZ3M6IHtcclxuICAgICAgICB0ZXh0U3R5bGU6IHtcclxuICAgICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgICAgfSxcclxuICAgICAgICBpc0ludmVyc2VkOiB0aGlzLl9zZXNzaW9uLmludmVyc2VcclxuICAgICAgfSxcclxuICAgICAgdG9vbHRpcDoge1xyXG4gICAgICAgIHRleHRTdHlsZToge1xyXG4gICAgICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIHRpdGxlU3R5bGU6IHtcclxuICAgICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgICB9LFxyXG4gICAgICBzdWJUaXRsZVN0eWxlOiB7XHJcbiAgICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgICAgfSxcclxuICAgICAgcHJpbWFyeVlBeGlzOiB7XHJcbiAgICAgICAgdGl0bGVTdHlsZToge1xyXG4gICAgICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgICAgICB9LFxyXG4gICAgICAgIGxhYmVsU3R5bGU6IHtcclxuICAgICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjcm9zc2hhaXJUb29sdGlwOiB7XHJcbiAgICAgICAgICBlbmFibGU6IHRydWUsXHJcbiAgICAgICAgICB0ZXh0U3R5bGU6IHtcclxuICAgICAgICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBjb25zdCBmb3JtYXRTZXR0aW5nczogSUZvcm1hdFNldHRpbmdzW10gPSBbe1xyXG4gICAgICBuYW1lOiAndmFsdWUnLCBmb3JtYXQ6IHRoaXMuY3VycmVuY3lDb2RlID8gJ0MnIDogJ04nLFxyXG4gICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IHRoaXMuX2ZyYWN0aW9uRGlnaXRzLFxyXG4gICAgICAvL21pbmltdW1GcmFjdGlvbkRpZ2l0czogdGhpcy5fZnJhY3Rpb25EaWdpdHMsXHJcbiAgICAgIGN1cnJlbmN5OiB0aGlzLmN1cnJlbmN5Q29kZVxyXG4gICAgfV07XHJcbiAgICBjb25zdCByb3dzID0gdGhpcy5fc2VyaWVzLm1hcChhID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOiBhLm5hbWUsXHJcbiAgICAgICAgY2FwdGlvbjogYS50aXRsZVxyXG4gICAgICB9IGFzIElGaWVsZE9wdGlvbnM7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZVNldHRpbmdzID0ge1xyXG4gICAgICBjb2x1bW5zOiBbe1xyXG4gICAgICAgIG5hbWU6ICd0eXBlJ1xyXG4gICAgICB9XSxcclxuICAgICAgcm93cyxcclxuICAgICAgdmFsdWVzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmFtZTogJ3ZhbHVlJyxcclxuICAgICAgICAgIGNhcHRpb246IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1ZhbHVlJylcclxuICAgICAgICB9XHJcbiAgICAgIF0sXHJcbiAgICAgIGVuYWJsZVNvcnRpbmc6IGZhbHNlLFxyXG4gICAgICBzb3J0U2V0dGluZ3M6IHRoaXMuX3Nlcmllcy5tYXAocyA9PiB7IHJldHVybiB7IG5hbWU6IGBfJHtzLm5hbWV9YCB9IGFzIElTb3J0IH0pLFxyXG4gICAgICBleHBhbmRBbGw6IHRoaXMuX2V4cGFuZEFsbCxcclxuICAgICAgZm9ybWF0U2V0dGluZ3MsXHJcbiAgICAgIGRhdGFTb3VyY2U6IFtdXHJcbiAgICB9O1xyXG4gIH1cclxuICBwcml2YXRlIF9wYWxldHRlcygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gW3RoaXMuX3Nlc3Npb24uZ2V0QWNjZW50KCldLlxyXG4gICAgICBjb25jYXQodGhpcy5faW5kaWNlcy5tYXAoKF8sIGkpID0+XHJcbiAgICAgICAgdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KDMwMCArIDMwMCAqIGkgYXMgTWF0ZXJpYWxNb2RlKSkpO1xyXG4gIH1cclxuXHJcbiAgZGF0YUJvdW5kKGFyZ3M6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5waXZvdC5jaGFydC5wb2ludENsaWNrID0gdGhpcy5wb2ludENsaWNrLmJpbmQodGhpcyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSByZXN1bHRcclxuICAgKi9cclxuICBvbkRhdGEocmVzdWx0OiBJdGVtW10pIHtcclxuICAgIHRoaXMuX2RhdGEgPSByZXN1bHQ7XHJcbiAgICB0aGlzLl9kZWNvcmF0ZShyZXN1bHQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IHIgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZVNldHRpbmdzLmRhdGFTb3VyY2UgPSByO1xyXG4gICAgICAgIHRoaXMuX2RyYXcoKTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+IHRoaXMuX3NiLmVycm9yKClcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9kcmF3KCkge1xyXG4gICAgdGhpcy5waXZvdCAmJiB0aGlzLnBpdm90LmRlc3Ryb3koKTtcclxuICAgIHRoaXMucGl2b3QgPSBuZXcgUGl2b3RWaWV3KHtcclxuICAgICAgd2lkdGg6ICcxMDAlJyxcclxuICAgICAgaGVpZ2h0OiAnMTAwJScsXHJcbiAgICAgIGVuYWJsZVJ0bDogdGhpcy5lbmFibGVSdGwsXHJcbiAgICAgIGRhdGFCb3VuZDogdGhpcy5kYXRhQm91bmQuYmluZCh0aGlzKSxcclxuICAgICAgY2hhcnRTZXR0aW5nczogdGhpcy5jaGFydFNldHRpbmdzLFxyXG4gICAgICBkaXNwbGF5T3B0aW9uOiB0aGlzLmRpc3BsYXlPcHRpb24sXHJcbiAgICAgIGRhdGFTb3VyY2VTZXR0aW5nczogdGhpcy5kYXRhU291cmNlU2V0dGluZ3MsXHJcbiAgICAgIHNwaW5uZXJUZW1wbGF0ZTogJycsXHJcbiAgICAgIGFsbG93Q29uZGl0aW9uYWxGb3JtYXR0aW5nOiB0cnVlLFxyXG4gICAgICBjdXJyZW5jeUNvZGU6IHRoaXMuY3VycmVuY3lDb2RlLFxyXG4gICAgfSwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcbiAgb25SZXNpemUoKSB7XHJcbiAgICBpZiAodGhpcy5waXZvdCAmJiB0aGlzLnBpdm90LmNoYXJ0KSB7XHJcbiAgICAgIC8vdGhpcy5waXZvdC5jaGFydC5oZWlnaHQgPSB0aGlzLmhlaWdodDtcclxuICAgICAgLy90aGlzLnBpdm90LmNoYXJ0LndpZHRoID0gdGhpcy53aWR0aDtcclxuICAgICAgKHRoaXMucGl2b3QuY2hhcnQgYXMgQ2hhcnQpLmNoYXJ0UmVzaXplKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uRXhwb3J0VXNhZ2UodGl0bGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgbnVtYmVyRm9ybWF0ID0gdGhpcy5fY3ViZS5jdXJyZW5jeUNvZGUgP1xyXG4gICAgICBnZXRDdXJyZW5jeVN5bWJvbCh0aGlzLl9jdWJlLmN1cnJlbmN5Q29kZSwgJ25hcnJvdycpICtcclxuICAgICAgZ2V0TG9jYWxlTnVtYmVyRm9ybWF0KHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2UsIE51bWJlckZvcm1hdFN0eWxlLkN1cnJlbmN5KVxyXG4gICAgICA6IGdldExvY2FsZU51bWJlckZvcm1hdCh0aGlzLl9zZXNzaW9uLmxhbmd1YWdlLCBOdW1iZXJGb3JtYXRTdHlsZS5EZWNpbWFsKSxcclxuICAgICAgY29sdW1ucyA9IHRoaXMuX2N1YmUuYXhlcy5maWx0ZXIoYSA9PiB0aGlzLl9vcHRpb25zLnNlcmllcy5pbmRleE9mKGEubmFtZSkgPiAtMSksXHJcbiAgICAgIHJvd3MgPSBbe1xyXG4gICAgICAgIGluZGV4OiAxLFxyXG4gICAgICAgIGNlbGxzOiBjb2x1bW5zLm1hcCgoYywgaSkgPT4gKHtcclxuICAgICAgICAgIGluZGV4OiBpICsgMSwgdmFsdWU6IGMudGl0bGUsXHJcbiAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgICBib2xkOiB0cnVlXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSkpXHJcbiAgICAgIH1dIGFzIFJvd1tdO1xyXG4gICAgcm93c1swXS5jZWxscy5wdXNoKHtcclxuICAgICAgaW5kZXg6IGNvbHVtbnMubGVuZ3RoICsgMSxcclxuICAgICAgdmFsdWU6IHRoaXMuX2N1YmUueUF4aXMgPyB0aGlzLl9jdWJlLnlBeGlzLnRpdGxlIDpcclxuICAgICAgICB0aGlzLl90cmFuc2xhdGUuZ2V0KCdWYWx1ZScpLFxyXG4gICAgICBzdHlsZToge1xyXG4gICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9pbmRpY2VzICYmIHRoaXMuX2luZGljZXMuZm9yRWFjaCgoeCwgaSkgPT5cclxuICAgICAgcm93c1swXS5jZWxscy5wdXNoKHtcclxuICAgICAgICBpbmRleDogY29sdW1ucy5sZW5ndGggKyBpICsgMixcclxuICAgICAgICB2YWx1ZTogeC50aXRsZSxcclxuICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgYm9sZDogdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgICAgfSkpO1xyXG4gICAgdGhpcy5fZGF0YS5mb3JFYWNoKChyLCBpKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNlbGxzID0gY29sdW1ucy5tYXAoKGMsIGopID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaW5kZXg6IGogKyAxLCB2YWx1ZTogcltjLm5hbWVdLFxyXG4gICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGFzIENlbGw7XHJcbiAgICAgIH1cclxuICAgICAgKTtcclxuICAgICAgY2VsbHMucHVzaCh7XHJcbiAgICAgICAgdHlwZTogJ251bWJlcicsXHJcbiAgICAgICAgaW5kZXg6IGNvbHVtbnMubGVuZ3RoICsgMSxcclxuICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgbnVtYmVyRm9ybWF0LFxyXG4gICAgICAgICAgaEFsaWduOiAncmlnaHQnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB2YWx1ZTogclsndmFsdWUnXVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5faW5kaWNlcyAmJiB0aGlzLl9pbmRpY2VzLmZvckVhY2goKHgsIGkpID0+XHJcbiAgICAgICAgY2VsbHMucHVzaCh7XHJcbiAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICAgIGluZGV4OiBjb2x1bW5zLmxlbmd0aCArIGkgKyAyLFxyXG4gICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgbnVtYmVyRm9ybWF0LFxyXG4gICAgICAgICAgICBoQWxpZ246ICdyaWdodCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB2YWx1ZTogclt4Lm5hbWVdXHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgICAgcm93cy5wdXNoKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGluZGV4OiBpICsgMixcclxuICAgICAgICAgIGNlbGxzXHJcbiAgICAgICAgfSBhcyBSb3cpXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCBib29rID0gbmV3IFdvcmtib29rKFxyXG4gICAgICB7XHJcbiAgICAgICAgd29ya3NoZWV0czogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBlbmFibGVSdGw6IHRoaXMuX3Nlc3Npb24uaW52ZXJzZSxcclxuICAgICAgICAgICAgbmFtZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnU2hlZXROJywgMSksXHJcbiAgICAgICAgICAgIGNvbHVtbnM6IFsuLi5jb2x1bW5zLm1hcCgoXywgaSkgPT4gKHsgaW5kZXg6IGkgKyAxLCB3aWR0aDogMjUwIH0gYXMgQ29sdW1uKSlcclxuICAgICAgICAgICAgICAsIHsgaW5kZXg6IGNvbHVtbnMubGVuZ3RoICsgMSB9LFxyXG4gICAgICAgICAgICAuLi4odGhpcy5faW5kaWNlcyA/IHRoaXMuX2luZGljZXMubWFwKChfLCBpKSA9PiAoe1xyXG4gICAgICAgICAgICAgIGluZGV4OiBjb2x1bW5zLmxlbmd0aCArIGkgKyAyXHJcbiAgICAgICAgICAgIH0pKSA6IFtdKVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICByb3dzXHJcbiAgICAgICAgICB9IGFzIFdvcmtzaGVldFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0sXHJcbiAgICAgICd4bHN4J1xyXG4gICAgKTtcclxuICAgIGJvb2suc2F2ZShgJHt0aXRsZX0ueGxzeGApO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBhZGRzIGRhdGEgc291cmNlIGRlc2NyaXB0aW9uIHRvIGl0ZW0ga2V5cywgYW5kIG5vcm1hbGl6ZXMgaW5kaWNlcy5cclxuICAgKiBAcGFyYW0gcmVzdWx0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfZGVjb3JhdGUocmVzdWx0OiBJdGVtW10pOiBPYnNlcnZhYmxlPHt9W10+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShvYnNlcnZlID0+IHtcclxuICAgICAgY29uc3Qgb2JzZXJ2YWJsZXM6IE9ic2VydmFibGU8YW55PltdID0gW107XHJcbiAgICAgIHJlc3VsdC5mb3JFYWNoKHJvdyA9PiB7XHJcbiAgICAgICAgdGhpcy5fc2VyaWVzLmZvckVhY2goYSA9PiB7XHJcbiAgICAgICAgICBjb25zdCB2YWwgPSByb3dbYS5uYW1lXSBhcyBzdHJpbmc7XHJcbiAgICAgICAgICBjb25zdCBvYnNlcnZhYmxlID0gdGhpcy5fdHlwZS5nZXQoYS5kYXRhVHlwZSwgdmFsKS5cclxuICAgICAgICAgICAgcGlwZSh0YXAoKHY6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICAgIHJvd1tgXyR7YS5uYW1lfWBdID0gdmFsO1xyXG4gICAgICAgICAgICAgIHJvd1thLm5hbWVdID0gdiB8fCB2YWw7XHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgIG9ic2VydmFibGVzLnB1c2gob2JzZXJ2YWJsZSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAob2JzZXJ2YWJsZXMubGVuZ3RoKVxyXG4gICAgICAgIGZvcmtKb2luKG9ic2VydmFibGVzKS5waXBlKG1hcCgoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBkYXRhOiB7fVtdID0gW107XHJcbiAgICAgICAgICByZXN1bHQuZm9yRWFjaChiYXNlUm93ID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBiYXNlUm93LnVzYWdlO1xyXG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gMCkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHJvdyA9IHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IHRoaXMuX3lUaXRsZSxcclxuICAgICAgICAgICAgICAgIHZhbHVlXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICB0aGlzLl9zZXJpZXMuZm9yRWFjaChhID0+IHtcclxuICAgICAgICAgICAgICAgIHJvd1tgXyR7YS5uYW1lfWBdID0gYmFzZVJvd1tgXyR7YS5uYW1lfWBdO1xyXG4gICAgICAgICAgICAgICAgcm93W2EubmFtZV0gPSBiYXNlUm93W2EubmFtZV07XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgZGF0YS5wdXNoKHJvdyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5faW5kaWNlcy5mb3JFYWNoKGkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gYmFzZVJvd1tpLm5hbWVdO1xyXG4gICAgICAgICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByb3cgPSB7IHR5cGU6IGkudGl0bGUsIHZhbHVlIH07XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXJpZXMuZm9yRWFjaChhID0+IHtcclxuICAgICAgICAgICAgICAgICAgcm93W2BfJHthLm5hbWV9YF0gPSBiYXNlUm93W2BfJHthLm5hbWV9YF07XHJcbiAgICAgICAgICAgICAgICAgIHJvd1thLm5hbWVdID0gYmFzZVJvd1thLm5hbWVdO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBkYXRhLnB1c2gocm93KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgICB9KSkuc3Vic2NyaWJlKG9ic2VydmUpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgb2JzZXJ2ZS5uZXh0KFtdKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gZVxyXG4gICAqL1xyXG4gIHBvaW50Q2xpY2soZTogSVBvaW50RXZlbnRBcmdzKSB7XHJcbiAgICBjb25zdCB7IHBvaW50OiB7IHgsIHlWYWx1ZSB9LCBzZXJpZXM6IHsgbmFtZTogdGl0bGUgfSB9ID0gZTtcclxuICAgIGlmICh5VmFsdWUgPT09IDApIHtcclxuICAgICAgZS5jYW5jZWwgPSB0cnVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBheGVzOiB7IFtheGlzOiBzdHJpbmddOiBhbnk7IH0gPSB0aGlzLl9heGVzKHggYXMgc3RyaW5nKTtcclxuICAgIHN1cGVyLmJyb3dzZShheGVzLCB0aXRsZSA9PT0gdGhpcy5feVRpdGxlID8gbnVsbCA6IHRoaXMuX2luZGV4TmFtZSh0aXRsZSkpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiByZXZlcnNlIGVuZ2luZWVyaW5nIGF4ZXMgZnJvbSBzZXJpZXMgbGFiZWxcclxuICAgKiBAcGFyYW0gbGFiZWxcclxuICAgKi9cclxuICBwcml2YXRlIF9heGVzKGxhYmVsOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGF4ZXM6IHsgW2F4aXM6IHN0cmluZ106IChzdHJpbmcgfCBudW1iZXIpOyB9ID0ge307XHJcbiAgICBsYWJlbC5zcGxpdCgnIC0gJykuZm9yRWFjaCgoeCwgaSkgPT4ge1xyXG4gICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLmRhdGFTb3VyY2VTZXR0aW5ncy5yb3dzW2ldLm5hbWUsXHJcbiAgICAgICAgZWxlbWVudCA9IHRoaXMuX2RhdGEuZmluZChlID0+IGVbY29sdW1uXSA9PT0geCk7XHJcbiAgICAgIGF4ZXNbY29sdW1uXSA9IGVsZW1lbnQgPyBlbGVtZW50W2BfJHtjb2x1bW59YF0gOiB4O1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gYXhlcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIHJldmVyc2UgZW5naW5lZXJpbmcgaW5kZXggbmFtZSBmcm9tIHRpdGxlXHJcbiAgICogQHBhcmFtIHRpdGxlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaW5kZXhOYW1lKHRpdGxlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLl9pbmRpY2VzLmZpbmQoaSA9PiBpLnRpdGxlID09PSB0aXRsZSk7XHJcbiAgICByZXR1cm4gaW5kZXgubmFtZTtcclxuICB9XHJcbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnBpdm90ICYmIHRoaXMucGl2b3QuZGVzdHJveSgpO1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIENlbGwgeyB9XHJcbiJdfQ==
358
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNhZ2UtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3JlcG9ydHMvY3ViZS91c2FnZS1jaGFydC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFzQixTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUlsRixPQUFPLEVBQUUsUUFBUSxFQUEwQixNQUFNLDhCQUE4QixDQUFDO0FBQ2hGLE9BQU8sRUFBNEIsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBUXpFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7OztBQUdoRDs7S0FFSztBQVFMLE1BQU0sT0FDRSxtQkFBb0IsU0FBUSxlQUFlO0lBUWpELE9BQU87SUFDUCxZQUFZLFNBQXdDLEVBQUUsSUFBdUIsRUFBRSxPQUFvQixFQUFFLE9BQXVCLEVBQzFILE1BQWtCLEVBQ2xCLEVBQWlCLEVBQ1QsV0FBdUIsRUFDL0IsR0FBbUIsRUFDbkIsU0FBMkI7UUFDM0IsS0FBSyxDQUNILE1BQU0sRUFDTixTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQ2pDLEVBQUUsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFOZCxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQVh4QixRQUFHLEdBQUcsSUFBSSxDQUFD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QyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztRQUN6RCxPQUFPLEtBQU0sQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUNRLFdBQVc7UUFDbEIsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25DLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QixDQUFDOzhHQTlWSyxtQkFBbUI7a0dBQW5CLG1CQUFtQiwrSEFQZixFQUFFOzsyRkFPTixtQkFBbUI7a0JBUjFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7b0JBQ1osSUFBSSxFQUFFO3dCQUNKLE1BQU0sRUFBRSxJQUFJO3dCQUNaLE9BQU8sRUFBRSxLQUFLO3FCQUNmO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gXCJAYW5ndWxhci9jZGsvYmlkaVwiO1xyXG5pbXBvcnQgeyBnZXRDdXJyZW5jeVN5bWJvbCwgZ2V0TG9jYWxlTnVtYmVyRm9ybWF0LCBOdW1iZXJGb3JtYXRTdHlsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZm9ya0pvaW4gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyB0YXAsIHRha2VVbnRpbCwgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IERpc3BsYXlPcHRpb25Nb2RlbCwgUGl2b3RWaWV3IH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXBpdm90dmlld1wiO1xyXG5pbXBvcnQgeyBJU29ydCwgSUZpZWxkT3B0aW9ucywgSUZvcm1hdFNldHRpbmdzIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1waXZvdHZpZXdcIjtcclxuaW1wb3J0IHsgQ2hhcnRTZXR0aW5nc01vZGVsIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLXBpdm90dmlldy9zcmMvcGl2b3R2aWV3L21vZGVsL2NoYXJ0c2V0dGluZ3MtbW9kZWwnO1xyXG5pbXBvcnQgeyBDaGFydCwgSVBvaW50RXZlbnRBcmdzIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWNoYXJ0c1wiO1xyXG5pbXBvcnQgeyBXb3JrYm9vaywgV29ya3NoZWV0LCBSb3csIENvbHVtbiB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1leGNlbC1leHBvcnQnO1xyXG5pbXBvcnQgeyBJdGVtLCBVc2FnZVNldHRpbmdzTW9kZWwsIFVzYWdlUmVwb3J0QmFzZSB9IGZyb20gXCIuL3VzYWdlLWJhc2VcIjtcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY3ViZS9jdWJlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBSZXBvcnRSZWYgfSBmcm9tIFwiLi4vcmVwb3J0LXJlZlwiO1xyXG5pbXBvcnQgeyBNYXRlcmlhbE1vZGUgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IHsgRk9OVF9GQU1JTFkgfSBmcm9tIFwiLi4vLi4vY29yZS9jb2xvcnNcIjtcclxuaW1wb3J0IHsgUm91dGVySW1wbCB9IGZyb20gXCIuLi8uLi9jb3JlL3JvdXRlclwiO1xyXG50eXBlIERhdGFTb3VyY2VTZXR0aW5nc01vZGVsID0gYW55O1xyXG4vKipcclxuICogY3ViZSB1c2FnZVxyXG4gKiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgaG9zdDoge1xyXG4gICAgJ1tpZF0nOiAnaWQnLFxyXG4gICAgJ1tkaXJdJzogJ2RpcidcclxuICB9XHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFVzYWdlQ2hhcnRDb21wb25lbnQgZXh0ZW5kcyBVc2FnZVJlcG9ydEJhc2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHJlYWRvbmx5IGRpciA9IHRoaXMuX3Nlc3Npb24uZGlyZWN0aW9uO1xyXG4gIHBpdm90OiBQaXZvdFZpZXc7XHJcbiAgZGF0YVNvdXJjZVNldHRpbmdzOiBEYXRhU291cmNlU2V0dGluZ3NNb2RlbDtcclxuICByZWFkb25seSBkaXNwbGF5T3B0aW9uOiBEaXNwbGF5T3B0aW9uTW9kZWwgPSB7XHJcbiAgICB2aWV3OiAnQ2hhcnQnXHJcbiAgfTtcclxuICBjaGFydFNldHRpbmdzOiBDaGFydFNldHRpbmdzTW9kZWw7XHJcbiAgLy8gY3RvclxyXG4gIGNvbnN0cnVjdG9yKHJlcG9ydFJlZjogUmVwb3J0UmVmPFVzYWdlU2V0dGluZ3NNb2RlbD4sIHR5cGU6IERhdGFzb3VyY2VTZXJ2aWNlLCBzZXJ2aWNlOiBDdWJlU2VydmljZSwgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICByb3V0ZXI6IFJvdXRlckltcGwsXHJcbiAgICBzYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBkaXI6IERpcmVjdGlvbmFsaXR5LFxyXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihcclxuICAgICAgcm91dGVyLFxyXG4gICAgICByZXBvcnRSZWYsIHR5cGUsIHNlcnZpY2UsIHNlc3Npb24sXHJcbiAgICAgIHNiLCBkaXIsIHRyYW5zbGF0ZSk7XHJcbiAgICB0aGlzLl9zZXNzaW9uLnRoZW1lQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgIHRoaXMuY2hhcnRTZXR0aW5ncy50aGVtZSA9IHQuZGFyayA/ICdNYXRlcmlhbDNEYXJrJyA6ICdNYXRlcmlhbDMnO1xyXG4gICAgICB0aGlzLmNoYXJ0U2V0dGluZ3MucGFsZXR0ZXMgPSB0aGlzLl9wYWxldHRlcygpO1xyXG4gICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2RlZmF1bHRzKCk7XHJcbiAgfVxyXG4gIC8qKiBzZXQgZGVmYXVsdHMgKi9cclxuICBwcml2YXRlIF9kZWZhdWx0cygpIHtcclxuICAgIGNvbnN0IHsgY2hhcnRUeXBlIH0gPSB0aGlzLl9yZXBvcnRSZWYub3B0aW9ucztcclxuICAgIGNvbnN0IGlzTGluZSA9IGNoYXJ0VHlwZSA9PT0gJ0xpbmUnIHx8IGNoYXJ0VHlwZSA9PT0gJ1NwbGluZSc7XHJcbiAgICB0aGlzLmNoYXJ0U2V0dGluZ3MgPSB7XHJcbiAgICAgIHBvaW50Q2xpY2s6IHRoaXMucG9pbnRDbGljay5iaW5kKHRoaXMpLFxyXG4gICAgICB6b29tU2V0dGluZ3M6IHtcclxuICAgICAgICB0b29sYmFySXRlbXM6IFtdLFxyXG4gICAgICAgIG1vZGU6ICdYWScsXHJcbiAgICAgICAgZW5hYmxlTW91c2VXaGVlbFpvb21pbmc6IHRydWUsXHJcbiAgICAgICAgZW5hYmxlUGluY2hab29taW5nOiB0cnVlLFxyXG4gICAgICAgIGVuYWJsZVNlbGVjdGlvblpvb21pbmc6IGZhbHNlXHJcbiAgICAgIH0sXHJcbiAgICAgIGNyb3NzaGFpcjoge1xyXG4gICAgICAgIGVuYWJsZTogaXNMaW5lLFxyXG4gICAgICAgIGxpbmU6IHtcclxuICAgICAgICAgIHdpZHRoOiAxXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBjaGFydFNlcmllczoge1xyXG4gICAgICAgIHBhbGV0dGVzOiB0aGlzLl9wYWxldHRlcygpLFxyXG4gICAgICAgIHR5cGU6IGNoYXJ0VHlwZSB8fCAnQ29sdW1uJyxcclxuICAgICAgICAvL3dpZHRoOiAyLFxyXG4gICAgICAgIGJvcmRlcjogeyB3aWR0aDogMCB9LFxyXG4gICAgICAgIG1hcmtlcjogeyBoZWlnaHQ6IDEwLCB3aWR0aDogMTAsIHNoYXBlOiAnUGVudGFnb24nLCB2aXNpYmxlOiBpc0xpbmUgfSxcclxuICAgICAgfSxcclxuICAgICAgZW5hYmxlRXhwb3J0OiB0cnVlLFxyXG4gICAgICBjaGFydEFyZWE6IHtcclxuICAgICAgICBib3JkZXI6IHsgd2lkdGg6IDAgfVxyXG4gICAgICB9LFxyXG4gICAgICB0aGVtZTogdGhpcy5fc2Vzc2lvbi50aGVtZS5kYXJrID8gJ01hdGVyaWFsM0RhcmsnIDogJ01hdGVyaWFsMycsXHJcbiAgICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXHJcbiAgICAgIHByaW1hcnlYQXhpczoge1xyXG4gICAgICAgIHRpdGxlU3R5bGU6IHtcclxuICAgICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsYWJlbFN0eWxlOiB7XHJcbiAgICAgICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgYm9yZGVyOiB7IHdpZHRoOiAwIH0sXHJcbiAgICAgIGxlZ2VuZFNldHRpbmdzOiB7XHJcbiAgICAgICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaXNJbnZlcnNlZDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlXHJcbiAgICAgIH0sXHJcbiAgICAgIHRvb2x0aXA6IHtcclxuICAgICAgICB0ZXh0U3R5bGU6IHtcclxuICAgICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICB0aXRsZVN0eWxlOiB7XHJcbiAgICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgICAgfSxcclxuICAgICAgc3ViVGl0bGVTdHlsZToge1xyXG4gICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgIH0sXHJcbiAgICAgIHByaW1hcnlZQXhpczoge1xyXG4gICAgICAgIHRpdGxlU3R5bGU6IHtcclxuICAgICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsYWJlbFN0eWxlOiB7XHJcbiAgICAgICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY3Jvc3NoYWlyVG9vbHRpcDoge1xyXG4gICAgICAgICAgZW5hYmxlOiB0cnVlLFxyXG4gICAgICAgICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3QgZm9ybWF0U2V0dGluZ3M6IElGb3JtYXRTZXR0aW5nc1tdID0gW3tcclxuICAgICAgbmFtZTogJ3ZhbHVlJywgZm9ybWF0OiB0aGlzLmN1cnJlbmN5Q29kZSA/ICdDJyA6ICdOJyxcclxuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiB0aGlzLl9mcmFjdGlvbkRpZ2l0cyxcclxuICAgICAgLy9taW5pbXVtRnJhY3Rpb25EaWdpdHM6IHRoaXMuX2ZyYWN0aW9uRGlnaXRzLFxyXG4gICAgICBjdXJyZW5jeTogdGhpcy5jdXJyZW5jeUNvZGVcclxuICAgIH1dO1xyXG4gICAgY29uc3Qgcm93cyA9IHRoaXMuX3Nlcmllcy5tYXAoYSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgbmFtZTogYS5uYW1lLFxyXG4gICAgICAgIGNhcHRpb246IGEudGl0bGVcclxuICAgICAgfSBhcyBJRmllbGRPcHRpb25zO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2VTZXR0aW5ncyA9IHtcclxuICAgICAgY29sdW1uczogW3tcclxuICAgICAgICBuYW1lOiAndHlwZSdcclxuICAgICAgfV0sXHJcbiAgICAgIHJvd3MsXHJcbiAgICAgIHZhbHVlczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5hbWU6ICd2YWx1ZScsXHJcbiAgICAgICAgICBjYXB0aW9uOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdWYWx1ZScpXHJcbiAgICAgICAgfVxyXG4gICAgICBdLFxyXG4gICAgICBlbmFibGVTb3J0aW5nOiBmYWxzZSxcclxuICAgICAgc29ydFNldHRpbmdzOiB0aGlzLl9zZXJpZXMubWFwKHMgPT4geyByZXR1cm4geyBuYW1lOiBgXyR7cy5uYW1lfWAgfSBhcyBJU29ydCB9KSxcclxuICAgICAgZXhwYW5kQWxsOiB0aGlzLl9leHBhbmRBbGwsXHJcbiAgICAgIGZvcm1hdFNldHRpbmdzLFxyXG4gICAgICBkYXRhU291cmNlOiBbXVxyXG4gICAgfTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcGFsZXR0ZXMoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIFt0aGlzLl9zZXNzaW9uLmdldEFjY2VudCgpXS5cclxuICAgICAgY29uY2F0KHRoaXMuX2luZGljZXMubWFwKChfLCBpKSA9PlxyXG4gICAgICAgIHRoaXMuX3Nlc3Npb24uZ2V0UHJpbWVyeSgzMDAgKyAzMDAgKiBpIGFzIE1hdGVyaWFsTW9kZSkpKTtcclxuICB9XHJcblxyXG4gIGRhdGFCb3VuZChfOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucGl2b3QuY2hhcnQucG9pbnRDbGljayA9IHRoaXMucG9pbnRDbGljay5iaW5kKHRoaXMpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gcmVzdWx0XHJcbiAgICovXHJcbiAgb25EYXRhKHJlc3VsdDogSXRlbVtdKSB7XHJcbiAgICB0aGlzLl9kYXRhID0gcmVzdWx0O1xyXG4gICAgdGhpcy5fZGVjb3JhdGUocmVzdWx0KS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiByID0+IHtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2VTZXR0aW5ncy5kYXRhU291cmNlID0gcjtcclxuICAgICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICAgIH0sIGVycm9yOiAoKSA9PiB0aGlzLl9zYi5lcnJvcigpXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZHJhdygpIHtcclxuICAgIHRoaXMucGl2b3QgJiYgdGhpcy5waXZvdC5kZXN0cm95KCk7XHJcbiAgICB0aGlzLnBpdm90ID0gbmV3IFBpdm90Vmlldyh7XHJcbiAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgIGhlaWdodDogJzEwMCUnLFxyXG4gICAgICBlbmFibGVSdGw6IHRoaXMuZW5hYmxlUnRsLFxyXG4gICAgICBkYXRhQm91bmQ6IHRoaXMuZGF0YUJvdW5kLmJpbmQodGhpcyksXHJcbiAgICAgIGNoYXJ0U2V0dGluZ3M6IHRoaXMuY2hhcnRTZXR0aW5ncyxcclxuICAgICAgZGlzcGxheU9wdGlvbjogdGhpcy5kaXNwbGF5T3B0aW9uLFxyXG4gICAgICBkYXRhU291cmNlU2V0dGluZ3M6IHRoaXMuZGF0YVNvdXJjZVNldHRpbmdzLFxyXG4gICAgICBzcGlubmVyVGVtcGxhdGU6ICcnLFxyXG4gICAgICBhbGxvd0NvbmRpdGlvbmFsRm9ybWF0dGluZzogdHJ1ZSxcclxuICAgICAgY3VycmVuY3lDb2RlOiB0aGlzLmN1cnJlbmN5Q29kZSxcclxuICAgIH0sIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgfVxyXG4gIG9uUmVzaXplKCkge1xyXG4gICAgaWYgKHRoaXMucGl2b3QgJiYgdGhpcy5waXZvdC5jaGFydCkge1xyXG4gICAgICAvL3RoaXMucGl2b3QuY2hhcnQuaGVpZ2h0ID0gdGhpcy5oZWlnaHQ7XHJcbiAgICAgIC8vdGhpcy5waXZvdC5jaGFydC53aWR0aCA9IHRoaXMud2lkdGg7XHJcbiAgICAgICh0aGlzLnBpdm90LmNoYXJ0IGFzIENoYXJ0KS5jaGFydFJlc2l6ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkV4cG9ydFVzYWdlKHRpdGxlOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IG51bWJlckZvcm1hdCA9IHRoaXMuX2N1YmUuY3VycmVuY3lDb2RlID9cclxuICAgICAgZ2V0Q3VycmVuY3lTeW1ib2wodGhpcy5fY3ViZS5jdXJyZW5jeUNvZGUsICduYXJyb3cnKSArXHJcbiAgICAgIGdldExvY2FsZU51bWJlckZvcm1hdCh0aGlzLl9zZXNzaW9uLmxhbmd1YWdlLCBOdW1iZXJGb3JtYXRTdHlsZS5DdXJyZW5jeSlcclxuICAgICAgOiBnZXRMb2NhbGVOdW1iZXJGb3JtYXQodGhpcy5fc2Vzc2lvbi5sYW5ndWFnZSwgTnVtYmVyRm9ybWF0U3R5bGUuRGVjaW1hbCksXHJcbiAgICAgIGNvbHVtbnMgPSB0aGlzLl9jdWJlLmF4ZXMuZmlsdGVyKGEgPT4gdGhpcy5fb3B0aW9ucy5zZXJpZXMhLmluZGV4T2YoYS5uYW1lKSA+IC0xKSxcclxuICAgICAgcm93cyA9IFt7XHJcbiAgICAgICAgaW5kZXg6IDEsXHJcbiAgICAgICAgY2VsbHM6IGNvbHVtbnMubWFwKChjLCBpKSA9PiAoe1xyXG4gICAgICAgICAgaW5kZXg6IGkgKyAxLCB2YWx1ZTogYy50aXRsZSxcclxuICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSlcclxuICAgICAgfV0gYXMgUm93W107XHJcbiAgICByb3dzWzBdLmNlbGxzLnB1c2goe1xyXG4gICAgICBpbmRleDogY29sdW1ucy5sZW5ndGggKyAxLFxyXG4gICAgICB2YWx1ZTogdGhpcy5fY3ViZS55QXhpcyA/IHRoaXMuX2N1YmUueUF4aXMudGl0bGUgOlxyXG4gICAgICAgIHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1ZhbHVlJyksXHJcbiAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgYm9sZDogdHJ1ZVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5faW5kaWNlcy5mb3JFYWNoKCh4LCBpKSA9PlxyXG4gICAgICByb3dzWzBdLmNlbGxzLnB1c2goe1xyXG4gICAgICAgIGluZGV4OiBjb2x1bW5zLmxlbmd0aCArIGkgKyAyLFxyXG4gICAgICAgIHZhbHVlOiB4LnRpdGxlLFxyXG4gICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICBib2xkOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgICB9KSk7XHJcbiAgICB0aGlzLl9kYXRhLmZvckVhY2goKHIsIGkpID0+IHtcclxuICAgICAgY29uc3QgY2VsbHMgPSBjb2x1bW5zLm1hcCgoYywgaikgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBpbmRleDogaiArIDEsIHZhbHVlOiByW2MubmFtZV0sXHJcbiAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gYXMgQ2VsbDtcclxuICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgICBjZWxscy5wdXNoKHtcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICBpbmRleDogY29sdW1ucy5sZW5ndGggKyAxLFxyXG4gICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICBudW1iZXJGb3JtYXQsXHJcbiAgICAgICAgICBoQWxpZ246ICdyaWdodCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHZhbHVlOiByWyd2YWx1ZSddXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9pbmRpY2VzICYmIHRoaXMuX2luZGljZXMuZm9yRWFjaCgoeCwgaSkgPT5cclxuICAgICAgICBjZWxscy5wdXNoKHtcclxuICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgICAgaW5kZXg6IGNvbHVtbnMubGVuZ3RoICsgaSArIDIsXHJcbiAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgICBudW1iZXJGb3JtYXQsXHJcbiAgICAgICAgICAgIGhBbGlnbjogJ3JpZ2h0J1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHZhbHVlOiByW3gubmFtZV1cclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgICByb3dzLnB1c2goXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaW5kZXg6IGkgKyAyLFxyXG4gICAgICAgICAgY2VsbHNcclxuICAgICAgICB9IGFzIFJvdylcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IGJvb2sgPSBuZXcgV29ya2Jvb2soXHJcbiAgICAgIHtcclxuICAgICAgICB3b3Jrc2hlZXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGVuYWJsZVJ0bDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTaGVldE4nLCAxKSxcclxuICAgICAgICAgICAgY29sdW1uczogWy4uLmNvbHVtbnMubWFwKChfLCBpKSA9PiAoeyBpbmRleDogaSArIDEsIHdpZHRoOiAyNTAgfSBhcyBDb2x1bW4pKVxyXG4gICAgICAgICAgICAgICwgeyBpbmRleDogY29sdW1ucy5sZW5ndGggKyAxIH0sXHJcbiAgICAgICAgICAgIC4uLih0aGlzLl9pbmRpY2VzID8gdGhpcy5faW5kaWNlcy5tYXAoKF8sIGkpID0+ICh7XHJcbiAgICAgICAgICAgICAgaW5kZXg6IGNvbHVtbnMubGVuZ3RoICsgaSArIDJcclxuICAgICAgICAgICAgfSkpIDogW10pXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIHJvd3NcclxuICAgICAgICAgIH0gYXMgV29ya3NoZWV0XHJcbiAgICAgICAgXSxcclxuICAgICAgfSxcclxuICAgICAgJ3hsc3gnXHJcbiAgICApO1xyXG4gICAgYm9vay5zYXZlKGAke3RpdGxlfS54bHN4YCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGFkZHMgZGF0YSBzb3VyY2UgZGVzY3JpcHRpb24gdG8gaXRlbSBrZXlzLCBhbmQgbm9ybWFsaXplcyBpbmRpY2VzLlxyXG4gICAqIEBwYXJhbSByZXN1bHRcclxuICAgKi9cclxuICBwcml2YXRlIF9kZWNvcmF0ZShyZXN1bHQ6IEl0ZW1bXSk6IE9ic2VydmFibGU8e31bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmUgPT4ge1xyXG4gICAgICBjb25zdCBvYnNlcnZhYmxlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuICAgICAgcmVzdWx0LmZvckVhY2gocm93ID0+IHtcclxuICAgICAgICB0aGlzLl9zZXJpZXMuZm9yRWFjaChhID0+IHtcclxuICAgICAgICAgIGNvbnN0IHZhbCA9IHJvd1thLm5hbWVdIGFzIHN0cmluZztcclxuICAgICAgICAgIGNvbnN0IG9ic2VydmFibGUgPSB0aGlzLl90eXBlLmdldChhLmRhdGFUeXBlLCB2YWwpLlxyXG4gICAgICAgICAgICBwaXBlKHRhcCgodjogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgcm93W2BfJHthLm5hbWV9YF0gPSB2YWw7XHJcbiAgICAgICAgICAgICAgcm93W2EubmFtZV0gPSB2IHx8IHZhbDtcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgb2JzZXJ2YWJsZXMucHVzaChvYnNlcnZhYmxlKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChvYnNlcnZhYmxlcy5sZW5ndGgpXHJcbiAgICAgICAgZm9ya0pvaW4ob2JzZXJ2YWJsZXMpLnBpcGUobWFwKCgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGRhdGE6IHt9W10gPSBbXTtcclxuICAgICAgICAgIHJlc3VsdC5mb3JFYWNoKGJhc2VSb3cgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGJhc2VSb3cudXNhZ2U7XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSAwKSB7XHJcbiAgICAgICAgICAgICAgY29uc3Qgcm93OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB9ID0ge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogdGhpcy5feVRpdGxlLFxyXG4gICAgICAgICAgICAgICAgdmFsdWVcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIHRoaXMuX3Nlcmllcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICAgICAgICAgICAgcm93W2BfJHthLm5hbWV9YF0gPSBiYXNlUm93W2BfJHthLm5hbWV9YF07XHJcbiAgICAgICAgICAgICAgICByb3dbYS5uYW1lXSA9IGJhc2VSb3dbYS5uYW1lXTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICBkYXRhLnB1c2gocm93KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLl9pbmRpY2VzLmZvckVhY2goaSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBiYXNlUm93W2kubmFtZV07XHJcbiAgICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IDApIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJvdzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfSA9IHsgdHlwZTogaS50aXRsZSwgdmFsdWUgfTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlcmllcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICAgICAgICAgICAgICByb3dbYF8ke2EubmFtZX1gXSA9IGJhc2VSb3dbYF8ke2EubmFtZX1gXTtcclxuICAgICAgICAgICAgICAgICAgcm93W2EubmFtZV0gPSBiYXNlUm93W2EubmFtZV07XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGRhdGEucHVzaChyb3cpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICAgIH0pKS5zdWJzY3JpYmUob2JzZXJ2ZSk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICBvYnNlcnZlLm5leHQoW10pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBlXHJcbiAgICovXHJcbiAgcG9pbnRDbGljayhlOiBJUG9pbnRFdmVudEFyZ3MpIHtcclxuICAgIGNvbnN0IHsgcG9pbnQ6IHsgeCwgeVZhbHVlIH0sIHNlcmllczogeyBuYW1lOiB0aXRsZSB9IH0gPSBlO1xyXG4gICAgaWYgKHlWYWx1ZSA9PT0gMCkge1xyXG4gICAgICBlLmNhbmNlbCA9IHRydWU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGF4ZXM6IHsgW2F4aXM6IHN0cmluZ106IGFueTsgfSA9IHRoaXMuX2F4ZXMoeCBhcyBzdHJpbmcpO1xyXG4gICAgc3VwZXIuYnJvd3NlKGF4ZXMsIHRpdGxlID09PSB0aGlzLl95VGl0bGUgPyB1bmRlZmluZWQgOiB0aGlzLl9pbmRleE5hbWUodGl0bGUhKSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIHJldmVyc2UgZW5naW5lZXJpbmcgYXhlcyBmcm9tIHNlcmllcyBsYWJlbFxyXG4gICAqIEBwYXJhbSBsYWJlbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2F4ZXMobGFiZWw6IHN0cmluZykge1xyXG4gICAgY29uc3QgYXhlczogeyBbYXhpczogc3RyaW5nXTogKHN0cmluZyB8IG51bWJlcik7IH0gPSB7fTtcclxuICAgIGxhYmVsLnNwbGl0KCcgLSAnKS5mb3JFYWNoKCh4LCBpKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbHVtbiA9IHRoaXMuZGF0YVNvdXJjZVNldHRpbmdzLnJvd3NbaV0ubmFtZSxcclxuICAgICAgICBlbGVtZW50ID0gdGhpcy5fZGF0YS5maW5kKGUgPT4gZVtjb2x1bW5dID09PSB4KTtcclxuICAgICAgYXhlc1tjb2x1bW5dID0gZWxlbWVudCA/IGVsZW1lbnRbYF8ke2NvbHVtbn1gXSA6IHg7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBheGVzO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogcmV2ZXJzZSBlbmdpbmVlcmluZyBpbmRleCBuYW1lIGZyb20gdGl0bGVcclxuICAgKiBAcGFyYW0gdGl0bGVcclxuICAgKi9cclxuICBwcml2YXRlIF9pbmRleE5hbWUodGl0bGU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuX2luZGljZXMuZmluZChpID0+IGkudGl0bGUgPT09IHRpdGxlKTtcclxuICAgIHJldHVybiBpbmRleCEubmFtZTtcclxuICB9XHJcbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnBpdm90ICYmIHRoaXMucGl2b3QuZGVzdHJveSgpO1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIENlbGwgeyB9XHJcbiJdfQ==
@@ -193,7 +193,7 @@ export class UsagePivotComponent extends UsageReportBase {
193
193
  dataBound: this.dataBound.bind(this)
194
194
  }, this._elementRef.nativeElement);
195
195
  }
196
- dataBound(_) {
196
+ dataBound(evt) {
197
197
  this.tooltip = new Tooltip({
198
198
  target: '.e-icons',
199
199
  cssClass: 'e-custom-tooltip',
@@ -240,10 +240,10 @@ export class UsagePivotComponent extends UsageReportBase {
240
240
  this.pivot && this.pivot.destroy();
241
241
  super.ngOnDestroy();
242
242
  }
243
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UsagePivotComponent, deps: [{ token: i0.ElementRef }, { token: i1.ReportRef }, { token: i2.DatasourceService }, { token: i3.CubeService }, { token: i4.SessionService }, { token: i5.RouterImpl }, { token: i6.PromptService }, { token: i7.Directionality }, { token: i8.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
244
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: UsagePivotComponent, selector: "ng-component", host: { properties: { "id": "id" } }, viewQueries: [{ propertyName: "pivot", first: true, predicate: PivotViewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
243
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UsagePivotComponent, deps: [{ token: i0.ElementRef }, { token: i1.ReportRef }, { token: i2.DatasourceService }, { token: i3.CubeService }, { token: i4.SessionService }, { token: i5.RouterImpl }, { token: i6.PromptService }, { token: i7.Directionality }, { token: i8.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
244
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: UsagePivotComponent, selector: "ng-component", host: { properties: { "id": "id" } }, viewQueries: [{ propertyName: "pivot", first: true, predicate: PivotViewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
245
245
  }
246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: UsagePivotComponent, decorators: [{
246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: UsagePivotComponent, decorators: [{
247
247
  type: Component,
248
248
  args: [{
249
249
  template: '',
@@ -254,4 +254,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
254
254
  type: ViewChild,
255
255
  args: [PivotViewComponent]
256
256
  }] } });
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNhZ2UtcGl2b3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9yZXBvcnRzL2N1YmUvdXNhZ2UtcGl2b3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBYyxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFNBQVMsRUFBdUcsTUFBTSxtQ0FBbUMsQ0FBQztBQUl2TCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQU94RCxPQUFPLEVBQTRCLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7OztBQUl6RSxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztBQUNuQzs7S0FFSztBQU1MLE1BQU0sT0FDRSxtQkFBb0IsU0FBUSxlQUFlO0lBeUJqRCxPQUFPO0lBQ1AsWUFDVSxXQUF1QixFQUMvQixTQUF3QyxFQUN4QyxJQUF1QixFQUN2QixPQUFvQixFQUFFLE9BQXVCLEVBQzdDLE1BQWtCLEVBQ2xCLEVBQWlCLEVBQ2pCLEdBQW1CLEVBQ25CLFNBQTJCO1FBQzNCLEtBQUssQ0FDSCxNQUFNLEVBQ04sU0FBUyxFQUNULElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUN0QixFQUFFLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBWmQsZ0JBQVcsR0FBWCxX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a0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gXCJAYW5ndWxhci9jZGsvYmlkaVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyB0YXAsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBQaXZvdFZpZXdDb21wb25lbnQsIFBpdm90VmlldywgR3JvdXBpbmdCYXJTZXR0aW5nc01vZGVsLCBIeXBlckNlbGxDbGlja0V2ZW50QXJncywgQ29uZGl0aW9uYWxTZXR0aW5nc01vZGVsLCBIeXBlcmxpbmtTZXR0aW5nc01vZGVsIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXBpdm90dmlld1wiO1xyXG5pbXBvcnQgeyBFeGNlbFF1ZXJ5Q2VsbEluZm9FdmVudEFyZ3MgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWdyaWRzXCI7XHJcbmltcG9ydCB7IElDb25kaXRpb25hbEZvcm1hdFNldHRpbmdzLCBJRmllbGRPcHRpb25zLCBJRm9ybWF0U2V0dGluZ3MsIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXBpdm90dmlld1wiO1xyXG5pbXBvcnQgeyBHcmlkU2V0dGluZ3NNb2RlbCB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItcGl2b3R2aWV3L3NyYy9waXZvdHZpZXcvbW9kZWwvZ3JpZHNldHRpbmdzLW1vZGVsXCI7XHJcbmltcG9ydCB7IEludGVybmF0aW9uYWxpemF0aW9uIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1iYXNlXCI7XHJcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItcG9wdXBzJztcclxuaW1wb3J0IHsgQ3ViZUF4aXMgfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgZ2V0V2FybiwgaXNBcnJheSB9IGZyb20gXCIuLi8uLi9jb3JlL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY3ViZS9jdWJlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFJvdXRlckltcGwgfSBmcm9tIFwiLi4vLi4vY29yZS9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgSXRlbSwgVXNhZ2VTZXR0aW5nc01vZGVsLCBVc2FnZVJlcG9ydEJhc2UgfSBmcm9tIFwiLi91c2FnZS1iYXNlXCI7XHJcbmltcG9ydCB7IFJlcG9ydFJlZiB9IGZyb20gXCIuLi9yZXBvcnQtcmVmXCI7XHJcbnR5cGUgRGF0YVNvdXJjZVNldHRpbmdzTW9kZWwgPSBhbnk7XHJcblxyXG5jb25zdCBQSVZPVF9IRUFERVJfREVMSU1JVEVSID0gJ3wnO1xyXG4vKipcclxuICogY3ViZSB1c2FnZVxyXG4gKiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgLy90ZW1wbGF0ZVVybDogJ3VzYWdlLXBpdm90LmNvbXBvbmVudC5odG1sJyxcclxuICBob3N0OiB7ICdbaWRdJzogJ2lkJyB9XHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFVzYWdlUGl2b3RDb21wb25lbnQgZXh0ZW5kcyBVc2FnZVJlcG9ydEJhc2Uge1xyXG4gIEBWaWV3Q2hpbGQoUGl2b3RWaWV3Q29tcG9uZW50KSBwaXZvdDogUGl2b3RWaWV3O1xyXG4gIHByaXZhdGUgX2VtcHR5Q2VsbHNUZXh0Q29udGVudDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3hBeGlzOiBDdWJlQXhpc1tdO1xyXG4gIGRhdGFTb3VyY2VTZXR0aW5nczogRGF0YVNvdXJjZVNldHRpbmdzTW9kZWw7XHJcbiAgaHlwZXJsaW5rU2V0dGluZ3M6IEh5cGVybGlua1NldHRpbmdzTW9kZWw7XHJcbiAgdG9vbHRpcDogVG9vbHRpcDtcclxuICByZWFkb25seSBncmlkU2V0dGluZ3M6IEdyaWRTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgcm93SGVpZ2h0OiAzNlxyXG4gIH07XHJcbiAgcmVhZG9ubHkgY29uZGl0aW9uYWxGb3JtYXRTZXR0aW5nczogSUNvbmRpdGlvbmFsRm9ybWF0U2V0dGluZ3NbXSA9IFt7XHJcbiAgICBjb25kaXRpb25zOiAnTGVzc1RoYW4nLFxyXG4gICAgdmFsdWUxOiAwLFxyXG4gICAgbWVhc3VyZTogJ3ZhbHVlJyxcclxuICAgIGFwcGx5R3JhbmRUb3RhbHM6IHRydWUsXHJcbiAgICBzdHlsZToge1xyXG4gICAgICBjb2xvcjogZ2V0V2FybigpXHJcbiAgICB9XHJcbiAgfV07XHJcbiAgcmVhZG9ubHkgZ3JvdXBpbmdCYXJTZXR0aW5nczogR3JvdXBpbmdCYXJTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgc2hvd1JlbW92ZUljb246IGZhbHNlLFxyXG4gICAgc2hvd0ZpbHRlckljb246IGZhbHNlLFxyXG4gICAgc2hvd1ZhbHVlVHlwZUljb246IGZhbHNlXHJcbiAgfTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9pbnRsOiBJbnRlcm5hdGlvbmFsaXphdGlvbiA9IG5ldyBJbnRlcm5hdGlvbmFsaXphdGlvbigpO1xyXG4gIC8vIGN0b3JcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICByZXBvcnRSZWY6IFJlcG9ydFJlZjxVc2FnZVNldHRpbmdzTW9kZWw+LFxyXG4gICAgdHlwZTogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBzZXJ2aWNlOiBDdWJlU2VydmljZSwgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICByb3V0ZXI6IFJvdXRlckltcGwsXHJcbiAgICBzYjogUHJvbXB0U2VydmljZSxcclxuICAgIGRpcjogRGlyZWN0aW9uYWxpdHksXHJcbiAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKFxyXG4gICAgICByb3V0ZXIsXHJcbiAgICAgIHJlcG9ydFJlZixcclxuICAgICAgdHlwZSwgc2VydmljZSwgc2Vzc2lvbixcclxuICAgICAgc2IsIGRpciwgdHJhbnNsYXRlKTtcclxuICAgIHRoaXMuX3Nlc3Npb24udGhlbWVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY29uZGl0aW9uYWxGb3JtYXRTZXR0aW5nc1swXS5zdHlsZS5jb2xvciA9IGdldFdhcm4oKTtcclxuICAgICAgdGhpcy5waXZvdC5yZWZyZXNoKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2RlZmF1bHRzKCk7XHJcbiAgfVxyXG4gIC8qKiBzZXQgZGVmYXVsdHMgKi9cclxuICBwcml2YXRlIF9kZWZhdWx0cygpIHtcclxuICAgIGNvbnN0IHsgeEF4aXMgfSA9IHRoaXMuX29wdGlvbnM7XHJcbiAgICB0aGlzLl94QXhpcyA9IHhBeGlzID8gdGhpcy5fY3ViZS5heGVzLmZpbHRlcihhID0+IGlzQXJyYXkoeEF4aXMpID8geEF4aXMuaW5kZXhPZihhLm5hbWUpID4gLTEgOiBhLm5hbWUgPT09IHhBeGlzKSA6IHRoaXMuX2N1YmUuYXhlcy5maWx0ZXIoYSA9PiBhLnNlbGVjdGlvbk1vZGUgIT09ICdOb25lJykuc2xpY2UoMCwgMik7XHJcbiAgICB0aGlzLl9lbXB0eUNlbGxzVGV4dENvbnRlbnQgPSB0aGlzLl9pbnRsLmZvcm1hdE51bWJlcigwLCB7XHJcbiAgICAgIGZvcm1hdDogdGhpcy5jdXJyZW5jeUNvZGUgPyAnQycgOiAnTicsXHJcbiAgICAgIGN1cnJlbmN5OiB0aGlzLmN1cnJlbmN5Q29kZSxcclxuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiB0aGlzLl9mcmFjdGlvbkRpZ2l0c1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBmb3JtYXRTZXR0aW5nczogSUZvcm1hdFNldHRpbmdzW10gPSBbe1xyXG4gICAgICBuYW1lOiAndXNhZ2UnLFxyXG4gICAgICBmb3JtYXQ6IHRoaXMuY3VycmVuY3lDb2RlID8gJ0MnIDogJ04nLFxyXG4gICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IHRoaXMuX2ZyYWN0aW9uRGlnaXRzXHJcbiAgICB9XTtcclxuICAgIGNvbnN0IHZhbHVlczogSUZpZWxkT3B0aW9uc1tdID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3VzYWdlJyxcclxuICAgICAgICBjYXB0aW9uOiB0aGlzLl95VGl0bGUsXHJcbiAgICAgICAgc2hvd05vRGF0YUl0ZW1zOiB0cnVlXHJcbiAgICAgIH1cclxuICAgIF07XHJcbiAgICBjb25zdCBjb25kaXRpb25hbFNldHRpbmdzOiBDb25kaXRpb25hbFNldHRpbmdzTW9kZWxbXSA9IFt7XHJcbiAgICAgIGNvbmRpdGlvbnM6ICdOb3RFcXVhbHMnLFxyXG4gICAgICB2YWx1ZTE6IDAsXHJcbiAgICAgIG1lYXN1cmU6ICd1c2FnZSdcclxuICAgIH1dO1xyXG4gICAgdGhpcy5faW5kaWNlcyAmJlxyXG4gICAgICB0aGlzLl9pbmRpY2VzLmZvckVhY2goaSA9PiB7XHJcbiAgICAgICAgdmFsdWVzLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogaS5uYW1lLFxyXG4gICAgICAgICAgY2FwdGlvbjogaS50aXRsZSxcclxuICAgICAgICAgIHNob3dOb0RhdGFJdGVtczogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbmRpdGlvbmFsU2V0dGluZ3MucHVzaCh7XHJcbiAgICAgICAgICBjb25kaXRpb25zOiAnTm90RXF1YWxzJyxcclxuICAgICAgICAgIHZhbHVlMTogMCxcclxuICAgICAgICAgIG1lYXN1cmU6IGkubmFtZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGZvcm1hdFNldHRpbmdzLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogaS5uYW1lLFxyXG4gICAgICAgICAgZm9ybWF0OiB0aGlzLmN1cnJlbmN5Q29kZSA/ICdDJyA6ICdOJyxcclxuICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogdGhpcy5fZnJhY3Rpb25EaWdpdHNcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmh5cGVybGlua1NldHRpbmdzID0ge1xyXG4gICAgICBjb25kaXRpb25hbFNldHRpbmdzOiBjb25kaXRpb25hbFNldHRpbmdzXHJcbiAgICB9XHJcbiAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5feEF4aXMubWFwKGEgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIG5hbWU6IGEubmFtZSxcclxuICAgICAgICBjYXB0aW9uOiBhLnRpdGxlLFxyXG4gICAgICAgIHNob3dOb0RhdGFJdGVtczogdHJ1ZVxyXG4gICAgICB9IGFzIElGaWVsZE9wdGlvbnM7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHJvd3MgPSB0aGlzLl9zZXJpZXMubWFwKGEgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIG5hbWU6IGEubmFtZSxcclxuICAgICAgICBjYXB0aW9uOiBhLnRpdGxlLFxyXG4gICAgICAgIHNob3dOb0RhdGFJdGVtczogdHJ1ZVxyXG4gICAgICB9IGFzIElGaWVsZE9wdGlvbnM7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZVNldHRpbmdzID0ge1xyXG4gICAgICBjb2x1bW5zLFxyXG4gICAgICByb3dzLFxyXG4gICAgICB2YWx1ZXMsXHJcbiAgICAgIGNvbmRpdGlvbmFsRm9ybWF0U2V0dGluZ3M6IHRoaXMuY29uZGl0aW9uYWxGb3JtYXRTZXR0aW5ncyxcclxuICAgICAgZW1wdHlDZWxsc1RleHRDb250ZW50OiB0aGlzLl9lbXB0eUNlbGxzVGV4dENvbnRlbnQsXHJcbiAgICAgIGV4cGFuZEFsbDogdGhpcy5fZXhwYW5kQWxsLFxyXG4gICAgICBzaG93Q29sdW1uR3JhbmRUb3RhbHM6IHRydWUsXHJcbiAgICAgIGFsd2F5c1Nob3dWYWx1ZUhlYWRlcjogZmFsc2UsXHJcbiAgICAgIGZvcm1hdFNldHRpbmdzLFxyXG4gICAgICBkYXRhU291cmNlOiBbXSxcclxuICAgICAgdmFsdWVTb3J0U2V0dGluZ3M6IHsgaGVhZGVyRGVsaW1pdGVyOiBQSVZPVF9IRUFERVJfREVMSU1JVEVSIH0sXHJcbiAgICAgIGVuYWJsZVNvcnRpbmc6IGZhbHNlXHJcbiAgICB9O1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gcmVzdWx0XHJcbiAgICovXHJcbiAgb25EYXRhKHJlc3VsdDogSXRlbVtdKSB7XHJcbiAgICB0aGlzLl9kZWNvcmF0ZShyZXN1bHQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLl9kYXRhID0gdGhpcy5kYXRhU291cmNlU2V0dGluZ3MuZGF0YVNvdXJjZSA9IHJlc3VsdCBhcyBhbnk7XHJcbiAgICAgICAgdGhpcy5fZHJhdygpO1xyXG4gICAgICB9LCBlcnJvcjogKCkgPT4gdGhpcy5fc2IuZXJyb3IoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGVuZ2luZVBvcHVsYXRlZCgpIHtcclxuICAgIHRoaXMucGl2b3QuZ3JpZC5leGNlbFF1ZXJ5Q2VsbEluZm8gPSB0aGlzLmV4Y2VsUXVlcnlDZWxsSW5mby5iaW5kKHRoaXMpO1xyXG4gIH1cclxuICBleGNlbFF1ZXJ5Q2VsbEluZm8oZXZ0OiBFeGNlbFF1ZXJ5Q2VsbEluZm9FdmVudEFyZ3MpIHtcclxuICAgIGlmIChldnQudmFsdWUgPT09IHRoaXMuX2VtcHR5Q2VsbHNUZXh0Q29udGVudCkgZXZ0LnZhbHVlID0gMDtcclxuICB9XHJcbiAgb25SZXNpemUoKSB7XHJcbiAgICBpZiAodGhpcy5waXZvdCkge1xyXG4gICAgICB0aGlzLnBpdm90LndpZHRoID0gdGhpcy53aWR0aDtcclxuICAgICAgdGhpcy5waXZvdC5vbldpbmRvd1Jlc2l6ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBvbkV4cG9ydFVzYWdlKG5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5waXZvdC5leGNlbEV4cG9ydCh7XHJcbiAgICAgIGZpbGVOYW1lOiBgJHtuYW1lfS54bHN4YFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBhZGRzIGRhdGEgc291cmNlIGRlc2NyaXB0aW9uIHRvIGl0ZW0ga2V5cy5cclxuICAgKiBAcGFyYW0gcmVzdWx0XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfZGVjb3JhdGUocmVzdWx0OiBJdGVtW10pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgY29uc3Qgb2JzZXJ2YWJsZXM6IE9ic2VydmFibGU8YW55PltdID0gW107XHJcbiAgICByZXN1bHQuZm9yRWFjaChyb3cgPT4ge1xyXG4gICAgICB0aGlzLl94QXhpcy5jb25jYXQodGhpcy5fc2VyaWVzKS5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICAgIGNvbnN0IGF4aXMgPSByb3dbYS5uYW1lXSBhcyBzdHJpbmc7XHJcbiAgICAgICAgcm93W2BfJHthLm5hbWV9YF0gPSBheGlzO1xyXG4gICAgICAgIGNvbnN0IG9ic2VydmFibGUgPSB0aGlzLl90eXBlLmdldChhLmRhdGFUeXBlLCBheGlzKS5waXBlKHRhcCh2ID0+IHJvd1thLm5hbWVdID0gdiB8fCBheGlzKSk7XHJcbiAgICAgICAgb2JzZXJ2YWJsZXMucHVzaChvYnNlcnZhYmxlKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBvYnNlcnZhYmxlcy5sZW5ndGggPyBmb3JrSm9pbihvYnNlcnZhYmxlcykgOiBvZihbXSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2RyYXcoKSB7XHJcbiAgICB0aGlzLnBpdm90ICYmIHRoaXMucGl2b3QuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5waXZvdCA9IG5ldyBQaXZvdFZpZXcoe1xyXG4gICAgICBzcGlubmVyVGVtcGxhdGU6ICcnLFxyXG4gICAgICBkYXRhU291cmNlU2V0dGluZ3M6IHRoaXMuZGF0YVNvdXJjZVNldHRpbmdzLFxyXG4gICAgICB3aWR0aDogdGhpcy53aWR0aCxcclxuICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCxcclxuICAgICAgZW5hYmxlVmFsdWVTb3J0aW5nOiB0cnVlLFxyXG4gICAgICBlbmFibGVSdGw6IHRoaXMuZW5hYmxlUnRsLFxyXG4gICAgICBzaG93VG9vbHRpcDogZmFsc2UsXHJcbiAgICAgIGFsbG93Q29uZGl0aW9uYWxGb3JtYXR0aW5nOiB0cnVlLFxyXG4gICAgICBhbGxvd051bWJlckZvcm1hdHRpbmc6IHRydWUsXHJcbiAgICAgIGdyb3VwaW5nQmFyU2V0dGluZ3M6IHRoaXMuZ3JvdXBpbmdCYXJTZXR0aW5ncyxcclxuICAgICAgYWxsb3dDYWxjdWxhdGVkRmllbGQ6IHRydWUsXHJcbiAgICAgIHNob3dHcm91cGluZ0JhcjogdHJ1ZSxcclxuICAgICAgYWxsb3dFeGNlbEV4cG9ydDogdHJ1ZSxcclxuICAgICAgaHlwZXJsaW5rU2V0dGluZ3M6IHRoaXMuaHlwZXJsaW5rU2V0dGluZ3MsXHJcbiAgICAgIGdyaWRTZXR0aW5nczogdGhpcy5ncmlkU2V0dGluZ3MsXHJcbiAgICAgIGNlbGxDbGljazogdGhpcy5jZWxsQ2xpY2suYmluZCh0aGlzKSxcclxuICAgICAgY3VycmVuY3lDb2RlOiB0aGlzLmN1cnJlbmN5Q29kZSxcclxuICAgICAgZGF0YUJvdW5kOiB0aGlzLmRhdGFCb3VuZC5iaW5kKHRoaXMpXHJcbiAgICB9LCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICBkYXRhQm91bmQoXykge1xyXG4gICAgdGhpcy50b29sdGlwID0gbmV3IFRvb2x0aXAoe1xyXG4gICAgICB0YXJnZXQ6ICcuZS1pY29ucycsXHJcbiAgICAgIGNzc0NsYXNzOiAnZS1jdXN0b20tdG9vbHRpcCcsXHJcbiAgICAgIHBvc2l0aW9uOiAnQm90dG9tQ2VudGVyJyxcclxuICAgICAgb2Zmc2V0WTogMTUsXHJcbiAgICAgIGVuYWJsZVJ0bDogdGhpcy5waXZvdC5lbmFibGVSdGwsXHJcbiAgICAgIGxvY2FsZTogdGhpcy5waXZvdC5sb2NhbGUsXHJcbiAgICB9KTtcclxuICAgIHRoaXMudG9vbHRpcC5hcHBlbmRUbyh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gZXZ0XHJcbiAgICovXHJcbiAgY2VsbENsaWNrKGV2dDogSHlwZXJDZWxsQ2xpY2tFdmVudEFyZ3MpIHtcclxuICAgIGNvbnN0IHsgY29sdW1uSGVhZGVycywgcm93SGVhZGVycywgYWN0dWFsVGV4dCB9ID0gZXZ0LmRhdGEgYXMgYW55O1xyXG4gICAgY29uc3QgYXhlcyA9IHRoaXMuX3Bpdm90QXhlcyhjb2x1bW5IZWFkZXJzLCByb3dIZWFkZXJzKTtcclxuICAgIHN1cGVyLmJyb3dzZShheGVzLCBhY3R1YWxUZXh0ID09PSAndXNhZ2UnID8gbnVsbCA6IGFjdHVhbFRleHQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiByZXZlcnNlIGVuZ2luZWVyIGF4ZXMgZnJvbSBoZWFkZXJzXHJcbiAgICogQHBhcmFtIGNvbHVtbkhlYWRlcnNcclxuICAgKiBAcGFyYW0gcm93SGVhZGVyc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX3Bpdm90QXhlcyhjb2x1bW5IZWFkZXJzOiBzdHJpbmcsIHJvd0hlYWRlcnM6IHN0cmluZyk6IHsgW2F4aXM6IHN0cmluZ106IHN0cmluZzsgfSB7XHJcbiAgICBjb25zdCBheGVzOiB7IFtheGlzOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gICAgaWYgKGNvbHVtbkhlYWRlcnMgIT09ICcnKVxyXG4gICAgICBjb2x1bW5IZWFkZXJzLnNwbGl0KFBJVk9UX0hFQURFUl9ERUxJTUlURVIpLmZvckVhY2goKGMsIGkpID0+IHtcclxuICAgICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLmRhdGFTb3VyY2VTZXR0aW5ncy5jb2x1bW5zW2ldLm5hbWUsXHJcbiAgICAgICAgICAvLyBmaW5kIGFueSByb3cgd2l0aCBoZWFkZXJcclxuICAgICAgICAgIGVsZW1lbnQgPSB0aGlzLl9kYXRhLmZpbmQoZSA9PiBlW2NvbHVtbl0udG9TdHJpbmcoKSA9PT0gYyk7XHJcbiAgICAgICAgLy8gdHJhbnNsYXRlIGJhY2sgdG8ga2V5XHJcbiAgICAgICAgYXhlc1tjb2x1bW5dID0gZWxlbWVudCA/IGVsZW1lbnRbYF8ke2NvbHVtbn1gXSA6IGM7XHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKHJvd0hlYWRlcnMgIT09ICcnKVxyXG4gICAgICByb3dIZWFkZXJzLnNwbGl0KFBJVk9UX0hFQURFUl9ERUxJTUlURVIpLmZvckVhY2goKHIsIGkpID0+IHtcclxuICAgICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLmRhdGFTb3VyY2VTZXR0aW5ncy5yb3dzW2ldLm5hbWUsXHJcbiAgICAgICAgICBlbGVtZW50ID0gdGhpcy5fZGF0YS5maW5kKGUgPT4gZVtjb2x1bW5dID09PSByKTtcclxuICAgICAgICBheGVzW2NvbHVtbl0gPSBlbGVtZW50ID8gZWxlbWVudFtgXyR7Y29sdW1ufWBdIDogcjtcclxuICAgICAgfSk7XHJcbiAgICByZXR1cm4gYXhlcztcclxuICB9XHJcbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnRvb2x0aXAgJiYgdGhpcy50b29sdGlwLmRlc3Ryb3koKTtcclxuICAgIHRoaXMucGl2b3QgJiYgdGhpcy5waXZvdC5kZXN0cm95KCk7XHJcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNhZ2UtcGl2b3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3JlcG9ydHMvY3ViZS91c2FnZS1waXZvdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakUsT0FBTyxFQUFjLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsU0FBUyxFQUF1RyxNQUFNLG1DQUFtQyxDQUFDO0FBSXZMLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBT3hELE9BQU8sRUFBNEIsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7O0FBSXpFLE1BQU0sc0JBQXNCLEdBQUcsR0FBRyxDQUFDO0FBQ25DOztLQUVLO0FBTUwsTUFBTSxPQUNFLG1CQUFvQixTQUFRLGVBQWU7SUF5QmpELE9BQU87SUFDUCxZQUNVLFdBQXVCLEVBQy9CLFNBQXdDLEVBQ3hDLElBQXVCLEVBQ3ZCLE9BQW9CLEVBQUUsT0FBdUIsRUFDN0MsTUFBa0IsRUFDbEIsRUFBaUIsRUFDakIsR0FBbUIsRUFDbkIsU0FBMkI7UUFDM0IsS0FBSyxDQUNILE1BQU0sRUFDTixTQUFTLEVBQ1QsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQ3RCLEVBQUUsRUFBRSxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFaZCxnQkFBVyxHQUFYLFdB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a0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gXCJAYW5ndWxhci9jZGsvYmlkaVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyB0YXAsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBQaXZvdFZpZXdDb21wb25lbnQsIFBpdm90VmlldywgR3JvdXBpbmdCYXJTZXR0aW5nc01vZGVsLCBIeXBlckNlbGxDbGlja0V2ZW50QXJncywgQ29uZGl0aW9uYWxTZXR0aW5nc01vZGVsLCBIeXBlcmxpbmtTZXR0aW5nc01vZGVsIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXBpdm90dmlld1wiO1xyXG5pbXBvcnQgeyBFeGNlbFF1ZXJ5Q2VsbEluZm9FdmVudEFyZ3MgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWdyaWRzXCI7XHJcbmltcG9ydCB7IElDb25kaXRpb25hbEZvcm1hdFNldHRpbmdzLCBJRmllbGRPcHRpb25zLCBJRm9ybWF0U2V0dGluZ3MsIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXBpdm90dmlld1wiO1xyXG5pbXBvcnQgeyBHcmlkU2V0dGluZ3NNb2RlbCB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItcGl2b3R2aWV3L3NyYy9waXZvdHZpZXcvbW9kZWwvZ3JpZHNldHRpbmdzLW1vZGVsXCI7XHJcbmltcG9ydCB7IEludGVybmF0aW9uYWxpemF0aW9uIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1iYXNlXCI7XHJcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItcG9wdXBzJztcclxuaW1wb3J0IHsgQ3ViZUF4aXMgfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgZ2V0V2FybiwgaXNBcnJheSB9IGZyb20gXCIuLi8uLi9jb3JlL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY3ViZS9jdWJlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFJvdXRlckltcGwgfSBmcm9tIFwiLi4vLi4vY29yZS9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgSXRlbSwgVXNhZ2VTZXR0aW5nc01vZGVsLCBVc2FnZVJlcG9ydEJhc2UgfSBmcm9tIFwiLi91c2FnZS1iYXNlXCI7XHJcbmltcG9ydCB7IFJlcG9ydFJlZiB9IGZyb20gXCIuLi9yZXBvcnQtcmVmXCI7XHJcbnR5cGUgRGF0YVNvdXJjZVNldHRpbmdzTW9kZWwgPSBhbnk7XHJcblxyXG5jb25zdCBQSVZPVF9IRUFERVJfREVMSU1JVEVSID0gJ3wnO1xyXG4vKipcclxuICogY3ViZSB1c2FnZVxyXG4gKiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgLy90ZW1wbGF0ZVVybDogJ3VzYWdlLXBpdm90LmNvbXBvbmVudC5odG1sJyxcclxuICBob3N0OiB7ICdbaWRdJzogJ2lkJyB9XHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFVzYWdlUGl2b3RDb21wb25lbnQgZXh0ZW5kcyBVc2FnZVJlcG9ydEJhc2Uge1xyXG4gIEBWaWV3Q2hpbGQoUGl2b3RWaWV3Q29tcG9uZW50KSBwaXZvdDogUGl2b3RWaWV3O1xyXG4gIHByaXZhdGUgX2VtcHR5Q2VsbHNUZXh0Q29udGVudDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3hBeGlzOiBDdWJlQXhpc1tdO1xyXG4gIGRhdGFTb3VyY2VTZXR0aW5nczogRGF0YVNvdXJjZVNldHRpbmdzTW9kZWw7XHJcbiAgaHlwZXJsaW5rU2V0dGluZ3M6IEh5cGVybGlua1NldHRpbmdzTW9kZWw7XHJcbiAgdG9vbHRpcDogVG9vbHRpcDtcclxuICByZWFkb25seSBncmlkU2V0dGluZ3M6IEdyaWRTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgcm93SGVpZ2h0OiAzNlxyXG4gIH07XHJcbiAgcmVhZG9ubHkgY29uZGl0aW9uYWxGb3JtYXRTZXR0aW5nczogSUNvbmRpdGlvbmFsRm9ybWF0U2V0dGluZ3NbXSA9IFt7XHJcbiAgICBjb25kaXRpb25zOiAnTGVzc1RoYW4nLFxyXG4gICAgdmFsdWUxOiAwLFxyXG4gICAgbWVhc3VyZTogJ3ZhbHVlJyxcclxuICAgIGFwcGx5R3JhbmRUb3RhbHM6IHRydWUsXHJcbiAgICBzdHlsZToge1xyXG4gICAgICBjb2xvcjogZ2V0V2FybigpXHJcbiAgICB9XHJcbiAgfV07XHJcbiAgcmVhZG9ubHkgZ3JvdXBpbmdCYXJTZXR0aW5nczogR3JvdXBpbmdCYXJTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgc2hvd1JlbW92ZUljb246IGZhbHNlLFxyXG4gICAgc2hvd0ZpbHRlckljb246IGZhbHNlLFxyXG4gICAgc2hvd1ZhbHVlVHlwZUljb246IGZhbHNlXHJcbiAgfTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9pbnRsOiBJbnRlcm5hdGlvbmFsaXphdGlvbiA9IG5ldyBJbnRlcm5hdGlvbmFsaXphdGlvbigpO1xyXG4gIC8vIGN0b3JcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICByZXBvcnRSZWY6IFJlcG9ydFJlZjxVc2FnZVNldHRpbmdzTW9kZWw+LFxyXG4gICAgdHlwZTogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBzZXJ2aWNlOiBDdWJlU2VydmljZSwgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICByb3V0ZXI6IFJvdXRlckltcGwsXHJcbiAgICBzYjogUHJvbXB0U2VydmljZSxcclxuICAgIGRpcjogRGlyZWN0aW9uYWxpdHksXHJcbiAgICB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKFxyXG4gICAgICByb3V0ZXIsXHJcbiAgICAgIHJlcG9ydFJlZixcclxuICAgICAgdHlwZSwgc2VydmljZSwgc2Vzc2lvbixcclxuICAgICAgc2IsIGRpciwgdHJhbnNsYXRlKTtcclxuICAgIHRoaXMuX3Nlc3Npb24udGhlbWVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY29uZGl0aW9uYWxGb3JtYXRTZXR0aW5nc1swXS5zdHlsZSEuY29sb3IgPSBnZXRXYXJuKCk7XHJcbiAgICAgIHRoaXMucGl2b3QucmVmcmVzaCgpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9kZWZhdWx0cygpO1xyXG4gIH1cclxuICAvKiogc2V0IGRlZmF1bHRzICovXHJcbiAgcHJpdmF0ZSBfZGVmYXVsdHMoKSB7XHJcbiAgICBjb25zdCB7IHhBeGlzIH0gPSB0aGlzLl9vcHRpb25zO1xyXG4gICAgdGhpcy5feEF4aXMgPSB4QXhpcyA/IHRoaXMuX2N1YmUuYXhlcy5maWx0ZXIoYSA9PiBpc0FycmF5KHhBeGlzKSA/IHhBeGlzLmluZGV4T2YoYS5uYW1lKSA+IC0xIDogYS5uYW1lID09PSB4QXhpcykgOiB0aGlzLl9jdWJlLmF4ZXMuZmlsdGVyKGEgPT4gYS5zZWxlY3Rpb25Nb2RlICE9PSAnTm9uZScpLnNsaWNlKDAsIDIpO1xyXG4gICAgdGhpcy5fZW1wdHlDZWxsc1RleHRDb250ZW50ID0gdGhpcy5faW50bC5mb3JtYXROdW1iZXIoMCwge1xyXG4gICAgICBmb3JtYXQ6IHRoaXMuY3VycmVuY3lDb2RlID8gJ0MnIDogJ04nLFxyXG4gICAgICBjdXJyZW5jeTogdGhpcy5jdXJyZW5jeUNvZGUsXHJcbiAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogdGhpcy5fZnJhY3Rpb25EaWdpdHNcclxuICAgIH0pO1xyXG4gICAgY29uc3QgZm9ybWF0U2V0dGluZ3M6IElGb3JtYXRTZXR0aW5nc1tdID0gW3tcclxuICAgICAgbmFtZTogJ3VzYWdlJyxcclxuICAgICAgZm9ybWF0OiB0aGlzLmN1cnJlbmN5Q29kZSA/ICdDJyA6ICdOJyxcclxuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiB0aGlzLl9mcmFjdGlvbkRpZ2l0c1xyXG4gICAgfV07XHJcbiAgICBjb25zdCB2YWx1ZXM6IElGaWVsZE9wdGlvbnNbXSA9IFtcclxuICAgICAge1xyXG4gICAgICAgIG5hbWU6ICd1c2FnZScsXHJcbiAgICAgICAgY2FwdGlvbjogdGhpcy5feVRpdGxlLFxyXG4gICAgICAgIHNob3dOb0RhdGFJdGVtczogdHJ1ZVxyXG4gICAgICB9XHJcbiAgICBdO1xyXG4gICAgY29uc3QgY29uZGl0aW9uYWxTZXR0aW5nczogQ29uZGl0aW9uYWxTZXR0aW5nc01vZGVsW10gPSBbe1xyXG4gICAgICBjb25kaXRpb25zOiAnTm90RXF1YWxzJyxcclxuICAgICAgdmFsdWUxOiAwLFxyXG4gICAgICBtZWFzdXJlOiAndXNhZ2UnXHJcbiAgICB9XTtcclxuICAgIHRoaXMuX2luZGljZXMgJiZcclxuICAgICAgdGhpcy5faW5kaWNlcy5mb3JFYWNoKGkgPT4ge1xyXG4gICAgICAgIHZhbHVlcy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IGkubmFtZSxcclxuICAgICAgICAgIGNhcHRpb246IGkudGl0bGUsXHJcbiAgICAgICAgICBzaG93Tm9EYXRhSXRlbXM6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgICAgICBjb25kaXRpb25hbFNldHRpbmdzLnB1c2goe1xyXG4gICAgICAgICAgY29uZGl0aW9uczogJ05vdEVxdWFscycsXHJcbiAgICAgICAgICB2YWx1ZTE6IDAsXHJcbiAgICAgICAgICBtZWFzdXJlOiBpLm5hbWVcclxuICAgICAgICB9KTtcclxuICAgICAgICBmb3JtYXRTZXR0aW5ncy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IGkubmFtZSxcclxuICAgICAgICAgIGZvcm1hdDogdGhpcy5jdXJyZW5jeUNvZGUgPyAnQycgOiAnTicsXHJcbiAgICAgICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IHRoaXMuX2ZyYWN0aW9uRGlnaXRzXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5oeXBlcmxpbmtTZXR0aW5ncyA9IHtcclxuICAgICAgY29uZGl0aW9uYWxTZXR0aW5nczogY29uZGl0aW9uYWxTZXR0aW5nc1xyXG4gICAgfVxyXG4gICAgY29uc3QgY29sdW1ucyA9IHRoaXMuX3hBeGlzLm1hcChhID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOiBhLm5hbWUsXHJcbiAgICAgICAgY2FwdGlvbjogYS50aXRsZSxcclxuICAgICAgICBzaG93Tm9EYXRhSXRlbXM6IHRydWVcclxuICAgICAgfSBhcyBJRmllbGRPcHRpb25zO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCByb3dzID0gdGhpcy5fc2VyaWVzLm1hcChhID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOiBhLm5hbWUsXHJcbiAgICAgICAgY2FwdGlvbjogYS50aXRsZSxcclxuICAgICAgICBzaG93Tm9EYXRhSXRlbXM6IHRydWVcclxuICAgICAgfSBhcyBJRmllbGRPcHRpb25zO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2VTZXR0aW5ncyA9IHtcclxuICAgICAgY29sdW1ucyxcclxuICAgICAgcm93cyxcclxuICAgICAgdmFsdWVzLFxyXG4gICAgICBjb25kaXRpb25hbEZvcm1hdFNldHRpbmdzOiB0aGlzLmNvbmRpdGlvbmFsRm9ybWF0U2V0dGluZ3MsXHJcbiAgICAgIGVtcHR5Q2VsbHNUZXh0Q29udGVudDogdGhpcy5fZW1wdHlDZWxsc1RleHRDb250ZW50LFxyXG4gICAgICBleHBhbmRBbGw6IHRoaXMuX2V4cGFuZEFsbCxcclxuICAgICAgc2hvd0NvbHVtbkdyYW5kVG90YWxzOiB0cnVlLFxyXG4gICAgICBhbHdheXNTaG93VmFsdWVIZWFkZXI6IGZhbHNlLFxyXG4gICAgICBmb3JtYXRTZXR0aW5ncyxcclxuICAgICAgZGF0YVNvdXJjZTogW10sXHJcbiAgICAgIHZhbHVlU29ydFNldHRpbmdzOiB7IGhlYWRlckRlbGltaXRlcjogUElWT1RfSEVBREVSX0RFTElNSVRFUiB9LFxyXG4gICAgICBlbmFibGVTb3J0aW5nOiBmYWxzZVxyXG4gICAgfTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHJlc3VsdFxyXG4gICAqL1xyXG4gIG9uRGF0YShyZXN1bHQ6IEl0ZW1bXSkge1xyXG4gICAgdGhpcy5fZGVjb3JhdGUocmVzdWx0KS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fZGF0YSA9IHRoaXMuZGF0YVNvdXJjZVNldHRpbmdzLmRhdGFTb3VyY2UgPSByZXN1bHQgYXMgYW55O1xyXG4gICAgICAgIHRoaXMuX2RyYXcoKTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+IHRoaXMuX3NiLmVycm9yKClcclxuICAgIH0pO1xyXG4gIH1cclxuICBlbmdpbmVQb3B1bGF0ZWQoKSB7XHJcbiAgICB0aGlzLnBpdm90LmdyaWQuZXhjZWxRdWVyeUNlbGxJbmZvID0gdGhpcy5leGNlbFF1ZXJ5Q2VsbEluZm8uYmluZCh0aGlzKTtcclxuICB9XHJcbiAgZXhjZWxRdWVyeUNlbGxJbmZvKGV2dDogRXhjZWxRdWVyeUNlbGxJbmZvRXZlbnRBcmdzKSB7XHJcbiAgICBpZiAoZXZ0LnZhbHVlID09PSB0aGlzLl9lbXB0eUNlbGxzVGV4dENvbnRlbnQpIGV2dC52YWx1ZSA9IDA7XHJcbiAgfVxyXG4gIG9uUmVzaXplKCkge1xyXG4gICAgaWYgKHRoaXMucGl2b3QpIHtcclxuICAgICAgdGhpcy5waXZvdC53aWR0aCA9IHRoaXMud2lkdGg7XHJcbiAgICAgIHRoaXMucGl2b3Qub25XaW5kb3dSZXNpemUoKTtcclxuICAgIH1cclxuICB9XHJcbiAgb25FeHBvcnRVc2FnZShuYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMucGl2b3QuZXhjZWxFeHBvcnQoe1xyXG4gICAgICBmaWxlTmFtZTogYCR7bmFtZX0ueGxzeGBcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogYWRkcyBkYXRhIHNvdXJjZSBkZXNjcmlwdGlvbiB0byBpdGVtIGtleXMuXHJcbiAgICogQHBhcmFtIHJlc3VsdFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2RlY29yYXRlKHJlc3VsdDogSXRlbVtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IG9ic2VydmFibGVzOiBPYnNlcnZhYmxlPGFueT5bXSA9IFtdO1xyXG4gICAgcmVzdWx0LmZvckVhY2gocm93ID0+IHtcclxuICAgICAgdGhpcy5feEF4aXMuY29uY2F0KHRoaXMuX3NlcmllcykuZm9yRWFjaChhID0+IHtcclxuICAgICAgICBjb25zdCBheGlzID0gcm93W2EubmFtZV0gYXMgc3RyaW5nO1xyXG4gICAgICAgIHJvd1tgXyR7YS5uYW1lfWBdID0gYXhpcztcclxuICAgICAgICBjb25zdCBvYnNlcnZhYmxlID0gdGhpcy5fdHlwZS5nZXQoYS5kYXRhVHlwZSwgYXhpcykucGlwZSh0YXAodiA9PiByb3dbYS5uYW1lXSA9IHYgfHwgYXhpcykpO1xyXG4gICAgICAgIG9ic2VydmFibGVzLnB1c2gob2JzZXJ2YWJsZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gb2JzZXJ2YWJsZXMubGVuZ3RoID8gZm9ya0pvaW4ob2JzZXJ2YWJsZXMpIDogb2YoW10pO1xyXG4gIH1cclxuICBwcml2YXRlIF9kcmF3KCkge1xyXG4gICAgdGhpcy5waXZvdCAmJiB0aGlzLnBpdm90LmRlc3Ryb3koKTtcclxuICAgIHRoaXMucGl2b3QgPSBuZXcgUGl2b3RWaWV3KHtcclxuICAgICAgc3Bpbm5lclRlbXBsYXRlOiAnJyxcclxuICAgICAgZGF0YVNvdXJjZVNldHRpbmdzOiB0aGlzLmRhdGFTb3VyY2VTZXR0aW5ncyxcclxuICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXHJcbiAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQsXHJcbiAgICAgIGVuYWJsZVZhbHVlU29ydGluZzogdHJ1ZSxcclxuICAgICAgZW5hYmxlUnRsOiB0aGlzLmVuYWJsZVJ0bCxcclxuICAgICAgc2hvd1Rvb2x0aXA6IGZhbHNlLFxyXG4gICAgICBhbGxvd0NvbmRpdGlvbmFsRm9ybWF0dGluZzogdHJ1ZSxcclxuICAgICAgYWxsb3dOdW1iZXJGb3JtYXR0aW5nOiB0cnVlLFxyXG4gICAgICBncm91cGluZ0JhclNldHRpbmdzOiB0aGlzLmdyb3VwaW5nQmFyU2V0dGluZ3MsXHJcbiAgICAgIGFsbG93Q2FsY3VsYXRlZEZpZWxkOiB0cnVlLFxyXG4gICAgICBzaG93R3JvdXBpbmdCYXI6IHRydWUsXHJcbiAgICAgIGFsbG93RXhjZWxFeHBvcnQ6IHRydWUsXHJcbiAgICAgIGh5cGVybGlua1NldHRpbmdzOiB0aGlzLmh5cGVybGlua1NldHRpbmdzLFxyXG4gICAgICBncmlkU2V0dGluZ3M6IHRoaXMuZ3JpZFNldHRpbmdzLFxyXG4gICAgICBjZWxsQ2xpY2s6IHRoaXMuY2VsbENsaWNrLmJpbmQodGhpcyksXHJcbiAgICAgIGN1cnJlbmN5Q29kZTogdGhpcy5jdXJyZW5jeUNvZGUsXHJcbiAgICAgIGRhdGFCb3VuZDogdGhpcy5kYXRhQm91bmQuYmluZCh0aGlzKVxyXG4gICAgfSwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcbiAgZGF0YUJvdW5kKGV2dD86IGFueSkge1xyXG4gICAgdGhpcy50b29sdGlwID0gbmV3IFRvb2x0aXAoe1xyXG4gICAgICB0YXJnZXQ6ICcuZS1pY29ucycsXHJcbiAgICAgIGNzc0NsYXNzOiAnZS1jdXN0b20tdG9vbHRpcCcsXHJcbiAgICAgIHBvc2l0aW9uOiAnQm90dG9tQ2VudGVyJyxcclxuICAgICAgb2Zmc2V0WTogMTUsXHJcbiAgICAgIGVuYWJsZVJ0bDogdGhpcy5waXZvdC5lbmFibGVSdGwsXHJcbiAgICAgIGxvY2FsZTogdGhpcy5waXZvdC5sb2NhbGUsXHJcbiAgICB9KTtcclxuICAgIHRoaXMudG9vbHRpcC5hcHBlbmRUbyh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gZXZ0XHJcbiAgICovXHJcbiAgY2VsbENsaWNrKGV2dDogSHlwZXJDZWxsQ2xpY2tFdmVudEFyZ3MpIHtcclxuICAgIGNvbnN0IHsgY29sdW1uSGVhZGVycywgcm93SGVhZGVycywgYWN0dWFsVGV4dCB9ID0gZXZ0LmRhdGEgYXMgYW55O1xyXG4gICAgY29uc3QgYXhlcyA9IHRoaXMuX3Bpdm90QXhlcyhjb2x1bW5IZWFkZXJzLCByb3dIZWFkZXJzKTtcclxuICAgIHN1cGVyLmJyb3dzZShheGVzLCBhY3R1YWxUZXh0ID09PSAndXNhZ2UnID8gbnVsbCA6IGFjdHVhbFRleHQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiByZXZlcnNlIGVuZ2luZWVyIGF4ZXMgZnJvbSBoZWFkZXJzXHJcbiAgICogQHBhcmFtIGNvbHVtbkhlYWRlcnNcclxuICAgKiBAcGFyYW0gcm93SGVhZGVyc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX3Bpdm90QXhlcyhjb2x1bW5IZWFkZXJzOiBzdHJpbmcsIHJvd0hlYWRlcnM6IHN0cmluZyk6IHsgW2F4aXM6IHN0cmluZ106IHN0cmluZyB8IG51bWJlcjsgfSB7XHJcbiAgICBjb25zdCBheGVzOiB7IFtheGlzOiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfSA9IHt9O1xyXG4gICAgaWYgKGNvbHVtbkhlYWRlcnMgIT09ICcnKVxyXG4gICAgICBjb2x1bW5IZWFkZXJzLnNwbGl0KFBJVk9UX0hFQURFUl9ERUxJTUlURVIpLmZvckVhY2goKGMsIGkpID0+IHtcclxuICAgICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLmRhdGFTb3VyY2VTZXR0aW5ncy5jb2x1bW5zW2ldLm5hbWUgYXMgc3RyaW5nLFxyXG4gICAgICAgICAgLy8gZmluZCBhbnkgcm93IHdpdGggaGVhZGVyXHJcbiAgICAgICAgICBlbGVtZW50ID0gdGhpcy5fZGF0YS5maW5kKGUgPT4gZVtjb2x1bW5dLnRvU3RyaW5nKCkgPT09IGMpO1xyXG4gICAgICAgIC8vIHRyYW5zbGF0ZSBiYWNrIHRvIGtleVxyXG4gICAgICAgIGF4ZXNbY29sdW1uXSA9IGVsZW1lbnQgPyBlbGVtZW50W2BfJHtjb2x1bW59YF0gOiBjO1xyXG4gICAgICB9KTtcclxuICAgIGlmIChyb3dIZWFkZXJzICE9PSAnJylcclxuICAgICAgcm93SGVhZGVycy5zcGxpdChQSVZPVF9IRUFERVJfREVMSU1JVEVSKS5mb3JFYWNoKChyLCBpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29sdW1uID0gdGhpcy5kYXRhU291cmNlU2V0dGluZ3Mucm93c1tpXS5uYW1lLFxyXG4gICAgICAgICAgZWxlbWVudCA9IHRoaXMuX2RhdGEuZmluZChlID0+IGVbY29sdW1uXSA9PT0gcik7XHJcbiAgICAgICAgYXhlc1tjb2x1bW5dID0gZWxlbWVudCA/IGVsZW1lbnRbYF8ke2NvbHVtbn1gXSA6IHI7XHJcbiAgICAgIH0pO1xyXG4gICAgcmV0dXJuIGF4ZXM7XHJcbiAgfVxyXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy50b29sdGlwICYmIHRoaXMudG9vbHRpcC5kZXN0cm95KCk7XHJcbiAgICB0aGlzLnBpdm90ICYmIHRoaXMucGl2b3QuZGVzdHJveSgpO1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcbn1cclxuIl19
@@ -21,8 +21,8 @@ let CubeUsageComponent = class CubeUsageComponent {
21
21
  comp = UsagePivotComponent;
22
22
  this._instance = this._vc.createComponent(comp).instance;
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CubeUsageComponent, deps: [{ token: i1.ReportRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: CubeUsageComponent, selector: "bizdoc-cube-usage", ngImport: i0, template: '', isInline: true }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CubeUsageComponent, deps: [{ token: i1.ReportRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: CubeUsageComponent, selector: "bizdoc-cube-usage", ngImport: i0, template: '', isInline: true }); }
26
26
  };
27
27
  CubeUsageComponent = __decorate([
28
28
  BizDoc({
@@ -30,11 +30,11 @@ CubeUsageComponent = __decorate([
30
30
  })
31
31
  ], CubeUsageComponent);
32
32
  export { CubeUsageComponent };
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: CubeUsageComponent, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CubeUsageComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{
36
36
  selector: 'bizdoc-cube-usage',
37
37
  template: ''
38
38
  }]
39
39
  }], ctorParameters: () => [{ type: i1.ReportRef }, { type: i0.ViewContainerRef }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9yZXBvcnRzL2N1YmUvdXNhZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQTRCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQVk1RCxJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFrQjtJQUV4QixZQUNVLElBQW1DLEVBQ25DLEdBQXFCO1FBRHJCLFNBQUksR0FBSixJQUFJLENBQStCO1FBQ25DLFFBQUcsR0FBSCxHQUFHLENBQWtCO0lBQUksQ0FBQztJQUNwQyxNQUFNLENBQUMsSUFBWSxFQUFFLElBQVc7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUM7UUFDVCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVM7WUFDN0IsSUFBSSxHQUFHLG1CQUFtQixDQUFDOztZQUUzQixJQUFJLEdBQUcsbUJBQW1CLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBOEIsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ3hGLENBQUM7OEdBZkssa0JBQWtCO2tHQUFsQixrQkFBa0IseURBTmQsRUFBRTs7QUFNTixrQkFBa0I7SUFKekIsTUFBTSxDQUFDO1FBQ04sUUFBUSxFQUFFLG1CQUFtQjtLQUM5QixDQUFDO0dBRU0sa0JBQWtCLENBZ0J6Qjs7MkZBaEJPLGtCQUFrQjtrQkFSekIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9uSW5pdCwgVmlld0NvbnRhaW5lclJlZiwgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUmVwb3J0UmVmIH0gZnJvbSBcIi4uL3JlcG9ydC1yZWZcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBVc2FnZVBpdm90Q29tcG9uZW50IH0gZnJvbSBcIi4vdXNhZ2UtcGl2b3QuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFVzYWdlQ2hhcnRDb21wb25lbnQgfSBmcm9tIFwiLi91c2FnZS1jaGFydC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQXJncywgSXRlbSwgVXNhZ2VTZXR0aW5nc01vZGVsIH0gZnJvbSBcIi4vdXNhZ2UtYmFzZVwiO1xyXG5pbXBvcnQgeyBSZXBvcnRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29yZS9iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1jdWJlLXVzYWdlJyxcclxuICB0ZW1wbGF0ZTogJydcclxufSlcclxuQEJpekRvYyh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtY3ViZS11c2FnZSdcclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgQ3ViZVVzYWdlQ29tcG9uZW50IGltcGxlbWVudHMgUmVwb3J0Q29tcG9uZW50PEl0ZW0sIEFyZ3M+LCBPbkluaXQge1xyXG4gIHByaXZhdGUgX2luc3RhbmNlOiBSZXBvcnRDb21wb25lbnQ8SXRlbSwgQXJncz47XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9yZWY6IFJlcG9ydFJlZjxVc2FnZVNldHRpbmdzTW9kZWw+LFxyXG4gICAgcHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYpIHsgfVxyXG4gIG9uQmluZChkYXRhOiBJdGVtW10sIGFyZ3M/OiBBcmdzKSB7XHJcbiAgICB0aGlzLl9pbnN0YW5jZS5vbkJpbmQoZGF0YSwgYXJncyk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgbGV0IGNvbXA7XHJcbiAgICBpZiAodGhpcy5fcmVmLm9wdGlvbnMuY2hhcnRUeXBlKVxyXG4gICAgICBjb21wID0gVXNhZ2VDaGFydENvbXBvbmVudDtcclxuICAgIGVsc2VcclxuICAgICAgY29tcCA9IFVzYWdlUGl2b3RDb21wb25lbnQ7XHJcbiAgICB0aGlzLl9pbnN0YW5jZSA9IHRoaXMuX3ZjLmNyZWF0ZUNvbXBvbmVudDxSZXBvcnRDb21wb25lbnQ8SXRlbSwgQXJncz4+KGNvbXApLmluc3RhbmNlO1xyXG4gIH1cclxufVxyXG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL3JlcG9ydHMvY3ViZS91c2FnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBNEIsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBWTVELElBQU0sa0JBQWtCLEdBQXhCLE1BQU0sa0JBQWtCO0lBRXhCLFlBQ1UsSUFBbUMsRUFDbkMsR0FBcUI7UUFEckIsU0FBSSxHQUFKLElBQUksQ0FBK0I7UUFDbkMsUUFBRyxHQUFILEdBQUcsQ0FBa0I7SUFBSSxDQUFDO0lBQ3BDLE1BQU0sQ0FBQyxJQUFZLEVBQUUsSUFBVztRQUM5QixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQztRQUNULElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUztZQUM3QixJQUFJLEdBQUcsbUJBQW1CLENBQUM7O1lBRTNCLElBQUksR0FBRyxtQkFBbUIsQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUE4QixJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDeEYsQ0FBQzs4R0FmSyxrQkFBa0I7a0dBQWxCLGtCQUFrQix5REFOZCxFQUFFOztBQU1OLGtCQUFrQjtJQUp6QixNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUsbUJBQW1CO0tBQzlCLENBQUM7R0FFTSxrQkFBa0IsQ0FnQnpCOzsyRkFoQk8sa0JBQWtCO2tCQVJ6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxFQUFFO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25Jbml0LCBWaWV3Q29udGFpbmVyUmVmLCBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSZXBvcnRSZWYgfSBmcm9tIFwiLi4vcmVwb3J0LXJlZlwiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IFVzYWdlUGl2b3RDb21wb25lbnQgfSBmcm9tIFwiLi91c2FnZS1waXZvdC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgVXNhZ2VDaGFydENvbXBvbmVudCB9IGZyb20gXCIuL3VzYWdlLWNoYXJ0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBBcmdzLCBJdGVtLCBVc2FnZVNldHRpbmdzTW9kZWwgfSBmcm9tIFwiLi91c2FnZS1iYXNlXCI7XHJcbmltcG9ydCB7IFJlcG9ydENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb3JlL2Jhc2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWN1YmUtdXNhZ2UnLFxyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1jdWJlLXVzYWdlJ1xyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBDdWJlVXNhZ2VDb21wb25lbnQgaW1wbGVtZW50cyBSZXBvcnRDb21wb25lbnQ8SXRlbSwgQXJncz4sIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBfaW5zdGFuY2U6IFJlcG9ydENvbXBvbmVudDxJdGVtLCBBcmdzPjtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3JlZjogUmVwb3J0UmVmPFVzYWdlU2V0dGluZ3NNb2RlbD4sXHJcbiAgICBwcml2YXRlIF92YzogVmlld0NvbnRhaW5lclJlZikgeyB9XHJcbiAgb25CaW5kKGRhdGE6IEl0ZW1bXSwgYXJncz86IEFyZ3MpIHtcclxuICAgIHRoaXMuX2luc3RhbmNlLm9uQmluZChkYXRhLCBhcmdzKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBsZXQgY29tcDtcclxuICAgIGlmICh0aGlzLl9yZWYub3B0aW9ucy5jaGFydFR5cGUpXHJcbiAgICAgIGNvbXAgPSBVc2FnZUNoYXJ0Q29tcG9uZW50O1xyXG4gICAgZWxzZVxyXG4gICAgICBjb21wID0gVXNhZ2VQaXZvdENvbXBvbmVudDtcclxuICAgIHRoaXMuX2luc3RhbmNlID0gdGhpcy5fdmMuY3JlYXRlQ29tcG9uZW50PFJlcG9ydENvbXBvbmVudDxJdGVtLCBBcmdzPj4oY29tcCkuaW5zdGFuY2U7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -35,4 +35,4 @@ export class ReportRef {
35
35
  this._args$.unsubscribe();
36
36
  }
37
37
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvcmVwb3J0cy9yZXBvcnQtcmVmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFjLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUtuRCxNQUFNO0FBQ04sTUFBTSxPQUNFLFNBQVM7SUFHZixZQUFvQixjQUFzQixFQUN4QyxJQUFXLEVBQ0gsSUFBZ0IsRUFDaEIsS0FBaUIsRUFDekIsR0FBZTtRQUpHLG1CQUFjLEdBQWQsY0FBYyxDQUFRO1FBRWhDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUV6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNNLE1BQU0sS0FBNkIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRix5REFBeUQ7SUFDbEQsUUFBUTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlO1lBQzlCLElBQUksQ0FDRixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQ2hELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsSUFBSSxDQUFDLEdBQVM7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFRLGVBQWUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ25HLENBQUM7SUFDRCw0QkFBNEI7SUFDNUIsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUNELHlCQUF5QjtJQUN6QixJQUFJLElBQUksS0FBYSxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RCxJQUFJLFNBQVMsS0FBWSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNwRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlcG9ydCwgRGltZW50aW9ucyB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhcmFtTWFwIH0gZnJvbSAnLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbi8qKiAqL1xyXG5leHBvcnRcclxuICBjbGFzcyBSZXBvcnRSZWY8VFJlc3VsdCA9IGFueSwgVEFyZ3MgPSBhbnksIFRPcHRpb25zID0gYW55LCBUS2V5ID0gYW55LCBUSXRlbSA9IGFueT4ge1xyXG4gIHJlYWRvbmx5IF9yZXNpemUkOiBCZWhhdmlvclN1YmplY3Q8RGltZW50aW9ucz47XHJcbiAgcmVhZG9ubHkgX2FyZ3MkOiBCZWhhdmlvclN1YmplY3Q8VEFyZ3M+O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbmZpZ3VyYXRpb246IFJlcG9ydCxcclxuICAgIGFyZ3M6IFRBcmdzLFxyXG4gICAgcHJpdmF0ZSBfaHViOiBIdWJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCxcclxuICAgIGRpbTogRGltZW50aW9ucykge1xyXG4gICAgdGhpcy5fcmVzaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZGltKTtcclxuICAgIHRoaXMuX2FyZ3MkID0gbmV3IEJlaGF2aW9yU3ViamVjdChhcmdzKTtcclxuICB9XHJcbiAgcHVibGljIHJlc2l6ZSgpOiBPYnNlcnZhYmxlPERpbWVudGlvbnM+IHsgcmV0dXJuIHRoaXMuX3Jlc2l6ZSQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAvKiogbGlzdGVuIHRvIHByb2dyZXNzIGV2ZW50cyByZXBvcnRlZCBieSBiYWNrZW5kIGNvZGUgKi9cclxuICBwdWJsaWMgcHJvZ3Jlc3MoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcclxuICAgIHJldHVybiB0aGlzLl9odWIucmVwb3J0UHJvZ3Jlc3MkLlxyXG4gICAgICBwaXBlKFxyXG4gICAgICAgIGZpbHRlcihlID0+IGUubmFtZSA9PT0gdGhpcy5fY29uZmlndXJhdGlvbi5uYW1lKSxcclxuICAgICAgICBtYXAoZSA9PiBlLnByb2dyZXNzKSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBrZXlcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIGl0ZW0oa2V5OiBUS2V5KSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQ8VEl0ZW0+KGAvYXBpL3JlcG9ydC8ke2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLl9jb25maWd1cmF0aW9uLm5hbWUpfWAsIGtleSk7XHJcbiAgfVxyXG4gIC8qKiBjb25maWd1cmF0aW9uIG9wdGlvbnMgKi9cclxuICBnZXQgb3B0aW9ucygpOiBUT3B0aW9ucyB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29uZmlndXJhdGlvbi5vcHRpb25zIHx8IHt9O1xyXG4gIH1cclxuICAvKiogY29uZmlndXJhdGlvbiBuYW1lICovXHJcbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX2NvbmZpZ3VyYXRpb24ubmFtZTsgfVxyXG4gIGdldCBhcmd1bWVudHMoKTogVEFyZ3MgeyByZXR1cm4gdGhpcy5fYXJncyQudmFsdWU7IH1cclxuICBfZGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3Jlc2l6ZSQudW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuX2FyZ3MkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEV4cG9ydEV2ZW50QXJncyB7XHJcbiAgY2FuY2VsOiBib29sZWFuO1xyXG4gIGRhdGE6IHtcclxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcclxuICB9W107XHJcbiAgYXJnczogUGFyYW1NYXA7XHJcbn1cclxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9yZXBvcnRzL3JlcG9ydC1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQWMsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBS25ELE1BQU07QUFDTixNQUFNLE9BQ0UsU0FBUztJQUdmLFlBQW9CLGNBQXNCLEVBQ3hDLElBQVcsRUFDSCxJQUFnQixFQUNoQixLQUFpQixFQUN6QixHQUFlO1FBSkcsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFFaEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBRXpCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBQ00sTUFBTSxLQUE2QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLHlEQUF5RDtJQUNsRCxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWU7WUFDOUIsSUFBSSxDQUNGLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFDaEQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxJQUFJLENBQUMsR0FBUztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQVEsZUFBZSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDbkcsQ0FBQztJQUNELDRCQUE0QjtJQUM1QixJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBQ0QseUJBQXlCO0lBQ3pCLElBQUksSUFBSSxLQUFhLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELElBQUksU0FBUyxLQUFZLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3BELFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDNUIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVwb3J0LCBEaW1lbnRpb25zIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFyYW1NYXAgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxuLyoqICovXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFJlcG9ydFJlZjxUUmVzdWx0ID0gYW55LCBUQXJncyA9IGFueSwgVE9wdGlvbnMgPSBhbnksIFRLZXkgPSBhbnksIFRJdGVtID0gYW55PiB7XHJcbiAgcmVhZG9ubHkgX3Jlc2l6ZSQ6IEJlaGF2aW9yU3ViamVjdDxEaW1lbnRpb25zPjtcclxuICByZWFkb25seSBfYXJncyQ6IEJlaGF2aW9yU3ViamVjdDxUQXJncz47XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY29uZmlndXJhdGlvbjogUmVwb3J0LFxyXG4gICAgYXJnczogVEFyZ3MsXHJcbiAgICBwcml2YXRlIF9odWI6IEh1YlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgZGltOiBEaW1lbnRpb25zKSB7XHJcbiAgICB0aGlzLl9yZXNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChkaW0pO1xyXG4gICAgdGhpcy5fYXJncyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGFyZ3MpO1xyXG4gIH1cclxuICBwdWJsaWMgcmVzaXplKCk6IE9ic2VydmFibGU8RGltZW50aW9ucz4geyByZXR1cm4gdGhpcy5fcmVzaXplJC5hc09ic2VydmFibGUoKTsgfVxyXG4gIC8qKiBsaXN0ZW4gdG8gcHJvZ3Jlc3MgZXZlbnRzIHJlcG9ydGVkIGJ5IGJhY2tlbmQgY29kZSAqL1xyXG4gIHB1YmxpYyBwcm9ncmVzcygpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h1Yi5yZXBvcnRQcm9ncmVzcyQuXHJcbiAgICAgIHBpcGUoXHJcbiAgICAgICAgZmlsdGVyKGUgPT4gZS5uYW1lID09PSB0aGlzLl9jb25maWd1cmF0aW9uLm5hbWUpLFxyXG4gICAgICAgIG1hcChlID0+IGUucHJvZ3Jlc3MpKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGtleVxyXG4gICAqIEByZXR1cm5zXHJcbiAgICovXHJcbiAgaXRlbShrZXk6IFRLZXkpIHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dDxUSXRlbT4oYC9hcGkvcmVwb3J0LyR7ZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMuX2NvbmZpZ3VyYXRpb24ubmFtZSl9YCwga2V5KTtcclxuICB9XHJcbiAgLyoqIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyAqL1xyXG4gIGdldCBvcHRpb25zKCk6IFRPcHRpb25zIHtcclxuICAgIHJldHVybiB0aGlzLl9jb25maWd1cmF0aW9uLm9wdGlvbnMgfHwge307XHJcbiAgfVxyXG4gIC8qKiBjb25maWd1cmF0aW9uIG5hbWUgKi9cclxuICBnZXQgbmFtZSgpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fY29uZmlndXJhdGlvbi5uYW1lOyB9XHJcbiAgZ2V0IGFyZ3VtZW50cygpOiBUQXJncyB7IHJldHVybiB0aGlzLl9hcmdzJC52YWx1ZTsgfVxyXG4gIF9kZXN0cm95KCkge1xyXG4gICAgdGhpcy5fcmVzaXplJC51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5fYXJncyQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRXhwb3J0RXZlbnRBcmdzIHtcclxuICBjYW5jZWw6IGJvb2xlYW47XHJcbiAgZGF0YToge1xyXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xyXG4gIH1bXTtcclxuICBhcmdzOiBQYXJhbU1hcDtcclxufVxyXG4iXX0=
@@ -84,7 +84,7 @@ export class ReportViewerComponent {
84
84
  }
85
85
  explore(item) {
86
86
  const args = {};
87
- const keys = this.report.fields.filter(c => c.flags?.indexOf('Key') > -1);
87
+ const keys = this.report.fields.filter(c => c.flags && c.flags.indexOf('Key') > -1);
88
88
  if (keys.length === 0)
89
89
  throw `report ${this.report.name} item model missing key attribute`;
90
90
  keys.forEach(f => args[f.name] = item[f.name]);
@@ -133,10 +133,10 @@ export class ReportViewerComponent {
133
133
  this._destroy.next();
134
134
  this._destroy.complete();
135
135
  }
136
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReportViewerComponent, deps: [{ token: i1.HttpClient }, { token: i2.PromptService }, { token: i0.Injector }, { token: i3.HubService }, { token: i4.TranslateService }, { token: i5.SessionService }, { token: i6.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
137
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.4", type: ReportViewerComponent, selector: "bizdoc-report-viewer", inputs: { report: "report", args: "args" }, host: { listeners: { "window:resize": "resize()" } }, viewQueries: [{ propertyName: "viewContainer", first: true, predicate: ["vc"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "table", first: true, predicate: TableViewComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-progress-bar [mode]=\"progress === 0 ? 'query' : 'buffer'\" [value]=progress [bufferValue]=0 [style.visibility]=\"progress > -1 ? 'visible':'hidden'\"></mat-progress-bar>\r\n<ng-container #vc></ng-container>\r\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}:host :last-child{-ms-flex:1 auto;-webkit-flex:1 auto;flex:1 auto}\n"], dependencies: [{ kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] }); }
136
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ReportViewerComponent, deps: [{ token: i1.HttpClient }, { token: i2.PromptService }, { token: i0.Injector }, { token: i3.HubService }, { token: i4.TranslateService }, { token: i5.SessionService }, { token: i6.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
137
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: ReportViewerComponent, selector: "bizdoc-report-viewer", inputs: { report: "report", args: "args" }, host: { listeners: { "window:resize": "resize()" } }, viewQueries: [{ propertyName: "viewContainer", first: true, predicate: ["vc"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "table", first: true, predicate: TableViewComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<mat-progress-bar [mode]=\"progress === 0 ? 'query' : 'buffer'\" [value]=progress [bufferValue]=0 [style.visibility]=\"progress > -1 ? 'visible':'hidden'\"></mat-progress-bar>\r\n<ng-container #vc></ng-container>\r\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}:host :last-child{-ms-flex:1 auto;-webkit-flex:1 auto;flex:1 auto}\n"], dependencies: [{ kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] }); }
138
138
  }
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: ReportViewerComponent, decorators: [{
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ReportViewerComponent, decorators: [{
140
140
  type: Component,
141
141
  args: [{ selector: 'bizdoc-report-viewer', template: "<mat-progress-bar [mode]=\"progress === 0 ? 'query' : 'buffer'\" [value]=progress [bufferValue]=0 [style.visibility]=\"progress > -1 ? 'visible':'hidden'\"></mat-progress-bar>\r\n<ng-container #vc></ng-container>\r\n", styles: [":host{display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}:host :last-child{-ms-flex:1 auto;-webkit-flex:1 auto;flex:1 auto}\n"] }]
142
142
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.PromptService }, { type: i0.Injector }, { type: i3.HubService }, { type: i4.TranslateService }, { type: i5.SessionService }, { type: i6.BizDocComponentFactoryResolver }], propDecorators: { report: [{
@@ -153,4 +153,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
153
153
  type: HostListener,
154
154
  args: ['window:resize']
155
155
  }] } });
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvcmVwb3J0LXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBYSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBNEIsTUFBTSxlQUFlLENBQUM7QUFFM0ksT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBTyxNQUFNLGdCQUFnQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQTBCLE1BQU0sOEJBQThCLENBQUM7QUFJaEYsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxjQUFjLENBQUM7QUFNMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7OztBQU9sRSw0QkFBNEI7QUFDNUIsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFRRCx3QkFBd0I7SUFDeEIsWUFDVSxLQUFpQixFQUNqQixHQUFrQixFQUNsQixTQUFtQixFQUNuQixJQUFnQixFQUNoQixVQUE0QixFQUM1QixRQUF3QixFQUN4QixnQkFBZ0Q7UUFOaEQsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQ2xCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsU0FBSSxHQUFKLElB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LENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFhLENBQUEsQ0FBQztvQkFDcEYsSUFBSTtpQkFDUTthQUNmO1NBQ0YsRUFDRCxNQUFNLENBQ1AsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBM0lVLHFCQUFxQjtrR0FBckIscUJBQXFCLDhPQU9PLGdCQUFnQixtRUFDNUMsa0JBQWtCLHFFQzlCL0IsME5BRUE7OzJGRG9CYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0Usc0JBQXNCO29RQU12QixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUtxRCxhQUFhO3NCQUF2RSxTQUFTO3VCQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUMxQixLQUFLO3NCQUFuQyxTQUFTO3VCQUFDLGtCQUFrQjtnQkFpRDdCLE1BQU07c0JBREwsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE9uRGVzdHJveSwgVmlld0NvbnRhaW5lclJlZiwgSW5qZWN0b3IsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpcnN0VmFsdWVGcm9tLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsLCBmaWx0ZXIsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgV29ya2Jvb2ssIFdvcmtzaGVldCwgUm93LCBDb2x1bW4gfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZXhjZWwtZXhwb3J0JztcclxuaW1wb3J0IHsgUmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgUmVwb3J0IH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQYXJhbU1hcCB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IFJlcG9ydFJlZiwgRXhwb3J0RXZlbnRBcmdzIH0gZnJvbSAnLi9yZXBvcnQtcmVmJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXInO1xyXG5pbXBvcnQgeyBUYWJsZVZpZXdDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlL3RhYmxlLXZpZXcuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXJlcG9ydC12aWV3ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yZXBvcnQtdmlld2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9yZXBvcnQtdmlld2VyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuLyoqIHJlcG9ydHZpZXdlciBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgUmVwb3J0Vmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHJlcG9ydCE6IFJlcG9ydDtcclxuICBASW5wdXQoKSBhcmdzOiBQYXJhbU1hcDtcclxuICBwcm9ncmVzcyA9IC0xO1xyXG4gIHB1YmxpYyBnZXQgcmVwb3J0UmVmKCk6IFJlcG9ydFJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVwb3J0UmVmO1xyXG4gIH1cclxuICBAVmlld0NoaWxkKCd2YycsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgQFZpZXdDaGlsZChUYWJsZVZpZXdDb21wb25lbnQpIHRhYmxlOiBUYWJsZVZpZXdDb21wb25lbnQ7XHJcbiAgcHJpdmF0ZSBfZGF0YTogYW55W107XHJcbiAgcHJpdmF0ZSBfaW5zdGFuY2U6IFJlcG9ydENvbXBvbmVudDxhbnksIGFueT47XHJcbiAgcHJpdmF0ZSBfcmVwb3J0UmVmOiBSZXBvcnRSZWY7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVzaXppbmcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAvKiogcmVwb3J0dmlld2VyIGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX2h1YjogSHViU2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZmFjdG9yeVJlc29sdmVyOiBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKGNoYW5nZXNbJ3JlcG9ydCddKSB7XHJcbiAgICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgICB0aGlzLl9yZXBvcnRSZWYgJiYgdGhpcy5fcmVwb3J0UmVmLl9kZXN0cm95KCk7XHJcbiAgICAgIHRoaXMuX3JlcG9ydFJlZiA9IG5ldyBSZXBvcnRSZWYodGhpcy5yZXBvcnQsIHRoaXMuYXJncywgdGhpcy5faHViLHRoaXMuX2h0dHAsIHRoaXMuX2RpbSgpKTtcclxuICAgICAgaWYgKHRoaXMucmVwb3J0LnRlbXBsYXRlKVxyXG4gICAgICAgIHRoaXMuX2NyZWF0ZVZpZXcoKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuX2luc3RhbmNlID0gdGhpcy50YWJsZTtcclxuICAgICAgLy8gbGlzdGVuIHRvIHByb2dyZXNzXHJcbiAgICAgIHRoaXMuX2h1Yi5yZXBvcnRQcm9ncmVzcyQuXHJcbiAgICAgICAgcGlwZShmaWx0ZXIoZSA9PlxyXG4gICAgICAgICAgZS5uYW1lID09PSB0aGlzLnJlcG9ydC5uYW1lKSxcclxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSxcclxuICAgICAgICAgIGRlYm91bmNlVGltZSg1MCkpLlxyXG4gICAgICAgIHN1YnNjcmliZShpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLnByb2dyZXNzID4gMCkgdGhpcy5wcm9ncmVzcyA9IGkucHJvZ3Jlc3M7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIHRoaXMuX3Jlc2l6aW5nLnBpcGUoZGVib3VuY2VUaW1lKDE1MCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9yZXBvcnRSZWYuX3Jlc2l6ZSQubmV4dCh0aGlzLl9kaW0oKSkpO1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ2FyZ3MnXSlcclxuICAgICAgdGhpcy5fcmVwb3J0UmVmLl9hcmdzJC5uZXh0KHRoaXMuYXJncyk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIHByaXZhdGUgX2NyZWF0ZVZpZXcoKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLl9mYWN0b3J5UmVzb2x2ZXIuY29tcG9uZW50KHRoaXMucmVwb3J0LnRlbXBsYXRlKTtcclxuICAgIHRoaXMudmlld0NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoeyBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFJlcG9ydFJlZiwgdXNlVmFsdWU6IHRoaXMuX3JlcG9ydFJlZiB9XSwgcGFyZW50OiB0aGlzLl9pbmplY3RvciB9KTtcclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50LCB7IGluamVjdG9yIH0pO1xyXG5cclxuICAgIHRoaXMuX2luc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIFJlcG9ydENvbXBvbmVudDxhbnksIGFueT47XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxyXG4gIHJlc2l6ZSgpIHtcclxuICAgIHRoaXMuX3Jlc2l6aW5nLm5leHQoe30pO1xyXG4gIH1cclxuICBwcml2YXRlIF9kaW0oKTogeyBoZWlnaHQ6IG51bWJlcjsgd2lkdGg6IG51bWJlciB9IHtcclxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gKHRoaXMudmlld0NvbnRhaW5lci5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQgYXMgSFRNTERpdkVsZW1lbnQpLnBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICByZXR1cm4geyB3aWR0aDogTWF0aC5mbG9vcih3aWR0aCAtIDIpLCBoZWlnaHQ6IE1hdGguZmxvb3IoaGVpZ2h0KSB9O1xyXG4gIH1cclxuICAvKiogKi9cclxuICBleGVjdXRlKCkge1xyXG4gICAgdGhpcy5wcm9ncmVzcyA9IDA7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUsIHJlamVjdCkgPT5cclxuICAgICAgdGhpcy5faHR0cC5wb3N0PGFueVtdPihgL2FwaS9yZXBvcnQvJHtlbmNvZGVVUklDb21wb25lbnQodGhpcy5yZXBvcnQubmFtZSl9YCwgdGhpcy5hcmdzKS5cclxuICAgICAgICBzdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDogciA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2luc3RhbmNlLm9uQmluZChyLCB0aGlzLmFyZ3MpO1xyXG4gICAgICAgICAgICB0aGlzLl9kYXRhID0gcjtcclxuICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgfSwgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fc2IuZXJyb3IoKTtcclxuICAgICAgICAgICAgcmVqZWN0KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAsIGNvbXBsZXRlOiAoKSA9PlxyXG4gICAgICAgICAgICB0aGlzLnByb2dyZXNzID0gLTFcclxuICAgICAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBleHBsb3JlKGl0ZW06IGFueSkge1xyXG4gICAgY29uc3QgYXJncyA9IHt9O1xyXG4gICAgY29uc3Qga2V5cyA9IHRoaXMucmVwb3J0LmZpZWxkcy5maWx0ZXIoYyA9PiBjLmZsYWdzPy5pbmRleE9mKCdLZXknKSA+IC0xKTtcclxuICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMClcclxuICAgICAgdGhyb3cgYHJlcG9ydCAke3RoaXMucmVwb3J0Lm5hbWV9IGl0ZW0gbW9kZWwgbWlzc2luZyBrZXkgYXR0cmlidXRlYDtcclxuICAgIGtleXMuZm9yRWFjaChmID0+IGFyZ3NbZi5uYW1lXSA9IGl0ZW1bZi5uYW1lXSk7XHJcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5faHR0cC5wdXQ8YW55W10+KGAvYXBpL3JlcG9ydC8ke2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLnJlcG9ydC5uYW1lKX1gLCBhcmdzKSk7XHJcbiAgfVxyXG5cclxuICAvKiogKi9cclxuICBleHBvcnRFeGNlbCgpIHtcclxuICAgIGlmICh0aGlzLl9pbnN0YW5jZS5vbkV4cG9ydCkge1xyXG4gICAgICB0aGlzLl9pbnN0YW5jZS5vbkV4cG9ydCh0aGlzLl9kYXRhLm1hcChyID0+IHsgcmV0dXJuIHsgLi4uciB9IH0pKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgcm93cyA9IFt7XHJcbiAgICAgIGluZGV4OiAxLFxyXG4gICAgICBjZWxsczogdGhpcy5yZXBvcnQuY29sdW1ucy5tYXAoKGMsIGopID0+ICh7XHJcbiAgICAgICAgaW5kZXg6IGogKyAxLCB2YWx1ZTogYy5sYWJlbCB8fCBjLm5hbWUsXHJcbiAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgIGJvbGQ6IHRydWUsXHJcbiAgICAgICAgICBoQWxpZ246IGMuY29udHJvbFR5cGUgPT09ICdudW1iZXInID8gJ3JpZ2h0JyA6ICdnZW5lcmFsJ1xyXG4gICAgICAgIH1cclxuICAgICAgfSBhcyBDZWxsKSlcclxuICAgIH1dIGFzIFJvd1tdO1xyXG4gICAgdGhpcy5fZGF0YS5mb3JFYWNoKChyLCBpKSA9PiByb3dzLnB1c2goXHJcbiAgICAgIHtcclxuICAgICAgICBpbmRleDogaSArIDIsXHJcbiAgICAgICAgY2VsbHM6IHRoaXMucmVwb3J0LmNvbHVtbnMubWFwKChjLCBqKSA9PiAoe1xyXG4gICAgICAgICAgaW5kZXg6IGogKyAxLCB2YWx1ZTogcltjLm5hbWVdLFxyXG4gICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgaEFsaWduOiBjLmNvbnRyb2xUeXBlID09PSAnbnVtYmVyJyA/ICdyaWdodCcgOiAnZ2VuZXJhbCdcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSlcclxuICAgICAgfSBhcyBSb3cpKTtcclxuICAgIGNvbnN0IGJvb2sgPSBuZXcgV29ya2Jvb2soXHJcbiAgICAgIHtcclxuICAgICAgICB3b3Jrc2hlZXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGVuYWJsZVJ0bDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTaGVldE4nLCAxKSxcclxuICAgICAgICAgICAgY29sdW1uczogdGhpcy5yZXBvcnQuY29sdW1ucy5tYXAoKF8sIGkpID0+ICh7IGluZGV4OiBpICsgMSwgd2lkdGg6IDI1MCB9IGFzIENvbHVtbikpLFxyXG4gICAgICAgICAgICByb3dzXHJcbiAgICAgICAgICB9IGFzIFdvcmtzaGVldFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0sXHJcbiAgICAgICd4bHN4J1xyXG4gICAgKTtcclxuICAgIGJvb2suc2F2ZShgJHt0aGlzLnJlcG9ydC50aXRsZX0ueGxzeGApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZXBvcnRSZWYuX2Rlc3Ryb3koKTtcclxuICAgIHRoaXMuX3Jlc2l6aW5nLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIENlbGwgeyB9XHJcbiIsIjxtYXQtcHJvZ3Jlc3MtYmFyIFttb2RlXT1cInByb2dyZXNzID09PSAwID8gJ3F1ZXJ5JyA6ICdidWZmZXInXCIgW3ZhbHVlXT1wcm9ncmVzcyBbYnVmZmVyVmFsdWVdPTAgW3N0eWxlLnZpc2liaWxpdHldPVwicHJvZ3Jlc3MgPiAtMSA/ICd2aXNpYmxlJzonaGlkZGVuJ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuPG5nLWNvbnRhaW5lciAjdmM+PC9uZy1jb250YWluZXI+XHJcbiJdfQ==
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvcmVwb3J0cy9yZXBvcnQtdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9yZXBvcnRzL3JlcG9ydC12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQWEsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRTNJLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsUUFBUSxFQUEwQixNQUFNLDhCQUE4QixDQUFDO0FBSWhGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFNekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7OztBQU9sRSw0QkFBNEI7QUFDNUIsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFRRCx3QkFBd0I7SUFDeEIsWUFDVSxLQUFpQixFQUNqQixHQUFrQixFQUNsQixTQUFtQixFQUNuQixJQUFnQixFQUNoQixVQUE0QixFQUM1QixRQUF3QixFQUN4QixnQkFBZ0Q7UUFOaEQsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQ2xCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUM1QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWdDO1FBbkIxRCxhQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFTRyxjQUFTLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFVaEQsQ0FBQztJQUNELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM1RixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtnQkFDdEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDOztnQkFFbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQzlCLHFCQUFxQjtZQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWU7Z0JBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDZCxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQzVCLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQ3hCLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDbkIsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNaLElBQUksSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDO29CQUFFLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUNwRCxDQUFDLENBQUMsQ0FBQztZQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyRyxDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELE1BQU07SUFDRSxXQUFXO1FBQ2pCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFTLENBQUMsQ0FBQztRQUN6RSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzNCLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUM3SCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBRWpGLElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLFFBQXFDLENBQUM7SUFDdEUsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBQ08sSUFBSTtRQUNWLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsYUFBZ0MsQ0FBQyxhQUFjLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM5SCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDdEUsQ0FBQztJQUNELE1BQU07SUFDTixPQUFPO1FBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDbEIsT0FBTyxJQUFJLE9BQU8sQ0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUMzQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBUSxlQUFlLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RGLFNBQVMsQ0FBQztZQUNSLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRTtnQkFDUixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDZixPQUFPLEVBQUUsQ0FBQztZQUNaLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNiLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sRUFBRSxDQUFDO1lBQ1gsQ0FBQztZQUNDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FDZixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztTQUNyQixDQUFDLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBUztRQUNmLE1BQU0sSUFBSSxHQUFHLEVBQTRCLENBQUM7UUFDMUMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ25CLE1BQU0sVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksbUNBQW1DLENBQUM7UUFDdEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFRLGVBQWUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVELE1BQU07SUFDTixXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xFLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsQ0FBQztnQkFDWixLQUFLLEVBQUUsQ0FBQztnQkFDUixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDeEMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLElBQUk7b0JBQ3RDLEtBQUssRUFBRTt3QkFDTCxJQUFJLEVBQUUsSUFBSTt3QkFDVixNQUFNLEVBQUUsQ0FBQyxDQUFDLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUztxQkFDekQ7aUJBQ08sQ0FBQSxDQUFDO2FBQ1osQ0FBVSxDQUFDO1FBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNwQztZQUNFLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNaLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN4QyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzlCLEtBQUssRUFBRTtvQkFDTCxNQUFNLEVBQUUsQ0FBQyxDQUFDLFdBQVcsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUztpQkFDekQ7YUFDRixDQUFDLENBQUM7U0FDRyxDQUFDLENBQUMsQ0FBQztRQUNiLE1BQU0sSUFBSSxHQUFHLElBQUksUUFBUSxDQUN2QjtZQUNFLFVBQVUsRUFBRTtnQkFDVjtvQkFDRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPO29CQUNoQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFhLENBQUEsQ0FBQztvQkFDcEYsSUFBSTtpQkFDUTthQUNmO1NBQ0YsRUFDRCxNQUFNLENBQ1AsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBM0lVLHFCQUFxQjtrR0FBckIscUJBQXFCLDhPQU9PLGdCQUFnQixtRUFDNUMsa0JBQWtCLHFFQzlCL0IsME5BRUE7OzJGRG9CYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0Usc0JBQXNCO29RQU12QixNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUtxRCxhQUFhO3NCQUF2RSxTQUFTO3VCQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFO2dCQUMxQixLQUFLO3NCQUFuQyxTQUFTO3VCQUFDLGtCQUFrQjtnQkFpRDdCLE1BQU07c0JBREwsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE9uRGVzdHJveSwgVmlld0NvbnRhaW5lclJlZiwgSW5qZWN0b3IsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpcnN0VmFsdWVGcm9tLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsLCBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFdvcmtib29rLCBXb3Jrc2hlZXQsIFJvdywgQ29sdW1uIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydCc7XHJcbmltcG9ydCB7IFJlcG9ydENvbXBvbmVudCB9IGZyb20gJy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IFJlcG9ydCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgUGFyYW1NYXAgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBSZXBvcnRSZWYgfSBmcm9tICcuL3JlcG9ydC1yZWYnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIH0gZnJvbSAnLi4vY29yZS9jb21wb25lbnQtZmFjdG9yeS1yZXNvbHZlcic7XHJcbmltcG9ydCB7IFRhYmxlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdGFibGUvdGFibGUtdmlldy5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtcmVwb3J0LXZpZXdlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JlcG9ydC12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3JlcG9ydC12aWV3ZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG4vKiogcmVwb3J0dmlld2VyIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgcmVwb3J0ITogUmVwb3J0O1xyXG4gIEBJbnB1dCgpIGFyZ3M6IFBhcmFtTWFwO1xyXG4gIHByb2dyZXNzID0gLTE7XHJcbiAgcHVibGljIGdldCByZXBvcnRSZWYoKTogUmVwb3J0UmVmIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXBvcnRSZWY7XHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoJ3ZjJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuICBAVmlld0NoaWxkKFRhYmxlVmlld0NvbXBvbmVudCkgdGFibGU6IFRhYmxlVmlld0NvbXBvbmVudDtcclxuICBwcml2YXRlIF9kYXRhOiBhbnlbXTtcclxuICBwcml2YXRlIF9pbnN0YW5jZTogUmVwb3J0Q29tcG9uZW50PGFueSwgYW55PjtcclxuICBwcml2YXRlIF9yZXBvcnRSZWY6IFJlcG9ydFJlZjtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9yZXNpemluZyA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIC8qKiByZXBvcnR2aWV3ZXIgY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBfaHViOiBIdWJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9mYWN0b3J5UmVzb2x2ZXI6IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1sncmVwb3J0J10pIHtcclxuICAgICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICAgIHRoaXMuX3JlcG9ydFJlZiAmJiB0aGlzLl9yZXBvcnRSZWYuX2Rlc3Ryb3koKTtcclxuICAgICAgdGhpcy5fcmVwb3J0UmVmID0gbmV3IFJlcG9ydFJlZih0aGlzLnJlcG9ydCwgdGhpcy5hcmdzLCB0aGlzLl9odWIsIHRoaXMuX2h0dHAsIHRoaXMuX2RpbSgpKTtcclxuICAgICAgaWYgKHRoaXMucmVwb3J0LnRlbXBsYXRlKVxyXG4gICAgICAgIHRoaXMuX2NyZWF0ZVZpZXcoKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuX2luc3RhbmNlID0gdGhpcy50YWJsZTtcclxuICAgICAgLy8gbGlzdGVuIHRvIHByb2dyZXNzXHJcbiAgICAgIHRoaXMuX2h1Yi5yZXBvcnRQcm9ncmVzcyQuXHJcbiAgICAgICAgcGlwZShmaWx0ZXIoZSA9PlxyXG4gICAgICAgICAgZS5uYW1lID09PSB0aGlzLnJlcG9ydC5uYW1lKSxcclxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSxcclxuICAgICAgICAgIGRlYm91bmNlVGltZSg1MCkpLlxyXG4gICAgICAgIHN1YnNjcmliZShpID0+IHtcclxuICAgICAgICAgIGlmICh0aGlzLnByb2dyZXNzID4gMCkgdGhpcy5wcm9ncmVzcyA9IGkucHJvZ3Jlc3M7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIHRoaXMuX3Jlc2l6aW5nLnBpcGUoZGVib3VuY2VUaW1lKDE1MCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9yZXBvcnRSZWYuX3Jlc2l6ZSQubmV4dCh0aGlzLl9kaW0oKSkpO1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXNbJ2FyZ3MnXSlcclxuICAgICAgdGhpcy5fcmVwb3J0UmVmLl9hcmdzJC5uZXh0KHRoaXMuYXJncyk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIHByaXZhdGUgX2NyZWF0ZVZpZXcoKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLl9mYWN0b3J5UmVzb2x2ZXIuY29tcG9uZW50KHRoaXMucmVwb3J0LnRlbXBsYXRlISk7XHJcbiAgICB0aGlzLnZpZXdDb250YWluZXIuY2xlYXIoKTtcclxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHsgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBSZXBvcnRSZWYsIHVzZVZhbHVlOiB0aGlzLl9yZXBvcnRSZWYgfV0sIHBhcmVudDogdGhpcy5faW5qZWN0b3IgfSk7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwgeyBpbmplY3RvciB9KTtcclxuXHJcbiAgICB0aGlzLl9pbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBSZXBvcnRDb21wb25lbnQ8YW55LCBhbnk+O1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcclxuICByZXNpemUoKSB7XHJcbiAgICB0aGlzLl9yZXNpemluZy5uZXh0KHt9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZGltKCk6IHsgaGVpZ2h0OiBudW1iZXI7IHdpZHRoOiBudW1iZXIgfSB7XHJcbiAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9ICh0aGlzLnZpZXdDb250YWluZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxEaXZFbGVtZW50KS5wYXJlbnRFbGVtZW50IS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHJldHVybiB7IHdpZHRoOiBNYXRoLmZsb29yKHdpZHRoIC0gMiksIGhlaWdodDogTWF0aC5mbG9vcihoZWlnaHQpIH07XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIGV4ZWN1dGUoKSB7XHJcbiAgICB0aGlzLnByb2dyZXNzID0gMDtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PlxyXG4gICAgICB0aGlzLl9odHRwLnBvc3Q8YW55W10+KGAvYXBpL3JlcG9ydC8ke2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLnJlcG9ydC5uYW1lKX1gLCB0aGlzLmFyZ3MpLlxyXG4gICAgICAgIHN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiByID0+IHtcclxuICAgICAgICAgICAgdGhpcy5faW5zdGFuY2Uub25CaW5kKHIsIHRoaXMuYXJncyk7XHJcbiAgICAgICAgICAgIHRoaXMuX2RhdGEgPSByO1xyXG4gICAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgICB9LCBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9zYi5lcnJvcigpO1xyXG4gICAgICAgICAgICByZWplY3QoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICwgY29tcGxldGU6ICgpID0+XHJcbiAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3MgPSAtMVxyXG4gICAgICAgIH0pKTtcclxuICB9XHJcblxyXG4gIGV4cGxvcmUoaXRlbTogYW55KSB7XHJcbiAgICBjb25zdCBhcmdzID0ge30gYXMgeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxuICAgIGNvbnN0IGtleXMgPSB0aGlzLnJlcG9ydC5maWVsZHMhLmZpbHRlcihjID0+IGMuZmxhZ3MgJiYgYy5mbGFncy5pbmRleE9mKCdLZXknKSA+IC0xKTtcclxuICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMClcclxuICAgICAgdGhyb3cgYHJlcG9ydCAke3RoaXMucmVwb3J0Lm5hbWV9IGl0ZW0gbW9kZWwgbWlzc2luZyBrZXkgYXR0cmlidXRlYDtcclxuICAgIGtleXMuZm9yRWFjaChmID0+IGFyZ3NbZi5uYW1lXSA9IGl0ZW1bZi5uYW1lXSk7XHJcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5faHR0cC5wdXQ8YW55W10+KGAvYXBpL3JlcG9ydC8ke2VuY29kZVVSSUNvbXBvbmVudCh0aGlzLnJlcG9ydC5uYW1lKX1gLCBhcmdzKSk7XHJcbiAgfVxyXG5cclxuICAvKiogKi9cclxuICBleHBvcnRFeGNlbCgpIHtcclxuICAgIGlmICh0aGlzLl9pbnN0YW5jZS5vbkV4cG9ydCkge1xyXG4gICAgICB0aGlzLl9pbnN0YW5jZS5vbkV4cG9ydCh0aGlzLl9kYXRhLm1hcChyID0+IHsgcmV0dXJuIHsgLi4uciB9IH0pKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgcm93cyA9IFt7XHJcbiAgICAgIGluZGV4OiAxLFxyXG4gICAgICBjZWxsczogdGhpcy5yZXBvcnQuY29sdW1ucy5tYXAoKGMsIGopID0+ICh7XHJcbiAgICAgICAgaW5kZXg6IGogKyAxLCB2YWx1ZTogYy5sYWJlbCB8fCBjLm5hbWUsXHJcbiAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgIGJvbGQ6IHRydWUsXHJcbiAgICAgICAgICBoQWxpZ246IGMuY29udHJvbFR5cGUgPT09ICdudW1iZXInID8gJ3JpZ2h0JyA6ICdnZW5lcmFsJ1xyXG4gICAgICAgIH1cclxuICAgICAgfSBhcyBDZWxsKSlcclxuICAgIH1dIGFzIFJvd1tdO1xyXG4gICAgdGhpcy5fZGF0YS5mb3JFYWNoKChyLCBpKSA9PiByb3dzLnB1c2goXHJcbiAgICAgIHtcclxuICAgICAgICBpbmRleDogaSArIDIsXHJcbiAgICAgICAgY2VsbHM6IHRoaXMucmVwb3J0LmNvbHVtbnMubWFwKChjLCBqKSA9PiAoe1xyXG4gICAgICAgICAgaW5kZXg6IGogKyAxLCB2YWx1ZTogcltjLm5hbWVdLFxyXG4gICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgaEFsaWduOiBjLmNvbnRyb2xUeXBlID09PSAnbnVtYmVyJyA/ICdyaWdodCcgOiAnZ2VuZXJhbCdcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSlcclxuICAgICAgfSBhcyBSb3cpKTtcclxuICAgIGNvbnN0IGJvb2sgPSBuZXcgV29ya2Jvb2soXHJcbiAgICAgIHtcclxuICAgICAgICB3b3Jrc2hlZXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGVuYWJsZVJ0bDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgICAgICAgICBuYW1lOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTaGVldE4nLCAxKSxcclxuICAgICAgICAgICAgY29sdW1uczogdGhpcy5yZXBvcnQuY29sdW1ucy5tYXAoKF8sIGkpID0+ICh7IGluZGV4OiBpICsgMSwgd2lkdGg6IDI1MCB9IGFzIENvbHVtbikpLFxyXG4gICAgICAgICAgICByb3dzXHJcbiAgICAgICAgICB9IGFzIFdvcmtzaGVldFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0sXHJcbiAgICAgICd4bHN4J1xyXG4gICAgKTtcclxuICAgIGJvb2suc2F2ZShgJHt0aGlzLnJlcG9ydC50aXRsZX0ueGxzeGApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZXBvcnRSZWYuX2Rlc3Ryb3koKTtcclxuICAgIHRoaXMuX3Jlc2l6aW5nLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIENlbGwgeyB9XHJcbiIsIjxtYXQtcHJvZ3Jlc3MtYmFyIFttb2RlXT1cInByb2dyZXNzID09PSAwID8gJ3F1ZXJ5JyA6ICdidWZmZXInXCIgW3ZhbHVlXT1wcm9ncmVzcyBbYnVmZmVyVmFsdWVdPTAgW3N0eWxlLnZpc2liaWxpdHldPVwicHJvZ3Jlc3MgPiAtMSA/ICd2aXNpYmxlJzonaGlkZGVuJ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuPG5nLWNvbnRhaW5lciAjdmM+PC9uZy1jb250YWluZXI+XHJcbiJdfQ==