@bizdoc/core 1.16.3 → 1.16.4

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 (1033) hide show
  1. package/bizdoc-core.d.ts.map +1 -0
  2. package/esm2020/lib/admin/admin-dismiss.service.mjs +6 -6
  3. package/esm2020/lib/admin/admin-menu.component.mjs +82 -9
  4. package/esm2020/lib/admin/configuration-designer/cube-axes-filter.component.mjs +248 -0
  5. package/esm2020/lib/admin/configuration-designer/designer-element.component.mjs +192 -29
  6. package/esm2020/lib/admin/configuration-designer/designer.base.mjs +37 -25
  7. package/esm2020/lib/admin/configuration-designer/designer.component.mjs +152 -10
  8. package/esm2020/lib/admin/configuration-designer/elements/action.component.mjs +107 -10
  9. package/esm2020/lib/admin/configuration-designer/elements/analysis-view.component.mjs +447 -7
  10. package/esm2020/lib/admin/configuration-designer/elements/analysis-widget.component.mjs +441 -7
  11. package/esm2020/lib/admin/configuration-designer/elements/anomaly-rule.component.mjs +25 -7
  12. package/esm2020/lib/admin/configuration-designer/elements/box-form.component.mjs +25 -7
  13. package/esm2020/lib/admin/configuration-designer/elements/configuration-datasource.component.mjs +79 -7
  14. package/esm2020/lib/admin/configuration-designer/elements/cube-index-utility.component.mjs +71 -7
  15. package/esm2020/lib/admin/configuration-designer/elements/cube-view.component.mjs +98 -7
  16. package/esm2020/lib/admin/configuration-designer/elements/cube.component.mjs +793 -10
  17. package/esm2020/lib/admin/configuration-designer/elements/documents-report.component.mjs +52 -7
  18. package/esm2020/lib/admin/configuration-designer/elements/documents-widget.component.mjs +55 -10
  19. package/esm2020/lib/admin/configuration-designer/elements/explore-view.component.mjs +73 -7
  20. package/esm2020/lib/admin/configuration-designer/elements/folder.component.mjs +275 -9
  21. package/esm2020/lib/admin/configuration-designer/elements/form.component.mjs +96 -10
  22. package/esm2020/lib/admin/configuration-designer/elements/guide.component.mjs +78 -7
  23. package/esm2020/lib/admin/configuration-designer/elements/matrix-view.component.mjs +293 -8
  24. package/esm2020/lib/admin/configuration-designer/elements/parallel-view.component.mjs +210 -8
  25. package/esm2020/lib/admin/configuration-designer/elements/performance-widget.component.mjs +74 -7
  26. package/esm2020/lib/admin/configuration-designer/elements/pivot-view.component.mjs +162 -8
  27. package/esm2020/lib/admin/configuration-designer/elements/report.component.mjs +58 -7
  28. package/esm2020/lib/admin/configuration-designer/elements/return-to-role-action.component.mjs +40 -7
  29. package/esm2020/lib/admin/configuration-designer/elements/role.component.mjs +70 -8
  30. package/esm2020/lib/admin/configuration-designer/elements/rule.component.mjs +20 -7
  31. package/esm2020/lib/admin/configuration-designer/elements/state.component.mjs +63 -11
  32. package/esm2020/lib/admin/configuration-designer/elements/sum-view.component.mjs +132 -8
  33. package/esm2020/lib/admin/configuration-designer/elements/tasks-report.component.mjs +101 -7
  34. package/esm2020/lib/admin/configuration-designer/elements/type.component.mjs +25 -7
  35. package/esm2020/lib/admin/configuration-designer/elements/usage-report.component.mjs +205 -8
  36. package/esm2020/lib/admin/configuration-designer/elements/utility.component.mjs +24 -7
  37. package/esm2020/lib/admin/configuration-designer/elements/view.component.mjs +22 -7
  38. package/esm2020/lib/admin/configuration-designer/elements/widget.component.mjs +54 -7
  39. package/esm2020/lib/admin/configuration-designer/icon-picker.component.mjs +79 -30
  40. package/esm2020/lib/admin/core/ace.input.mjs +35 -29
  41. package/esm2020/lib/admin/core/color-picker.input.mjs +89 -36
  42. package/esm2020/lib/admin/core/search.input.mjs +23 -13
  43. package/esm2020/lib/admin/diff/configuration-diff.component.mjs +90 -15
  44. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +296 -30
  45. package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +63 -10
  46. package/esm2020/lib/admin/document-trace/trace-element.component.mjs +238 -7
  47. package/esm2020/lib/admin/form/designer/designer.component.mjs +492 -10
  48. package/esm2020/lib/admin/form/form.resolve.service.mjs +6 -6
  49. package/esm2020/lib/admin/form/workflow/node.component.mjs +86 -15
  50. package/esm2020/lib/admin/form/workflow/role-node.component.mjs +152 -13
  51. package/esm2020/lib/admin/form/workflow/workflow.component.mjs +219 -18
  52. package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +160 -13
  53. package/esm2020/lib/admin/patterns/patterns.component.mjs +280 -19
  54. package/esm2020/lib/admin/permissions/permissions.component.mjs +129 -13
  55. package/esm2020/lib/admin/positions/positions-popup.component.mjs +77 -13
  56. package/esm2020/lib/admin/positions/positions.component.mjs +605 -31
  57. package/esm2020/lib/admin/profiler/outofoffice.component.mjs +184 -16
  58. package/esm2020/lib/admin/profiler/profiler.component.mjs +268 -21
  59. package/esm2020/lib/admin/system.service.mjs +6 -6
  60. package/esm2020/lib/admin/utility-wrapper.component.mjs +9 -9
  61. package/esm2020/lib/admin/utility.pane.component.mjs +23 -15
  62. package/esm2020/lib/app.component.mjs +19 -19
  63. package/esm2020/lib/bizdoc.module.mjs +30 -29
  64. package/esm2020/lib/browse/browse-items.component.mjs +629 -40
  65. package/esm2020/lib/browse/browse.mobile.component.mjs +218 -13
  66. package/esm2020/lib/browse/browse.pane.component.mjs +214 -18
  67. package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +161 -11
  68. package/esm2020/lib/browse/filter/filter.component.mjs +184 -27
  69. package/esm2020/lib/browse/folders-menu.component.mjs +74 -11
  70. package/esm2020/lib/chat/chat-info.mjs +10 -10
  71. package/esm2020/lib/chat/chat.mobile.component.mjs +32 -11
  72. package/esm2020/lib/chat/chat.service.mjs +7 -7
  73. package/esm2020/lib/chat/contacts.component.mjs +134 -15
  74. package/esm2020/lib/chat/contacts.pane.component.mjs +16 -12
  75. package/esm2020/lib/chat/conversation.component.mjs +128 -21
  76. package/esm2020/lib/chat/conversation.pane.component.mjs +13 -9
  77. package/esm2020/lib/compose/action/action-picker.component.mjs +107 -14
  78. package/esm2020/lib/compose/action/action.dialog.mjs +78 -13
  79. package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +58 -12
  80. package/esm2020/lib/compose/action/assign-action.component.mjs +93 -10
  81. package/esm2020/lib/compose/action/moveto-action.component.mjs +110 -10
  82. package/esm2020/lib/compose/action/return-action.component.mjs +55 -7
  83. package/esm2020/lib/compose/attachments/attachments.component.mjs +140 -13
  84. package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +147 -58
  85. package/esm2020/lib/compose/attachments/progress-button.directive.mjs +9 -9
  86. package/esm2020/lib/compose/box/box.component.mjs +160 -7
  87. package/esm2020/lib/compose/can-deactivate-changes.service.mjs +6 -6
  88. package/esm2020/lib/compose/comments/comment.component.mjs +189 -26
  89. package/esm2020/lib/compose/comments/comments.component.mjs +111 -22
  90. package/esm2020/lib/compose/comments/comments.pane.component.mjs +21 -12
  91. package/esm2020/lib/compose/comments/edit-comment.component.mjs +16 -10
  92. package/esm2020/lib/compose/comments/edits.component.mjs +47 -10
  93. package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +37 -10
  94. package/esm2020/lib/compose/comments/votes.component.mjs +45 -10
  95. package/esm2020/lib/compose/compose-resolve.service.mjs +11 -11
  96. package/esm2020/lib/compose/compose.mobile.component.mjs +297 -19
  97. package/esm2020/lib/compose/compose.pane.component.mjs +336 -36
  98. package/esm2020/lib/compose/copy/copy.dialog.mjs +58 -7
  99. package/esm2020/lib/compose/dismiss.service.mjs +6 -6
  100. package/esm2020/lib/compose/document-resolver.service.mjs +6 -6
  101. package/esm2020/lib/compose/document.component.mjs +28 -12
  102. package/esm2020/lib/compose/document.mobile.component.mjs +13 -9
  103. package/esm2020/lib/compose/document.pane.component.mjs +13 -9
  104. package/esm2020/lib/compose/events/events.component.mjs +33 -9
  105. package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +40 -7
  106. package/esm2020/lib/compose/form.component.mjs +119 -40
  107. package/esm2020/lib/compose/new-menu.component.mjs +45 -9
  108. package/esm2020/lib/compose/privilage.directive.mjs +31 -31
  109. package/esm2020/lib/compose/recipient-resolver.service.mjs +6 -6
  110. package/esm2020/lib/compose/state.component.mjs +9 -9
  111. package/esm2020/lib/compose/tag/tags.component.mjs +73 -16
  112. package/esm2020/lib/compose/trace/flow.component.mjs +13 -13
  113. package/esm2020/lib/compose/trace/people.component.mjs +23 -13
  114. package/esm2020/lib/compose/trace/trace.base.mjs +6 -6
  115. package/esm2020/lib/compose/trace/trace.component.mjs +306 -11
  116. package/esm2020/lib/compose/trace/trace.pane.component.mjs +31 -15
  117. package/esm2020/lib/compose/version-compare/version-compare.component.mjs +14 -14
  118. package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +64 -64
  119. package/esm2020/lib/compose/version-compare/version.pane.component.mjs +66 -9
  120. package/esm2020/lib/core/NgComponentOutlet.mjs +18 -18
  121. package/esm2020/lib/core/account.service.mjs +7 -7
  122. package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +7 -7
  123. package/esm2020/lib/core/avatar/avatar.component.mjs +43 -16
  124. package/esm2020/lib/core/component-factory-resolver.mjs +6 -6
  125. package/esm2020/lib/core/controls/address.input.mjs +74 -45
  126. package/esm2020/lib/core/controls/auto-complete.input.mjs +129 -65
  127. package/esm2020/lib/core/controls/combination-picker-body.mjs +156 -20
  128. package/esm2020/lib/core/controls/combination-picker.mjs +71 -52
  129. package/esm2020/lib/core/controls/combination-pool.mjs +76 -20
  130. package/esm2020/lib/core/controls/file.input.mjs +316 -51
  131. package/esm2020/lib/core/controls/select.input.mjs +115 -59
  132. package/esm2020/lib/core/controls/time-picker.mjs +49 -25
  133. package/esm2020/lib/core/controls/timespan.input.mjs +59 -37
  134. package/esm2020/lib/core/datasource.service.mjs +7 -7
  135. package/esm2020/lib/core/guide/guide.component.mjs +88 -19
  136. package/esm2020/lib/core/guide/guide.service.mjs +10 -10
  137. package/esm2020/lib/core/guide/help-tip.component.mjs +36 -14
  138. package/esm2020/lib/core/http.interceptor.mjs +12 -12
  139. package/esm2020/lib/core/hub.service.mjs +9 -9
  140. package/esm2020/lib/core/identity/identity.component.mjs +38 -16
  141. package/esm2020/lib/core/info/attachment-info.service.mjs +6 -6
  142. package/esm2020/lib/core/info/document-info.service.mjs +6 -6
  143. package/esm2020/lib/core/info/location-info.component.mjs +12 -12
  144. package/esm2020/lib/core/info/map-info.mjs +6 -6
  145. package/esm2020/lib/core/layout/autocomplete.field.mjs +66 -22
  146. package/esm2020/lib/core/layout/checkbox.field.mjs +56 -18
  147. package/esm2020/lib/core/layout/checkbox.mjs +33 -19
  148. package/esm2020/lib/core/layout/date-range.field.mjs +47 -22
  149. package/esm2020/lib/core/layout/date.field.mjs +67 -23
  150. package/esm2020/lib/core/layout/expression.field.mjs +66 -24
  151. package/esm2020/lib/core/layout/file.field.mjs +64 -20
  152. package/esm2020/lib/core/layout/html.field.mjs +60 -18
  153. package/esm2020/lib/core/layout/input.base.mjs +6 -6
  154. package/esm2020/lib/core/layout/input.field.mjs +64 -20
  155. package/esm2020/lib/core/layout/layout.component.mjs +34 -26
  156. package/esm2020/lib/core/layout/numeric.field.mjs +72 -21
  157. package/esm2020/lib/core/layout/select.field.mjs +100 -33
  158. package/esm2020/lib/core/layout/switch.field.mjs +56 -18
  159. package/esm2020/lib/core/layout/textarea.field.mjs +60 -18
  160. package/esm2020/lib/core/layout/timespan.field.mjs +67 -22
  161. package/esm2020/lib/core/lottie-animation.mjs +22 -20
  162. package/esm2020/lib/core/mailbox.service.mjs +7 -7
  163. package/esm2020/lib/core/models.mjs +1 -1
  164. package/esm2020/lib/core/none.component.mjs +39 -17
  165. package/esm2020/lib/core/pipes/action.pipe.mjs +7 -7
  166. package/esm2020/lib/core/pipes/calendar.pipe.mjs +10 -10
  167. package/esm2020/lib/core/pipes/date-format.pipe.mjs +7 -7
  168. package/esm2020/lib/core/pipes/daterange.pipe.mjs +13 -13
  169. package/esm2020/lib/core/pipes/difference.pipe.mjs +7 -7
  170. package/esm2020/lib/core/pipes/duration-format.pipe.mjs +7 -7
  171. package/esm2020/lib/core/pipes/duration.pipe.mjs +7 -7
  172. package/esm2020/lib/core/pipes/form.pipe.mjs +7 -7
  173. package/esm2020/lib/core/pipes/join.pipe.mjs +7 -7
  174. package/esm2020/lib/core/pipes/role.pipe.mjs +7 -7
  175. package/esm2020/lib/core/pipes/sort.pipe.mjs +17 -17
  176. package/esm2020/lib/core/pipes/state.pipe.mjs +7 -7
  177. package/esm2020/lib/core/pipes/time-ago.pipe.mjs +10 -10
  178. package/esm2020/lib/core/pipes/type-value.pipe.mjs +9 -9
  179. package/esm2020/lib/core/pipes/user-name.pipe.mjs +7 -7
  180. package/esm2020/lib/core/popup/popup.component.mjs +26 -13
  181. package/esm2020/lib/core/popup/popup.service.mjs +7 -7
  182. package/esm2020/lib/core/popup/tooltip.directive.mjs +34 -34
  183. package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +34 -10
  184. package/esm2020/lib/core/prompt/mask/mask.component.mjs +18 -10
  185. package/esm2020/lib/core/prompt.service.mjs +7 -7
  186. package/esm2020/lib/core/router.mjs +11 -11
  187. package/esm2020/lib/core/save-changes.dialog.mjs +43 -7
  188. package/esm2020/lib/core/session.service.mjs +10 -10
  189. package/esm2020/lib/core/slots/router.directive.mjs +29 -27
  190. package/esm2020/lib/core/slots/router.service.mjs +7 -7
  191. package/esm2020/lib/core/slots/slots.component.mjs +296 -41
  192. package/esm2020/lib/core/tagging/documents.component.mjs +33 -7
  193. package/esm2020/lib/core/tagging/edit-input.component.mjs +141 -38
  194. package/esm2020/lib/core/tagging/emoji.component.mjs +15 -12
  195. package/esm2020/lib/core/tagging/tagging-item.directive.mjs +31 -23
  196. package/esm2020/lib/core/tagging/tagging.component-base.mjs +14 -9
  197. package/esm2020/lib/core/tagging/tagging.directive.mjs +23 -21
  198. package/esm2020/lib/core/tagging/tagging.pipe.mjs +7 -7
  199. package/esm2020/lib/core/tagging/users.component.mjs +37 -7
  200. package/esm2020/lib/core/translate.service.mjs +7 -7
  201. package/esm2020/lib/core/translations.mjs +4 -1
  202. package/esm2020/lib/core/window-title.service.mjs +10 -10
  203. package/esm2020/lib/cube/accum/accum.component.mjs +41 -39
  204. package/esm2020/lib/cube/chart/chart.component.mjs +47 -45
  205. package/esm2020/lib/cube/cube-info.service.mjs +6 -6
  206. package/esm2020/lib/cube/cube-menu.component.mjs +70 -11
  207. package/esm2020/lib/cube/cube-view.component.mjs +34 -32
  208. package/esm2020/lib/cube/cube.service.mjs +10 -10
  209. package/esm2020/lib/cube/explore/document-item.component.mjs +15 -11
  210. package/esm2020/lib/cube/explore/explore-item.component.mjs +11 -11
  211. package/esm2020/lib/cube/explore/explore-items.component.mjs +167 -37
  212. package/esm2020/lib/cube/explore/explore.pane.component.mjs +65 -12
  213. package/esm2020/lib/cube/explore/item-resolver.service.mjs +11 -11
  214. package/esm2020/lib/cube/explore/item.pane.component.mjs +13 -9
  215. package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +59 -15
  216. package/esm2020/lib/cube/filter/filter.component.mjs +153 -17
  217. package/esm2020/lib/cube/grid/grid.component.mjs +33 -31
  218. package/esm2020/lib/cube/grid/spreadsheet.component.mjs +39 -37
  219. package/esm2020/lib/cube/matrix/matrix.base.mjs +6 -6
  220. package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +112 -10
  221. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +123 -12
  222. package/esm2020/lib/cube/matrix/popup.component.mjs +120 -16
  223. package/esm2020/lib/cube/matrix/table.component.mjs +178 -45
  224. package/esm2020/lib/cube/parallel/parallel.component.mjs +57 -28
  225. package/esm2020/lib/cube/pivot/pivot.component.mjs +43 -40
  226. package/esm2020/lib/cube/sum/sum.component.mjs +238 -32
  227. package/esm2020/lib/cube/view-base.mjs +6 -6
  228. package/esm2020/lib/cube/view.mobile.component.mjs +177 -19
  229. package/esm2020/lib/cube/view.pane.component.mjs +109 -15
  230. package/esm2020/lib/dashboard/actions/actions.widget.mjs +28 -21
  231. package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +17 -15
  232. package/esm2020/lib/dashboard/cube/compare.widget.mjs +25 -18
  233. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +6 -6
  234. package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +10 -10
  235. package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +17 -15
  236. package/esm2020/lib/dashboard/cube/documents.widget.mjs +114 -19
  237. package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +13 -7
  238. package/esm2020/lib/dashboard/dashboard.component.mjs +90 -12
  239. package/esm2020/lib/dashboard/dashboard.pane.component.mjs +9 -7
  240. package/esm2020/lib/dashboard/recents/recents.widget.mjs +164 -19
  241. package/esm2020/lib/dashboard/score/activity.widget.mjs +18 -13
  242. package/esm2020/lib/dashboard/score/compare-groups.widget.mjs +25 -18
  243. package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +26 -19
  244. package/esm2020/lib/dashboard/score/pending-results.widget.mjs +143 -19
  245. package/esm2020/lib/dashboard/score/personal-score.widget.mjs +23 -18
  246. package/esm2020/lib/dashboard/widget-item.component.mjs +17 -15
  247. package/esm2020/lib/desktop.module.mjs +58 -57
  248. package/esm2020/lib/home/about/about.dialog.mjs +97 -7
  249. package/esm2020/lib/home/home-base.component.mjs +6 -6
  250. package/esm2020/lib/home/home.desktop.component.mjs +336 -16
  251. package/esm2020/lib/home/home.mobile.component.mjs +310 -16
  252. package/esm2020/lib/home/notifications/notifications.component.mjs +78 -7
  253. package/esm2020/lib/home/options/options.component.mjs +171 -7
  254. package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +40 -10
  255. package/esm2020/lib/home/search.service.mjs +6 -6
  256. package/esm2020/lib/home/sign/sign.component.mjs +32 -7
  257. package/esm2020/lib/home/tools.component.mjs +87 -13
  258. package/esm2020/lib/impersonate/impersonate.component.mjs +61 -7
  259. package/esm2020/lib/mobile.module.mjs +34 -33
  260. package/esm2020/lib/modules/chart.module.mjs +22 -21
  261. package/esm2020/lib/modules/circular-gauge.module.mjs +13 -12
  262. package/esm2020/lib/modules/datepicker.intl.mjs +6 -6
  263. package/esm2020/lib/modules/dayjs.module.mjs +11 -11
  264. package/esm2020/lib/modules/diagram.module.mjs +24 -23
  265. package/esm2020/lib/modules/gantt.module.mjs +13 -12
  266. package/esm2020/lib/modules/grid.module.mjs +16 -15
  267. package/esm2020/lib/modules/material.module.mjs +87 -86
  268. package/esm2020/lib/modules/paginator.intl.mjs +6 -6
  269. package/esm2020/lib/modules/pivot.module.mjs +17 -16
  270. package/esm2020/lib/modules/schedule.module.mjs +15 -14
  271. package/esm2020/lib/modules/spreadsheet.module.mjs +21 -20
  272. package/esm2020/lib/modules/stepper.intl.mjs +6 -6
  273. package/esm2020/lib/modules/texteditor.module.mjs +19 -18
  274. package/esm2020/lib/notifications/filter.component.mjs +22 -7
  275. package/esm2020/lib/notifications/notifications-table.component.mjs +214 -10
  276. package/esm2020/lib/notifications/notifications.mobile.component.mjs +11 -9
  277. package/esm2020/lib/notifications/notifications.pane.component.mjs +14 -12
  278. package/esm2020/lib/notifications/notifications.service.mjs +6 -6
  279. package/esm2020/lib/notifications/types/commented.notification.mjs +42 -15
  280. package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +25 -15
  281. package/esm2020/lib/notifications/types/escalated.notification.mjs +24 -12
  282. package/esm2020/lib/notifications/types/liked.notification.mjs +42 -15
  283. package/esm2020/lib/notifications/types/long-running-task.notification.mjs +17 -13
  284. package/esm2020/lib/notifications/types/notification-base.mjs +11 -9
  285. package/esm2020/lib/notifications/types/nudge.notification.mjs +18 -12
  286. package/esm2020/lib/notifications/types/state-changed.notification.mjs +18 -10
  287. package/esm2020/lib/notifications/types/tagged.notification.mjs +26 -14
  288. package/esm2020/lib/notifications/types/text.notification.mjs +14 -10
  289. package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +24 -15
  290. package/esm2020/lib/options/options.component.mjs +350 -25
  291. package/esm2020/lib/options/options.service.mjs +6 -6
  292. package/esm2020/lib/reports/arguments-component.mjs +20 -20
  293. package/esm2020/lib/reports/cube/documents.component.mjs +9 -9
  294. package/esm2020/lib/reports/cube/grid-documents.component.mjs +77 -10
  295. package/esm2020/lib/reports/cube/table-documents.component.mjs +175 -13
  296. package/esm2020/lib/reports/cube/usage-args.component.mjs +13 -7
  297. package/esm2020/lib/reports/cube/usage-base.mjs +6 -6
  298. package/esm2020/lib/reports/cube/usage-chart.component.mjs +15 -13
  299. package/esm2020/lib/reports/cube/usage-pivot.component.mjs +21 -14
  300. package/esm2020/lib/reports/cube/usage.component.mjs +9 -9
  301. package/esm2020/lib/reports/report-viewer.component.mjs +36 -20
  302. package/esm2020/lib/reports/report.mobile.component.mjs +105 -13
  303. package/esm2020/lib/reports/report.pane.component.mjs +92 -15
  304. package/esm2020/lib/reports/reports-menu.component.mjs +40 -11
  305. package/esm2020/lib/reports/substitution/substitution.component.mjs +157 -10
  306. package/esm2020/lib/reports/table/table-view.component.mjs +74 -16
  307. package/esm2020/lib/reports/tasks/tasks.component.mjs +38 -10
  308. package/esm2020/lib/scheduler/schedule.component.mjs +110 -14
  309. package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +15 -9
  310. package/esm2020/lib/scheduler/scheduler.pane.component.mjs +19 -12
  311. package/esm2020/lib/shared.module.mjs +197 -196
  312. package/esm2020/lib/system.module.mjs +64 -62
  313. package/esm2020/lib/views/cube/chart.component.mjs +45 -7
  314. package/esm2020/lib/views/cube/cube-base.mjs +6 -6
  315. package/esm2020/lib/views/cube/explore.component.mjs +128 -7
  316. package/esm2020/lib/views/cube/matrix.component.mjs +164 -10
  317. package/esm2020/lib/views/cube/parallel.component.mjs +20 -7
  318. package/esm2020/lib/views/cube/pivot.component.mjs +20 -7
  319. package/esm2020/lib/views/cube/sum.component.mjs +116 -7
  320. package/esm2020/lib/views/cube/view.component.mjs +137 -10
  321. package/esm2020/lib/views/timeline/timeline.component.exp.mjs +14 -12
  322. package/esm2020/lib/views/view-item.component.mjs +20 -18
  323. package/esm2020/lib/views/views.component.mjs +31 -12
  324. package/esm2020/lib/views/views.mobile.component.mjs +11 -7
  325. package/esm2020/lib/views/views.pane.component.mjs +19 -10
  326. package/fesm2015/bizdoc-core.mjs +25737 -2457
  327. package/fesm2015/bizdoc-core.mjs.map +1 -1
  328. package/fesm2020/bizdoc-core.mjs +24051 -5129
  329. package/fesm2020/bizdoc-core.mjs.map +1 -1
  330. package/index.d.ts +1 -0
  331. package/lib/admin/admin-dismiss.service.d.ts +1 -0
  332. package/lib/admin/admin-dismiss.service.d.ts.map +1 -0
  333. package/lib/admin/admin-menu.component.d.ts +1 -0
  334. package/lib/admin/admin-menu.component.d.ts.map +1 -0
  335. package/lib/admin/configuration-designer/cube-axes-filter.component.d.ts +36 -0
  336. package/lib/admin/configuration-designer/cube-axes-filter.component.d.ts.map +1 -0
  337. package/lib/admin/configuration-designer/designer-element.component.d.ts +6 -2
  338. package/lib/admin/configuration-designer/designer-element.component.d.ts.map +1 -0
  339. package/lib/admin/configuration-designer/designer.base.d.ts +25 -3
  340. package/lib/admin/configuration-designer/designer.base.d.ts.map +1 -0
  341. package/lib/admin/configuration-designer/designer.component.d.ts +1 -0
  342. package/lib/admin/configuration-designer/designer.component.d.ts.map +1 -0
  343. package/lib/admin/configuration-designer/elements/action.component.d.ts +16 -1
  344. package/lib/admin/configuration-designer/elements/action.component.d.ts.map +1 -0
  345. package/lib/admin/configuration-designer/elements/analysis-view.component.d.ts +1 -0
  346. package/lib/admin/configuration-designer/elements/analysis-view.component.d.ts.map +1 -0
  347. package/lib/admin/configuration-designer/elements/analysis-widget.component.d.ts +1 -0
  348. package/lib/admin/configuration-designer/elements/analysis-widget.component.d.ts.map +1 -0
  349. package/lib/admin/configuration-designer/elements/anomaly-rule.component.d.ts +1 -0
  350. package/lib/admin/configuration-designer/elements/anomaly-rule.component.d.ts.map +1 -0
  351. package/lib/admin/configuration-designer/elements/box-form.component.d.ts +1 -0
  352. package/lib/admin/configuration-designer/elements/box-form.component.d.ts.map +1 -0
  353. package/lib/admin/configuration-designer/elements/configuration-datasource.component.d.ts +1 -0
  354. package/lib/admin/configuration-designer/elements/configuration-datasource.component.d.ts.map +1 -0
  355. package/lib/admin/configuration-designer/elements/cube-index-utility.component.d.ts +1 -0
  356. package/lib/admin/configuration-designer/elements/cube-index-utility.component.d.ts.map +1 -0
  357. package/lib/admin/configuration-designer/elements/cube-view.component.d.ts +1 -0
  358. package/lib/admin/configuration-designer/elements/cube-view.component.d.ts.map +1 -0
  359. package/lib/admin/configuration-designer/elements/cube.component.d.ts +1 -0
  360. package/lib/admin/configuration-designer/elements/cube.component.d.ts.map +1 -0
  361. package/lib/admin/configuration-designer/elements/documents-report.component.d.ts +1 -0
  362. package/lib/admin/configuration-designer/elements/documents-report.component.d.ts.map +1 -0
  363. package/lib/admin/configuration-designer/elements/documents-widget.component.d.ts +1 -0
  364. package/lib/admin/configuration-designer/elements/documents-widget.component.d.ts.map +1 -0
  365. package/lib/admin/configuration-designer/elements/explore-view.component.d.ts +1 -0
  366. package/lib/admin/configuration-designer/elements/explore-view.component.d.ts.map +1 -0
  367. package/lib/admin/configuration-designer/elements/folder.component.d.ts +13 -1
  368. package/lib/admin/configuration-designer/elements/folder.component.d.ts.map +1 -0
  369. package/lib/admin/configuration-designer/elements/form.component.d.ts +1 -0
  370. package/lib/admin/configuration-designer/elements/form.component.d.ts.map +1 -0
  371. package/lib/admin/configuration-designer/elements/guide.component.d.ts +1 -0
  372. package/lib/admin/configuration-designer/elements/guide.component.d.ts.map +1 -0
  373. package/lib/admin/configuration-designer/elements/matrix-view.component.d.ts +1 -0
  374. package/lib/admin/configuration-designer/elements/matrix-view.component.d.ts.map +1 -0
  375. package/lib/admin/configuration-designer/elements/parallel-view.component.d.ts +1 -0
  376. package/lib/admin/configuration-designer/elements/parallel-view.component.d.ts.map +1 -0
  377. package/lib/admin/configuration-designer/elements/performance-widget.component.d.ts +1 -0
  378. package/lib/admin/configuration-designer/elements/performance-widget.component.d.ts.map +1 -0
  379. package/lib/admin/configuration-designer/elements/pivot-view.component.d.ts +1 -0
  380. package/lib/admin/configuration-designer/elements/pivot-view.component.d.ts.map +1 -0
  381. package/lib/admin/configuration-designer/elements/report.component.d.ts +1 -0
  382. package/lib/admin/configuration-designer/elements/report.component.d.ts.map +1 -0
  383. package/lib/admin/configuration-designer/elements/return-to-role-action.component.d.ts +1 -0
  384. package/lib/admin/configuration-designer/elements/return-to-role-action.component.d.ts.map +1 -0
  385. package/lib/admin/configuration-designer/elements/role.component.d.ts +3 -0
  386. package/lib/admin/configuration-designer/elements/role.component.d.ts.map +1 -0
  387. package/lib/admin/configuration-designer/elements/rule.component.d.ts +1 -0
  388. package/lib/admin/configuration-designer/elements/rule.component.d.ts.map +1 -0
  389. package/lib/admin/configuration-designer/elements/state.component.d.ts +5 -0
  390. package/lib/admin/configuration-designer/elements/state.component.d.ts.map +1 -0
  391. package/lib/admin/configuration-designer/elements/sum-view.component.d.ts +1 -0
  392. package/lib/admin/configuration-designer/elements/sum-view.component.d.ts.map +1 -0
  393. package/lib/admin/configuration-designer/elements/tasks-report.component.d.ts +1 -0
  394. package/lib/admin/configuration-designer/elements/tasks-report.component.d.ts.map +1 -0
  395. package/lib/admin/configuration-designer/elements/type.component.d.ts +1 -0
  396. package/lib/admin/configuration-designer/elements/type.component.d.ts.map +1 -0
  397. package/lib/admin/configuration-designer/elements/usage-report.component.d.ts +1 -0
  398. package/lib/admin/configuration-designer/elements/usage-report.component.d.ts.map +1 -0
  399. package/lib/admin/configuration-designer/elements/utility.component.d.ts +1 -0
  400. package/lib/admin/configuration-designer/elements/utility.component.d.ts.map +1 -0
  401. package/lib/admin/configuration-designer/elements/view.component.d.ts +1 -0
  402. package/lib/admin/configuration-designer/elements/view.component.d.ts.map +1 -0
  403. package/lib/admin/configuration-designer/elements/widget.component.d.ts +1 -0
  404. package/lib/admin/configuration-designer/elements/widget.component.d.ts.map +1 -0
  405. package/lib/admin/configuration-designer/icon-picker.component.d.ts +1 -0
  406. package/lib/admin/configuration-designer/icon-picker.component.d.ts.map +1 -0
  407. package/lib/admin/core/ace.input.d.ts +1 -0
  408. package/lib/admin/core/ace.input.d.ts.map +1 -0
  409. package/lib/admin/core/color-picker.input.d.ts +1 -0
  410. package/lib/admin/core/color-picker.input.d.ts.map +1 -0
  411. package/lib/admin/core/search.input.d.ts +1 -0
  412. package/lib/admin/core/search.input.d.ts.map +1 -0
  413. package/lib/admin/diff/configuration-diff.component.d.ts +1 -0
  414. package/lib/admin/diff/configuration-diff.component.d.ts.map +1 -0
  415. package/lib/admin/document-trace/document-trace.component.d.ts +1 -0
  416. package/lib/admin/document-trace/document-trace.component.d.ts.map +1 -0
  417. package/lib/admin/document-trace/reassign.dialog.d.ts +1 -0
  418. package/lib/admin/document-trace/reassign.dialog.d.ts.map +1 -0
  419. package/lib/admin/document-trace/timeline.d.ts +1 -0
  420. package/lib/admin/document-trace/timeline.d.ts.map +1 -0
  421. package/lib/admin/document-trace/trace-element.component.d.ts +1 -0
  422. package/lib/admin/document-trace/trace-element.component.d.ts.map +1 -0
  423. package/lib/admin/form/designer/designer.component.d.ts +1 -0
  424. package/lib/admin/form/designer/designer.component.d.ts.map +1 -0
  425. package/lib/admin/form/form.resolve.service.d.ts +1 -0
  426. package/lib/admin/form/form.resolve.service.d.ts.map +1 -0
  427. package/lib/admin/form/workflow/node-ref.d.ts +1 -0
  428. package/lib/admin/form/workflow/node-ref.d.ts.map +1 -0
  429. package/lib/admin/form/workflow/node.component.d.ts +1 -0
  430. package/lib/admin/form/workflow/node.component.d.ts.map +1 -0
  431. package/lib/admin/form/workflow/role-node.component.d.ts +1 -0
  432. package/lib/admin/form/workflow/role-node.component.d.ts.map +1 -0
  433. package/lib/admin/form/workflow/workflow.component.d.ts +1 -0
  434. package/lib/admin/form/workflow/workflow.component.d.ts.map +1 -0
  435. package/lib/admin/indices/manage-cube-index.component.d.ts +1 -0
  436. package/lib/admin/indices/manage-cube-index.component.d.ts.map +1 -0
  437. package/lib/admin/patterns/patterns.component.d.ts +1 -0
  438. package/lib/admin/patterns/patterns.component.d.ts.map +1 -0
  439. package/lib/admin/permissions/permissions.component.d.ts +1 -0
  440. package/lib/admin/permissions/permissions.component.d.ts.map +1 -0
  441. package/lib/admin/positions/positions-popup.component.d.ts +1 -0
  442. package/lib/admin/positions/positions-popup.component.d.ts.map +1 -0
  443. package/lib/admin/positions/positions.component.d.ts +1 -0
  444. package/lib/admin/positions/positions.component.d.ts.map +1 -0
  445. package/lib/admin/profiler/outofoffice.component.d.ts +1 -0
  446. package/lib/admin/profiler/outofoffice.component.d.ts.map +1 -0
  447. package/lib/admin/profiler/profiler.component.d.ts +1 -0
  448. package/lib/admin/profiler/profiler.component.d.ts.map +1 -0
  449. package/lib/admin/system.service.d.ts +1 -0
  450. package/lib/admin/system.service.d.ts.map +1 -0
  451. package/lib/admin/utility-ref.d.ts +1 -0
  452. package/lib/admin/utility-ref.d.ts.map +1 -0
  453. package/lib/admin/utility-wrapper.component.d.ts +1 -0
  454. package/lib/admin/utility-wrapper.component.d.ts.map +1 -0
  455. package/lib/admin/utility.pane.component.d.ts +1 -0
  456. package/lib/admin/utility.pane.component.d.ts.map +1 -0
  457. package/lib/app.component.d.ts +1 -0
  458. package/lib/app.component.d.ts.map +1 -0
  459. package/lib/bizdoc.module.d.ts +1 -0
  460. package/lib/bizdoc.module.d.ts.map +1 -0
  461. package/lib/browse/browse-items.component.d.ts +1 -0
  462. package/lib/browse/browse-items.component.d.ts.map +1 -0
  463. package/lib/browse/browse.mobile.component.d.ts +1 -0
  464. package/lib/browse/browse.mobile.component.d.ts.map +1 -0
  465. package/lib/browse/browse.pane.component.d.ts +1 -0
  466. package/lib/browse/browse.pane.component.d.ts.map +1 -0
  467. package/lib/browse/expanded-item/expanded-item.component.d.ts +1 -0
  468. package/lib/browse/expanded-item/expanded-item.component.d.ts.map +1 -0
  469. package/lib/browse/filter/filter.component.d.ts +1 -0
  470. package/lib/browse/filter/filter.component.d.ts.map +1 -0
  471. package/lib/browse/folders-menu.component.d.ts +1 -0
  472. package/lib/browse/folders-menu.component.d.ts.map +1 -0
  473. package/lib/chat/chat-info.d.ts +1 -0
  474. package/lib/chat/chat-info.d.ts.map +1 -0
  475. package/lib/chat/chat.mobile.component.d.ts +1 -0
  476. package/lib/chat/chat.mobile.component.d.ts.map +1 -0
  477. package/lib/chat/chat.service.d.ts +1 -0
  478. package/lib/chat/chat.service.d.ts.map +1 -0
  479. package/lib/chat/contacts.component.d.ts +1 -0
  480. package/lib/chat/contacts.component.d.ts.map +1 -0
  481. package/lib/chat/contacts.pane.component.d.ts +1 -0
  482. package/lib/chat/contacts.pane.component.d.ts.map +1 -0
  483. package/lib/chat/conversation.component.d.ts +1 -0
  484. package/lib/chat/conversation.component.d.ts.map +1 -0
  485. package/lib/chat/conversation.pane.component.d.ts +1 -0
  486. package/lib/chat/conversation.pane.component.d.ts.map +1 -0
  487. package/lib/compose/action/action-picker.component.d.ts +1 -0
  488. package/lib/compose/action/action-picker.component.d.ts.map +1 -0
  489. package/lib/compose/action/action-ref.d.ts +1 -0
  490. package/lib/compose/action/action-ref.d.ts.map +1 -0
  491. package/lib/compose/action/action.base.d.ts +1 -0
  492. package/lib/compose/action/action.base.d.ts.map +1 -0
  493. package/lib/compose/action/action.dialog.d.ts +1 -0
  494. package/lib/compose/action/action.dialog.d.ts.map +1 -0
  495. package/lib/compose/action/action.pane.dialog.exp.d.ts +1 -0
  496. package/lib/compose/action/action.pane.dialog.exp.d.ts.map +1 -0
  497. package/lib/compose/action/assign-action.component.d.ts +1 -0
  498. package/lib/compose/action/assign-action.component.d.ts.map +1 -0
  499. package/lib/compose/action/moveto-action.component.d.ts +1 -0
  500. package/lib/compose/action/moveto-action.component.d.ts.map +1 -0
  501. package/lib/compose/action/return-action.component.d.ts +1 -0
  502. package/lib/compose/action/return-action.component.d.ts.map +1 -0
  503. package/lib/compose/attachments/attachments.component.d.ts +1 -0
  504. package/lib/compose/attachments/attachments.component.d.ts.map +1 -0
  505. package/lib/compose/attachments/preview/attachment-preview.component.d.ts +1 -0
  506. package/lib/compose/attachments/preview/attachment-preview.component.d.ts.map +1 -0
  507. package/lib/compose/attachments/progress-button.directive.d.ts +1 -0
  508. package/lib/compose/attachments/progress-button.directive.d.ts.map +1 -0
  509. package/lib/compose/box/box.component.d.ts +1 -0
  510. package/lib/compose/box/box.component.d.ts.map +1 -0
  511. package/lib/compose/can-deactivate-changes.service.d.ts +1 -0
  512. package/lib/compose/can-deactivate-changes.service.d.ts.map +1 -0
  513. package/lib/compose/comments/comment.component.d.ts +1 -0
  514. package/lib/compose/comments/comment.component.d.ts.map +1 -0
  515. package/lib/compose/comments/comments.component.d.ts +1 -0
  516. package/lib/compose/comments/comments.component.d.ts.map +1 -0
  517. package/lib/compose/comments/comments.pane.component.d.ts +1 -0
  518. package/lib/compose/comments/comments.pane.component.d.ts.map +1 -0
  519. package/lib/compose/comments/edit-comment.component.d.ts +1 -0
  520. package/lib/compose/comments/edit-comment.component.d.ts.map +1 -0
  521. package/lib/compose/comments/edits.component.d.ts +1 -0
  522. package/lib/compose/comments/edits.component.d.ts.map +1 -0
  523. package/lib/compose/comments/quick-comment.component.exp.d.ts +1 -0
  524. package/lib/compose/comments/quick-comment.component.exp.d.ts.map +1 -0
  525. package/lib/compose/comments/votes.component.d.ts +1 -0
  526. package/lib/compose/comments/votes.component.d.ts.map +1 -0
  527. package/lib/compose/compose-resolve.service.d.ts +1 -0
  528. package/lib/compose/compose-resolve.service.d.ts.map +1 -0
  529. package/lib/compose/compose.mobile.component.d.ts +1 -0
  530. package/lib/compose/compose.mobile.component.d.ts.map +1 -0
  531. package/lib/compose/compose.pane.component.d.ts +1 -0
  532. package/lib/compose/compose.pane.component.d.ts.map +1 -0
  533. package/lib/compose/copy/copy.dialog.d.ts +1 -0
  534. package/lib/compose/copy/copy.dialog.d.ts.map +1 -0
  535. package/lib/compose/dismiss.service.d.ts +1 -0
  536. package/lib/compose/dismiss.service.d.ts.map +1 -0
  537. package/lib/compose/document-resolver.service.d.ts +1 -0
  538. package/lib/compose/document-resolver.service.d.ts.map +1 -0
  539. package/lib/compose/document.component.d.ts +1 -0
  540. package/lib/compose/document.component.d.ts.map +1 -0
  541. package/lib/compose/document.mobile.component.d.ts +1 -0
  542. package/lib/compose/document.mobile.component.d.ts.map +1 -0
  543. package/lib/compose/document.pane.component.d.ts +1 -0
  544. package/lib/compose/document.pane.component.d.ts.map +1 -0
  545. package/lib/compose/events/events.component.d.ts +1 -0
  546. package/lib/compose/events/events.component.d.ts.map +1 -0
  547. package/lib/compose/form-ref.d.ts +1 -0
  548. package/lib/compose/form-ref.d.ts.map +1 -0
  549. package/lib/compose/form-selector/form-selector.sheet.d.ts +1 -0
  550. package/lib/compose/form-selector/form-selector.sheet.d.ts.map +1 -0
  551. package/lib/compose/form.component.d.ts +1 -0
  552. package/lib/compose/form.component.d.ts.map +1 -0
  553. package/lib/compose/new-menu.component.d.ts +1 -0
  554. package/lib/compose/new-menu.component.d.ts.map +1 -0
  555. package/lib/compose/privilage.directive.d.ts +1 -0
  556. package/lib/compose/privilage.directive.d.ts.map +1 -0
  557. package/lib/compose/recipient-resolver.service.d.ts +1 -0
  558. package/lib/compose/recipient-resolver.service.d.ts.map +1 -0
  559. package/lib/compose/state.component.d.ts +1 -0
  560. package/lib/compose/state.component.d.ts.map +1 -0
  561. package/lib/compose/tag/tags.component.d.ts +1 -0
  562. package/lib/compose/tag/tags.component.d.ts.map +1 -0
  563. package/lib/compose/trace/flow.component.d.ts +1 -0
  564. package/lib/compose/trace/flow.component.d.ts.map +1 -0
  565. package/lib/compose/trace/people.component.d.ts +1 -0
  566. package/lib/compose/trace/people.component.d.ts.map +1 -0
  567. package/lib/compose/trace/trace.base.d.ts +1 -0
  568. package/lib/compose/trace/trace.base.d.ts.map +1 -0
  569. package/lib/compose/trace/trace.component.d.ts +1 -0
  570. package/lib/compose/trace/trace.component.d.ts.map +1 -0
  571. package/lib/compose/trace/trace.pane.component.d.ts +1 -0
  572. package/lib/compose/trace/trace.pane.component.d.ts.map +1 -0
  573. package/lib/compose/version-compare/version-compare.component.d.ts +1 -0
  574. package/lib/compose/version-compare/version-compare.component.d.ts.map +1 -0
  575. package/lib/compose/version-compare/version-compare.directive.d.ts +1 -0
  576. package/lib/compose/version-compare/version-compare.directive.d.ts.map +1 -0
  577. package/lib/compose/version-compare/version.pane.component.d.ts +1 -0
  578. package/lib/compose/version-compare/version.pane.component.d.ts.map +1 -0
  579. package/lib/core/NgComponentOutlet.d.ts +1 -0
  580. package/lib/core/NgComponentOutlet.d.ts.map +1 -0
  581. package/lib/core/account.service.d.ts +1 -0
  582. package/lib/core/account.service.d.ts.map +1 -0
  583. package/lib/core/animated-icon/animated-icon.directive.d.ts +1 -0
  584. package/lib/core/animated-icon/animated-icon.directive.d.ts.map +1 -0
  585. package/lib/core/animations.d.ts +1 -0
  586. package/lib/core/animations.d.ts.map +1 -0
  587. package/lib/core/authentication.d.ts +1 -0
  588. package/lib/core/authentication.d.ts.map +1 -0
  589. package/lib/core/avatar/avatar.component.d.ts +1 -0
  590. package/lib/core/avatar/avatar.component.d.ts.map +1 -0
  591. package/lib/core/base.d.ts +1 -0
  592. package/lib/core/base.d.ts.map +1 -0
  593. package/lib/core/colors.d.ts +1 -0
  594. package/lib/core/colors.d.ts.map +1 -0
  595. package/lib/core/component-factory-resolver.d.ts +1 -0
  596. package/lib/core/component-factory-resolver.d.ts.map +1 -0
  597. package/lib/core/configuration.d.ts +1 -0
  598. package/lib/core/configuration.d.ts.map +1 -0
  599. package/lib/core/controls/address.input.d.ts +1 -0
  600. package/lib/core/controls/address.input.d.ts.map +1 -0
  601. package/lib/core/controls/auto-complete.input.d.ts +1 -0
  602. package/lib/core/controls/auto-complete.input.d.ts.map +1 -0
  603. package/lib/core/controls/combination-picker-body.d.ts +1 -0
  604. package/lib/core/controls/combination-picker-body.d.ts.map +1 -0
  605. package/lib/core/controls/combination-picker.d.ts +1 -0
  606. package/lib/core/controls/combination-picker.d.ts.map +1 -0
  607. package/lib/core/controls/combination-pool.d.ts +1 -0
  608. package/lib/core/controls/combination-pool.d.ts.map +1 -0
  609. package/lib/core/controls/file.input.d.ts +1 -0
  610. package/lib/core/controls/file.input.d.ts.map +1 -0
  611. package/lib/core/controls/select.input.d.ts +1 -0
  612. package/lib/core/controls/select.input.d.ts.map +1 -0
  613. package/lib/core/controls/time-picker.d.ts +1 -0
  614. package/lib/core/controls/time-picker.d.ts.map +1 -0
  615. package/lib/core/controls/timespan.input.d.ts +1 -0
  616. package/lib/core/controls/timespan.input.d.ts.map +1 -0
  617. package/lib/core/datasource.service.d.ts +1 -0
  618. package/lib/core/datasource.service.d.ts.map +1 -0
  619. package/lib/core/decorators.d.ts +1 -0
  620. package/lib/core/decorators.d.ts.map +1 -0
  621. package/lib/core/firebase.service.d.ts +1 -0
  622. package/lib/core/firebase.service.d.ts.map +1 -0
  623. package/lib/core/functions.d.ts +1 -0
  624. package/lib/core/functions.d.ts.map +1 -0
  625. package/lib/core/guide/guide.component.d.ts +1 -0
  626. package/lib/core/guide/guide.component.d.ts.map +1 -0
  627. package/lib/core/guide/guide.service.d.ts +1 -0
  628. package/lib/core/guide/guide.service.d.ts.map +1 -0
  629. package/lib/core/guide/help-tip.component.d.ts +1 -0
  630. package/lib/core/guide/help-tip.component.d.ts.map +1 -0
  631. package/lib/core/http.interceptor.d.ts +1 -0
  632. package/lib/core/http.interceptor.d.ts.map +1 -0
  633. package/lib/core/hub.service.d.ts +1 -0
  634. package/lib/core/hub.service.d.ts.map +1 -0
  635. package/lib/core/identity/identity.component.d.ts +1 -0
  636. package/lib/core/identity/identity.component.d.ts.map +1 -0
  637. package/lib/core/info/attachment-info.service.d.ts +1 -0
  638. package/lib/core/info/attachment-info.service.d.ts.map +1 -0
  639. package/lib/core/info/document-info.service.d.ts +1 -0
  640. package/lib/core/info/document-info.service.d.ts.map +1 -0
  641. package/lib/core/info/location-info.component.d.ts +1 -0
  642. package/lib/core/info/location-info.component.d.ts.map +1 -0
  643. package/lib/core/info/map-info.d.ts +1 -0
  644. package/lib/core/info/map-info.d.ts.map +1 -0
  645. package/lib/core/layout/autocomplete.field.d.ts +1 -0
  646. package/lib/core/layout/autocomplete.field.d.ts.map +1 -0
  647. package/lib/core/layout/checkbox.d.ts +1 -0
  648. package/lib/core/layout/checkbox.d.ts.map +1 -0
  649. package/lib/core/layout/checkbox.field.d.ts +1 -0
  650. package/lib/core/layout/checkbox.field.d.ts.map +1 -0
  651. package/lib/core/layout/date-range.field.d.ts +1 -0
  652. package/lib/core/layout/date-range.field.d.ts.map +1 -0
  653. package/lib/core/layout/date.field.d.ts +1 -0
  654. package/lib/core/layout/date.field.d.ts.map +1 -0
  655. package/lib/core/layout/expression.field.d.ts +1 -0
  656. package/lib/core/layout/expression.field.d.ts.map +1 -0
  657. package/lib/core/layout/file.field.d.ts +1 -0
  658. package/lib/core/layout/file.field.d.ts.map +1 -0
  659. package/lib/core/layout/html.field.d.ts +1 -0
  660. package/lib/core/layout/html.field.d.ts.map +1 -0
  661. package/lib/core/layout/input.base.d.ts +1 -0
  662. package/lib/core/layout/input.base.d.ts.map +1 -0
  663. package/lib/core/layout/input.field.d.ts +1 -0
  664. package/lib/core/layout/input.field.d.ts.map +1 -0
  665. package/lib/core/layout/layout.component.d.ts +1 -0
  666. package/lib/core/layout/layout.component.d.ts.map +1 -0
  667. package/lib/core/layout/numeric.field.d.ts +1 -0
  668. package/lib/core/layout/numeric.field.d.ts.map +1 -0
  669. package/lib/core/layout/select.field.d.ts +1 -0
  670. package/lib/core/layout/select.field.d.ts.map +1 -0
  671. package/lib/core/layout/switch.field.d.ts +1 -0
  672. package/lib/core/layout/switch.field.d.ts.map +1 -0
  673. package/lib/core/layout/textarea.field.d.ts +1 -0
  674. package/lib/core/layout/textarea.field.d.ts.map +1 -0
  675. package/lib/core/layout/timespan.field.d.ts +1 -0
  676. package/lib/core/layout/timespan.field.d.ts.map +1 -0
  677. package/lib/core/lottie-animation.d.ts +1 -0
  678. package/lib/core/lottie-animation.d.ts.map +1 -0
  679. package/lib/core/mailbox.service.d.ts +1 -0
  680. package/lib/core/mailbox.service.d.ts.map +1 -0
  681. package/lib/core/models.d.ts +6 -4
  682. package/lib/core/models.d.ts.map +1 -0
  683. package/lib/core/none.component.d.ts +1 -0
  684. package/lib/core/none.component.d.ts.map +1 -0
  685. package/lib/core/pipes/action.pipe.d.ts +1 -0
  686. package/lib/core/pipes/action.pipe.d.ts.map +1 -0
  687. package/lib/core/pipes/calendar.pipe.d.ts +1 -0
  688. package/lib/core/pipes/calendar.pipe.d.ts.map +1 -0
  689. package/lib/core/pipes/date-format.pipe.d.ts +1 -0
  690. package/lib/core/pipes/date-format.pipe.d.ts.map +1 -0
  691. package/lib/core/pipes/daterange.pipe.d.ts +1 -0
  692. package/lib/core/pipes/daterange.pipe.d.ts.map +1 -0
  693. package/lib/core/pipes/difference.pipe.d.ts +1 -0
  694. package/lib/core/pipes/difference.pipe.d.ts.map +1 -0
  695. package/lib/core/pipes/duration-format.pipe.d.ts +1 -0
  696. package/lib/core/pipes/duration-format.pipe.d.ts.map +1 -0
  697. package/lib/core/pipes/duration.pipe.d.ts +1 -0
  698. package/lib/core/pipes/duration.pipe.d.ts.map +1 -0
  699. package/lib/core/pipes/form.pipe.d.ts +1 -0
  700. package/lib/core/pipes/form.pipe.d.ts.map +1 -0
  701. package/lib/core/pipes/join.pipe.d.ts +1 -0
  702. package/lib/core/pipes/join.pipe.d.ts.map +1 -0
  703. package/lib/core/pipes/role.pipe.d.ts +1 -0
  704. package/lib/core/pipes/role.pipe.d.ts.map +1 -0
  705. package/lib/core/pipes/sanitize-html.pipe.d.ts.map +1 -0
  706. package/lib/core/pipes/sort.pipe.d.ts +1 -0
  707. package/lib/core/pipes/sort.pipe.d.ts.map +1 -0
  708. package/lib/core/pipes/state.pipe.d.ts +1 -0
  709. package/lib/core/pipes/state.pipe.d.ts.map +1 -0
  710. package/lib/core/pipes/time-ago.pipe.d.ts +1 -0
  711. package/lib/core/pipes/time-ago.pipe.d.ts.map +1 -0
  712. package/lib/core/pipes/translate.pipe.d.ts.map +1 -0
  713. package/lib/core/pipes/type-value.pipe.d.ts +1 -0
  714. package/lib/core/pipes/type-value.pipe.d.ts.map +1 -0
  715. package/lib/core/pipes/user-name.pipe.d.ts +1 -0
  716. package/lib/core/pipes/user-name.pipe.d.ts.map +1 -0
  717. package/lib/core/popup/popup-ref.d.ts +1 -0
  718. package/lib/core/popup/popup-ref.d.ts.map +1 -0
  719. package/lib/core/popup/popup.component.d.ts +1 -0
  720. package/lib/core/popup/popup.component.d.ts.map +1 -0
  721. package/lib/core/popup/popup.service.d.ts +1 -0
  722. package/lib/core/popup/popup.service.d.ts.map +1 -0
  723. package/lib/core/popup/tooltip.directive.d.ts +1 -0
  724. package/lib/core/popup/tooltip.directive.d.ts.map +1 -0
  725. package/lib/core/prompt/ask/ask.dialog.d.ts +1 -0
  726. package/lib/core/prompt/ask/ask.dialog.d.ts.map +1 -0
  727. package/lib/core/prompt/mask/mask.component.d.ts +1 -0
  728. package/lib/core/prompt/mask/mask.component.d.ts.map +1 -0
  729. package/lib/core/prompt.service.d.ts +1 -0
  730. package/lib/core/prompt.service.d.ts.map +1 -0
  731. package/lib/core/router.d.ts +1 -0
  732. package/lib/core/router.d.ts.map +1 -0
  733. package/lib/core/save-changes.dialog.d.ts +1 -0
  734. package/lib/core/save-changes.dialog.d.ts.map +1 -0
  735. package/lib/core/session.service.d.ts +1 -0
  736. package/lib/core/session.service.d.ts.map +1 -0
  737. package/lib/core/slots/pane-ref.d.ts +1 -0
  738. package/lib/core/slots/pane-ref.d.ts.map +1 -0
  739. package/lib/core/slots/router.directive.d.ts +1 -0
  740. package/lib/core/slots/router.directive.d.ts.map +1 -0
  741. package/lib/core/slots/router.service.d.ts +1 -0
  742. package/lib/core/slots/router.service.d.ts.map +1 -0
  743. package/lib/core/slots/slots.component.d.ts +1 -0
  744. package/lib/core/slots/slots.component.d.ts.map +1 -0
  745. package/lib/core/tagging/documents.component.d.ts +1 -0
  746. package/lib/core/tagging/documents.component.d.ts.map +1 -0
  747. package/lib/core/tagging/edit-input.component.d.ts +1 -0
  748. package/lib/core/tagging/edit-input.component.d.ts.map +1 -0
  749. package/lib/core/tagging/emoji.component.d.ts +1 -0
  750. package/lib/core/tagging/emoji.component.d.ts.map +1 -0
  751. package/lib/core/tagging/tagging-item.directive.d.ts +1 -0
  752. package/lib/core/tagging/tagging-item.directive.d.ts.map +1 -0
  753. package/lib/core/tagging/tagging.component-base.d.ts +1 -0
  754. package/lib/core/tagging/tagging.component-base.d.ts.map +1 -0
  755. package/lib/core/tagging/tagging.directive.d.ts +1 -0
  756. package/lib/core/tagging/tagging.directive.d.ts.map +1 -0
  757. package/lib/core/tagging/tagging.pipe.d.ts +1 -0
  758. package/lib/core/tagging/tagging.pipe.d.ts.map +1 -0
  759. package/lib/core/tagging/users.component.d.ts +1 -0
  760. package/lib/core/tagging/users.component.d.ts.map +1 -0
  761. package/lib/core/translate.service.d.ts +1 -0
  762. package/lib/core/translate.service.d.ts.map +1 -0
  763. package/lib/core/translations.d.ts +4 -0
  764. package/lib/core/translations.d.ts.map +1 -0
  765. package/lib/core/window-title.service.d.ts +1 -0
  766. package/lib/core/window-title.service.d.ts.map +1 -0
  767. package/lib/cube/accum/accum.component.d.ts +1 -0
  768. package/lib/cube/accum/accum.component.d.ts.map +1 -0
  769. package/lib/cube/chart/chart.component.d.ts +1 -0
  770. package/lib/cube/chart/chart.component.d.ts.map +1 -0
  771. package/lib/cube/cube-info.service.d.ts +1 -0
  772. package/lib/cube/cube-info.service.d.ts.map +1 -0
  773. package/lib/cube/cube-menu.component.d.ts +1 -0
  774. package/lib/cube/cube-menu.component.d.ts.map +1 -0
  775. package/lib/cube/cube-view.component.d.ts +1 -0
  776. package/lib/cube/cube-view.component.d.ts.map +1 -0
  777. package/lib/cube/cube.service.d.ts +1 -0
  778. package/lib/cube/cube.service.d.ts.map +1 -0
  779. package/lib/cube/declarations.d.ts +1 -0
  780. package/lib/cube/declarations.d.ts.map +1 -0
  781. package/lib/cube/explore/document-item.component.d.ts +1 -0
  782. package/lib/cube/explore/document-item.component.d.ts.map +1 -0
  783. package/lib/cube/explore/explore-item.component.d.ts +1 -0
  784. package/lib/cube/explore/explore-item.component.d.ts.map +1 -0
  785. package/lib/cube/explore/explore-items.component.d.ts +1 -0
  786. package/lib/cube/explore/explore-items.component.d.ts.map +1 -0
  787. package/lib/cube/explore/explore.pane.component.d.ts +1 -0
  788. package/lib/cube/explore/explore.pane.component.d.ts.map +1 -0
  789. package/lib/cube/explore/item-resolver.service.d.ts +1 -0
  790. package/lib/cube/explore/item-resolver.service.d.ts.map +1 -0
  791. package/lib/cube/explore/item.pane.component.d.ts +1 -0
  792. package/lib/cube/explore/item.pane.component.d.ts.map +1 -0
  793. package/lib/cube/filter/filter-tags.component.exp.d.ts +1 -0
  794. package/lib/cube/filter/filter-tags.component.exp.d.ts.map +1 -0
  795. package/lib/cube/filter/filter.component.d.ts +1 -0
  796. package/lib/cube/filter/filter.component.d.ts.map +1 -0
  797. package/lib/cube/grid/grid.component.d.ts +1 -0
  798. package/lib/cube/grid/grid.component.d.ts.map +1 -0
  799. package/lib/cube/grid/spreadsheet.component.d.ts +1 -0
  800. package/lib/cube/grid/spreadsheet.component.d.ts.map +1 -0
  801. package/lib/cube/matrix/matrix.base.d.ts +1 -0
  802. package/lib/cube/matrix/matrix.base.d.ts.map +1 -0
  803. package/lib/cube/matrix/matrix.mobile.component.d.ts +1 -0
  804. package/lib/cube/matrix/matrix.mobile.component.d.ts.map +1 -0
  805. package/lib/cube/matrix/matrix.pane.component.d.ts +1 -0
  806. package/lib/cube/matrix/matrix.pane.component.d.ts.map +1 -0
  807. package/lib/cube/matrix/popup.component.d.ts +1 -0
  808. package/lib/cube/matrix/popup.component.d.ts.map +1 -0
  809. package/lib/cube/matrix/table.component.d.ts +1 -0
  810. package/lib/cube/matrix/table.component.d.ts.map +1 -0
  811. package/lib/cube/parallel/item.d.ts +1 -0
  812. package/lib/cube/parallel/item.d.ts.map +1 -0
  813. package/lib/cube/parallel/parallel.component.d.ts +1 -0
  814. package/lib/cube/parallel/parallel.component.d.ts.map +1 -0
  815. package/lib/cube/pivot/pivot.component.d.ts +1 -0
  816. package/lib/cube/pivot/pivot.component.d.ts.map +1 -0
  817. package/lib/cube/sum/sum.component.d.ts +1 -0
  818. package/lib/cube/sum/sum.component.d.ts.map +1 -0
  819. package/lib/cube/view-base.d.ts +1 -0
  820. package/lib/cube/view-base.d.ts.map +1 -0
  821. package/lib/cube/view.mobile.component.d.ts +1 -0
  822. package/lib/cube/view.mobile.component.d.ts.map +1 -0
  823. package/lib/cube/view.pane.component.d.ts +1 -0
  824. package/lib/cube/view.pane.component.d.ts.map +1 -0
  825. package/lib/dashboard/actions/actions.widget.d.ts +1 -0
  826. package/lib/dashboard/actions/actions.widget.d.ts.map +1 -0
  827. package/lib/dashboard/cube/accum-cube.widget.d.ts +1 -0
  828. package/lib/dashboard/cube/accum-cube.widget.d.ts.map +1 -0
  829. package/lib/dashboard/cube/compare.widget.d.ts +1 -0
  830. package/lib/dashboard/cube/compare.widget.d.ts.map +1 -0
  831. package/lib/dashboard/cube/cube-analysis.base.d.ts +1 -0
  832. package/lib/dashboard/cube/cube-analysis.base.d.ts.map +1 -0
  833. package/lib/dashboard/cube/cube-analysis.widget.d.ts +1 -0
  834. package/lib/dashboard/cube/cube-analysis.widget.d.ts.map +1 -0
  835. package/lib/dashboard/cube/cube-chart.widget.d.ts +1 -0
  836. package/lib/dashboard/cube/cube-chart.widget.d.ts.map +1 -0
  837. package/lib/dashboard/cube/documents.widget.d.ts +1 -0
  838. package/lib/dashboard/cube/documents.widget.d.ts.map +1 -0
  839. package/lib/dashboard/cube/filter/filter.component.d.ts +1 -0
  840. package/lib/dashboard/cube/filter/filter.component.d.ts.map +1 -0
  841. package/lib/dashboard/dashboard.component.d.ts +1 -0
  842. package/lib/dashboard/dashboard.component.d.ts.map +1 -0
  843. package/lib/dashboard/dashboard.pane.component.d.ts +1 -0
  844. package/lib/dashboard/dashboard.pane.component.d.ts.map +1 -0
  845. package/lib/dashboard/recents/recents.widget.d.ts +1 -0
  846. package/lib/dashboard/recents/recents.widget.d.ts.map +1 -0
  847. package/lib/dashboard/score/activity.widget.d.ts +1 -0
  848. package/lib/dashboard/score/activity.widget.d.ts.map +1 -0
  849. package/lib/dashboard/score/compare-groups.widget.d.ts +1 -0
  850. package/lib/dashboard/score/compare-groups.widget.d.ts.map +1 -0
  851. package/lib/dashboard/score/peers-performance.widget.d.ts +1 -0
  852. package/lib/dashboard/score/peers-performance.widget.d.ts.map +1 -0
  853. package/lib/dashboard/score/pending-results.widget.d.ts +1 -0
  854. package/lib/dashboard/score/pending-results.widget.d.ts.map +1 -0
  855. package/lib/dashboard/score/personal-score.widget.d.ts +1 -0
  856. package/lib/dashboard/score/personal-score.widget.d.ts.map +1 -0
  857. package/lib/dashboard/widget-item.component.d.ts +1 -0
  858. package/lib/dashboard/widget-item.component.d.ts.map +1 -0
  859. package/lib/dashboard/widget-ref.d.ts +1 -0
  860. package/lib/dashboard/widget-ref.d.ts.map +1 -0
  861. package/lib/desktop.module.d.ts +1 -0
  862. package/lib/desktop.module.d.ts.map +1 -0
  863. package/lib/home/about/about.dialog.d.ts +1 -0
  864. package/lib/home/about/about.dialog.d.ts.map +1 -0
  865. package/lib/home/home-base.component.d.ts +1 -0
  866. package/lib/home/home-base.component.d.ts.map +1 -0
  867. package/lib/home/home.desktop.component.d.ts +1 -0
  868. package/lib/home/home.desktop.component.d.ts.map +1 -0
  869. package/lib/home/home.mobile.component.d.ts +1 -0
  870. package/lib/home/home.mobile.component.d.ts.map +1 -0
  871. package/lib/home/notifications/notifications.component.d.ts +1 -0
  872. package/lib/home/notifications/notifications.component.d.ts.map +1 -0
  873. package/lib/home/options/options.component.d.ts +1 -0
  874. package/lib/home/options/options.component.d.ts.map +1 -0
  875. package/lib/home/outofoffice/outofoffice.component.d.ts +1 -0
  876. package/lib/home/outofoffice/outofoffice.component.d.ts.map +1 -0
  877. package/lib/home/search.service.d.ts +1 -0
  878. package/lib/home/search.service.d.ts.map +1 -0
  879. package/lib/home/sign/sign.component.d.ts +1 -0
  880. package/lib/home/sign/sign.component.d.ts.map +1 -0
  881. package/lib/home/tools.component.d.ts +1 -0
  882. package/lib/home/tools.component.d.ts.map +1 -0
  883. package/lib/impersonate/impersonate.component.d.ts +1 -0
  884. package/lib/impersonate/impersonate.component.d.ts.map +1 -0
  885. package/lib/mobile.module.d.ts +1 -0
  886. package/lib/mobile.module.d.ts.map +1 -0
  887. package/lib/modules/chart.module.d.ts +1 -0
  888. package/lib/modules/chart.module.d.ts.map +1 -0
  889. package/lib/modules/circular-gauge.module.d.ts +1 -0
  890. package/lib/modules/circular-gauge.module.d.ts.map +1 -0
  891. package/lib/modules/date.adapter.d.ts +1 -0
  892. package/lib/modules/date.adapter.d.ts.map +1 -0
  893. package/lib/modules/datepicker.intl.d.ts +1 -0
  894. package/lib/modules/datepicker.intl.d.ts.map +1 -0
  895. package/lib/modules/dayjs.module.d.ts +1 -0
  896. package/lib/modules/dayjs.module.d.ts.map +1 -0
  897. package/lib/modules/diagram.module.d.ts +1 -0
  898. package/lib/modules/diagram.module.d.ts.map +1 -0
  899. package/lib/modules/gantt.module.d.ts +1 -0
  900. package/lib/modules/gantt.module.d.ts.map +1 -0
  901. package/lib/modules/grid.module.d.ts +1 -0
  902. package/lib/modules/grid.module.d.ts.map +1 -0
  903. package/lib/modules/material.module.d.ts +1 -0
  904. package/lib/modules/material.module.d.ts.map +1 -0
  905. package/lib/modules/paginator.intl.d.ts +1 -0
  906. package/lib/modules/paginator.intl.d.ts.map +1 -0
  907. package/lib/modules/pivot.module.d.ts +1 -0
  908. package/lib/modules/pivot.module.d.ts.map +1 -0
  909. package/lib/modules/schedule.module.d.ts +1 -0
  910. package/lib/modules/schedule.module.d.ts.map +1 -0
  911. package/lib/modules/spreadsheet.module.d.ts +1 -0
  912. package/lib/modules/spreadsheet.module.d.ts.map +1 -0
  913. package/lib/modules/stepper.intl.d.ts +1 -0
  914. package/lib/modules/stepper.intl.d.ts.map +1 -0
  915. package/lib/modules/texteditor.module.d.ts +1 -0
  916. package/lib/modules/texteditor.module.d.ts.map +1 -0
  917. package/lib/notifications/filter.component.d.ts +1 -0
  918. package/lib/notifications/filter.component.d.ts.map +1 -0
  919. package/lib/notifications/notifications-table.component.d.ts +1 -0
  920. package/lib/notifications/notifications-table.component.d.ts.map +1 -0
  921. package/lib/notifications/notifications.component-base.d.ts +1 -0
  922. package/lib/notifications/notifications.component-base.d.ts.map +1 -0
  923. package/lib/notifications/notifications.mobile.component.d.ts +1 -0
  924. package/lib/notifications/notifications.mobile.component.d.ts.map +1 -0
  925. package/lib/notifications/notifications.pane.component.d.ts +1 -0
  926. package/lib/notifications/notifications.pane.component.d.ts.map +1 -0
  927. package/lib/notifications/notifications.service.d.ts +1 -0
  928. package/lib/notifications/notifications.service.d.ts.map +1 -0
  929. package/lib/notifications/types/commented.notification.d.ts +1 -0
  930. package/lib/notifications/types/commented.notification.d.ts.map +1 -0
  931. package/lib/notifications/types/cube-anomaly.notification.d.ts +1 -0
  932. package/lib/notifications/types/cube-anomaly.notification.d.ts.map +1 -0
  933. package/lib/notifications/types/escalated.notification.d.ts +1 -0
  934. package/lib/notifications/types/escalated.notification.d.ts.map +1 -0
  935. package/lib/notifications/types/liked.notification.d.ts +1 -0
  936. package/lib/notifications/types/liked.notification.d.ts.map +1 -0
  937. package/lib/notifications/types/long-running-task.notification.d.ts +1 -0
  938. package/lib/notifications/types/long-running-task.notification.d.ts.map +1 -0
  939. package/lib/notifications/types/notification-base.d.ts +1 -0
  940. package/lib/notifications/types/notification-base.d.ts.map +1 -0
  941. package/lib/notifications/types/nudge.notification.d.ts +1 -0
  942. package/lib/notifications/types/nudge.notification.d.ts.map +1 -0
  943. package/lib/notifications/types/state-changed.notification.d.ts +1 -0
  944. package/lib/notifications/types/state-changed.notification.d.ts.map +1 -0
  945. package/lib/notifications/types/tagged.notification.d.ts +1 -0
  946. package/lib/notifications/types/tagged.notification.d.ts.map +1 -0
  947. package/lib/notifications/types/text.notification.d.ts +1 -0
  948. package/lib/notifications/types/text.notification.d.ts.map +1 -0
  949. package/lib/notifications/types/upcoming-event.notification.d.ts +1 -0
  950. package/lib/notifications/types/upcoming-event.notification.d.ts.map +1 -0
  951. package/lib/options/options.component.d.ts +1 -0
  952. package/lib/options/options.component.d.ts.map +1 -0
  953. package/lib/options/options.service.d.ts +1 -0
  954. package/lib/options/options.service.d.ts.map +1 -0
  955. package/lib/reports/arguments-component.d.ts +1 -0
  956. package/lib/reports/arguments-component.d.ts.map +1 -0
  957. package/lib/reports/cube/documents.component.d.ts +1 -0
  958. package/lib/reports/cube/documents.component.d.ts.map +1 -0
  959. package/lib/reports/cube/grid-documents.component.d.ts +1 -0
  960. package/lib/reports/cube/grid-documents.component.d.ts.map +1 -0
  961. package/lib/reports/cube/table-documents.component.d.ts +1 -0
  962. package/lib/reports/cube/table-documents.component.d.ts.map +1 -0
  963. package/lib/reports/cube/usage-args.component.d.ts +1 -0
  964. package/lib/reports/cube/usage-args.component.d.ts.map +1 -0
  965. package/lib/reports/cube/usage-base.d.ts +1 -0
  966. package/lib/reports/cube/usage-base.d.ts.map +1 -0
  967. package/lib/reports/cube/usage-chart.component.d.ts +1 -0
  968. package/lib/reports/cube/usage-chart.component.d.ts.map +1 -0
  969. package/lib/reports/cube/usage-pivot.component.d.ts +1 -0
  970. package/lib/reports/cube/usage-pivot.component.d.ts.map +1 -0
  971. package/lib/reports/cube/usage.component.d.ts +1 -0
  972. package/lib/reports/cube/usage.component.d.ts.map +1 -0
  973. package/lib/reports/report-ref.d.ts +1 -0
  974. package/lib/reports/report-ref.d.ts.map +1 -0
  975. package/lib/reports/report-viewer.component.d.ts +1 -0
  976. package/lib/reports/report-viewer.component.d.ts.map +1 -0
  977. package/lib/reports/report.mobile.component.d.ts +1 -0
  978. package/lib/reports/report.mobile.component.d.ts.map +1 -0
  979. package/lib/reports/report.pane.component.d.ts +1 -0
  980. package/lib/reports/report.pane.component.d.ts.map +1 -0
  981. package/lib/reports/reports-menu.component.d.ts +1 -0
  982. package/lib/reports/reports-menu.component.d.ts.map +1 -0
  983. package/lib/reports/substitution/substitution.component.d.ts +1 -0
  984. package/lib/reports/substitution/substitution.component.d.ts.map +1 -0
  985. package/lib/reports/table/table-view.component.d.ts +1 -0
  986. package/lib/reports/table/table-view.component.d.ts.map +1 -0
  987. package/lib/reports/tasks/tasks.component.d.ts +1 -0
  988. package/lib/reports/tasks/tasks.component.d.ts.map +1 -0
  989. package/lib/routes.desktop.d.ts +1 -0
  990. package/lib/routes.desktop.d.ts.map +1 -0
  991. package/lib/routes.mobile.d.ts +1 -0
  992. package/lib/routes.mobile.d.ts.map +1 -0
  993. package/lib/scheduler/schedule.component.d.ts +1 -0
  994. package/lib/scheduler/schedule.component.d.ts.map +1 -0
  995. package/lib/scheduler/scheduler.mobile.component.d.ts +1 -0
  996. package/lib/scheduler/scheduler.mobile.component.d.ts.map +1 -0
  997. package/lib/scheduler/scheduler.pane.component.d.ts +1 -0
  998. package/lib/scheduler/scheduler.pane.component.d.ts.map +1 -0
  999. package/lib/shared.module.d.ts +1 -0
  1000. package/lib/shared.module.d.ts.map +1 -0
  1001. package/lib/system.module.d.ts +51 -49
  1002. package/lib/system.module.d.ts.map +1 -0
  1003. package/lib/views/cube/chart.component.d.ts +1 -0
  1004. package/lib/views/cube/chart.component.d.ts.map +1 -0
  1005. package/lib/views/cube/cube-base.d.ts +1 -0
  1006. package/lib/views/cube/cube-base.d.ts.map +1 -0
  1007. package/lib/views/cube/explore.component.d.ts +1 -0
  1008. package/lib/views/cube/explore.component.d.ts.map +1 -0
  1009. package/lib/views/cube/matrix.component.d.ts +1 -0
  1010. package/lib/views/cube/matrix.component.d.ts.map +1 -0
  1011. package/lib/views/cube/parallel.component.d.ts +1 -0
  1012. package/lib/views/cube/parallel.component.d.ts.map +1 -0
  1013. package/lib/views/cube/pivot.component.d.ts +1 -0
  1014. package/lib/views/cube/pivot.component.d.ts.map +1 -0
  1015. package/lib/views/cube/sum.component.d.ts +4 -3
  1016. package/lib/views/cube/sum.component.d.ts.map +1 -0
  1017. package/lib/views/cube/view.component.d.ts +1 -0
  1018. package/lib/views/cube/view.component.d.ts.map +1 -0
  1019. package/lib/views/document-view-ref.d.ts +1 -0
  1020. package/lib/views/document-view-ref.d.ts.map +1 -0
  1021. package/lib/views/timeline/timeline.component.exp.d.ts +1 -0
  1022. package/lib/views/timeline/timeline.component.exp.d.ts.map +1 -0
  1023. package/lib/views/view-item.component.d.ts +1 -0
  1024. package/lib/views/view-item.component.d.ts.map +1 -0
  1025. package/lib/views/views.component.d.ts +1 -0
  1026. package/lib/views/views.component.d.ts.map +1 -0
  1027. package/lib/views/views.mobile.component.d.ts +1 -0
  1028. package/lib/views/views.mobile.component.d.ts.map +1 -0
  1029. package/lib/views/views.pane.component.d.ts +1 -0
  1030. package/lib/views/views.pane.component.d.ts.map +1 -0
  1031. package/package.json +1 -1
  1032. package/public-api.d.ts +1 -0
  1033. package/public-api.d.ts.map +1 -0
@@ -25,6 +25,53 @@ import * as i14 from "@angular/forms";
25
25
  import * as i15 from "@angular/material/icon";
26
26
  import * as i16 from "./trace/people.component";
27
27
  import * as i17 from "./attachments/attachments.component";
28
+ const _c0 = ["file"];
29
+ const _c1 = ["component"];
30
+ function ComposeFormComponent_bizdoc_people_1_Template(rf, ctx) { if (rf & 1) {
31
+ i0.ɵɵelement(0, "bizdoc-people", 9);
32
+ } if (rf & 2) {
33
+ const ctx_r0 = i0.ɵɵnextContext();
34
+ i0.ɵɵproperty("model", ctx_r0.model);
35
+ } }
36
+ function ComposeFormComponent_div_3_Template(rf, ctx) { if (rf & 1) {
37
+ i0.ɵɵelementStart(0, "div", 10)(1, "mat-icon", 11);
38
+ i0.ɵɵtext(2, "info");
39
+ i0.ɵɵelementEnd();
40
+ i0.ɵɵelementStart(3, "span", 12);
41
+ i0.ɵɵtext(4);
42
+ i0.ɵɵelementEnd()();
43
+ } if (rf & 2) {
44
+ const ctx_r1 = i0.ɵɵnextContext();
45
+ i0.ɵɵadvance(4);
46
+ i0.ɵɵtextInterpolate(ctx_r1.model.note);
47
+ } }
48
+ function ComposeFormComponent_div_4_span_1_Template(rf, ctx) { if (rf & 1) {
49
+ i0.ɵɵelementStart(0, "span", 14);
50
+ i0.ɵɵtext(1);
51
+ i0.ɵɵelementEnd();
52
+ } if (rf & 2) {
53
+ const tag_r7 = ctx.$implicit;
54
+ i0.ɵɵadvance(1);
55
+ i0.ɵɵtextInterpolate(tag_r7);
56
+ } }
57
+ function ComposeFormComponent_div_4_Template(rf, ctx) { if (rf & 1) {
58
+ i0.ɵɵelementStart(0, "div");
59
+ i0.ɵɵtemplate(1, ComposeFormComponent_div_4_span_1_Template, 2, 1, "span", 13);
60
+ i0.ɵɵelementEnd();
61
+ } if (rf & 2) {
62
+ const ctx_r2 = i0.ɵɵnextContext();
63
+ i0.ɵɵadvance(1);
64
+ i0.ɵɵproperty("ngForOf", ctx_r2.model.tags);
65
+ } }
66
+ function ComposeFormComponent_div_7_Template(rf, ctx) { if (rf & 1) {
67
+ i0.ɵɵelementStart(0, "div");
68
+ i0.ɵɵtext(1);
69
+ i0.ɵɵelementEnd();
70
+ } if (rf & 2) {
71
+ const ctx_r4 = i0.ɵɵnextContext();
72
+ i0.ɵɵadvance(1);
73
+ i0.ɵɵtextInterpolate(ctx_r4.editing);
74
+ } }
28
75
  export const REPORT_EDITING_DELAY = 2000,
29
76
  /** save draft ms */
30
77
  AUTO_SAVE_DELAY = 5000, EDITING_MESSAGE_DELAY = 3000;
@@ -416,43 +463,75 @@ export class ComposeFormComponent {
416
463
  this._destroy.complete();
417
464
  }
418
465
  }
419
- ComposeFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ComposeFormComponent, deps: [{ token: i1.Popup }, { token: i2.MailboxService }, { token: i3.AccountService }, { token: i4.RouterImpl }, { token: i5.MatDialog }, { token: i6.PromptService }, { token: i7.SessionService }, { token: i0.Injector }, { token: i8.MatSnackBar }, { token: i9.BizDocComponentFactoryResolver }, { token: i10.GuideService }, { token: i11.TranslateService }, { token: i12.HubService }], target: i0.ɵɵFactoryTarget.Component });
420
- ComposeFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ComposeFormComponent, selector: "bizdoc-form", inputs: { model: "model", working: "working", dirty: "dirty", valid: "valid", mode: "mode", contacts: "contacts" }, outputs: { modelChange: "modelChange", workingChange: "workingChange", dirtyChange: "dirtyChange", validChange: "validChange", saved: "saved" }, host: { classAttribute: "form-container bizdoc-compose" }, viewQueries: [{ propertyName: "_fileElement", first: true, predicate: ["file"], descendants: true, static: true }, { propertyName: "attachments", first: true, predicate: AttachmentsComponent, descendants: true, static: true }, { propertyName: "_container", first: true, predicate: ["component"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"form-header\">\r\n <bizdoc-people [model]=\"model\" *ngIf=\"mode !== 'compose' && contacts\"></bizdoc-people>\r\n <bizdoc-attachments [model]=\"model\" [includeDeleted]=\"true\" [viewedIndicator]=\"false\"></bizdoc-attachments>\r\n <div *ngIf=\"!model.replied && mode !== 'compose' && model.note\" class=\"compose-note\">\r\n <mat-icon color=\"primary\">info</mat-icon> <span class=\"mat-body-2\">{{model.note}}</span>\r\n </div>\r\n <div *ngIf=\"model.tags\">\r\n <span *ngFor=\"let tag of model.tags\" class=\"mat-chip mat-standard-chip small-chip\">{{tag}}</span>\r\n </div>\r\n</div>\r\n<ng-container #component></ng-container>\r\n<div *ngIf=\"editing\">{{ editing }}</div>\r\n<form style=\"display:none\"><input type=\"file\" #file multiple /></form>\r\n", dependencies: [{ kind: "directive", type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i14.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i14.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i15.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i16.PeopleComponent, selector: "bizdoc-people", inputs: ["model"] }, { kind: "component", type: i17.AttachmentsComponent, selector: "bizdoc-attachments", inputs: ["model", "viewedIndicator", "includeDeleted"] }] });
421
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ComposeFormComponent, decorators: [{
422
- type: Component,
423
- args: [{ selector: 'bizdoc-form', host: {
424
- class: 'form-container bizdoc-compose'
425
- }, template: "<div class=\"form-header\">\r\n <bizdoc-people [model]=\"model\" *ngIf=\"mode !== 'compose' && contacts\"></bizdoc-people>\r\n <bizdoc-attachments [model]=\"model\" [includeDeleted]=\"true\" [viewedIndicator]=\"false\"></bizdoc-attachments>\r\n <div *ngIf=\"!model.replied && mode !== 'compose' && model.note\" class=\"compose-note\">\r\n <mat-icon color=\"primary\">info</mat-icon> <span class=\"mat-body-2\">{{model.note}}</span>\r\n </div>\r\n <div *ngIf=\"model.tags\">\r\n <span *ngFor=\"let tag of model.tags\" class=\"mat-chip mat-standard-chip small-chip\">{{tag}}</span>\r\n </div>\r\n</div>\r\n<ng-container #component></ng-container>\r\n<div *ngIf=\"editing\">{{ editing }}</div>\r\n<form style=\"display:none\"><input type=\"file\" #file multiple /></form>\r\n" }]
426
- }], ctorParameters: function () { return [{ type: i1.Popup }, { type: i2.MailboxService }, { type: i3.AccountService }, { type: i4.RouterImpl }, { type: i5.MatDialog }, { type: i6.PromptService }, { type: i7.SessionService }, { type: i0.Injector }, { type: i8.MatSnackBar }, { type: i9.BizDocComponentFactoryResolver }, { type: i10.GuideService }, { type: i11.TranslateService }, { type: i12.HubService }]; }, propDecorators: { model: [{
427
- type: Input
428
- }], modelChange: [{
429
- type: Output
430
- }], working: [{
431
- type: Input
432
- }], workingChange: [{
433
- type: Output
434
- }], dirty: [{
435
- type: Input
436
- }], dirtyChange: [{
437
- type: Output
438
- }], valid: [{
439
- type: Input
440
- }], validChange: [{
441
- type: Output
442
- }], saved: [{
443
- type: Output
444
- }], mode: [{
445
- type: Input
446
- }], contacts: [{
447
- type: Input
448
- }], _fileElement: [{
449
- type: ViewChild,
450
- args: ['file', { static: true }]
451
- }], attachments: [{
452
- type: ViewChild,
453
- args: [AttachmentsComponent, { static: true }]
454
- }], _container: [{
455
- type: ViewChild,
456
- args: ['component', { read: ViewContainerRef, static: true }]
457
- }] } });
458
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF5QixnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUE0QixLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUl2SyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFVLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckcsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSWxGLE9BQU8sRUFBNkIsY0FBYyxFQUFtQixNQUFNLHlCQUF5QixDQUFDO0FBT3JHLE9BQU8sRUFBRSxPQUFPLEVBQWlCLE1BQU0sWUFBWSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdyRCxPQUFPLEVBQUUsWUFBWSxFQUFvQixNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXhFLE1BQU0sQ0FBQyxNQUNMLG9CQUFvQixHQUFHLElBQUk7QUFDM0Isb0JBQW9CO0FBQ3BCLGVBQWUsR0FBRyxJQUFJLEVBQ3RC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QUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIE9uRGVzdHJveSwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiwgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgSW5wdXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YsIGZyb20sIGZpbHRlciwgZm9ya0pvaW4gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwsIHRhcCwgc3dpdGNoTWFwLCBzdGFydFdpdGgsIG1hcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgZGVlcEFzc2lnbiwgaXNCb29sZWFuLCBpc1Byb21pc2UsIHF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBSZWNpcGllbnRNb2RlbCwgRm9ybSwgQWN0aW9uLCBBdHRhY2htZW50IH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBGb3JtQ29tcG9uZW50LCBWaWV3TW9kZSB9IGZyb20gJy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYWlsYm94U2VydmljZSwgSXRlbUV4dHJhLCBET0NVTUVOVF9NT0RFTCwgQXR0YWNobWVudEV4dHJhIH0gZnJvbSAnLi4vY29yZS9tYWlsYm94LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR3VpZGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9ndWlkZS9ndWlkZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2FjY291bnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIH0gZnJvbSAnLi4vY29yZS9jb21wb25lbnQtZmFjdG9yeS1yZXNvbHZlcic7XHJcbmltcG9ydCB7IEZvcm1SZWYsIFNhdmVFdmVudEFyZ3MgfSBmcm9tICcuL2Zvcm0tcmVmJztcclxuaW1wb3J0IHsgQXR0YWNobWVudHNDb21wb25lbnQgfSBmcm9tICcuL2F0dGFjaG1lbnRzL2F0dGFjaG1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhZ3NDb21wb25lbnQgfSBmcm9tICcuL3RhZy90YWdzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBvcHVwIH0gZnJvbSAnLi4vY29yZS9wb3B1cC9wb3B1cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVySW1wbCB9IGZyb20gXCIuLi9jb3JlL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBBY3Rpb25EaWFsb2csIEFjdGlvbkRpYWxvZ0RhdGEgfSBmcm9tICcuL2FjdGlvbi9hY3Rpb24uZGlhbG9nJztcclxuXHJcbmV4cG9ydCBjb25zdFxyXG4gIFJFUE9SVF9FRElUSU5HX0RFTEFZID0gMjAwMCxcclxuICAvKiogc2F2ZSBkcmFmdCBtcyAqL1xyXG4gIEFVVE9fU0FWRV9ERUxBWSA9IDUwMDAsXHJcbiAgRURJVElOR19NRVNTQUdFX0RFTEFZID0gMzAwMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWZvcm0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ2Zvcm0tY29udGFpbmVyIGJpemRvYy1jb21wb3NlJ1xyXG4gIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbXBvc2VGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgbW9kZWw6IFJlY2lwaWVudE1vZGVsPGFueT47XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IG1vZGVsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxSZWNpcGllbnRNb2RlbDxhbnk+PigpO1xyXG4gIGZvcm06IEZvcm07XHJcbiAgQElucHV0KClcclxuICB3b3JraW5nID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHdvcmtpbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQElucHV0KClcclxuICBkaXJ0eSA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBkaXJ0eUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBASW5wdXQoKVxyXG4gIHZhbGlkID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHZhbGlkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBzYXZlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBASW5wdXQoKSBtb2RlOiBWaWV3TW9kZTtcclxuICBASW5wdXQoKSBjb250YWN0cyA9IHRydWU7XHJcbiAgYWN0aW9uczogQWN0aW9uW10gPSBbXTtcclxuICBwYWdlOiBzdHJpbmcgfCBudW1iZXI7XHJcbiAgaGVscDogc3RyaW5nO1xyXG4gIGVkaXRpbmc6IHN0cmluZztcclxuICBAVmlld0NoaWxkKCdmaWxlJywgeyBzdGF0aWM6IHRydWUgfSkgX2ZpbGVFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoQXR0YWNobWVudHNDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIGF0dGFjaG1lbnRzOiBBdHRhY2htZW50c0NvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdjb21wb25lbnQnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSBfY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gIHByaXZhdGUgX2Zvcm1SZWY6IEZvcm1SZWY7XHJcbiAgcHJpdmF0ZSBfaW5zdGFuY2U6IEZvcm1Db21wb25lbnQ8YW55PjtcclxuICBwcml2YXRlIF9lZGl0aW5nVGFzazogTm9kZUpTLlRpbWVvdXQ7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9wb3B1cDogUG9wdXAsXHJcbiAgICBwcml2YXRlIF9tYWlsYm94OiBNYWlsYm94U2VydmljZSxcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVySW1wbCxcclxuICAgIHByaXZhdGUgX2RpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX3NuYWNrYmFyOiBNYXRTbmFja0JhcixcclxuICAgIHByaXZhdGUgX2NmOiBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcml2YXRlIF9ndWlkZTogR3VpZGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfbWVzc2FnaW5nOiBIdWJTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZmlsZUVsZW1lbnQubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLl9maWxlQ2hhbmdlTGlzdGVuZXIuYmluZCh0aGlzKSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuY2FsbGJhY2skLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoZSA9PlxyXG4gICAgICB0aGlzLl9pbnN0YW5jZS5vbk1lc3NhZ2VcclxuICAgICAgJiYgdGhpcy5faW5zdGFuY2Uub25NZXNzYWdlKGUubWVzc2FnZSkpO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLmVkaXRpbmckLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoZSA9PlxyXG4gICAgICBlLmlkID09PSB0aGlzLm1vZGVsLmlkICYmXHJcbiAgICAgIHRoaXMuX2VkaXRpbmcoZS51c2VySWQpKTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy51cGRhdGUkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgIGlmIChlLm1vZGVsLmlkID09PSB0aGlzLm1vZGVsLmlkKSB7XHJcbiAgICAgICAgKGUudXNlcklkICE9PSB0aGlzLl9zZXNzaW9uLnVzZXJJZCkgJiZcclxuICAgICAgICAgIHRoaXMuX2FjY291bnRzLmdldChlLnVzZXJJZCkuc3Vic2NyaWJlKHUgPT5cclxuICAgICAgICAgICAgdGhpcy5fc25hY2tiYXIub3Blbih0aGlzLl90cmFuc2xhdGUuZ2V0KCdNYWlsVmVyc2lvblVwZGF0ZScsIHRoaXMubW9kZWwubnVtYmVyLCB1Lm5hbWUpLFxyXG4gICAgICAgICAgICAgIHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ09LJyksIHtcclxuICAgICAgICAgICAgICBkaXJlY3Rpb246IHRoaXMuX3Nlc3Npb24uZGlyZWN0aW9uLFxyXG4gICAgICAgICAgICB9KS5vbkFjdGlvbigpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5fYXNzaWduKGUubW9kZWwpO1xyXG4gICAgICAgICAgICAgIHRoaXMuX3Jlc2V0KCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21haWxib3guY2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuXHJcbiAgICAgIHN1YnNjcmliZShlID0+ICF0aGlzLndvcmtpbmcgJiYgZS5pZCA9PT0gdGhpcy5tb2RlbC5pZCAmJiB0aGlzLl9hc3NpZ24oZSkpO1xyXG4gIH1cclxuICBwcml2YXRlIF9lZGl0aW5nKHVzZXJJZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9hY2NvdW50cy5nZXQodXNlcklkKS5zdWJzY3JpYmUodSA9PiB7XHJcbiAgICAgIHRoaXMuZWRpdGluZyA9IHRoaXMuX3RyYW5zbGF0ZS5wZXJzb25hbGl6ZSgnRWRpdGluZycsIHUuZ2VuZGVyLCB1Lm5hbWUpO1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fZWRpdGluZ1Rhc2spO1xyXG4gICAgICB0aGlzLl9lZGl0aW5nVGFzayA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5lZGl0aW5nID0gbnVsbCwgRURJVElOR19NRVNTQUdFX0RFTEFZKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhfY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgdGhpcy5fZm9ybVJlZiAmJiB0aGlzLl9mb3JtUmVmLl9kZXN0cm95KCk7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmluZChmID0+IGYubmFtZSA9PT0gdGhpcy5tb2RlbC5mb3JtSWQpO1xyXG4gICAgdGhpcy5oZWxwID0gdGhpcy5mb3JtLmd1aWRlO1xyXG4gICAgaWYgKCF0aGlzLmZvcm0udGVtcGxhdGUpXHJcbiAgICAgIHRocm93IChgRm9ybSAnJHt0aGlzLmZvcm0ubmFtZX0nIG1vZGVsIG1pc3NpbmcgJ1tUZW1wbGF0ZSgpXScgYXR0cmlidXRlLmApO1xyXG4gICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuX2NmLnJlc29sdmUodGhpcy5mb3JtLnRlbXBsYXRlKTtcclxuICAgIHRoaXMuX2Zvcm1SZWYgPSBuZXcgRm9ybVJlZih0aGlzLmZvcm0pO1xyXG4gICAgdGhpcy5fZm9ybVJlZi5fbmF2aWdhdGluZy5cclxuICAgICAgc3Vic2NyaWJlKHAgPT4gdGhpcy5wYWdlID0gcCk7XHJcbiAgICB0aGlzLl9mb3JtUmVmLl9zdGF0ZUNoYW5nZS5waXBlKHN0YXJ0V2l0aCgpKS5cclxuICAgICAgc3Vic2NyaWJlKCgpID0+IHRoaXMuaGVscCA9IHRoaXMuX2Zvcm1SZWYuaGVscCk7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZShbXHJcbiAgICAgIHtcclxuICAgICAgICBwcm92aWRlOiBGb3JtUmVmLCB1c2VWYWx1ZTogdGhpcy5fZm9ybVJlZlxyXG4gICAgICB9LCB7XHJcbiAgICAgICAgcHJvdmlkZTogRE9DVU1FTlRfTU9ERUwsIHVzZVZhbHVlOiB0aGlzLm1vZGVsXHJcbiAgICAgIH1cclxuICAgIF0sIHRoaXMuX2luamVjdG9yXHJcbiAgICApO1xyXG4gICAgdGhpcy5fY29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLl9jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnksIDAsIGluamVjdG9yKTtcclxuXHJcbiAgICB0aGlzLl9pbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBGb3JtQ29tcG9uZW50PGFueT47XHJcbiAgICB0aGlzLl9mb3JtUmVmLl9tb2RlID0gdGhpcy5faW5zdGFuY2UubW9kZSA9IHRoaXMubW9kZTtcclxuICAgIHRoaXMuX2luc3RhbmNlLmZvcm0uc3RhdHVzQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgY29uc3QgeyBkaXJ0eSwgdmFsaWQgfSA9IHRoaXMuX2luc3RhbmNlLmZvcm07XHJcbiAgICAgIHRoaXMuZGlydHkgPSBkaXJ0eTtcclxuICAgICAgdGhpcy5kaXJ0eUNoYW5nZS5lbWl0KGRpcnR5KTtcclxuICAgICAgdGhpcy52YWxpZCA9IHZhbGlkO1xyXG4gICAgICB0aGlzLnZhbGlkQ2hhbmdlLmVtaXQodmFsaWQpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLm1vZGVsLmRyYWZ0ICYmIHRoaXMuX2luc3RhbmNlLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLFxyXG4gICAgICAvL2RlYm91bmNlVGltZShSRVBPUlRfRURJVElOR19ERUxBWSksXHJcbiAgICAgIC8vdGFwKCgpID0+ICF0aGlzLndvcmtpbmcgJiYgdGhpcy5fbWFpbGJveC5lZGl0aW5nKHRoaXMubW9kZWwuZG9jdW1lbnRJZCkpLFxyXG4gICAgICBkZWJvdW5jZVRpbWUoQVVUT19TQVZFX0RFTEFZKVxyXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4gIXRoaXMud29ya2luZyAmJiB0aGlzLmRpcnR5ICYmXHJcbiAgICAgIHRoaXMuc2F2ZShmYWxzZSkuc3Vic2NyaWJlKCkpO1xyXG4gICAgdGhpcy5faW5zdGFuY2Uub25CaW5kKHRoaXMubW9kZWwpO1xyXG4gICAgdGhpcy5fcmVzZXQoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZmlsZUNoYW5nZUxpc3RlbmVyKGV2OiBFdmVudCkge1xyXG4gICAgY29uc3QgeyBmaWxlcyB9ID0gZXYuc3JjRWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50LFxyXG4gICAgICBhcnI6IEZpbGVbXSA9IFtdO1xyXG4gICAgaWYgKGZpbGVzICYmIGZpbGVzLmxlbmd0aCkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgIGFyci5wdXNoKGZpbGVzW2ldKTtcclxuICAgICAgdGhpcy51cGxvYWQoYXJyKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX2ZpbGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuYXR0YWNobWVudHMubmdPbkNoYW5nZXMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX2FwcGx5KCkge1xyXG4gICAgZGVlcEFzc2lnbih0aGlzLm1vZGVsLm1vZGVsLCB0aGlzLl9pbnN0YW5jZS5mb3JtLnZhbHVlKTtcclxuICB9XHJcbiAgbmF2aWdhdGUocGFnZTogYW55KSB7XHJcbiAgICBjb25zdCBwYWdlbiA9IHBhcnNlSW50KHBhZ2UpO1xyXG4gICAgdGhpcy5fZm9ybVJlZi5fbmF2aWdhdGluZy5uZXh0KGlzTmFOKHBhZ2VuKSA/IHBhZ2UgOiBwYWdlbik7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2dldEFjdGlvbkFkamVjdGl2ZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgYWN0aW9uID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuZmluZChhID0+IGEubmFtZSA9PT0gbmFtZSk7XHJcbiAgICByZXR1cm4gKGFjdGlvbi5hZGplY3RpdmUgfHwgYWN0aW9uLnBhc3QgfHwgYWN0aW9uLnRpdGxlKS50b0xvd2VyQ2FzZSgpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gZmVlZGJhY2tcclxuICAgKi9cclxuICBwcml2YXRlIF9zYXZlKGZlZWRiYWNrOiBib29sZWFuKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICBjb25zdCB7IGlkLCB2ZXJzaW9uLCBmb3JtSWQsIG1vZGVsLCBkcmFmdCB9ID0gdGhpcy5tb2RlbDtcclxuICAgIHJldHVybiB0aGlzLl9tYWlsYm94LnNhdmUoaWQsIGZvcm1JZCwgdmVyc2lvbiwgbW9kZWwpLnBpcGUoXHJcbiAgICAgIHRhcChtID0+IHtcclxuICAgICAgICB0aGlzLl9hc3NpZ24obSwgZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuX3Jlc2V0KCk7XHJcbiAgICAgICAgZmVlZGJhY2sgJiZcclxuICAgICAgICAgIHRoaXMuX3NiLnRvYXN0KGRyYWZ0ID8gJ0RyYWZ0U2F2ZWQnIDogJ0NoYW5nZXNTYXZlZCcpO1xyXG4gICAgICAgIHRoaXMuc2F2ZWQuZW1pdCgpO1xyXG4gICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgfSwgZSA9PiB7XHJcbiAgICAgICAgZmVlZGJhY2sgJiZcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUVycm9yKGUsICdTYXZlRXJyJyk7XHJcbiAgICAgICAgdGhpcy53b3JraW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICB9KSwgbWFwKCgpID0+IHRydWUpKTtcclxuICB9XHJcbiAgdXBsb2FkKGZpbGVzOiBGaWxlW10pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgdGhpcy53b3JraW5nID0gdHJ1ZTtcclxuICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KHRydWUpO1xyXG4gICAgbGV0IGV4aXN0czogYm9vbGVhbjtcclxuICAgIGNvbnN0IG9ic2VydmFibGVzID0gW107XHJcbiAgICBmaWxlcy5mb3JFYWNoKGYgPT4ge1xyXG4gICAgICBpZiAoIWV4aXN0cylcclxuICAgICAgICBleGlzdHMgPSB0aGlzLm1vZGVsLmF0dGFjaG1lbnRzLnNvbWUoYSA9PiBhLmZpbGVOYW1lID09PSBmLm5hbWUgJiYgIWEuZGVsZXRlZCAmJiAhKGEgYXMgQXR0YWNobWVudEV4dHJhKS5mYWlsZWQpO1xyXG4gICAgICBjb25zdCByZXRyeSA9IHRoaXMubW9kZWwuYXR0YWNobWVudHMuZmluZEluZGV4KGEgPT4gYS5maWxlTmFtZSA9PT0gZi5uYW1lICYmIChhIGFzIEF0dGFjaG1lbnRFeHRyYSkuZmFpbGVkKTtcclxuICAgICAgaWYgKHJldHJ5ID4gLTEpXHJcbiAgICAgICAgdGhpcy5tb2RlbC5hdHRhY2htZW50cy5zcGxpY2UocmV0cnksIDEpO1xyXG4gICAgICBjb25zdCBtb2RlbCA9IHRoaXMuX2NvbnN0cnVjdEF0dGFjaG1lbnQoZik7XHJcbiAgICAgIGNvbnN0IG9ic2VydmFibGUgPSB0aGlzLl9tYWlsYm94LnVwbG9hZCh0aGlzLm1vZGVsLmlkLCB0aGlzLm1vZGVsLmZvcm1JZCwgdGhpcy5tb2RlbC52ZXJzaW9uLCBmKS5cclxuICAgICAgICBwaXBlKHRhcCgocjogQXR0YWNobWVudCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fc2IudG9hc3QoXHJcbiAgICAgICAgICAgICFleGlzdHMgPyAnVXBsb2FkT2snIDogJ1VwbG9hZFZlcnNpb25PaycsIGYubmFtZSk7XHJcbiAgICAgICAgICBPYmplY3QuYXNzaWduKG1vZGVsLCByLCB7IHByb2dyZXNzOiBudWxsLCB9KTtcclxuICAgICAgICAgIHRoaXMubW9kZWwuYXR0YWNobWVudHMucHVzaChtb2RlbCk7XHJcbiAgICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICB9KSwgY2F0Y2hFcnJvcihlID0+IHtcclxuICAgICAgICAgIHRoaXMuX2hhbmRsZUVycm9yKGUsICdVcGxvYWRGYWlsZWQnLCBmLm5hbWUpO1xyXG4gICAgICAgICAgdGhpcy53b3JraW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xyXG4gICAgICAgIH0pKTtcclxuICAgICAgb2JzZXJ2YWJsZXMucHVzaChvYnNlcnZhYmxlKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGZvcmtKb2luKG9ic2VydmFibGVzKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY29uc3RydWN0QXR0YWNobWVudChmaWxlOiBGaWxlKSB7XHJcbiAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpLCB1dGMgPSBuZXcgRGF0ZShub3cuZ2V0VGltZSgpICsgbm93LmdldFRpbWV6b25lT2Zmc2V0KCkgKiA2MDAwMCk7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB1c2VySWQ6IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS51c2VySWQsXHJcbiAgICAgIGJ5SWQ6IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5ieUlkLFxyXG4gICAgICB0aW1lOiB1dGMudG9KU09OKCkgYXMgYW55LFxyXG4gICAgICBmaWxlTmFtZTogZmlsZS5uYW1lLFxyXG4gICAgICBjb250ZW50VHlwZTogZmlsZS50eXBlXHJcbiAgICB9IGFzIEF0dGFjaG1lbnQ7XHJcbiAgfVxyXG4gIHRhZyhldnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMuX3BvcHVwLm9wZW4oVGFnc0NvbXBvbmVudCwgKGV2dC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50KSwge1xyXG4gICAgICBkYXRhOiB0aGlzLm1vZGVsXHJcbiAgICB9KVxyXG4gIH1cclxuICBwcml2YXRlIF9yZXNldCgpIHtcclxuICAgIGZ1bmN0aW9uIHNvcnRBY3Rpb25zKGE6IEFjdGlvbiwgYjogQWN0aW9uKSB7XHJcbiAgICAgIGlmIChhLmdyb3VwICYmIGIuZ3JvdXAgJiYgYS5ncm91cCAhPT0gYi5ncm91cClcclxuICAgICAgICByZXR1cm4gYS5ncm91cCA8IGIuZ3JvdXAgPyAtMSA6IDE7XHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gICAgdGhpcy5faW5zdGFuY2UuZm9ybS5yZXNldCh0aGlzLm1vZGVsLm1vZGVsLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICB0aGlzLnZhbGlkID0gdGhpcy5faW5zdGFuY2UuZm9ybS52YWxpZDtcclxuICAgIHRoaXMudmFsaWRDaGFuZ2UuZW1pdCh0aGlzLnZhbGlkKTtcclxuICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcclxuICAgIHRoaXMuZGlydHlDaGFuZ2UuZW1pdCh0aGlzLmRpcnR5KTtcclxuICAgIHRoaXMuYWN0aW9ucyA9IHRoaXMubW9kZWwuYWN0aW9ucy5sZW5ndGggP1xyXG4gICAgICB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucy5cclxuICAgICAgICBmaWx0ZXIoYSA9PiB0aGlzLm1vZGVsLmFjdGlvbnMuaW5kZXhPZihhLm5hbWUpID4gLTEpLlxyXG4gICAgICAgIHNvcnQoc29ydEFjdGlvbnMpIDogW107XHJcbiAgfVxyXG5cclxuICBndWlkZShuYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2d1aWRlLnN0YXJ0KG5hbWUpO1xyXG4gIH1cclxuICBhdHRhY2goKSB7XHJcbiAgICBjb25zdCBlbGVtID0gdGhpcy5fZmlsZUVsZW1lbnQubmF0aXZlRWxlbWVudCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgZWxlbS5jbGljaygpO1xyXG4gIH1cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBmZWVkYmFja1xyXG4gICAqL1xyXG4gIHNhdmUoZmVlZGJhY2sgPSB0cnVlKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICB0aGlzLl9hcHBseSgpO1xyXG4gICAgY29uc3Qgc2F2ZUFyZ3MgPSB7IGNhbmNlbDogZmFsc2UgfSBhcyBTYXZlRXZlbnRBcmdzO1xyXG4gICAgdGhpcy5fZm9ybVJlZi5fc2F2aW5nLm5leHQoc2F2ZUFyZ3MpO1xyXG4gICAgaWYgKHNhdmVBcmdzLmNhbmNlbClcclxuICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgIGlmICh0aGlzLl9pbnN0YW5jZS5vblNhdmUpIHtcclxuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5faW5zdGFuY2Uub25TYXZlKCk7XHJcbiAgICAgIGlmIChpc0Jvb2xlYW4ocmVzdWx0KSkge1xyXG4gICAgICAgIGlmICghcmVzdWx0KSB7XHJcbiAgICAgICAgICBmZWVkYmFjayAmJiB0aGlzLl9zYi50b2FzdCgnVmFsaWRhdGVFcnInKTtcclxuICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGlzUHJvbWlzZShyZXN1bHQpKVxyXG4gICAgICAgIHJldHVybiBmcm9tKHJlc3VsdCkucGlwZShzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fc2F2ZShmZWVkYmFjaykpKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHJldHVybiByZXN1bHQucGlwZShzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fc2F2ZShmZWVkYmFjaykpKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9zYXZlKGZlZWRiYWNrKTtcclxuICB9XHJcbiAgZmxhZygpIHtcclxuICAgIGNvbnN0IGV4dHJhID0gdGhpcy5tb2RlbCBhcyBJdGVtRXh0cmEsIHsgZmxhZyB9ID0gdGhpcy5tb2RlbDtcclxuICAgIGV4dHJhLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy53b3JraW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuX21haWxib3guZmxhZyh0aGlzLm1vZGVsLmlkLCAhZmxhZykuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5tb2RlbC5mbGFnID0gIWZsYWc7XHJcbiAgICAgIGV4dHJhLndvcmtpbmcgPSBmYWxzZTtcclxuICAgIH0sICgpID0+IHtcclxuICAgICAgZXh0cmEud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBzdWJtaXQoKSB7XHJcbiAgICB0aGlzLl9hcHBseSgpO1xyXG4gICAgY29uc3QgeyBpZCwgdmVyc2lvbiwgZm9ybUlkLCBtb2RlbCwgbnVtYmVyIH0gPSB0aGlzLm1vZGVsO1xyXG4gICAgdGhpcy53b3JraW5nID0gdHJ1ZTtcclxuICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KHRydWUpO1xyXG4gICAgcmV0dXJuIHRoaXMuX21haWxib3guc3VibWl0KGlkLCB2ZXJzaW9uLCBmb3JtSWQsIG1vZGVsKS5cclxuICAgICAgcGlwZSh0YXAoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX3NiLnRvYXN0KCdTdWJtaXR0ZWQnLCBudW1iZXIpO1xyXG4gICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgfSwgZSA9PiB7XHJcbiAgICAgICAgdGhpcy53b3JraW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuX2hhbmRsZUVycm9yKGUsICdTdWJtaXRFcnInKTtcclxuICAgICAgfSkpO1xyXG4gIH1cclxuICBiYWNrKCkge1xyXG4gICAgdGhpcy5fZm9ybVJlZi5uYXZpZ2F0ZSgpO1xyXG4gIH1cclxuICBkaXNjYXJkKCkge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmUgPT4ge1xyXG4gICAgICB0aGlzLl9zYi5hc2soJ0Rpc2NhcmRBc2snLCAnRGlzY2FyZCcsIHtcclxuICAgICAgICBjb2xvcjogJ3dhcm4nLCBvazogJ0Rpc2NhcmQnXHJcbiAgICAgIH0pLnN1YnNjcmliZShvayA9PiB7XHJcbiAgICAgICAgaWYgKG9rKSB7XHJcbiAgICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdCh0cnVlKTtcclxuICAgICAgICAgIHRoaXMuX21haWxib3guZGVsZXRlKHRoaXMubW9kZWwuaWQpLlxyXG4gICAgICAgICAgICBzdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIG9ic2VydmUubmV4dCgpO1xyXG4gICAgICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgZSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUVycm9yKGUsICdOZXR3b3JrRXJyJyk7XHJcbiAgICAgICAgICAgICAgICBvYnNlcnZlLmVycm9yKCk7XHJcbiAgICAgICAgICAgICAgICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2VuZChhY3Rpb246IHN0cmluZykge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmUgPT4ge1xyXG4gICAgICB0aGlzLl9kaWFsb2cub3BlbihBY3Rpb25EaWFsb2csIHtcclxuICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICBhY3Rpb24sXHJcbiAgICAgICAgICBpdGVtOiB0aGlzLm1vZGVsXHJcbiAgICAgICAgfSBhcyBBY3Rpb25EaWFsb2dEYXRhLFxyXG4gICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiB0cnVlXHJcbiAgICAgIH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKGFyZ3MgPT4ge1xyXG4gICAgICAgIGlmIChhcmdzKSB7XHJcbiAgICAgICAgICB0aGlzLl9hcHBseSgpO1xyXG4gICAgICAgICAgY29uc3QgcGFyYW1zID0gcXVlcnlQYXJhbXMoYXJncyk7XHJcbiAgICAgICAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICAgICAgICBjb25zdCB7IGlkLCB2ZXJzaW9uLCBudW1iZXIsIG1vZGVsLCBmb3JtSWQgfSA9IHRoaXMubW9kZWw7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5fbWFpbGJveC5zZW5kKGlkLCB2ZXJzaW9uLCBmb3JtSWQsIG1vZGVsLCBhY3Rpb24sIHBhcmFtcykuXHJcbiAgICAgICAgICAgIHN1YnNjcmliZShyID0+IHtcclxuICAgICAgICAgICAgICBjb25zdCBvcmlnaW4gPSByLnJlY2lwaWVudHMuZmlsdGVyKHIgPT4gci5vcmlnaW5JZCA9PT0gaWQpO1xyXG4gICAgICAgICAgICAgIGlmIChvcmlnaW4ubGVuZ3RoKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fYWNjb3VudHMuZ2V0QWxsKG9yaWdpbi5tYXAociA9PiByLnVzZXJJZCkpLnN1YnNjcmliZSh1ID0+XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuX3NiLnRvYXN0KCdTZW50VG8nLCBudW1iZXIsIHRoaXMuX2dldEFjdGlvbkFkamVjdGl2ZShhY3Rpb24pLCB0aGlzLl90cmFuc2xhdGUuam9pbih1Lm1hcCh1ID0+IHUubmFtZSkpKSk7XHJcbiAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fc2IudG9hc3QoJ1NlbnQnLCBudW1iZXIsIHRoaXMuX2dldEFjdGlvbkFkamVjdGl2ZShhY3Rpb24pKTtcclxuICAgICAgICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZS5uZXh0KCk7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICB9LCBlID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgICAgICAgdGhpcy5faGFuZGxlRXJyb3IoZSwgJ1NlbmRFcnInKTtcclxuICAgICAgICAgICAgICBvYnNlcnZlLmVycm9yKCk7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBvYnNlcnZlLmVycm9yKCk7XHJcbiAgICAgICAgICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGNvcHkoKSB7XHJcbiAgICB0aGlzLl9tYWlsYm94LmNvcHkodGhpcy5tb2RlbC5kb2N1bWVudElkKS5zdWJzY3JpYmUoaSA9PiB7XHJcbiAgICAgIHRoaXMuX3NiLnRvYXN0KCdDb3BpZWQnLCBpLm51bWJlciB8fCB0aGlzLmZvcm0udGl0bGUpO1xyXG4gICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2knLCBpLmlkLmVuY29kZUlkKCldLCB7XHJcbiAgICAgICAgc3RhdGU6IHsgaXRlbTogaSB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSwgKCkgPT4gdGhpcy5fc2IuZXJyb3IoKSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHJlc3BvbnNlXHJcbiAgICogQHBhcmFtIGl0ZW1cclxuICAgKiBAcGFyYW0gbWVzc2FnZSByZXNvdXJjZVxyXG4gICAqIEBwYXJhbSBhcmdzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfaGFuZGxlRXJyb3IocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55LCBtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IHN0cmluZ1tdKSB7XHJcbiAgICBpZiAocmVzcG9uc2UuY29uc3RydWN0b3IubmFtZSA9PT0gJ1Bvc2l0aW9uRXJyb3InKVxyXG4gICAgICBzd2l0Y2ggKHJlc3BvbnNlLmNvZGUpIHtcclxuICAgICAgICBjYXNlIDE6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignVXNlckRlbmllZEdlb0VycicpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdHZW9FcnInKTtcclxuICAgICAgfVxyXG4gICAgZWxzZVxyXG4gICAgICBzd2l0Y2ggKHJlc3BvbnNlLnN0YXR1cykge1xyXG4gICAgICAgIGNhc2UgNDAxOlxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ1VuYXV0aG9yaXplZCcpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSA0MDk6IC8vIHZlcnNpb24gY2hhbmdlXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGNvbnN0IG9iaiA9IHJlc3BvbnNlLmVycm9yIC8qIHNlcmlhbGl6ZWQgbW9kZWwgKi8gYXMgUmVjaXBpZW50TW9kZWw8YW55PjtcclxuICAgICAgICAgICAgb2JqICYmIHRoaXMuX2Fzc2lnbihvYmopO1xyXG4gICAgICAgICAgICB0aGlzLl9yZXNldCgpO1xyXG4gICAgICAgICAgICB0aGlzLl9zYi5lcnJvcignVmVyc2lvbkVycicsIHRoaXMubW9kZWwubnVtYmVyKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgY2FzZSA0MDY6IC8vIHZhbGlkYXRpb25cclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yU3RyaW5nKHJlc3BvbnNlLmVycm9yKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgNDI2OiAvLyBsaWNlbnNlIFxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ0xpY2Vuc2VFcnInKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcihtZXNzYWdlLCAuLi5hcmdzKTtcclxuICAgICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9hc3NpZ24obW9kZWw6IFJlY2lwaWVudE1vZGVsLCBlbWl0RXZlbnQ/OiBib29sZWFuKSB7XHJcbiAgICBPYmplY3QuYXNzaWduKHRoaXMubW9kZWwsIG1vZGVsLCB7IC8vIHByZXNlcnZlIG9iamVjdCByZWYgaW4gbW9kZWxcclxuICAgICAgbW9kZWw6IGRlZXBBc3NpZ24odGhpcy5tb2RlbC5tb2RlbCwgbW9kZWwubW9kZWwpXHJcbiAgICB9KTtcclxuICAgIGlmIChlbWl0RXZlbnQgIT09IGZhbHNlKSB7XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh0aGlzLm1vZGVsKTtcclxuICAgICAgdGhpcy5fZm9ybVJlZi5fbW9kZWxDaGFuZ2UubmV4dCh0aGlzLm1vZGVsKTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZvcm0taGVhZGVyXCI+XHJcbiAgPGJpemRvYy1wZW9wbGUgW21vZGVsXT1cIm1vZGVsXCIgKm5nSWY9XCJtb2RlICE9PSAnY29tcG9zZScgJiYgY29udGFjdHNcIj48L2JpemRvYy1wZW9wbGU+XHJcbiAgPGJpemRvYy1hdHRhY2htZW50cyBbbW9kZWxdPVwibW9kZWxcIiBbaW5jbHVkZURlbGV0ZWRdPVwidHJ1ZVwiIFt2aWV3ZWRJbmRpY2F0b3JdPVwiZmFsc2VcIj48L2JpemRvYy1hdHRhY2htZW50cz5cclxuICA8ZGl2ICpuZ0lmPVwiIW1vZGVsLnJlcGxpZWQgJiYgbW9kZSAhPT0gJ2NvbXBvc2UnICYmIG1vZGVsLm5vdGVcIiBjbGFzcz1cImNvbXBvc2Utbm90ZVwiPlxyXG4gICAgPG1hdC1pY29uIGNvbG9yPVwicHJpbWFyeVwiPmluZm88L21hdC1pY29uPiA8c3BhbiBjbGFzcz1cIm1hdC1ib2R5LTJcIj57e21vZGVsLm5vdGV9fTwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2ICpuZ0lmPVwibW9kZWwudGFnc1wiPlxyXG4gICAgPHNwYW4gKm5nRm9yPVwibGV0IHRhZyBvZiBtb2RlbC50YWdzXCIgY2xhc3M9XCJtYXQtY2hpcCBtYXQtc3RhbmRhcmQtY2hpcCBzbWFsbC1jaGlwXCI+e3t0YWd9fTwvc3Bhbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbjxuZy1jb250YWluZXIgI2NvbXBvbmVudD48L25nLWNvbnRhaW5lcj5cclxuPGRpdiAqbmdJZj1cImVkaXRpbmdcIj57eyBlZGl0aW5nIH19PC9kaXY+XHJcbjxmb3JtIHN0eWxlPVwiZGlzcGxheTpub25lXCI+PGlucHV0IHR5cGU9XCJmaWxlXCIgI2ZpbGUgbXVsdGlwbGUgLz48L2Zvcm0+XHJcbiJdfQ==
466
+ ComposeFormComponent.ɵfac = function ComposeFormComponent_Factory(t) { return new (t || ComposeFormComponent)(i0.ɵɵdirectiveInject(i1.Popup), i0.ɵɵdirectiveInject(i2.MailboxService), i0.ɵɵdirectiveInject(i3.AccountService), i0.ɵɵdirectiveInject(i4.RouterImpl), i0.ɵɵdirectiveInject(i5.MatDialog), i0.ɵɵdirectiveInject(i6.PromptService), i0.ɵɵdirectiveInject(i7.SessionService), i0.ɵɵdirectiveInject(i0.Injector), i0.ɵɵdirectiveInject(i8.MatSnackBar), i0.ɵɵdirectiveInject(i9.BizDocComponentFactoryResolver), i0.ɵɵdirectiveInject(i10.GuideService), i0.ɵɵdirectiveInject(i11.TranslateService), i0.ɵɵdirectiveInject(i12.HubService)); };
467
+ ComposeFormComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ComposeFormComponent, selectors: [["bizdoc-form"]], viewQuery: function ComposeFormComponent_Query(rf, ctx) { if (rf & 1) {
468
+ i0.ɵɵviewQuery(_c0, 7);
469
+ i0.ɵɵviewQuery(AttachmentsComponent, 7);
470
+ i0.ɵɵviewQuery(_c1, 7, ViewContainerRef);
471
+ } if (rf & 2) {
472
+ let _t;
473
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._fileElement = _t.first);
474
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.attachments = _t.first);
475
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._container = _t.first);
476
+ } }, hostAttrs: [1, "form-container", "bizdoc-compose"], inputs: { model: "model", working: "working", dirty: "dirty", valid: "valid", mode: "mode", contacts: "contacts" }, outputs: { modelChange: "modelChange", workingChange: "workingChange", dirtyChange: "dirtyChange", validChange: "validChange", saved: "saved" }, features: [i0.ɵɵNgOnChangesFeature], decls: 11, vars: 7, consts: [[1, "form-header"], [3, "model", 4, "ngIf"], [3, "model", "includeDeleted", "viewedIndicator"], ["class", "compose-note", 4, "ngIf"], [4, "ngIf"], ["component", ""], [2, "display", "none"], ["type", "file", "multiple", ""], ["file", ""], [3, "model"], [1, "compose-note"], ["color", "primary"], [1, "mat-body-2"], ["class", "mat-chip mat-standard-chip small-chip", 4, "ngFor", "ngForOf"], [1, "mat-chip", "mat-standard-chip", "small-chip"]], template: function ComposeFormComponent_Template(rf, ctx) { if (rf & 1) {
477
+ i0.ɵɵelementStart(0, "div", 0);
478
+ i0.ɵɵtemplate(1, ComposeFormComponent_bizdoc_people_1_Template, 1, 1, "bizdoc-people", 1);
479
+ i0.ɵɵelement(2, "bizdoc-attachments", 2);
480
+ i0.ɵɵtemplate(3, ComposeFormComponent_div_3_Template, 5, 1, "div", 3);
481
+ i0.ɵɵtemplate(4, ComposeFormComponent_div_4_Template, 2, 1, "div", 4);
482
+ i0.ɵɵelementEnd();
483
+ i0.ɵɵelementContainer(5, null, 5);
484
+ i0.ɵɵtemplate(7, ComposeFormComponent_div_7_Template, 2, 1, "div", 4);
485
+ i0.ɵɵelementStart(8, "form", 6);
486
+ i0.ɵɵelement(9, "input", 7, 8);
487
+ i0.ɵɵelementEnd();
488
+ } if (rf & 2) {
489
+ i0.ɵɵadvance(1);
490
+ i0.ɵɵproperty("ngIf", ctx.mode !== "compose" && ctx.contacts);
491
+ i0.ɵɵadvance(1);
492
+ i0.ɵɵproperty("model", ctx.model)("includeDeleted", true)("viewedIndicator", false);
493
+ i0.ɵɵadvance(1);
494
+ i0.ɵɵproperty("ngIf", !ctx.model.replied && ctx.mode !== "compose" && ctx.model.note);
495
+ i0.ɵɵadvance(1);
496
+ i0.ɵɵproperty("ngIf", ctx.model.tags);
497
+ i0.ɵɵadvance(3);
498
+ i0.ɵɵproperty("ngIf", ctx.editing);
499
+ } }, dependencies: [i13.NgForOf, i13.NgIf, i14.ɵNgNoValidate, i14.NgControlStatusGroup, i15.MatIcon, i16.PeopleComponent, i17.AttachmentsComponent], encapsulation: 2 });
500
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ComposeFormComponent, [{
501
+ type: Component,
502
+ args: [{ selector: 'bizdoc-form', host: {
503
+ class: 'form-container bizdoc-compose'
504
+ }, template: "<div class=\"form-header\">\r\n <bizdoc-people [model]=\"model\" *ngIf=\"mode !== 'compose' && contacts\"></bizdoc-people>\r\n <bizdoc-attachments [model]=\"model\" [includeDeleted]=\"true\" [viewedIndicator]=\"false\"></bizdoc-attachments>\r\n <div *ngIf=\"!model.replied && mode !== 'compose' && model.note\" class=\"compose-note\">\r\n <mat-icon color=\"primary\">info</mat-icon> <span class=\"mat-body-2\">{{model.note}}</span>\r\n </div>\r\n <div *ngIf=\"model.tags\">\r\n <span *ngFor=\"let tag of model.tags\" class=\"mat-chip mat-standard-chip small-chip\">{{tag}}</span>\r\n </div>\r\n</div>\r\n<ng-container #component></ng-container>\r\n<div *ngIf=\"editing\">{{ editing }}</div>\r\n<form style=\"display:none\"><input type=\"file\" #file multiple /></form>\r\n" }]
505
+ }], function () { return [{ type: i1.Popup }, { type: i2.MailboxService }, { type: i3.AccountService }, { type: i4.RouterImpl }, { type: i5.MatDialog }, { type: i6.PromptService }, { type: i7.SessionService }, { type: i0.Injector }, { type: i8.MatSnackBar }, { type: i9.BizDocComponentFactoryResolver }, { type: i10.GuideService }, { type: i11.TranslateService }, { type: i12.HubService }]; }, { model: [{
506
+ type: Input
507
+ }], modelChange: [{
508
+ type: Output
509
+ }], working: [{
510
+ type: Input
511
+ }], workingChange: [{
512
+ type: Output
513
+ }], dirty: [{
514
+ type: Input
515
+ }], dirtyChange: [{
516
+ type: Output
517
+ }], valid: [{
518
+ type: Input
519
+ }], validChange: [{
520
+ type: Output
521
+ }], saved: [{
522
+ type: Output
523
+ }], mode: [{
524
+ type: Input
525
+ }], contacts: [{
526
+ type: Input
527
+ }], _fileElement: [{
528
+ type: ViewChild,
529
+ args: ['file', { static: true }]
530
+ }], attachments: [{
531
+ type: ViewChild,
532
+ args: [AttachmentsComponent, { static: true }]
533
+ }], _container: [{
534
+ type: ViewChild,
535
+ args: ['component', { read: ViewContainerRef, static: true }]
536
+ }] }); })();
537
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvbXBvc2UvZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF5QixnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUE0QixLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUl2SyxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFVLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckcsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSWxGLE9BQU8sRUFBNkIsY0FBYyxFQUFtQixNQUFNLHlCQUF5QixDQUFDO0FBT3JHLE9BQU8sRUFBRSxPQUFPLEVBQWlCLE1BQU0sWUFBWSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdyRCxPQUFPLEVBQUUsWUFBWSxFQUFvQixNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDckJ0RSxtQ0FBc0Y7OztJQUF2RSxvQ0FBZTs7O0lBRTlCLCtCQUFxRixtQkFBQTtJQUN6RCxvQkFBSTtJQUFBLGlCQUFXO0lB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QXhELHFGQUF3RDtRQUd4RCxlQUFnQjtRQUFoQixxQ0FBZ0I7UUFLbEIsZUFBYTtRQUFiLGtDQUFhOzt1RkQwQk4sb0JBQW9CO2NBUGhDLFNBQVM7MkJBQ0UsYUFBYSxRQUVqQjtvQkFDSixLQUFLLEVBQUUsK0JBQStCO2lCQUN2QztnWkFHUSxLQUFLO2tCQUFiLEtBQUs7WUFDYSxXQUFXO2tCQUE3QixNQUFNO1lBR1AsT0FBTztrQkFETixLQUFLO1lBRWEsYUFBYTtrQkFBL0IsTUFBTTtZQUVQLEtBQUs7a0JBREosS0FBSztZQUVhLFdBQVc7a0JBQTdCLE1BQU07WUFFUCxLQUFLO2tCQURKLEtBQUs7WUFFYSxXQUFXO2tCQUE3QixNQUFNO1lBQ1ksS0FBSztrQkFBdkIsTUFBTTtZQUNFLElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFLK0IsWUFBWTtrQkFBaEQsU0FBUzttQkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ2dCLFdBQVc7a0JBQTdELFNBQVM7bUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ2lCLFVBQVU7a0JBQTNFLFNBQVM7bUJBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RvciwgT25EZXN0cm95LCBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBDb21wb25lbnQsIFZpZXdDaGlsZCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiwgZnJvbSwgZmlsdGVyLCBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCwgdGFwLCBzd2l0Y2hNYXAsIHN0YXJ0V2l0aCwgbWFwLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBkZWVwQXNzaWduLCBpc0Jvb2xlYW4sIGlzUHJvbWlzZSwgcXVlcnlQYXJhbXMgfSBmcm9tICcuLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IFJlY2lwaWVudE1vZGVsLCBGb3JtLCBBY3Rpb24sIEF0dGFjaG1lbnQgfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IEZvcm1Db21wb25lbnQsIFZpZXdNb2RlIH0gZnJvbSAnLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IE1haWxib3hTZXJ2aWNlLCBJdGVtRXh0cmEsIERPQ1VNRU5UX01PREVMLCBBdHRhY2htZW50RXh0cmEgfSBmcm9tICcuLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHdWlkZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2d1aWRlL2d1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIgfSBmcm9tICcuLi9jb3JlL2NvbXBvbmVudC1mYWN0b3J5LXJlc29sdmVyJztcclxuaW1wb3J0IHsgRm9ybVJlZiwgU2F2ZUV2ZW50QXJncyB9IGZyb20gJy4vZm9ybS1yZWYnO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50c0NvbXBvbmVudCB9IGZyb20gJy4vYXR0YWNobWVudHMvYXR0YWNobWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFnc0NvbXBvbmVudCB9IGZyb20gJy4vdGFnL3RhZ3MuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUG9wdXAgfSBmcm9tICcuLi9jb3JlL3BvcHVwL3BvcHVwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXJJbXBsIH0gZnJvbSBcIi4uL2NvcmUvcm91dGVyXCI7XHJcbmltcG9ydCB7IEFjdGlvbkRpYWxvZywgQWN0aW9uRGlhbG9nRGF0YSB9IGZyb20gJy4vYWN0aW9uL2FjdGlvbi5kaWFsb2cnO1xyXG5cclxuZXhwb3J0IGNvbnN0XHJcbiAgUkVQT1JUX0VESVRJTkdfREVMQVkgPSAyMDAwLFxyXG4gIC8qKiBzYXZlIGRyYWZ0IG1zICovXHJcbiAgQVVUT19TQVZFX0RFTEFZID0gNTAwMCxcclxuICBFRElUSU5HX01FU1NBR0VfREVMQVkgPSAzMDAwO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAnZm9ybS1jb250YWluZXIgYml6ZG9jLWNvbXBvc2UnXHJcbiAgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tcG9zZUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSBtb2RlbDogUmVjaXBpZW50TW9kZWw8YW55PjtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgbW9kZWxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFJlY2lwaWVudE1vZGVsPGFueT4+KCk7XHJcbiAgZm9ybTogRm9ybTtcclxuICBASW5wdXQoKVxyXG4gIHdvcmtpbmcgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgd29ya2luZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBASW5wdXQoKVxyXG4gIGRpcnR5ID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGRpcnR5Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIEBJbnB1dCgpXHJcbiAgdmFsaWQgPSBmYWxzZTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsaWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBJbnB1dCgpIG1vZGU6IFZpZXdNb2RlO1xyXG4gIEBJbnB1dCgpIGNvbnRhY3RzID0gdHJ1ZTtcclxuICBhY3Rpb25zOiBBY3Rpb25bXSA9IFtdO1xyXG4gIHBhZ2U6IHN0cmluZyB8IG51bWJlcjtcclxuICBoZWxwOiBzdHJpbmc7XHJcbiAgZWRpdGluZzogc3RyaW5nO1xyXG4gIEBWaWV3Q2hpbGQoJ2ZpbGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBfZmlsZUVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChBdHRhY2htZW50c0NvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgYXR0YWNobWVudHM6IEF0dGFjaG1lbnRzQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbXBvbmVudCcsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIF9jb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XHJcbiAgcHJpdmF0ZSBfZm9ybVJlZjogRm9ybVJlZjtcclxuICBwcml2YXRlIF9pbnN0YW5jZTogRm9ybUNvbXBvbmVudDxhbnk+O1xyXG4gIHByaXZhdGUgX2VkaXRpbmdUYXNrOiBOb2RlSlMuVGltZW91dDtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BvcHVwOiBQb3B1cCxcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfYWNjb3VudHM6IEFjY291bnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBfc25hY2tiYXI6IE1hdFNuYWNrQmFyLFxyXG4gICAgcHJpdmF0ZSBfY2Y6IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByaXZhdGUgX2d1aWRlOiBHdWlkZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9tZXNzYWdpbmc6IEh1YlNlcnZpY2VcclxuICApIHtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9maWxlRWxlbWVudC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuX2ZpbGVDaGFuZ2VMaXN0ZW5lci5iaW5kKHRoaXMpKTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jYWxsYmFjayQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+XHJcbiAgICAgIHRoaXMuX2luc3RhbmNlLm9uTWVzc2FnZVxyXG4gICAgICAmJiB0aGlzLl9pbnN0YW5jZS5vbk1lc3NhZ2UoZS5tZXNzYWdlKSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuZWRpdGluZyQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+XHJcbiAgICAgIGUuaWQgPT09IHRoaXMubW9kZWwuaWQgJiZcclxuICAgICAgdGhpcy5fZWRpdGluZyhlLnVzZXJJZCkpO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLnVwZGF0ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgaWYgKGUubW9kZWwuaWQgPT09IHRoaXMubW9kZWwuaWQpIHtcclxuICAgICAgICAoZS51c2VySWQgIT09IHRoaXMuX3Nlc3Npb24udXNlcklkKSAmJlxyXG4gICAgICAgICAgdGhpcy5fYWNjb3VudHMuZ2V0KGUudXNlcklkKS5zdWJzY3JpYmUodSA9PlxyXG4gICAgICAgICAgICB0aGlzLl9zbmFja2Jhci5vcGVuKHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ01haWxWZXJzaW9uVXBkYXRlJywgdGhpcy5tb2RlbC5udW1iZXIsIHUubmFtZSksXHJcbiAgICAgICAgICAgICAgdGhpcy5fdHJhbnNsYXRlLmdldCgnT0snKSwge1xyXG4gICAgICAgICAgICAgIGRpcmVjdGlvbjogdGhpcy5fc2Vzc2lvbi5kaXJlY3Rpb24sXHJcbiAgICAgICAgICAgIH0pLm9uQWN0aW9uKCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLl9hc3NpZ24oZS5tb2RlbCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5fcmVzZXQoKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWFpbGJveC5jaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKGUgPT4gIXRoaXMud29ya2luZyAmJiBlLmlkID09PSB0aGlzLm1vZGVsLmlkICYmIHRoaXMuX2Fzc2lnbihlKSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2VkaXRpbmcodXNlcklkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2FjY291bnRzLmdldCh1c2VySWQpLnN1YnNjcmliZSh1ID0+IHtcclxuICAgICAgdGhpcy5lZGl0aW5nID0gdGhpcy5fdHJhbnNsYXRlLnBlcnNvbmFsaXplKCdFZGl0aW5nJywgdS5nZW5kZXIsIHUubmFtZSk7XHJcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9lZGl0aW5nVGFzayk7XHJcbiAgICAgIHRoaXMuX2VkaXRpbmdUYXNrID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLmVkaXRpbmcgPSBudWxsLCBFRElUSU5HX01FU1NBR0VfREVMQVkpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKF9jaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLl9mb3JtUmVmICYmIHRoaXMuX2Zvcm1SZWYuX2Rlc3Ryb3koKTtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5mb3Jtcy5maW5kKGYgPT4gZi5uYW1lID09PSB0aGlzLm1vZGVsLmZvcm1JZCk7XHJcbiAgICB0aGlzLmhlbHAgPSB0aGlzLmZvcm0uZ3VpZGU7XHJcbiAgICBpZiAoIXRoaXMuZm9ybS50ZW1wbGF0ZSlcclxuICAgICAgdGhyb3cgKGBGb3JtICcke3RoaXMuZm9ybS5uYW1lfScgbW9kZWwgbWlzc2luZyAnW1RlbXBsYXRlKCldJyBhdHRyaWJ1dGUuYCk7XHJcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5fY2YucmVzb2x2ZSh0aGlzLmZvcm0udGVtcGxhdGUpO1xyXG4gICAgdGhpcy5fZm9ybVJlZiA9IG5ldyBGb3JtUmVmKHRoaXMuZm9ybSk7XHJcbiAgICB0aGlzLl9mb3JtUmVmLl9uYXZpZ2F0aW5nLlxyXG4gICAgICBzdWJzY3JpYmUocCA9PiB0aGlzLnBhZ2UgPSBwKTtcclxuICAgIHRoaXMuX2Zvcm1SZWYuX3N0YXRlQ2hhbmdlLnBpcGUoc3RhcnRXaXRoKCkpLlxyXG4gICAgICBzdWJzY3JpYmUoKCkgPT4gdGhpcy5oZWxwID0gdGhpcy5fZm9ybVJlZi5oZWxwKTtcclxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKFtcclxuICAgICAge1xyXG4gICAgICAgIHByb3ZpZGU6IEZvcm1SZWYsIHVzZVZhbHVlOiB0aGlzLl9mb3JtUmVmXHJcbiAgICAgIH0sIHtcclxuICAgICAgICBwcm92aWRlOiBET0NVTUVOVF9NT0RFTCwgdXNlVmFsdWU6IHRoaXMubW9kZWxcclxuICAgICAgfVxyXG4gICAgXSwgdGhpcy5faW5qZWN0b3JcclxuICAgICk7XHJcbiAgICB0aGlzLl9jb250YWluZXIuY2xlYXIoKTtcclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuX2NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSwgMCwgaW5qZWN0b3IpO1xyXG5cclxuICAgIHRoaXMuX2luc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIEZvcm1Db21wb25lbnQ8YW55PjtcclxuICAgIHRoaXMuX2Zvcm1SZWYuX21vZGUgPSB0aGlzLl9pbnN0YW5jZS5tb2RlID0gdGhpcy5tb2RlO1xyXG4gICAgdGhpcy5faW5zdGFuY2UuZm9ybS5zdGF0dXNDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBjb25zdCB7IGRpcnR5LCB2YWxpZCB9ID0gdGhpcy5faW5zdGFuY2UuZm9ybTtcclxuICAgICAgdGhpcy5kaXJ0eSA9IGRpcnR5O1xyXG4gICAgICB0aGlzLmRpcnR5Q2hhbmdlLmVtaXQoZGlydHkpO1xyXG4gICAgICB0aGlzLnZhbGlkID0gdmFsaWQ7XHJcbiAgICAgIHRoaXMudmFsaWRDaGFuZ2UuZW1pdCh2YWxpZCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMubW9kZWwuZHJhZnQgJiYgdGhpcy5faW5zdGFuY2UuZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSksXHJcbiAgICAgIC8vZGVib3VuY2VUaW1lKFJFUE9SVF9FRElUSU5HX0RFTEFZKSxcclxuICAgICAgLy90YXAoKCkgPT4gIXRoaXMud29ya2luZyAmJiB0aGlzLl9tYWlsYm94LmVkaXRpbmcodGhpcy5tb2RlbC5kb2N1bWVudElkKSksXHJcbiAgICAgIGRlYm91bmNlVGltZShBVVRPX1NBVkVfREVMQVkpXHJcbiAgICApLnN1YnNjcmliZSgoKSA9PiAhdGhpcy53b3JraW5nICYmIHRoaXMuZGlydHkgJiZcclxuICAgICAgdGhpcy5zYXZlKGZhbHNlKS5zdWJzY3JpYmUoKSk7XHJcbiAgICB0aGlzLl9pbnN0YW5jZS5vbkJpbmQodGhpcy5tb2RlbCk7XHJcbiAgICB0aGlzLl9yZXNldCgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9maWxlQ2hhbmdlTGlzdGVuZXIoZXY6IEV2ZW50KSB7XHJcbiAgICBjb25zdCB7IGZpbGVzIH0gPSBldi5zcmNFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQsXHJcbiAgICAgIGFycjogRmlsZVtdID0gW107XHJcbiAgICBpZiAoZmlsZXMgJiYgZmlsZXMubGVuZ3RoKSB7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspXHJcbiAgICAgICAgYXJyLnB1c2goZmlsZXNbaV0pO1xyXG4gICAgICB0aGlzLnVwbG9hZChhcnIpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fZmlsZUVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5hdHRhY2htZW50cy5uZ09uQ2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfYXBwbHkoKSB7XHJcbiAgICBkZWVwQXNzaWduKHRoaXMubW9kZWwubW9kZWwsIHRoaXMuX2luc3RhbmNlLmZvcm0udmFsdWUpO1xyXG4gIH1cclxuICBuYXZpZ2F0ZShwYWdlOiBhbnkpIHtcclxuICAgIGNvbnN0IHBhZ2VuID0gcGFyc2VJbnQocGFnZSk7XHJcbiAgICB0aGlzLl9mb3JtUmVmLl9uYXZpZ2F0aW5nLm5leHQoaXNOYU4ocGFnZW4pID8gcGFnZSA6IHBhZ2VuKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZ2V0QWN0aW9uQWRqZWN0aXZlKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBhY3Rpb24gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucy5maW5kKGEgPT4gYS5uYW1lID09PSBuYW1lKTtcclxuICAgIHJldHVybiAoYWN0aW9uLmFkamVjdGl2ZSB8fCBhY3Rpb24ucGFzdCB8fCBhY3Rpb24udGl0bGUpLnRvTG93ZXJDYXNlKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBmZWVkYmFja1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX3NhdmUoZmVlZGJhY2s6IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIHRoaXMud29ya2luZyA9IHRydWU7XHJcbiAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdCh0cnVlKTtcclxuICAgIGNvbnN0IHsgaWQsIHZlcnNpb24sIGZvcm1JZCwgbW9kZWwsIGRyYWZ0IH0gPSB0aGlzLm1vZGVsO1xyXG4gICAgcmV0dXJuIHRoaXMuX21haWxib3guc2F2ZShpZCwgZm9ybUlkLCB2ZXJzaW9uLCBtb2RlbCkucGlwZShcclxuICAgICAgdGFwKG0gPT4ge1xyXG4gICAgICAgIHRoaXMuX2Fzc2lnbihtLCBmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5fcmVzZXQoKTtcclxuICAgICAgICBmZWVkYmFjayAmJlxyXG4gICAgICAgICAgdGhpcy5fc2IudG9hc3QoZHJhZnQgPyAnRHJhZnRTYXZlZCcgOiAnQ2hhbmdlc1NhdmVkJyk7XHJcbiAgICAgICAgdGhpcy5zYXZlZC5lbWl0KCk7XHJcbiAgICAgICAgdGhpcy53b3JraW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICB9LCBlID0+IHtcclxuICAgICAgICBmZWVkYmFjayAmJlxyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXJyb3IoZSwgJ1NhdmVFcnInKTtcclxuICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgIH0pLCBtYXAoKCkgPT4gdHJ1ZSkpO1xyXG4gIH1cclxuICB1cGxvYWQoZmlsZXM6IEZpbGVbXSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICBsZXQgZXhpc3RzOiBib29sZWFuO1xyXG4gICAgY29uc3Qgb2JzZXJ2YWJsZXMgPSBbXTtcclxuICAgIGZpbGVzLmZvckVhY2goZiA9PiB7XHJcbiAgICAgIGlmICghZXhpc3RzKVxyXG4gICAgICAgIGV4aXN0cyA9IHRoaXMubW9kZWwuYXR0YWNobWVudHMuc29tZShhID0+IGEuZmlsZU5hbWUgPT09IGYubmFtZSAmJiAhYS5kZWxldGVkICYmICEoYSBhcyBBdHRhY2htZW50RXh0cmEpLmZhaWxlZCk7XHJcbiAgICAgIGNvbnN0IHJldHJ5ID0gdGhpcy5tb2RlbC5hdHRhY2htZW50cy5maW5kSW5kZXgoYSA9PiBhLmZpbGVOYW1lID09PSBmLm5hbWUgJiYgKGEgYXMgQXR0YWNobWVudEV4dHJhKS5mYWlsZWQpO1xyXG4gICAgICBpZiAocmV0cnkgPiAtMSlcclxuICAgICAgICB0aGlzLm1vZGVsLmF0dGFjaG1lbnRzLnNwbGljZShyZXRyeSwgMSk7XHJcbiAgICAgIGNvbnN0IG1vZGVsID0gdGhpcy5fY29uc3RydWN0QXR0YWNobWVudChmKTtcclxuICAgICAgY29uc3Qgb2JzZXJ2YWJsZSA9IHRoaXMuX21haWxib3gudXBsb2FkKHRoaXMubW9kZWwuaWQsIHRoaXMubW9kZWwuZm9ybUlkLCB0aGlzLm1vZGVsLnZlcnNpb24sIGYpLlxyXG4gICAgICAgIHBpcGUodGFwKChyOiBBdHRhY2htZW50KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9zYi50b2FzdChcclxuICAgICAgICAgICAgIWV4aXN0cyA/ICdVcGxvYWRPaycgOiAnVXBsb2FkVmVyc2lvbk9rJywgZi5uYW1lKTtcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24obW9kZWwsIHIsIHsgcHJvZ3Jlc3M6IG51bGwsIH0pO1xyXG4gICAgICAgICAgdGhpcy5tb2RlbC5hdHRhY2htZW50cy5wdXNoKG1vZGVsKTtcclxuICAgICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgIH0pLCBjYXRjaEVycm9yKGUgPT4ge1xyXG4gICAgICAgICAgdGhpcy5faGFuZGxlRXJyb3IoZSwgJ1VwbG9hZEZhaWxlZCcsIGYubmFtZSk7XHJcbiAgICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICBvYnNlcnZhYmxlcy5wdXNoKG9ic2VydmFibGUpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gZm9ya0pvaW4ob2JzZXJ2YWJsZXMpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb25zdHJ1Y3RBdHRhY2htZW50KGZpbGU6IEZpbGUpIHtcclxuICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCksIHV0YyA9IG5ldyBEYXRlKG5vdy5nZXRUaW1lKCkgKyBub3cuZ2V0VGltZXpvbmVPZmZzZXQoKSAqIDYwMDAwKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHVzZXJJZDogdGhpcy5fc2Vzc2lvbi5wcm9maWxlLnVzZXJJZCxcclxuICAgICAgYnlJZDogdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmJ5SWQsXHJcbiAgICAgIHRpbWU6IHV0Yy50b0pTT04oKSBhcyBhbnksXHJcbiAgICAgIGZpbGVOYW1lOiBmaWxlLm5hbWUsXHJcbiAgICAgIGNvbnRlbnRUeXBlOiBmaWxlLnR5cGVcclxuICAgIH0gYXMgQXR0YWNobWVudDtcclxuICB9XHJcbiAgdGFnKGV2dDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5fcG9wdXAub3BlbihUYWdzQ29tcG9uZW50LCAoZXZ0LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQpLCB7XHJcbiAgICAgIGRhdGE6IHRoaXMubW9kZWxcclxuICAgIH0pXHJcbiAgfVxyXG4gIHByaXZhdGUgX3Jlc2V0KCkge1xyXG4gICAgZnVuY3Rpb24gc29ydEFjdGlvbnMoYTogQWN0aW9uLCBiOiBBY3Rpb24pIHtcclxuICAgICAgaWYgKGEuZ3JvdXAgJiYgYi5ncm91cCAmJiBhLmdyb3VwICE9PSBiLmdyb3VwKVxyXG4gICAgICAgIHJldHVybiBhLmdyb3VwIDwgYi5ncm91cCA/IC0xIDogMTtcclxuICAgICAgcmV0dXJuIDA7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9pbnN0YW5jZS5mb3JtLnJlc2V0KHRoaXMubW9kZWwubW9kZWwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIHRoaXMudmFsaWQgPSB0aGlzLl9pbnN0YW5jZS5mb3JtLnZhbGlkO1xyXG4gICAgdGhpcy52YWxpZENoYW5nZS5lbWl0KHRoaXMudmFsaWQpO1xyXG4gICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xyXG4gICAgdGhpcy5kaXJ0eUNoYW5nZS5lbWl0KHRoaXMuZGlydHkpO1xyXG4gICAgdGhpcy5hY3Rpb25zID0gdGhpcy5tb2RlbC5hY3Rpb25zLmxlbmd0aCA/XHJcbiAgICAgIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5hY3Rpb25zLlxyXG4gICAgICAgIGZpbHRlcihhID0+IHRoaXMubW9kZWwuYWN0aW9ucy5pbmRleE9mKGEubmFtZSkgPiAtMSkuXHJcbiAgICAgICAgc29ydChzb3J0QWN0aW9ucykgOiBbXTtcclxuICB9XHJcblxyXG4gIGd1aWRlKG5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fZ3VpZGUuc3RhcnQobmFtZSk7XHJcbiAgfVxyXG4gIGF0dGFjaCgpIHtcclxuICAgIGNvbnN0IGVsZW0gPSB0aGlzLl9maWxlRWxlbWVudC5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XHJcbiAgICBlbGVtLmNsaWNrKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogQHBhcmFtIGZlZWRiYWNrXHJcbiAgICovXHJcbiAgc2F2ZShmZWVkYmFjayA9IHRydWUpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIHRoaXMuX2FwcGx5KCk7XHJcbiAgICBjb25zdCBzYXZlQXJncyA9IHsgY2FuY2VsOiBmYWxzZSB9IGFzIFNhdmVFdmVudEFyZ3M7XHJcbiAgICB0aGlzLl9mb3JtUmVmLl9zYXZpbmcubmV4dChzYXZlQXJncyk7XHJcbiAgICBpZiAoc2F2ZUFyZ3MuY2FuY2VsKVxyXG4gICAgICByZXR1cm4gb2YoZmFsc2UpO1xyXG4gICAgaWYgKHRoaXMuX2luc3RhbmNlLm9uU2F2ZSkge1xyXG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9pbnN0YW5jZS5vblNhdmUoKTtcclxuICAgICAgaWYgKGlzQm9vbGVhbihyZXN1bHQpKSB7XHJcbiAgICAgICAgaWYgKCFyZXN1bHQpIHtcclxuICAgICAgICAgIGZlZWRiYWNrICYmIHRoaXMuX3NiLnRvYXN0KCdWYWxpZGF0ZUVycicpO1xyXG4gICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoaXNQcm9taXNlKHJlc3VsdCkpXHJcbiAgICAgICAgcmV0dXJuIGZyb20ocmVzdWx0KS5waXBlKHN3aXRjaE1hcCgoKSA9PiB0aGlzLl9zYXZlKGZlZWRiYWNrKSkpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5waXBlKHN3aXRjaE1hcCgoKSA9PiB0aGlzLl9zYXZlKGZlZWRiYWNrKSkpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX3NhdmUoZmVlZGJhY2spO1xyXG4gIH1cclxuICBmbGFnKCkge1xyXG4gICAgY29uc3QgZXh0cmEgPSB0aGlzLm1vZGVsIGFzIEl0ZW1FeHRyYSwgeyBmbGFnIH0gPSB0aGlzLm1vZGVsO1xyXG4gICAgZXh0cmEud29ya2luZyA9IHRydWU7XHJcbiAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5fbWFpbGJveC5mbGFnKHRoaXMubW9kZWwuaWQsICFmbGFnKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLm1vZGVsLmZsYWcgPSAhZmxhZztcclxuICAgICAgZXh0cmEud29ya2luZyA9IGZhbHNlO1xyXG4gICAgfSwgKCkgPT4ge1xyXG4gICAgICBleHRyYS53b3JraW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHN1Ym1pdCgpIHtcclxuICAgIHRoaXMuX2FwcGx5KCk7XHJcbiAgICBjb25zdCB7IGlkLCB2ZXJzaW9uLCBmb3JtSWQsIG1vZGVsLCBudW1iZXIgfSA9IHRoaXMubW9kZWw7XHJcbiAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICByZXR1cm4gdGhpcy5fbWFpbGJveC5zdWJtaXQoaWQsIHZlcnNpb24sIGZvcm1JZCwgbW9kZWwpLlxyXG4gICAgICBwaXBlKHRhcCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5fc2IudG9hc3QoJ1N1Ym1pdHRlZCcsIG51bWJlcik7XHJcbiAgICAgICAgdGhpcy53b3JraW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICB9LCBlID0+IHtcclxuICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5faGFuZGxlRXJyb3IoZSwgJ1N1Ym1pdEVycicpO1xyXG4gICAgICB9KSk7XHJcbiAgfVxyXG4gIGJhY2soKSB7XHJcbiAgICB0aGlzLl9mb3JtUmVmLm5hdmlnYXRlKCk7XHJcbiAgfVxyXG4gIGRpc2NhcmQoKSB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIHRoaXMuX3NiLmFzaygnRGlzY2FyZEFzaycsICdEaXNjYXJkJywge1xyXG4gICAgICAgIGNvbG9yOiAnd2FybicsIG9rOiAnRGlzY2FyZCdcclxuICAgICAgfSkuc3Vic2NyaWJlKG9rID0+IHtcclxuICAgICAgICBpZiAob2spIHtcclxuICAgICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KHRydWUpO1xyXG4gICAgICAgICAgdGhpcy5fbWFpbGJveC5kZWxldGUodGhpcy5tb2RlbC5pZCkuXHJcbiAgICAgICAgICAgIHN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZS5uZXh0KCk7XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBlID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy53b3JraW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5faGFuZGxlRXJyb3IoZSwgJ05ldHdvcmtFcnInKTtcclxuICAgICAgICAgICAgICAgIG9ic2VydmUuZXJyb3IoKTtcclxuICAgICAgICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBzZW5kKGFjdGlvbjogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIHRoaXMuX2RpYWxvZy5vcGVuKEFjdGlvbkRpYWxvZywge1xyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIGFjdGlvbixcclxuICAgICAgICAgIGl0ZW06IHRoaXMubW9kZWxcclxuICAgICAgICB9IGFzIEFjdGlvbkRpYWxvZ0RhdGEsXHJcbiAgICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWVcclxuICAgICAgfSkuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoYXJncyA9PiB7XHJcbiAgICAgICAgaWYgKGFyZ3MpIHtcclxuICAgICAgICAgIHRoaXMuX2FwcGx5KCk7XHJcbiAgICAgICAgICBjb25zdCBwYXJhbXMgPSBxdWVyeVBhcmFtcyhhcmdzKTtcclxuICAgICAgICAgIHRoaXMud29ya2luZyA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLndvcmtpbmdDaGFuZ2UuZW1pdCh0cnVlKTtcclxuICAgICAgICAgIGNvbnN0IHsgaWQsIHZlcnNpb24sIG51bWJlciwgbW9kZWwsIGZvcm1JZCB9ID0gdGhpcy5tb2RlbDtcclxuICAgICAgICAgIHJldHVybiB0aGlzLl9tYWlsYm94LnNlbmQoaWQsIHZlcnNpb24sIGZvcm1JZCwgbW9kZWwsIGFjdGlvbiwgcGFyYW1zKS5cclxuICAgICAgICAgICAgc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnN0IG9yaWdpbiA9IHIucmVjaXBpZW50cy5maWx0ZXIociA9PiByLm9yaWdpbklkID09PSBpZCk7XHJcbiAgICAgICAgICAgICAgaWYgKG9yaWdpbi5sZW5ndGgpXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hY2NvdW50cy5nZXRBbGwob3JpZ2luLm1hcChyID0+IHIudXNlcklkKSkuc3Vic2NyaWJlKHUgPT5cclxuICAgICAgICAgICAgICAgICAgdGhpcy5fc2IudG9hc3QoJ1NlbnRUbycsIG51bWJlciwgdGhpcy5fZ2V0QWN0aW9uQWRqZWN0aXZlKGFjdGlvbiksIHRoaXMuX3RyYW5zbGF0ZS5qb2luKHUubWFwKHUgPT4gdS5uYW1lKSkpKTtcclxuICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zYi50b2FzdCgnU2VudCcsIG51bWJlciwgdGhpcy5fZ2V0QWN0aW9uQWRqZWN0aXZlKGFjdGlvbikpO1xyXG4gICAgICAgICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICAgICAgICBvYnNlcnZlLm5leHQoKTtcclxuICAgICAgICAgICAgICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgIH0sIGUgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMud29ya2luZ0NoYW5nZS5lbWl0KGZhbHNlKTtcclxuICAgICAgICAgICAgICB0aGlzLl9oYW5kbGVFcnJvcihlLCAnU2VuZEVycicpO1xyXG4gICAgICAgICAgICAgIG9ic2VydmUuZXJyb3IoKTtcclxuICAgICAgICAgICAgICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIG9ic2VydmUuZXJyb3IoKTtcclxuICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29weSgpIHtcclxuICAgIHRoaXMuX21haWxib3guY29weSh0aGlzLm1vZGVsLmRvY3VtZW50SWQpLnN1YnNjcmliZShpID0+IHtcclxuICAgICAgdGhpcy5fc2IudG9hc3QoJ0NvcGllZCcsIGkubnVtYmVyIHx8IHRoaXMuZm9ybS50aXRsZSk7XHJcbiAgICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ21haWxib3gvaScsIGkuaWQuZW5jb2RlSWQoKV0sIHtcclxuICAgICAgICBzdGF0ZTogeyBpdGVtOiBpIH1cclxuICAgICAgfSk7XHJcbiAgICB9LCAoKSA9PiB0aGlzLl9zYi5lcnJvcigpKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBAcGFyYW0gcmVzcG9uc2VcclxuICAgKiBAcGFyYW0gaXRlbVxyXG4gICAqIEBwYXJhbSBtZXNzYWdlIHJlc291cmNlXHJcbiAgICogQHBhcmFtIGFyZ3NcclxuICAgKi9cclxuICBwcml2YXRlIF9oYW5kbGVFcnJvcihyZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UgfCBhbnksIG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogc3RyaW5nW10pIHtcclxuICAgIGlmIChyZXNwb25zZS5jb25zdHJ1Y3Rvci5uYW1lID09PSAnUG9zaXRpb25FcnJvcicpXHJcbiAgICAgIHN3aXRjaCAocmVzcG9uc2UuY29kZSkge1xyXG4gICAgICAgIGNhc2UgMTpcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdVc2VyRGVuaWVkR2VvRXJyJyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ0dlb0VycicpO1xyXG4gICAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIHN3aXRjaCAocmVzcG9uc2Uuc3RhdHVzKSB7XHJcbiAgICAgICAgY2FzZSA0MDE6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignVW5hdXRob3JpemVkJyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIDQwOTogLy8gdmVyc2lvbiBjaGFuZ2VcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgY29uc3Qgb2JqID0gcmVzcG9uc2UuZXJyb3IgLyogc2VyaWFsaXplZCBtb2RlbCAqLyBhcyBSZWNpcGllbnRNb2RlbDxhbnk+O1xyXG4gICAgICAgICAgICBvYmogJiYgdGhpcy5fYXNzaWduKG9iaik7XHJcbiAgICAgICAgICAgIHRoaXMuX3Jlc2V0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdWZXJzaW9uRXJyJywgdGhpcy5tb2RlbC5udW1iZXIpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICBjYXNlIDQwNjogLy8gdmFsaWRhdGlvblxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3JTdHJpbmcocmVzcG9uc2UuZXJyb3IpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSA0MjY6IC8vIGxpY2Vuc2UgXHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignTGljZW5zZUVycicpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKG1lc3NhZ2UsIC4uLmFyZ3MpO1xyXG4gICAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX2Fzc2lnbihtb2RlbDogUmVjaXBpZW50TW9kZWwsIGVtaXRFdmVudD86IGJvb2xlYW4pIHtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcy5tb2RlbCwgbW9kZWwsIHsgLy8gcHJlc2VydmUgb2JqZWN0IHJlZiBpbiBtb2RlbFxyXG4gICAgICBtb2RlbDogZGVlcEFzc2lnbih0aGlzLm1vZGVsLm1vZGVsLCBtb2RlbC5tb2RlbClcclxuICAgIH0pO1xyXG4gICAgaWYgKGVtaXRFdmVudCAhPT0gZmFsc2UpIHtcclxuICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xyXG4gICAgICB0aGlzLl9mb3JtUmVmLl9tb2RlbENoYW5nZS5uZXh0KHRoaXMubW9kZWwpO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1oZWFkZXJcIj5cclxuICA8Yml6ZG9jLXBlb3BsZSBbbW9kZWxdPVwibW9kZWxcIiAqbmdJZj1cIm1vZGUgIT09ICdjb21wb3NlJyAmJiBjb250YWN0c1wiPjwvYml6ZG9jLXBlb3BsZT5cclxuICA8Yml6ZG9jLWF0dGFjaG1lbnRzIFttb2RlbF09XCJtb2RlbFwiIFtpbmNsdWRlRGVsZXRlZF09XCJ0cnVlXCIgW3ZpZXdlZEluZGljYXRvcl09XCJmYWxzZVwiPjwvYml6ZG9jLWF0dGFjaG1lbnRzPlxyXG4gIDxkaXYgKm5nSWY9XCIhbW9kZWwucmVwbGllZCAmJiBtb2RlICE9PSAnY29tcG9zZScgJiYgbW9kZWwubm90ZVwiIGNsYXNzPVwiY29tcG9zZS1ub3RlXCI+XHJcbiAgICA8bWF0LWljb24gY29sb3I9XCJwcmltYXJ5XCI+aW5mbzwvbWF0LWljb24+IDxzcGFuIGNsYXNzPVwibWF0LWJvZHktMlwiPnt7bW9kZWwubm90ZX19PC9zcGFuPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJtb2RlbC50YWdzXCI+XHJcbiAgICA8c3BhbiAqbmdGb3I9XCJsZXQgdGFnIG9mIG1vZGVsLnRhZ3NcIiBjbGFzcz1cIm1hdC1jaGlwIG1hdC1zdGFuZGFyZC1jaGlwIHNtYWxsLWNoaXBcIj57e3RhZ319PC9zcGFuPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPG5nLWNvbnRhaW5lciAjY29tcG9uZW50PjwvbmctY29udGFpbmVyPlxyXG48ZGl2ICpuZ0lmPVwiZWRpdGluZ1wiPnt7IGVkaXRpbmcgfX08L2Rpdj5cclxuPGZvcm0gc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj48aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZSBtdWx0aXBsZSAvPjwvZm9ybT5cclxuIl19
@@ -14,6 +14,24 @@ import * as i7 from "@angular/material/progress-bar";
14
14
  import * as i8 from "@angular/material/list";
15
15
  import * as i9 from "@angular/material/icon";
16
16
  import * as i10 from "../core/pipes/translate.pipe";
17
+ function ComposeMenuComponent_mat_list_item_8_Template(rf, ctx) { if (rf & 1) {
18
+ const _r3 = i0.ɵɵgetCurrentView();
19
+ i0.ɵɵelementStart(0, "mat-list-item", 5);
20
+ i0.ɵɵlistener("click", function ComposeMenuComponent_mat_list_item_8_Template_mat_list_item_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r3); const f_r1 = restoredCtx.$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.create(f_r1.name)); });
21
+ i0.ɵɵelementStart(1, "mat-icon", 6);
22
+ i0.ɵɵtext(2);
23
+ i0.ɵɵelementEnd();
24
+ i0.ɵɵelementStart(3, "span", 7);
25
+ i0.ɵɵtext(4);
26
+ i0.ɵɵelementEnd()();
27
+ } if (rf & 2) {
28
+ const f_r1 = ctx.$implicit;
29
+ i0.ɵɵattribute("data-help", f_r1.name + "-form");
30
+ i0.ɵɵadvance(2);
31
+ i0.ɵɵtextInterpolate(f_r1.icon || "description");
32
+ i0.ɵɵadvance(2);
33
+ i0.ɵɵtextInterpolate(f_r1.title);
34
+ } }
17
35
  const DEBOUNCE_SEARCH_TIME = 200;
18
36
  export class ComposeMenuComponent {
19
37
  constructor(_session, _mailbox, _ps, _router) {
@@ -93,12 +111,30 @@ export class ComposeMenuComponent {
93
111
  this._destroy.complete();
94
112
  }
95
113
  }
96
- ComposeMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ComposeMenuComponent, deps: [{ token: i1.SessionService }, { token: i2.MailboxService }, { token: i3.PromptService }, { token: i4.PanesRouter }], target: i0.ɵɵFactoryTarget.Component });
97
- ComposeMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: { change: "change" }, ngImport: i0, template: "<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"working ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <span class=\"mat-subheader\">BizDoc</span>\r\n <h1 class=\"mat-display-1\">{{'New'|translate}}</h1>\r\n\r\n <mat-nav-list>\r\n <mat-list-item *ngFor=\"let f of forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListIcon>{{f.icon || 'description'}}</mat-icon>\r\n <span matLine>{{f.title}}</span>\r\n <!--<mat-spinner radius=\"25\" *ngIf=\"creating===f.name\"></mat-spinner>-->\r\n </mat-list-item>\r\n </mat-nav-list>\r\n</div>\r\n", styles: ["h1{margin:0 16px}form{padding:8px}hr{opacity:.4}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.MatLine, selector: "[mat-line], [matLine]" }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { kind: "component", type: i8.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i8.MatListIconCssMatStyler, selector: "[mat-list-icon], [matListIcon]" }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }], animations: [] });
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ComposeMenuComponent, decorators: [{
99
- type: Component,
100
- args: [{ selector: 'bizdoc-new-menu', animations: [], template: "<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"working ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <span class=\"mat-subheader\">BizDoc</span>\r\n <h1 class=\"mat-display-1\">{{'New'|translate}}</h1>\r\n\r\n <mat-nav-list>\r\n <mat-list-item *ngFor=\"let f of forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListIcon>{{f.icon || 'description'}}</mat-icon>\r\n <span matLine>{{f.title}}</span>\r\n <!--<mat-spinner radius=\"25\" *ngIf=\"creating===f.name\"></mat-spinner>-->\r\n </mat-list-item>\r\n </mat-nav-list>\r\n</div>\r\n", styles: ["h1{margin:0 16px}form{padding:8px}hr{opacity:.4}\n"] }]
101
- }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.MailboxService }, { type: i3.PromptService }, { type: i4.PanesRouter }]; }, propDecorators: { change: [{
102
- type: Output
103
- }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL25ldy1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9uZXctbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBTyxNQUFNLGdCQUFnQixDQUFDO0FBS3pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBR25ELE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDO0FBT2pDLE1BQU0sT0FBTyxvQkFBb0I7SUFRL0IsWUFBb0IsUUFBd0IsRUFDbEMsUUFBd0IsRUFDeEIsR0FBa0IsRUFDbEIsT0FBb0I7UUFIVixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUNsQyxhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQ2xCLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFWWCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV0QyxXQUFNLEdBQUcsSUFBSSxXQUFXLENBQVMsSUFBSSxDQUFDLENBQUM7UUFFL0IsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDL0IsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7SUFLakIsQ0FBQztJQUNuQyxRQUFRO1FBQ04sSUFBSSxD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dCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEZvcm0sIEhlYWRlck1vZGVsLCBSZWNpcGllbnRNb2RlbCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tICcuLi9jb3JlL3Nsb3RzL3JvdXRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT3BlblBvbGljeSB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IE1haWxib3hTZXJ2aWNlLCBQb3NpdGlvbkVycm9yIH0gZnJvbSAnLi4vY29yZS9tYWlsYm94LnNlcnZpY2UnO1xyXG5cclxuY29uc3QgREVCT1VOQ0VfU0VBUkNIX1RJTUUgPSAyMDA7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLW5ldy1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmV3LW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL25ldy1tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbXBvc2VNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgZm9ybXM6IEZvcm1bXTtcclxuICByZWFkb25seSBzZWFyY2ggPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPihudWxsKTtcclxuICBpdGVtczogT2JzZXJ2YWJsZTxIZWFkZXJNb2RlbFtdPjtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF93b3JraW5nID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICB3b3JraW5nOiBib29sZWFuO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfbWFpbGJveDogTWFpbGJveFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wczogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXIpIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtcyA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5mb3Jtcy5maWx0ZXIoZiA9PiBmLmNyZWF0YWJsZSk7XHJcbiAgICB0aGlzLml0ZW1zID0gdGhpcy5zZWFyY2gudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLFxyXG4gICAgICBkZWJvdW5jZVRpbWUoREVCT1VOQ0VfU0VBUkNIX1RJTUUpLFxyXG4gICAgICBzd2l0Y2hNYXAodiA9PiB0aGlzLl9tYWlsYm94LmZpbmRBbGwodiA/IHsgY29udGFpbnM6IHYgfSA6IHsgdHlwZTogJ3JlY2VudCcgfSwgeyB0YWtlOiA1IH0pKSk7XHJcbiAgICB0aGlzLl93b3JraW5nLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLCBkZWJvdW5jZVRpbWUoMjAwKSkuc3Vic2NyaWJlKHYgPT4gdGhpcy53b3JraW5nID0gdik7XHJcbiAgfVxyXG4gIGNsZWFyKCkgeyB0aGlzLnNlYXJjaC5zZXRWYWx1ZShudWxsKSB9XHJcbiAgY3JlYXRlKGZvcm06IHN0cmluZykge1xyXG4gICAgdGhpcy5fd29ya2luZy5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5fbWFpbGJveC5jcmVhdGUoZm9ybSkuc3Vic2NyaWJlKGkgPT4ge1xyXG4gICAgICB0aGlzLl9uYXYoaSk7XHJcbiAgICAgIHRoaXMuX3dvcmtpbmcubmV4dChmYWxzZSlcclxuICAgIH0sIGUgPT4ge1xyXG4gICAgICB0aGlzLl93b3JraW5nLm5leHQoZmFsc2UpXHJcbiAgICAgIHRoaXMuX2Vycm9yKGUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGNvcHkoaXRlbTogSGVhZGVyTW9kZWwpIHtcclxuICAgIHRoaXMuX3dvcmtpbmcubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuc2VhcmNoLmRpc2FibGUoKTtcclxuICAgIHRoaXMuX21haWxib3guY29weShpdGVtLmRvY3VtZW50SWQpLlxyXG4gICAgICBzdWJzY3JpYmUoaSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2guc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgICAgdGhpcy5zZWFyY2guZW5hYmxlKCk7XHJcbiAgICAgICAgdGhpcy5fd29ya2luZy5uZXh0KGZhbHNlKTtcclxuICAgICAgICB0aGlzLl9wcy50b2FzdCgnQ29waWVkJywgaS5udW1iZXIpO1xyXG4gICAgICAgIHRoaXMuX25hdihpKTtcclxuICAgICAgfSwgZSA9PiB7XHJcbiAgICAgICAgdGhpcy5fd29ya2luZy5uZXh0KGZhbHNlKTtcclxuICAgICAgICB0aGlzLnNlYXJjaC5lbmFibGUoKTtcclxuICAgICAgICB0aGlzLl9lcnJvcihlKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX25hdihpdGVtOiBSZWNpcGllbnRNb2RlbDxhbnk+KSB7XHJcbiAgICB0aGlzLmNoYW5nZS5lbWl0KGl0ZW0pO1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnbWFpbGJveC9pJywgaXRlbS5pZC5lbmNvZGVJZCgpXSxcclxuICAgICAge1xyXG4gICAgICAgIHBvbGljeTogT3BlblBvbGljeS5DbGVhcixcclxuICAgICAgICBzdGF0ZTogeyBpdGVtIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZSBodHRwIGVycm9yIHJlc3BvbnNlXHJcbiAgICogQHBhcmFtIGVcclxuICAgKi9cclxuICBwcml2YXRlIF9lcnJvcihlOiBhbnkgfCBQb3NpdGlvbkVycm9yKSB7XHJcbiAgICBpZiAoZS5jb25zdHJ1Y3Rvci5uYW1lID09PSAnUG9zaXRpb25FcnJvcicpXHJcbiAgICAgIHN3aXRjaCAoKGUgYXMgUG9zaXRpb25FcnJvcikuY29kZSkge1xyXG4gICAgICAgIGNhc2UgMTpcclxuICAgICAgICAgIHRoaXMuX3BzLmVycm9yKCdVc2VyRGVuaWVkR2VvRXJyJyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgdGhpcy5fcHMuZXJyb3IoJ0dlb0VycicpO1xyXG4gICAgICB9XHJcbiAgICBlbHNlIHN3aXRjaCAoKGUgYXMgYW55KS5zdGF0dXMpIHtcclxuICAgICAgY2FzZSA0MDY6IC8vIHNlcnZlciBWYWxpZGF0aW9uRXhjZXB0aW9uIHRocm93blxyXG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAoZSBhcyBhbnkpLmVycm9yO1xyXG4gICAgICAgIHRoaXMuX3BzLmVycm9yU3RyaW5nKG1lc3NhZ2UpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuX3BzLmVycm9yKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJpbmRldGVybWluYXRlXCIgW3N0eWxlLnZpc2liaWxpdHldPVwid29ya2luZyA/ICd2aXNpYmxlJzonaGlkZGVuJ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxyXG4gIDxzcGFuIGNsYXNzPVwibWF0LXN1YmhlYWRlclwiPkJpekRvYzwvc3Bhbj5cclxuICA8aDEgY2xhc3M9XCJtYXQtZGlzcGxheS0xXCI+e3snTmV3J3x0cmFuc2xhdGV9fTwvaDE+XHJcblxyXG4gIDxtYXQtbmF2LWxpc3Q+XHJcbiAgICA8bWF0LWxpc3QtaXRlbSAqbmdGb3I9XCJsZXQgZiBvZiBmb3Jtc1wiIChjbGljayk9XCJjcmVhdGUoZi5uYW1lKVwiIFthdHRyLmRhdGEtaGVscF09XCJmLm5hbWUgKyAnLWZvcm0nXCI+XHJcbiAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SWNvbj57e2YuaWNvbiB8fCAnZGVzY3JpcHRpb24nfX08L21hdC1pY29uPlxyXG4gICAgICA8c3BhbiBtYXRMaW5lPnt7Zi50aXRsZX19PC9zcGFuPlxyXG4gICAgICA8IS0tPG1hdC1zcGlubmVyIHJhZGl1cz1cIjI1XCIgKm5nSWY9XCJjcmVhdGluZz09PWYubmFtZVwiPjwvbWF0LXNwaW5uZXI+LS0+XHJcbiAgICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgPC9tYXQtbmF2LWxpc3Q+XHJcbjwvZGl2PlxyXG4iXX0=
114
+ ComposeMenuComponent.ɵfac = function ComposeMenuComponent_Factory(t) { return new (t || ComposeMenuComponent)(i0.ɵɵdirectiveInject(i1.SessionService), i0.ɵɵdirectiveInject(i2.MailboxService), i0.ɵɵdirectiveInject(i3.PromptService), i0.ɵɵdirectiveInject(i4.PanesRouter)); };
115
+ ComposeMenuComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ComposeMenuComponent, selectors: [["bizdoc-new-menu"]], outputs: { change: "change" }, decls: 9, vars: 6, consts: [["mode", "indeterminate"], [1, "container"], [1, "mat-subheader"], [1, "mat-display-1"], [3, "click", 4, "ngFor", "ngForOf"], [3, "click"], ["matListIcon", ""], ["matLine", ""]], template: function ComposeMenuComponent_Template(rf, ctx) { if (rf & 1) {
116
+ i0.ɵɵelement(0, "mat-progress-bar", 0);
117
+ i0.ɵɵelementStart(1, "div", 1)(2, "span", 2);
118
+ i0.ɵɵtext(3, "BizDoc");
119
+ i0.ɵɵelementEnd();
120
+ i0.ɵɵelementStart(4, "h1", 3);
121
+ i0.ɵɵtext(5);
122
+ i0.ɵɵpipe(6, "translate");
123
+ i0.ɵɵelementEnd();
124
+ i0.ɵɵelementStart(7, "mat-nav-list");
125
+ i0.ɵɵtemplate(8, ComposeMenuComponent_mat_list_item_8_Template, 5, 3, "mat-list-item", 4);
126
+ i0.ɵɵelementEnd()();
127
+ } if (rf & 2) {
128
+ i0.ɵɵstyleProp("visibility", ctx.working ? "visible" : "hidden");
129
+ i0.ɵɵadvance(5);
130
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, "New"));
131
+ i0.ɵɵadvance(3);
132
+ i0.ɵɵproperty("ngForOf", ctx.forms);
133
+ } }, dependencies: [i5.NgForOf, i6.MatLine, i7.MatProgressBar, i8.MatNavList, i8.MatListItem, i8.MatListIconCssMatStyler, i9.MatIcon, i10.TranslatePipe], styles: ["h1[_ngcontent-%COMP%]{margin:0 16px}form[_ngcontent-%COMP%]{padding:8px}hr[_ngcontent-%COMP%]{opacity:.4}"], data: { animation: [] } });
134
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ComposeMenuComponent, [{
135
+ type: Component,
136
+ args: [{ selector: 'bizdoc-new-menu', animations: [], template: "<mat-progress-bar mode=\"indeterminate\" [style.visibility]=\"working ? 'visible':'hidden'\"></mat-progress-bar>\r\n<div class=\"container\">\r\n <span class=\"mat-subheader\">BizDoc</span>\r\n <h1 class=\"mat-display-1\">{{'New'|translate}}</h1>\r\n\r\n <mat-nav-list>\r\n <mat-list-item *ngFor=\"let f of forms\" (click)=\"create(f.name)\" [attr.data-help]=\"f.name + '-form'\">\r\n <mat-icon matListIcon>{{f.icon || 'description'}}</mat-icon>\r\n <span matLine>{{f.title}}</span>\r\n <!--<mat-spinner radius=\"25\" *ngIf=\"creating===f.name\"></mat-spinner>-->\r\n </mat-list-item>\r\n </mat-nav-list>\r\n</div>\r\n", styles: ["h1{margin:0 16px}form{padding:8px}hr{opacity:.4}\n"] }]
137
+ }], function () { return [{ type: i1.SessionService }, { type: i2.MailboxService }, { type: i3.PromptService }, { type: i4.PanesRouter }]; }, { change: [{
138
+ type: Output
139
+ }] }); })();
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LW1lbnUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb21wb3NlL25ldy1tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29tcG9zZS9uZXctbWVudS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBTyxNQUFNLGdCQUFnQixDQUFDO0FBS3pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7SUNGL0Msd0NBQW9HO0lBQTdELDBPQUFTLGVBQUEsd0JBQWMsQ0FBQSxJQUFDO0lBQzdELG1DQUFzQjtJQUFBLFlBQTJCO0lBQUEsaUJBQVc7SUFDNUQsK0JBQWM7SUFBQSxZQUFXO0lBQUEsaUJBQU8sRUFBQTs7O0lBRjhCLGdEQUFtQztJQUMzRSxlQUEyQjtJQUEzQixnREFBMkI7SUFDbkMsZUFBVztJQUFYLGdDQUFXOztBREcvQixNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQztBQU9qQyxNQUFNLE9BQU8sb0JBQW9CO0lBUS9CLFlBQW9CLFFBQXdCLEVBQ2xDLFFBQXdCLEVBQ3hCLEdBQWtCLEVBQ2xCLE9BQW9CO1FBSFYsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDbEMsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEIsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUNsQixZQUFPLEdBQVAsT0FBTyxDQUFhO1FB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LENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O3dGQS9FVSxvQkFBb0I7dUVBQXBCLG9CQUFvQjtRQ2xCakMsc0NBQTRHO1FBQzVHLDhCQUF1QixjQUFBO1FBQ08sc0JBQU07UUFBQSxpQkFBTztRQUN6Qyw2QkFBMEI7UUFBQSxZQUFtQjs7UUFBQSxpQkFBSztRQUVsRCxvQ0FBYztRQUNaLHlGQUlnQjtRQUNsQixpQkFBZSxFQUFBOztRQVhzQixnRUFBaUQ7UUFHNUQsZUFBbUI7UUFBbkIsaURBQW1CO1FBR2QsZUFBUTtRQUFSLG1DQUFRO3dTRFUzQixFQUFFO3VGQUVILG9CQUFvQjtjQU5oQyxTQUFTOzJCQUNFLGlCQUFpQixjQUdmLEVBQUU7b0pBR0ssTUFBTTtrQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgc3dpdGNoTWFwLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRm9ybSwgSGVhZGVyTW9kZWwsIFJlY2lwaWVudE1vZGVsIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYW5lc1JvdXRlciB9IGZyb20gJy4uL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBPcGVuUG9saWN5IH0gZnJvbSAnLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgTWFpbGJveFNlcnZpY2UsIFBvc2l0aW9uRXJyb3IgfSBmcm9tICcuLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcblxyXG5jb25zdCBERUJPVU5DRV9TRUFSQ0hfVElNRSA9IDIwMDtcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtbmV3LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uZXctbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbmV3LW1lbnUuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tcG9zZU1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBmb3JtczogRm9ybVtdO1xyXG4gIHJlYWRvbmx5IHNlYXJjaCA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KG51bGwpO1xyXG4gIGl0ZW1zOiBPYnNlcnZhYmxlPEhlYWRlck1vZGVsW10+O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3dvcmtpbmcgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIHdvcmtpbmc6IGJvb2xlYW47XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9tYWlsYm94OiBNYWlsYm94U2VydmljZSxcclxuICAgIHByaXZhdGUgX3BzOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBQYW5lc1JvdXRlcikgeyB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1zID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmZvcm1zLmZpbHRlcihmID0+IGYuY3JlYXRhYmxlKTtcclxuICAgIHRoaXMuaXRlbXMgPSB0aGlzLnNlYXJjaC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSksXHJcbiAgICAgIGRlYm91bmNlVGltZShERUJPVU5DRV9TRUFSQ0hfVElNRSksXHJcbiAgICAgIHN3aXRjaE1hcCh2ID0+IHRoaXMuX21haWxib3guZmluZEFsbCh2ID8geyBjb250YWluczogdiB9IDogeyB0eXBlOiAncmVjZW50JyB9LCB7IHRha2U6IDUgfSkpKTtcclxuICAgIHRoaXMuX3dvcmtpbmcucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSksIGRlYm91bmNlVGltZSgyMDApKS5zdWJzY3JpYmUodiA9PiB0aGlzLndvcmtpbmcgPSB2KTtcclxuICB9XHJcbiAgY2xlYXIoKSB7IHRoaXMuc2VhcmNoLnNldFZhbHVlKG51bGwpIH1cclxuICBjcmVhdGUoZm9ybTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl93b3JraW5nLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLl9tYWlsYm94LmNyZWF0ZShmb3JtKS5zdWJzY3JpYmUoaSA9PiB7XHJcbiAgICAgIHRoaXMuX25hdihpKTtcclxuICAgICAgdGhpcy5fd29ya2luZy5uZXh0KGZhbHNlKVxyXG4gICAgfSwgZSA9PiB7XHJcbiAgICAgIHRoaXMuX3dvcmtpbmcubmV4dChmYWxzZSlcclxuICAgICAgdGhpcy5fZXJyb3IoZSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgY29weShpdGVtOiBIZWFkZXJNb2RlbCkge1xyXG4gICAgdGhpcy5fd29ya2luZy5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5zZWFyY2guZGlzYWJsZSgpO1xyXG4gICAgdGhpcy5fbWFpbGJveC5jb3B5KGl0ZW0uZG9jdW1lbnRJZCkuXHJcbiAgICAgIHN1YnNjcmliZShpID0+IHtcclxuICAgICAgICB0aGlzLnNlYXJjaC5zZXRWYWx1ZShudWxsKTtcclxuICAgICAgICB0aGlzLnNlYXJjaC5lbmFibGUoKTtcclxuICAgICAgICB0aGlzLl93b3JraW5nLm5leHQoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuX3BzLnRvYXN0KCdDb3BpZWQnLCBpLm51bWJlcik7XHJcbiAgICAgICAgdGhpcy5fbmF2KGkpO1xyXG4gICAgICB9LCBlID0+IHtcclxuICAgICAgICB0aGlzLl93b3JraW5nLm5leHQoZmFsc2UpO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoLmVuYWJsZSgpO1xyXG4gICAgICAgIHRoaXMuX2Vycm9yKGUpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbmF2KGl0ZW06IFJlY2lwaWVudE1vZGVsPGFueT4pIHtcclxuICAgIHRoaXMuY2hhbmdlLmVtaXQoaXRlbSk7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2knLCBpdGVtLmlkLmVuY29kZUlkKCldLFxyXG4gICAgICB7XHJcbiAgICAgICAgcG9saWN5OiBPcGVuUG9saWN5LkNsZWFyLFxyXG4gICAgICAgIHN0YXRlOiB7IGl0ZW0gfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogSGFuZGxlIGh0dHAgZXJyb3IgcmVzcG9uc2VcclxuICAgKiBAcGFyYW0gZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2Vycm9yKGU6IGFueSB8IFBvc2l0aW9uRXJyb3IpIHtcclxuICAgIGlmIChlLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdQb3NpdGlvbkVycm9yJylcclxuICAgICAgc3dpdGNoICgoZSBhcyBQb3NpdGlvbkVycm9yKS5jb2RlKSB7XHJcbiAgICAgICAgY2FzZSAxOlxyXG4gICAgICAgICAgdGhpcy5fcHMuZXJyb3IoJ1VzZXJEZW5pZWRHZW9FcnInKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0aGlzLl9wcy5lcnJvcignR2VvRXJyJyk7XHJcbiAgICAgIH1cclxuICAgIGVsc2Ugc3dpdGNoICgoZSBhcyBhbnkpLnN0YXR1cykge1xyXG4gICAgICBjYXNlIDQwNjogLy8gc2VydmVyIFZhbGlkYXRpb25FeGNlcHRpb24gdGhyb3duXHJcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IChlIGFzIGFueSkuZXJyb3I7XHJcbiAgICAgICAgdGhpcy5fcHMuZXJyb3JTdHJpbmcobWVzc2FnZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhpcy5fcHMuZXJyb3IoKTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1wcm9ncmVzcy1iYXIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJ3b3JraW5nID8gJ3Zpc2libGUnOidoaWRkZW4nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG48ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJtYXQtc3ViaGVhZGVyXCI+Qml6RG9jPC9zcGFuPlxyXG4gIDxoMSBjbGFzcz1cIm1hdC1kaXNwbGF5LTFcIj57eydOZXcnfHRyYW5zbGF0ZX19PC9oMT5cclxuXHJcbiAgPG1hdC1uYXYtbGlzdD5cclxuICAgIDxtYXQtbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBmIG9mIGZvcm1zXCIgKGNsaWNrKT1cImNyZWF0ZShmLm5hbWUpXCIgW2F0dHIuZGF0YS1oZWxwXT1cImYubmFtZSArICctZm9ybSdcIj5cclxuICAgICAgPG1hdC1pY29uIG1hdExpc3RJY29uPnt7Zi5pY29uIHx8ICdkZXNjcmlwdGlvbid9fTwvbWF0LWljb24+XHJcbiAgICAgIDxzcGFuIG1hdExpbmU+e3tmLnRpdGxlfX08L3NwYW4+XHJcbiAgICAgIDwhLS08bWF0LXNwaW5uZXIgcmFkaXVzPVwiMjVcIiAqbmdJZj1cImNyZWF0aW5nPT09Zi5uYW1lXCI+PC9tYXQtc3Bpbm5lcj4tLT5cclxuICAgIDwvbWF0LWxpc3QtaXRlbT5cclxuICA8L21hdC1uYXYtbGlzdD5cclxuPC9kaXY+XHJcbiJdfQ==