@bizdoc/core 2.3.10 → 2.3.11

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 (397) hide show
  1. package/assets/themes/brown.min.css +4 -4
  2. package/assets/themes/dark.min.css +4 -4
  3. package/assets/themes/deep-purple-light-blue.min.css +4 -4
  4. package/assets/themes/deep-purple-teal.min.css +4 -4
  5. package/assets/themes/default.min.css +4 -4
  6. package/assets/themes/green.min.css +4 -4
  7. package/assets/themes/indigo.min.css +4 -4
  8. package/assets/themes/readme.md +0 -0
  9. package/esm2022/lib/admin/admin-dismiss.service.mjs +3 -3
  10. package/esm2022/lib/admin/admin-menu.component.mjs +3 -3
  11. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +5 -5
  12. package/esm2022/lib/admin/architecture/declarations.mjs +1 -1
  13. package/esm2022/lib/admin/architecture/designer-element.component.mjs +17 -16
  14. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +4 -4
  15. package/esm2022/lib/admin/architecture/designer.base.mjs +10 -10
  16. package/esm2022/lib/admin/architecture/designer.component.mjs +60 -38
  17. package/esm2022/lib/admin/architecture/elements/action.component.mjs +4 -4
  18. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +3 -3
  19. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +3 -3
  20. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +3 -3
  21. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +3 -3
  22. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +3 -3
  23. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +4 -4
  24. package/esm2022/lib/admin/architecture/elements/control.component.mjs +3 -3
  25. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +3 -3
  26. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +3 -3
  27. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +4 -4
  28. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +3 -3
  29. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +3 -3
  30. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +3 -3
  31. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +3 -3
  32. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +4 -4
  33. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +4 -4
  34. package/esm2022/lib/admin/architecture/elements/form.component.mjs +4 -4
  35. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +3 -3
  36. package/esm2022/lib/admin/architecture/elements/job.component.mjs +4 -4
  37. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +4 -4
  38. package/esm2022/lib/admin/architecture/elements/node.component.mjs +3 -3
  39. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +3 -3
  40. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +3 -3
  41. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +3 -3
  42. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +3 -3
  43. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +3 -3
  44. package/esm2022/lib/admin/architecture/elements/report.component.mjs +3 -3
  45. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +3 -3
  46. package/esm2022/lib/admin/architecture/elements/role.component.mjs +4 -4
  47. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +3 -3
  48. package/esm2022/lib/admin/architecture/elements/source.component.mjs +3 -3
  49. package/esm2022/lib/admin/architecture/elements/state.component.mjs +4 -4
  50. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +3 -3
  51. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +3 -3
  52. package/esm2022/lib/admin/architecture/elements/type.component.mjs +4 -4
  53. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +4 -4
  54. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +3 -3
  55. package/esm2022/lib/admin/architecture/elements/view.component.mjs +3 -3
  56. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +3 -3
  57. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +4 -4
  58. package/esm2022/lib/admin/core/ace.input.mjs +4 -4
  59. package/esm2022/lib/admin/core/color-picker.input.mjs +4 -4
  60. package/esm2022/lib/admin/core/localized-string.component.mjs +4 -4
  61. package/esm2022/lib/admin/core/search.input.mjs +3 -3
  62. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +4 -4
  63. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +5 -5
  64. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +3 -3
  65. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +4 -4
  66. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +7 -7
  67. package/esm2022/lib/admin/form/designer/properties.component.mjs +5 -5
  68. package/esm2022/lib/admin/form/designer/section.component.mjs +4 -4
  69. package/esm2022/lib/admin/form/designer/settings.component.mjs +4 -4
  70. package/esm2022/lib/admin/form/form.resolve.service.mjs +3 -3
  71. package/esm2022/lib/admin/form/workflow/node.component.mjs +4 -4
  72. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +4 -4
  73. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +5 -5
  74. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +4 -4
  75. package/esm2022/lib/admin/patterns/patterns.component.mjs +4 -4
  76. package/esm2022/lib/admin/permissions/permissions.component.mjs +4 -4
  77. package/esm2022/lib/admin/positions/positions-popup.component.mjs +3 -3
  78. package/esm2022/lib/admin/positions/positions.component.mjs +5 -5
  79. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +4 -4
  80. package/esm2022/lib/admin/profiler/profiler.component.mjs +4 -4
  81. package/esm2022/lib/admin/system.service.mjs +4 -4
  82. package/esm2022/lib/admin/utility-wrapper.component.mjs +3 -3
  83. package/esm2022/lib/admin/utility.pane.component.mjs +3 -3
  84. package/esm2022/lib/app.component.mjs +7 -7
  85. package/esm2022/lib/bizdoc.module.mjs +4 -4
  86. package/esm2022/lib/browse/browse-items.component.mjs +4 -4
  87. package/esm2022/lib/browse/browse.mobile.component.mjs +3 -3
  88. package/esm2022/lib/browse/browse.pane.component.mjs +4 -4
  89. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +5 -5
  90. package/esm2022/lib/browse/filter/filter.component.mjs +4 -4
  91. package/esm2022/lib/browse/folders-menu.component.mjs +5 -5
  92. package/esm2022/lib/chat/chat-info.mjs +4 -4
  93. package/esm2022/lib/chat/chat.mobile.component.mjs +4 -4
  94. package/esm2022/lib/chat/chat.service.mjs +4 -4
  95. package/esm2022/lib/chat/contacts.component.mjs +8 -8
  96. package/esm2022/lib/chat/contacts.pane.component.mjs +3 -3
  97. package/esm2022/lib/chat/conversation.component.mjs +5 -5
  98. package/esm2022/lib/chat/conversation.pane.component.mjs +4 -4
  99. package/esm2022/lib/compose/action/action-picker.component.mjs +4 -4
  100. package/esm2022/lib/compose/action/action.base.mjs +1 -1
  101. package/esm2022/lib/compose/action/action.dialog.mjs +4 -4
  102. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +4 -4
  103. package/esm2022/lib/compose/action/assign-action.component.mjs +3 -3
  104. package/esm2022/lib/compose/action/moveto-action.component.mjs +4 -4
  105. package/esm2022/lib/compose/action/return-action.component.mjs +4 -4
  106. package/esm2022/lib/compose/attachments/attachments.component.mjs +4 -4
  107. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +4 -4
  108. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +3 -3
  109. package/esm2022/lib/compose/box/box.component.mjs +4 -4
  110. package/esm2022/lib/compose/box/control.component.mjs +3 -3
  111. package/esm2022/lib/compose/box/row.component.mjs +3 -3
  112. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +3 -3
  113. package/esm2022/lib/compose/comments/comment.component.mjs +4 -4
  114. package/esm2022/lib/compose/comments/comments.component.mjs +5 -5
  115. package/esm2022/lib/compose/comments/comments.pane.component.mjs +3 -3
  116. package/esm2022/lib/compose/comments/edit-comment.component.mjs +3 -3
  117. package/esm2022/lib/compose/comments/edits.component.mjs +3 -3
  118. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +4 -4
  119. package/esm2022/lib/compose/comments/votes.component.mjs +3 -3
  120. package/esm2022/lib/compose/compose-resolve.service.mjs +7 -7
  121. package/esm2022/lib/compose/compose.mobile.component.mjs +4 -4
  122. package/esm2022/lib/compose/compose.pane.component.mjs +4 -4
  123. package/esm2022/lib/compose/copy/copy.dialog.mjs +3 -3
  124. package/esm2022/lib/compose/dismiss.service.mjs +4 -4
  125. package/esm2022/lib/compose/document-resolver.service.mjs +3 -3
  126. package/esm2022/lib/compose/document.component.mjs +3 -3
  127. package/esm2022/lib/compose/document.mobile.component.mjs +3 -3
  128. package/esm2022/lib/compose/document.pane.component.mjs +3 -3
  129. package/esm2022/lib/compose/events/events.component.mjs +3 -3
  130. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +4 -4
  131. package/esm2022/lib/compose/form.component.mjs +4 -4
  132. package/esm2022/lib/compose/new-menu.component.mjs +4 -4
  133. package/esm2022/lib/compose/privilage.directive.mjs +6 -6
  134. package/esm2022/lib/compose/recipient-resolver.service.mjs +3 -3
  135. package/esm2022/lib/compose/state.component.mjs +4 -4
  136. package/esm2022/lib/compose/tag/tags.component.mjs +4 -4
  137. package/esm2022/lib/compose/trace/flow.component.mjs +5 -5
  138. package/esm2022/lib/compose/trace/people.component.mjs +3 -3
  139. package/esm2022/lib/compose/trace/trace.base.mjs +4 -4
  140. package/esm2022/lib/compose/trace/trace.component.mjs +4 -4
  141. package/esm2022/lib/compose/trace/trace.pane.component.mjs +4 -4
  142. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +3 -3
  143. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +10 -10
  144. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +4 -4
  145. package/esm2022/lib/core/account.service.mjs +3 -3
  146. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  147. package/esm2022/lib/core/avatar/avatar.component.mjs +4 -4
  148. package/esm2022/lib/core/checkbox.mjs +3 -3
  149. package/esm2022/lib/core/component-factory-resolver.mjs +3 -3
  150. package/esm2022/lib/core/datasource.service.mjs +4 -4
  151. package/esm2022/lib/core/fields/address.designer.mjs +3 -3
  152. package/esm2022/lib/core/fields/address.field.mjs +3 -3
  153. package/esm2022/lib/core/fields/autocomplete.field.mjs +7 -7
  154. package/esm2022/lib/core/fields/checkbox.designer.mjs +3 -3
  155. package/esm2022/lib/core/fields/checkbox.field.mjs +3 -3
  156. package/esm2022/lib/core/fields/checklist.designer.mjs +4 -4
  157. package/esm2022/lib/core/fields/checklist.field.mjs +3 -3
  158. package/esm2022/lib/core/fields/date-range.designer.mjs +3 -3
  159. package/esm2022/lib/core/fields/date-range.field.mjs +3 -3
  160. package/esm2022/lib/core/fields/date.designer.mjs +3 -3
  161. package/esm2022/lib/core/fields/date.field.mjs +3 -3
  162. package/esm2022/lib/core/fields/expression.field.mjs +6 -6
  163. package/esm2022/lib/core/fields/file.designer.mjs +3 -3
  164. package/esm2022/lib/core/fields/file.field.mjs +3 -3
  165. package/esm2022/lib/core/fields/html.designer.mjs +3 -3
  166. package/esm2022/lib/core/fields/html.field.mjs +3 -3
  167. package/esm2022/lib/core/fields/input.designer.mjs +3 -3
  168. package/esm2022/lib/core/fields/input.field.mjs +4 -4
  169. package/esm2022/lib/core/fields/localized-string.field.mjs +6 -6
  170. package/esm2022/lib/core/fields/numeric.designer.mjs +3 -3
  171. package/esm2022/lib/core/fields/numeric.field.mjs +3 -3
  172. package/esm2022/lib/core/fields/options.base.mjs +6 -6
  173. package/esm2022/lib/core/fields/options.component.mjs +4 -4
  174. package/esm2022/lib/core/fields/radio-button.designer.mjs +3 -3
  175. package/esm2022/lib/core/fields/radio-button.field.mjs +3 -3
  176. package/esm2022/lib/core/fields/select.designer.mjs +4 -4
  177. package/esm2022/lib/core/fields/select.field.mjs +3 -3
  178. package/esm2022/lib/core/fields/signature.designer.mjs +3 -3
  179. package/esm2022/lib/core/fields/signature.field.mjs +3 -3
  180. package/esm2022/lib/core/fields/switch.field.mjs +3 -3
  181. package/esm2022/lib/core/fields/tags.designer.mjs +3 -3
  182. package/esm2022/lib/core/fields/tags.field.mjs +4 -4
  183. package/esm2022/lib/core/fields/textarea.designer.mjs +3 -3
  184. package/esm2022/lib/core/fields/textarea.field.mjs +3 -3
  185. package/esm2022/lib/core/fields/time.designer.mjs +3 -3
  186. package/esm2022/lib/core/fields/time.field.mjs +3 -3
  187. package/esm2022/lib/core/fields/timespan.field.mjs +6 -6
  188. package/esm2022/lib/core/fields/yesno.designer.mjs +4 -4
  189. package/esm2022/lib/core/fields/yesno.field.mjs +3 -3
  190. package/esm2022/lib/core/firebase.service.mjs +1 -1
  191. package/esm2022/lib/core/functions.mjs +1 -1
  192. package/esm2022/lib/core/guide/guide.component.mjs +4 -4
  193. package/esm2022/lib/core/guide/guide.service.mjs +4 -4
  194. package/esm2022/lib/core/guide/help-tip.component.mjs +3 -3
  195. package/esm2022/lib/core/http.interceptor.mjs +4 -4
  196. package/esm2022/lib/core/hub.service.mjs +3 -3
  197. package/esm2022/lib/core/identity/identity.component.mjs +4 -4
  198. package/esm2022/lib/core/info/attachment-info.service.mjs +3 -3
  199. package/esm2022/lib/core/info/document-info.service.mjs +3 -3
  200. package/esm2022/lib/core/info/location-info.component.mjs +4 -4
  201. package/esm2022/lib/core/info/map-info.mjs +3 -3
  202. package/esm2022/lib/core/inputs/address.input.mjs +4 -4
  203. package/esm2022/lib/core/inputs/auto-complete.input.mjs +4 -4
  204. package/esm2022/lib/core/inputs/combination-picker-body.mjs +4 -4
  205. package/esm2022/lib/core/inputs/combination-picker.mjs +4 -4
  206. package/esm2022/lib/core/inputs/combination-pool.mjs +5 -5
  207. package/esm2022/lib/core/inputs/file.input.mjs +5 -5
  208. package/esm2022/lib/core/inputs/select.input.mjs +5 -5
  209. package/esm2022/lib/core/inputs/signature.input.mjs +4 -4
  210. package/esm2022/lib/core/inputs/time-picker.mjs +4 -4
  211. package/esm2022/lib/core/inputs/timespan.input.mjs +4 -4
  212. package/esm2022/lib/core/layout.component.mjs +4 -4
  213. package/esm2022/lib/core/lottie-animation.mjs +3 -3
  214. package/esm2022/lib/core/mailbox.service.mjs +4 -4
  215. package/esm2022/lib/core/none.component.mjs +3 -3
  216. package/esm2022/lib/core/pipes/action.pipe.mjs +4 -4
  217. package/esm2022/lib/core/pipes/calendar.pipe.mjs +4 -4
  218. package/esm2022/lib/core/pipes/date-format.pipe.mjs +3 -3
  219. package/esm2022/lib/core/pipes/daterange.pipe.mjs +7 -7
  220. package/esm2022/lib/core/pipes/difference.pipe.mjs +3 -3
  221. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +3 -3
  222. package/esm2022/lib/core/pipes/duration.pipe.mjs +3 -3
  223. package/esm2022/lib/core/pipes/form.pipe.mjs +4 -4
  224. package/esm2022/lib/core/pipes/join.pipe.mjs +3 -3
  225. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +3 -3
  226. package/esm2022/lib/core/pipes/role.pipe.mjs +4 -4
  227. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  228. package/esm2022/lib/core/pipes/sort.pipe.mjs +15 -11
  229. package/esm2022/lib/core/pipes/state.pipe.mjs +4 -4
  230. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +7 -7
  231. package/esm2022/lib/core/pipes/translate.pipe.mjs +10 -10
  232. package/esm2022/lib/core/pipes/type-value.pipe.mjs +4 -4
  233. package/esm2022/lib/core/pipes/user-name.pipe.mjs +3 -3
  234. package/esm2022/lib/core/popup/popup.component.mjs +4 -4
  235. package/esm2022/lib/core/popup/popup.service.mjs +4 -4
  236. package/esm2022/lib/core/popup/tooltip.directive.mjs +7 -7
  237. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  238. package/esm2022/lib/core/prompt/mask/mask.component.mjs +3 -3
  239. package/esm2022/lib/core/prompt.service.mjs +3 -3
  240. package/esm2022/lib/core/router.mjs +6 -6
  241. package/esm2022/lib/core/save-changes.dialog.mjs +3 -3
  242. package/esm2022/lib/core/session.service.mjs +4 -4
  243. package/esm2022/lib/core/slots/router.directive.mjs +3 -3
  244. package/esm2022/lib/core/slots/router.service.mjs +3 -3
  245. package/esm2022/lib/core/slots/slots.component.mjs +5 -5
  246. package/esm2022/lib/core/tagging/documents.component.mjs +4 -4
  247. package/esm2022/lib/core/tagging/edit-input.component.mjs +5 -5
  248. package/esm2022/lib/core/tagging/emoji.component.mjs +3 -3
  249. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +3 -3
  250. package/esm2022/lib/core/tagging/tagging.component-base.mjs +3 -3
  251. package/esm2022/lib/core/tagging/tagging.directive.mjs +4 -4
  252. package/esm2022/lib/core/tagging/tagging.pipe.mjs +4 -4
  253. package/esm2022/lib/core/tagging/users.component.mjs +4 -4
  254. package/esm2022/lib/core/translate.service.mjs +4 -4
  255. package/esm2022/lib/core/translations.mjs +4 -2
  256. package/esm2022/lib/core/window-title.service.mjs +3 -3
  257. package/esm2022/lib/cube/accum/accum.component.mjs +4 -4
  258. package/esm2022/lib/cube/chart/chart.component.mjs +4 -4
  259. package/esm2022/lib/cube/cube-info.service.mjs +4 -4
  260. package/esm2022/lib/cube/cube-menu.component.mjs +3 -3
  261. package/esm2022/lib/cube/cube-view.component.mjs +4 -4
  262. package/esm2022/lib/cube/cube.service.mjs +4 -4
  263. package/esm2022/lib/cube/explore/document-item.component.mjs +4 -4
  264. package/esm2022/lib/cube/explore/explore-item.component.mjs +3 -3
  265. package/esm2022/lib/cube/explore/explore-items.component.mjs +4 -4
  266. package/esm2022/lib/cube/explore/explore.pane.component.mjs +3 -3
  267. package/esm2022/lib/cube/explore/item-resolver.service.mjs +6 -6
  268. package/esm2022/lib/cube/explore/item.pane.component.mjs +3 -3
  269. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +4 -4
  270. package/esm2022/lib/cube/filter/filter.component.mjs +5 -5
  271. package/esm2022/lib/cube/grid/grid.component.mjs +4 -4
  272. package/esm2022/lib/cube/grid/spreadsheet.component.mjs +4 -4
  273. package/esm2022/lib/cube/matrix/matrix.base.mjs +4 -4
  274. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
  275. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +3 -3
  276. package/esm2022/lib/cube/matrix/popup.component.mjs +3 -3
  277. package/esm2022/lib/cube/matrix/table.component.mjs +4 -4
  278. package/esm2022/lib/cube/parallel/item.mjs +1 -1
  279. package/esm2022/lib/cube/parallel/parallel.component.mjs +5 -5
  280. package/esm2022/lib/cube/pivot/pivot.component.mjs +4 -4
  281. package/esm2022/lib/cube/sum/sum.component.mjs +5 -5
  282. package/esm2022/lib/cube/view-base.mjs +4 -4
  283. package/esm2022/lib/cube/view.mobile.component.mjs +4 -4
  284. package/esm2022/lib/cube/view.pane.component.mjs +5 -5
  285. package/esm2022/lib/dashboard/actions/actions.widget.mjs +4 -4
  286. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +4 -4
  287. package/esm2022/lib/dashboard/cube/compare.widget.mjs +4 -4
  288. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +4 -4
  289. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +4 -4
  290. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +4 -4
  291. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +3 -3
  292. package/esm2022/lib/dashboard/cube/documents.widget.mjs +3 -3
  293. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +4 -4
  294. package/esm2022/lib/dashboard/dashboard.component.mjs +5 -5
  295. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +3 -3
  296. package/esm2022/lib/dashboard/recents/recents.widget.mjs +3 -3
  297. package/esm2022/lib/dashboard/score/activity.widget.mjs +3 -3
  298. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +3 -3
  299. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +4 -4
  300. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +3 -3
  301. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +4 -4
  302. package/esm2022/lib/dashboard/widget-item.component.mjs +4 -4
  303. package/esm2022/lib/designer.module.mjs +4 -4
  304. package/esm2022/lib/desktop.module.mjs +4 -4
  305. package/esm2022/lib/home/about/about.dialog.mjs +3 -3
  306. package/esm2022/lib/home/home-base.component.mjs +4 -4
  307. package/esm2022/lib/home/home.desktop.component.mjs +5 -5
  308. package/esm2022/lib/home/home.mobile.component.mjs +4 -4
  309. package/esm2022/lib/home/notifications/notifications.component.mjs +4 -4
  310. package/esm2022/lib/home/options/options.component.mjs +5 -5
  311. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +3 -3
  312. package/esm2022/lib/home/sign/sign.component.mjs +4 -4
  313. package/esm2022/lib/home/tools.component.mjs +3 -3
  314. package/esm2022/lib/impersonate/impersonate.component.mjs +3 -3
  315. package/esm2022/lib/mobile.module.mjs +4 -4
  316. package/esm2022/lib/modules/chart.module.mjs +4 -4
  317. package/esm2022/lib/modules/circular-gauge.module.mjs +4 -4
  318. package/esm2022/lib/modules/datepicker.intl.mjs +3 -3
  319. package/esm2022/lib/modules/dayjs.module.mjs +4 -4
  320. package/esm2022/lib/modules/diagram.module.mjs +4 -4
  321. package/esm2022/lib/modules/gantt.module.mjs +4 -4
  322. package/esm2022/lib/modules/grid.module.mjs +4 -4
  323. package/esm2022/lib/modules/linear-gauge.module.mjs +4 -4
  324. package/esm2022/lib/modules/material.module.mjs +4 -4
  325. package/esm2022/lib/modules/paginator.intl.mjs +3 -3
  326. package/esm2022/lib/modules/pivot.module.mjs +4 -4
  327. package/esm2022/lib/modules/schedule.module.mjs +4 -4
  328. package/esm2022/lib/modules/spreadsheet.module.mjs +4 -4
  329. package/esm2022/lib/modules/stepper.intl.mjs +3 -3
  330. package/esm2022/lib/modules/texteditor.module.mjs +4 -4
  331. package/esm2022/lib/notifications/filter.component.mjs +3 -3
  332. package/esm2022/lib/notifications/notifications-table.component.mjs +4 -4
  333. package/esm2022/lib/notifications/notifications.component-base.mjs +1 -1
  334. package/esm2022/lib/notifications/notifications.mobile.component.mjs +3 -3
  335. package/esm2022/lib/notifications/notifications.pane.component.mjs +3 -3
  336. package/esm2022/lib/notifications/notifications.service.mjs +4 -4
  337. package/esm2022/lib/notifications/types/commented.notification.mjs +4 -4
  338. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +4 -4
  339. package/esm2022/lib/notifications/types/escalated.notification.mjs +3 -3
  340. package/esm2022/lib/notifications/types/invite.notification.mjs +3 -3
  341. package/esm2022/lib/notifications/types/liked.notification.mjs +4 -4
  342. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +3 -3
  343. package/esm2022/lib/notifications/types/notification-base.mjs +3 -3
  344. package/esm2022/lib/notifications/types/nudge.notification.mjs +3 -3
  345. package/esm2022/lib/notifications/types/state-changed.notification.mjs +3 -3
  346. package/esm2022/lib/notifications/types/tagged.notification.mjs +3 -3
  347. package/esm2022/lib/notifications/types/text.notification.mjs +3 -3
  348. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +3 -3
  349. package/esm2022/lib/options/options.component.mjs +4 -4
  350. package/esm2022/lib/options/options.service.mjs +3 -3
  351. package/esm2022/lib/reports/arguments-component.mjs +4 -4
  352. package/esm2022/lib/reports/cube/documents.component.mjs +3 -3
  353. package/esm2022/lib/reports/cube/grid-documents.component.mjs +4 -4
  354. package/esm2022/lib/reports/cube/role-performance.component.mjs +3 -3
  355. package/esm2022/lib/reports/cube/table-documents.component.mjs +3 -3
  356. package/esm2022/lib/reports/cube/usage-args.component.mjs +4 -4
  357. package/esm2022/lib/reports/cube/usage-base.mjs +3 -3
  358. package/esm2022/lib/reports/cube/usage-chart.component.mjs +4 -4
  359. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +4 -4
  360. package/esm2022/lib/reports/cube/usage.component.mjs +3 -3
  361. package/esm2022/lib/reports/report-viewer.component.mjs +5 -5
  362. package/esm2022/lib/reports/report.mobile.component.mjs +5 -5
  363. package/esm2022/lib/reports/report.pane.component.mjs +4 -4
  364. package/esm2022/lib/reports/reports-menu.component.mjs +3 -3
  365. package/esm2022/lib/reports/substitution/substitution.component.mjs +3 -3
  366. package/esm2022/lib/reports/table/table-view.component.mjs +3 -3
  367. package/esm2022/lib/reports/tasks/tasks.component.mjs +3 -3
  368. package/esm2022/lib/scheduler/schedule.component.mjs +4 -4
  369. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +3 -3
  370. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +4 -4
  371. package/esm2022/lib/search/cube.component.mjs +3 -3
  372. package/esm2022/lib/search/document.component.mjs +3 -3
  373. package/esm2022/lib/search/guide.component.mjs +3 -3
  374. package/esm2022/lib/search/path.component.mjs +3 -3
  375. package/esm2022/lib/search/search.service.mjs +4 -4
  376. package/esm2022/lib/shared.module.mjs +4 -4
  377. package/esm2022/lib/system.module.mjs +4 -4
  378. package/esm2022/lib/views/cube/chart.component.mjs +4 -4
  379. package/esm2022/lib/views/cube/cube-base.mjs +4 -4
  380. package/esm2022/lib/views/cube/explore.component.mjs +3 -3
  381. package/esm2022/lib/views/cube/matrix.component.mjs +3 -3
  382. package/esm2022/lib/views/cube/parallel.component.mjs +4 -4
  383. package/esm2022/lib/views/cube/pivot.component.mjs +3 -3
  384. package/esm2022/lib/views/cube/sum.component.mjs +3 -3
  385. package/esm2022/lib/views/cube/view.component.mjs +5 -5
  386. package/esm2022/lib/views/timeline/timeline.component.exp.mjs +4 -4
  387. package/esm2022/lib/views/view-item.component.mjs +4 -4
  388. package/esm2022/lib/views/views.component.mjs +4 -4
  389. package/esm2022/lib/views/views.mobile.component.mjs +3 -3
  390. package/esm2022/lib/views/views.pane.component.mjs +3 -3
  391. package/fesm2022/bizdoc-core.mjs +1367 -1338
  392. package/fesm2022/bizdoc-core.mjs.map +1 -1
  393. package/lib/admin/architecture/declarations.d.ts +1 -0
  394. package/lib/admin/architecture/designer.component.d.ts +12 -4
  395. package/lib/core/pipes/sort.pipe.d.ts +1 -1
  396. package/lib/core/translations.d.ts +2 -0
  397. package/package.json +13 -13
@@ -28,10 +28,10 @@ export class NotificationBase {
28
28
  policy: OpenPolicy.Tab | OpenPolicy.Expandable
29
29
  });
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NotificationBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
32
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: NotificationBase, host: { listeners: { "click": "open($event)" } }, ngImport: i0 }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NotificationBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
32
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.0", type: NotificationBase, host: { listeners: { "click": "open($event)" } }, ngImport: i0 }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NotificationBase, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NotificationBase, decorators: [{
35
35
  type: Directive
36
36
  }], ctorParameters: () => [{ type: undefined }, { type: i1.RouterImpl }, { type: i2.SessionService }, { type: i3.TranslateService }, { type: i4.ChatInfo }], propDecorators: { open: [{
37
37
  type: HostListener,
@@ -16,10 +16,10 @@ export class NudgeNotification extends NotificationBase {
16
16
  super(notification, router, session, translate, chat);
17
17
  this.notification = notification;
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NudgeNotification, deps: [{ token: i1.RouterImpl }, { token: i2.TranslateService }, { token: i3.SessionService }, { token: i4.ChatInfo }, { token: NOTIFICATION_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: NudgeNotification, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<span [innerHTML]='"NudgeNotify" | translate : notification.number : expire.toNow() | sanitizeHtml'></span>`, isInline: true, dependencies: [{ kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NudgeNotification, deps: [{ token: i1.RouterImpl }, { token: i2.TranslateService }, { token: i3.SessionService }, { token: i4.ChatInfo }, { token: NOTIFICATION_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: NudgeNotification, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<span [innerHTML]='"NudgeNotify" | translate : notification.number : expire.toNow() | sanitizeHtml'></span>`, isInline: true, dependencies: [{ kind: "pipe", type: i5.TranslatePipe, name: "translate" }, { kind: "pipe", type: i6.SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NudgeNotification, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NudgeNotification, decorators: [{
23
23
  type: Component,
24
24
  args: [{
25
25
  template: `<span [innerHTML]='"NudgeNotify" | translate : notification.number : expire.toNow() | sanitizeHtml'></span>`
@@ -17,10 +17,10 @@ export class StateChangedNotification extends NotificationBase {
17
17
  super(notification, router, session, translate, chat);
18
18
  this.notification = notification;
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: StateChangedNotification, deps: [{ token: NOTIFICATION_DATA }, { token: i1.SessionService }, { token: i2.RouterImpl }, { token: i3.TranslateService }, { token: i4.ChatInfo }], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: StateChangedNotification, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<span [innerHTML]="'StateChangedNotify' | translate : form.title : notification.number : (notification.state | state : 'past' | lowercase) | sanitizeHtml"></span>`, isInline: true, dependencies: [{ kind: "pipe", type: i5.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: i8.StatePipe, name: "state" }] }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: StateChangedNotification, deps: [{ token: NOTIFICATION_DATA }, { token: i1.SessionService }, { token: i2.RouterImpl }, { token: i3.TranslateService }, { token: i4.ChatInfo }], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: StateChangedNotification, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<span [innerHTML]="'StateChangedNotify' | translate : form.title : notification.number : (notification.state | state : 'past' | lowercase) | sanitizeHtml"></span>`, isInline: true, dependencies: [{ kind: "pipe", type: i5.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "pipe", type: i8.StatePipe, name: "state" }] }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: StateChangedNotification, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: StateChangedNotification, decorators: [{
24
24
  type: Component,
25
25
  args: [{ template: `<span [innerHTML]="'StateChangedNotify' | translate : form.title : notification.number : (notification.state | state : 'past' | lowercase) | sanitizeHtml"></span>` }]
26
26
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -24,12 +24,12 @@ export class TaggedNotification extends NotificationBase {
24
24
  this.notification = notification;
25
25
  this._accounts = _accounts;
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TaggedNotification, deps: [{ token: NOTIFICATION_DATA }, { token: i1.AccountService }, { token: i2.TranslateService }, { token: i3.RouterImpl }, { token: i4.SessionService }, { token: i5.ChatInfo }], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: TaggedNotification, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<ng-container *ngIf='message'>
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: TaggedNotification, deps: [{ token: NOTIFICATION_DATA }, { token: i1.AccountService }, { token: i2.TranslateService }, { token: i3.RouterImpl }, { token: i4.SessionService }, { token: i5.ChatInfo }], target: i0.ɵɵFactoryTarget.Component }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: TaggedNotification, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `<ng-container *ngIf='message'>
29
29
  <span [innerHTML]='message | sanitizeHtml'></span>
30
30
  </ng-container>`, isInline: true, dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i7.SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TaggedNotification, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: TaggedNotification, decorators: [{
33
33
  type: Component,
34
34
  args: [{
35
35
  template: `<ng-container *ngIf='message'>
@@ -7,10 +7,10 @@ export class TextNotification {
7
7
  constructor(notification) {
8
8
  this.notification = notification;
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TextNotification, deps: [{ token: NOTIFICATION_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: TextNotification, selector: "ng-component", ngImport: i0, template: `<span [innerHTML]="notification.text"></span>`, isInline: true }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: TextNotification, deps: [{ token: NOTIFICATION_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: TextNotification, selector: "ng-component", ngImport: i0, template: `<span [innerHTML]="notification.text"></span>`, isInline: true }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TextNotification, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: TextNotification, decorators: [{
14
14
  type: Component,
15
15
  args: [{ template: `<span [innerHTML]="notification.text"></span>` }]
16
16
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -18,10 +18,10 @@ export class UpcomingEventNotification {
18
18
  this.notification = notification;
19
19
  this._router = _router;
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UpcomingEventNotification, deps: [{ token: NOTIFICATION_DATA }, { token: i1.RouterImpl }], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: UpcomingEventNotification, selector: "ng-component", host: { listeners: { "click": "open($event)" } }, ngImport: i0, template: `<span [bizdocTooltip]="notification.starting | amCalendar" [innerHTML]="'UpcomingEventNotify' | translate : notification.number : duration.fromNow() | sanitizeHtml"></span>`, isInline: true, dependencies: [{ kind: "directive", type: i2.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i3.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: UpcomingEventNotification, deps: [{ token: NOTIFICATION_DATA }, { token: i1.RouterImpl }], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: UpcomingEventNotification, selector: "ng-component", host: { listeners: { "click": "open($event)" } }, ngImport: i0, template: `<span [bizdocTooltip]="notification.starting | amCalendar" [innerHTML]="'UpcomingEventNotify' | translate : notification.number : duration.fromNow() | sanitizeHtml"></span>`, isInline: true, dependencies: [{ kind: "directive", type: i2.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i3.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.SanitizeHtmlPipe, name: "sanitizeHtml" }] }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UpcomingEventNotification, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: UpcomingEventNotification, decorators: [{
25
25
  type: Component,
26
26
  args: [{
27
27
  template: `<span [bizdocTooltip]="notification.starting | amCalendar" [innerHTML]="'UpcomingEventNotify' | translate : notification.number : duration.fromNow() | sanitizeHtml"></span>`
@@ -216,10 +216,10 @@ export class OptionsComponent {
216
216
  this._destroy.next();
217
217
  this._destroy.complete();
218
218
  }
219
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: OptionsComponent, deps: [{ token: OPTION_PANEL }, { token: i1.OverlayRef }, { token: i2.FormBuilder }, { token: i3.AccountService }, { token: i4.PromptService }, { token: i5.SessionService }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
220
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: OptionsComponent, selector: "bizdoc-options", viewQueries: [{ propertyName: "substitueInput", first: true, predicate: ["substitueInput"], descendants: true, read: MatInput }, { propertyName: "grantInput", first: true, predicate: ["grantInput"], descendants: true, read: MatChipInput }, { propertyName: "outOfOffice", first: true, predicate: ["outOfOffice"], descendants: true, read: MatExpansionPanel, static: true }, { propertyName: "notifications", first: true, predicate: ["notifications"], descendants: true, read: MatExpansionPanel, static: true }], ngImport: i0, template: "<form [formGroup]=\"form\" autocomplete=\"off\">\r\n <mat-accordion>\r\n <mat-expansion-panel #notifications>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Notifications' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>notifications</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"notifications\" class=\"column\">\r\n <div class=\"row\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"toggleSound()\" [bizdocTooltip]=\"'Sound'|translate\"><mat-icon>{{options.notifications.sound ? 'volume_up' : 'volume_off'}}</mat-icon></button>\r\n </div>\r\n <br />\r\n <mat-slide-toggle formControlName=\"myDocumentStateChange\">{{'MyStateChange' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"anyDocumentStateChange\">{{'AnyStateChange' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"commentMyDocument\">{{'CommentMyDocument' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"commentAnyDocument\">{{'CommentAnyDocument' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"likes\" [style.display]=\"voating?'':'none'\">{{'LikedComment' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"tagged\">{{'TaggedInComments' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"upcomingEvents\">{{'UpcomingEvents' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"cubeAnomaly\">{{'CubeAnomaly' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #emails>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Emails' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>alternate_email</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"emails\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-slide-toggle formControlName=\"mail\">{{'Mails' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"chat\">{{'Conversations' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"notifications\">{{'EmailNotifications' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"events\">{{'AlarmEvents' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #outOfOffice>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'OutOfOffice' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>trending_flat</mat-icon>-->\r\n <!--{{'OutOfOfficeTip' | translate}}-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"outOfOffice\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field class=\"flex\">\r\n <input matInput [formControl]=\"substitueId\" type=\"search\" [matAutocomplete]=\"sauto\" #substitueInput\r\n [placeholder]=\"'Associate' | translate\" [required]=\"form.value.outOfOffice.active\" />\r\n <mat-autocomplete #sauto=\"matAutocomplete\" [displayWith]=\"display\"\r\n (optionSelected)=\"setSubstitute($event)\">\r\n <mat-option *ngFor=\"let u of susers$ | async\" [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-hint>{{'OutOfOfficeTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n <div>\r\n <mat-form-field>\r\n <input matInput [matDatepicker]=\"from\" formControlName=\"from\" placeholder=\"{{'From'| translate}}\" />\r\n <mat-datepicker-toggle [for]=\"from\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #from></mat-datepicker>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field>\r\n <input matInput [matDatepicker]=\"to\" formControlName=\"to\" [min]=\"form.value.outOfOffice?.from\" placeholder=\"{{'To'| translate}}\" />\r\n <mat-datepicker-toggle [for]=\"to\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #to></mat-datepicker>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #grantAccess>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'GrantAccess' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>account_circle</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"grantAccess\" class=\"grant-section\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <mat-form-field>\r\n <mat-chip-grid #grantList [attr.aria-label]=\"\" [disabled]=\"!form.value.grantAccess.active\">\r\n <mat-chip-row *ngFor=\"let u of form.value.grantAccess.users || []\"\r\n (removed)=\"removeGrant(u)\">\r\n {{u | userName | async}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n </mat-chip-grid>\r\n <input [formControl]=\"gusers\" placeholder=\"{{'Users'| translate}}\"\r\n #grantInput\r\n [matAutocomplete]=\"grantAuto\"\r\n [matChipInputFor]=\"grantList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n <mat-autocomplete #grantAuto=\"matAutocomplete\" (optionSelected)=\"addGrant(grantInput, $event)\">\r\n <mat-option *ngFor=\"let u of gusers$ | async\" [value]=\"u.id\">\r\n {{u.name}}\r\n <span *ngIf=\"u.email\">&nbsp; - {{u.email}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-hint>{{'GrantTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #preferences>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Preferences' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon></mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div class=\"column\">\r\n <mat-form-field>\r\n <mat-chip-grid #chips>\r\n <mat-chip-row *ngFor=\"let item of form.value.tags\"\r\n [removable]=\"true\" (removed)=\"removeTag(item)\">\r\n {{item}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n </mat-chip-grid>\r\n <input [placeholder]=\"'Tags'|translate\"\r\n [matChipInputFor]=\"chips\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"addTag($event)\">\r\n </mat-form-field>\r\n <mat-slide-toggle [formControl]=\"aRIA\">{{'ARIA' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n</form>\r\n", styles: [":host{max-width:80vw}.grant-section{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i7.MatChipGrid, selector: "mat-chip-grid", inputs: ["tabIndex", "disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i7.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i7.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i7.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["color", "disabled", "disableRipple", "tabIndex", "editable"], outputs: ["edited"] }, { kind: "directive", type: i8.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i8.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i8.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i8.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i8.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: i9.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i9.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i9.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i10.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i11.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i10.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i12.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i12.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i12.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i13.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i14.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i15.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i16.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i17.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i18.TranslatePipe, name: "translate" }, { kind: "pipe", type: i19.UserNamePipe, name: "userName" }] }); }
219
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: OptionsComponent, deps: [{ token: OPTION_PANEL }, { token: i1.OverlayRef }, { token: i2.FormBuilder }, { token: i3.AccountService }, { token: i4.PromptService }, { token: i5.SessionService }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
220
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: OptionsComponent, selector: "bizdoc-options", viewQueries: [{ propertyName: "substitueInput", first: true, predicate: ["substitueInput"], descendants: true, read: MatInput }, { propertyName: "grantInput", first: true, predicate: ["grantInput"], descendants: true, read: MatChipInput }, { propertyName: "outOfOffice", first: true, predicate: ["outOfOffice"], descendants: true, read: MatExpansionPanel, static: true }, { propertyName: "notifications", first: true, predicate: ["notifications"], descendants: true, read: MatExpansionPanel, static: true }], ngImport: i0, template: "<form [formGroup]=\"form\" autocomplete=\"off\">\r\n <mat-accordion>\r\n <mat-expansion-panel #notifications>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Notifications' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>notifications</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"notifications\" class=\"column\">\r\n <div class=\"row\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"toggleSound()\" [bizdocTooltip]=\"'Sound'|translate\"><mat-icon>{{options.notifications.sound ? 'volume_up' : 'volume_off'}}</mat-icon></button>\r\n </div>\r\n <br />\r\n <mat-slide-toggle formControlName=\"myDocumentStateChange\">{{'MyStateChange' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"anyDocumentStateChange\">{{'AnyStateChange' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"commentMyDocument\">{{'CommentMyDocument' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"commentAnyDocument\">{{'CommentAnyDocument' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"likes\" [style.display]=\"voating?'':'none'\">{{'LikedComment' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"tagged\">{{'TaggedInComments' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"upcomingEvents\">{{'UpcomingEvents' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"cubeAnomaly\">{{'CubeAnomaly' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #emails>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Emails' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>alternate_email</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"emails\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-slide-toggle formControlName=\"mail\">{{'Mails' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"chat\">{{'Conversations' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"notifications\">{{'EmailNotifications' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"events\">{{'AlarmEvents' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #outOfOffice>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'OutOfOffice' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>trending_flat</mat-icon>-->\r\n <!--{{'OutOfOfficeTip' | translate}}-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"outOfOffice\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field class=\"flex\">\r\n <input matInput [formControl]=\"substitueId\" type=\"search\" [matAutocomplete]=\"sauto\" #substitueInput\r\n [placeholder]=\"'Associate' | translate\" [required]=\"form.value.outOfOffice.active\" />\r\n <mat-autocomplete #sauto=\"matAutocomplete\" [displayWith]=\"display\"\r\n (optionSelected)=\"setSubstitute($event)\">\r\n <mat-option *ngFor=\"let u of susers$ | async\" [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-hint>{{'OutOfOfficeTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n <div>\r\n <mat-form-field>\r\n <input matInput [matDatepicker]=\"from\" formControlName=\"from\" placeholder=\"{{'From'| translate}}\" />\r\n <mat-datepicker-toggle [for]=\"from\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #from></mat-datepicker>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field>\r\n <input matInput [matDatepicker]=\"to\" formControlName=\"to\" [min]=\"form.value.outOfOffice?.from\" placeholder=\"{{'To'| translate}}\" />\r\n <mat-datepicker-toggle [for]=\"to\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #to></mat-datepicker>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #grantAccess>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'GrantAccess' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>account_circle</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"grantAccess\" class=\"grant-section\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <mat-form-field>\r\n <mat-chip-grid #grantList [attr.aria-label]=\"\" [disabled]=\"!form.value.grantAccess.active\">\r\n <mat-chip-row *ngFor=\"let u of form.value.grantAccess.users || []\"\r\n (removed)=\"removeGrant(u)\">\r\n {{u | userName | async}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n </mat-chip-grid>\r\n <input [formControl]=\"gusers\" placeholder=\"{{'Users'| translate}}\"\r\n #grantInput\r\n [matAutocomplete]=\"grantAuto\"\r\n [matChipInputFor]=\"grantList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n <mat-autocomplete #grantAuto=\"matAutocomplete\" (optionSelected)=\"addGrant(grantInput, $event)\">\r\n <mat-option *ngFor=\"let u of gusers$ | async\" [value]=\"u.id\">\r\n {{u.name}}\r\n <span *ngIf=\"u.email\">&nbsp; - {{u.email}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-hint>{{'GrantTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #preferences>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Preferences' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon></mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div class=\"column\">\r\n <mat-form-field>\r\n <mat-chip-grid #chips>\r\n <mat-chip-row *ngFor=\"let item of form.value.tags\"\r\n [removable]=\"true\" (removed)=\"removeTag(item)\">\r\n {{item}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n </mat-chip-grid>\r\n <input [placeholder]=\"'Tags'|translate\"\r\n [matChipInputFor]=\"chips\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"addTag($event)\">\r\n </mat-form-field>\r\n <mat-slide-toggle [formControl]=\"aRIA\">{{'ARIA' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n</form>\r\n", styles: [":host{max-width:80vw}.grant-section{display:flex;flex-direction:column}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i7.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i7.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i7.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i7.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "directive", type: i8.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i8.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i8.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i8.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i8.MatExpansionPanelDescription, selector: "mat-panel-description" }, { kind: "component", type: i9.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i9.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i9.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i10.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i11.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i10.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i12.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i12.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i12.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i13.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i14.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i15.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i16.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i17.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i18.TranslatePipe, name: "translate" }, { kind: "pipe", type: i19.UserNamePipe, name: "userName" }] }); }
221
221
  }
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: OptionsComponent, decorators: [{
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: OptionsComponent, decorators: [{
223
223
  type: Component,
224
224
  args: [{ selector: 'bizdoc-options', template: "<form [formGroup]=\"form\" autocomplete=\"off\">\r\n <mat-accordion>\r\n <mat-expansion-panel #notifications>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Notifications' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>notifications</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"notifications\" class=\"column\">\r\n <div class=\"row\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"toggleSound()\" [bizdocTooltip]=\"'Sound'|translate\"><mat-icon>{{options.notifications.sound ? 'volume_up' : 'volume_off'}}</mat-icon></button>\r\n </div>\r\n <br />\r\n <mat-slide-toggle formControlName=\"myDocumentStateChange\">{{'MyStateChange' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"anyDocumentStateChange\">{{'AnyStateChange' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"commentMyDocument\">{{'CommentMyDocument' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"commentAnyDocument\">{{'CommentAnyDocument' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"likes\" [style.display]=\"voating?'':'none'\">{{'LikedComment' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"tagged\">{{'TaggedInComments' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"upcomingEvents\">{{'UpcomingEvents' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"cubeAnomaly\">{{'CubeAnomaly' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #emails>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Emails' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>alternate_email</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"emails\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-slide-toggle formControlName=\"mail\">{{'Mails' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"chat\">{{'Conversations' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"notifications\">{{'EmailNotifications' | translate}}</mat-slide-toggle>\r\n <mat-slide-toggle formControlName=\"events\">{{'AlarmEvents' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #outOfOffice>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'OutOfOffice' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>trending_flat</mat-icon>-->\r\n <!--{{'OutOfOfficeTip' | translate}}-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"outOfOffice\" class=\"column\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <br />\r\n <mat-form-field class=\"flex\">\r\n <input matInput [formControl]=\"substitueId\" type=\"search\" [matAutocomplete]=\"sauto\" #substitueInput\r\n [placeholder]=\"'Associate' | translate\" [required]=\"form.value.outOfOffice.active\" />\r\n <mat-autocomplete #sauto=\"matAutocomplete\" [displayWith]=\"display\"\r\n (optionSelected)=\"setSubstitute($event)\">\r\n <mat-option *ngFor=\"let u of susers$ | async\" [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-hint>{{'OutOfOfficeTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n <div>\r\n <mat-form-field>\r\n <input matInput [matDatepicker]=\"from\" formControlName=\"from\" placeholder=\"{{'From'| translate}}\" />\r\n <mat-datepicker-toggle [for]=\"from\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #from></mat-datepicker>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field>\r\n <input matInput [matDatepicker]=\"to\" formControlName=\"to\" [min]=\"form.value.outOfOffice?.from\" placeholder=\"{{'To'| translate}}\" />\r\n <mat-datepicker-toggle [for]=\"to\" matSuffix></mat-datepicker-toggle>\r\n <mat-datepicker #to></mat-datepicker>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #grantAccess>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'GrantAccess' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon>account_circle</mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div formGroupName=\"grantAccess\" class=\"grant-section\">\r\n <mat-slide-toggle formControlName=\"active\">{{'Active' | translate}}</mat-slide-toggle>\r\n <mat-form-field>\r\n <mat-chip-grid #grantList [attr.aria-label]=\"\" [disabled]=\"!form.value.grantAccess.active\">\r\n <mat-chip-row *ngFor=\"let u of form.value.grantAccess.users || []\"\r\n (removed)=\"removeGrant(u)\">\r\n {{u | userName | async}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n </mat-chip-grid>\r\n <input [formControl]=\"gusers\" placeholder=\"{{'Users'| translate}}\"\r\n #grantInput\r\n [matAutocomplete]=\"grantAuto\"\r\n [matChipInputFor]=\"grantList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\">\r\n <mat-autocomplete #grantAuto=\"matAutocomplete\" (optionSelected)=\"addGrant(grantInput, $event)\">\r\n <mat-option *ngFor=\"let u of gusers$ | async\" [value]=\"u.id\">\r\n {{u.name}}\r\n <span *ngIf=\"u.email\">&nbsp; - {{u.email}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <mat-hint>{{'GrantTip' | translate}}</mat-hint>\r\n </mat-form-field>\r\n </div>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel #preferences>\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{'Preferences' | translate}}\r\n </mat-panel-title>\r\n <mat-panel-description>\r\n <!--<mat-icon></mat-icon>-->\r\n </mat-panel-description>\r\n </mat-expansion-panel-header>\r\n <div class=\"column\">\r\n <mat-form-field>\r\n <mat-chip-grid #chips>\r\n <mat-chip-row *ngFor=\"let item of form.value.tags\"\r\n [removable]=\"true\" (removed)=\"removeTag(item)\">\r\n {{item}}\r\n <mat-icon matChipRemove>cancel</mat-icon>\r\n </mat-chip-row>\r\n </mat-chip-grid>\r\n <input [placeholder]=\"'Tags'|translate\"\r\n [matChipInputFor]=\"chips\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n [matChipInputAddOnBlur]=\"true\"\r\n (matChipInputTokenEnd)=\"addTag($event)\">\r\n </mat-form-field>\r\n <mat-slide-toggle [formControl]=\"aRIA\">{{'ARIA' | translate}}</mat-slide-toggle>\r\n </div>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n</form>\r\n", styles: [":host{max-width:80vw}.grant-section{display:flex;flex-direction:column}\n"] }]
225
225
  }], ctorParameters: () => [{ type: undefined, decorators: [{
@@ -241,4 +241,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
241
241
  type: ViewChild,
242
242
  args: ['notifications', { read: MatExpansionPanel, static: true }]
243
243
  }] } });
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL29wdGlvbnMvb3B0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL29wdGlvbnMvb3B0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRyxPQUFPLEVBQUUsT0FBTyxFQUFjLEtBQUssRUFBTSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLHlCQUF5QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUTdDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBYSxTQUFTLENBQUMsQ0FBQztBQVd0RSx1QkFBdUI7QUFDdkIsTUFBTSxPQUFPLGdCQUFnQjtJQXNEM0IsbUJBQW1CO0lBQ25CLFlBQTBDLE9BQW1CLEVBQUUsVUFBc0IsRUFBVSxHQUFn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Q0ksYUFBYTtzQkFBbkYsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCwgSW5qZWN0aW9uVG9rZW4sIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUsIG1lcmdlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBNYXRFeHBhbnNpb25QYW5lbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2V4cGFuc2lvbic7XHJcbmltcG9ydCB7IE1hdENoaXBJbnB1dCwgTWF0Q2hpcElucHV0RXZlbnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGlwcyc7XHJcbmltcG9ydCB7IENPTU1BLCBFTlRFUiwgU0VNSUNPTE9OIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IE1hdElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xyXG5pbXBvcnQgeyBCSVpET0NfQ09ORklHLCBCaXpEb2NDb25maWcgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJy4uL2NvcmUvZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgT3B0aW9ucywgVXNlckluZm8gfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IHR5cGUgT3B0aW9uVHlwZSA9ICdub3RpZmljYXRpb25zJyB8ICdvdXRvZm9mZmljZScgfCAnZW1haWxzJyB8ICdncmFudGFjY2Vzcyc7XHJcblxyXG5leHBvcnQgY29uc3QgT1BUSU9OX1BBTkVMID0gbmV3IEluamVjdGlvblRva2VuPE9wdGlvbkRhdGE+KCdvcHRpb25zJyk7XHJcblxyXG5pbnRlcmZhY2UgT3B0aW9uRGF0YSB7XHJcbiAgb3BlbjogT3B0aW9uVHlwZTtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2Mtb3B0aW9ucycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL29wdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL29wdGlvbnMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG4vKiogb3B0aW9ucyBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgT3B0aW9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIF9yZXF1aXJlZFZhbGlkYXRvciA9IChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHwgbnVsbCA9PiB7XHJcbiAgICBjb25zdCBwYXJlbnQgPSAoY29udHJvbC5wYXJlbnQgYXMgRm9ybUdyb3VwKTtcclxuICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LmNvbnRyb2xzWydhY3RpdmUnXS52YWx1ZSAmJiAhY29udHJvbC52YWx1ZSkgcmV0dXJuIHtcclxuICAgICAgcmVxdWlyZWQ6IHRydWVcclxuICAgIH1cclxuICB9XHJcbiAgQFZpZXdDaGlsZCgnc3Vic3RpdHVlSW5wdXQnLCB7IHJlYWQ6IE1hdElucHV0IH0pIHN1YnN0aXR1ZUlucHV0OiBNYXRJbnB1dDtcclxuICBAVmlld0NoaWxkKCdncmFudElucHV0JywgeyByZWFkOiBNYXRDaGlwSW5wdXQgfSkgZ3JhbnRJbnB1dDogTWF0Q2hpcElucHV0O1xyXG4gIHJlYWRvbmx5IGxhbmd1YWdlID0gdGhpcy5fZmIuY29udHJvbCh0aGlzLl9zZXNzaW9uLmxhbmd1YWdlKTtcclxuICByZWFkb25seSBhUklBID0gdGhpcy5fZmIuY29udHJvbCh0aGlzLl9zZXNzaW9uLmFyaWEpO1xyXG4gIHJlYWRvbmx5IGxhbmd1YWdlcyA9IHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2VzO1xyXG4gIHJlYWRvbmx5IGd1c2VycyA9IHRoaXMuX2ZiLmNvbnRyb2woW10pO1xyXG4gIHJlYWRvbmx5IHN1YnN0aXR1ZUlkID0gdGhpcy5fZmIuY29udHJvbChudWxsKTtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgbm90aWZpY2F0aW9uczogdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgICBhY3RpdmU6IHRoaXMuX2ZiLmNvbnRyb2woZmFsc2UpLFxyXG4gICAgICBsaWtlczogdGhpcy5fZmIuY29udHJvbChmYWxzZSksXHJcbiAgICAgIGNvbW1lbnRNeURvY3VtZW50OiB0aGlzLl9mYi5jb250cm9sKGZhbHNlKSxcclxuICAgICAgY29tbWVudEFueURvY3VtZW50OiB0aGlzLl9mYi5jb250cm9sKGZhbHNlKSxcclxuICAgICAgdXBjb21pbmdFdmVudHM6IHRoaXMuX2ZiLmNvbnRyb2woZmFsc2UpLFxyXG4gICAgICB0YWdnZWQ6IHRoaXMuX2ZiLmNvbnRyb2woZmFsc2UpLFxyXG4gICAgICBhbnlEb2N1bWVudFN0YXRlQ2hhbmdlOiB0aGlzLl9mYi5jb250cm9sKGZhbHNlKSxcclxuICAgICAgbXlEb2N1bWVudFN0YXRlQ2hhbmdlOiB0aGlzLl9mYi5jb250cm9sKGZhbHNlKSxcclxuICAgICAgY3ViZUFub21hbHk6IHRoaXMuX2ZiLmNvbnRyb2woZmFsc2UpLFxyXG4gICAgICBzb3VuZDogdGhpcy5fZmIuY29udHJvbChmYWxzZSksXHJcbiAgICB9KSxcclxuICAgIHRhZ3M6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCksXHJcbiAgICBlbWFpbHM6IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgICAgYWN0aXZlOiB0aGlzLl9mYi5jb250cm9sKGZhbHNlKSxcclxuICAgICAgbWFpbDogdGhpcy5fZmIuY29udHJvbChmYWxzZSksXHJcbiAgICAgIGNoYXQ6IHRoaXMuX2ZiLmNvbnRyb2woZmFsc2UpLFxyXG4gICAgICBub3RpZmljYXRpb25zOiB0aGlzLl9mYi5jb250cm9sKGZhbHNlKSxcclxuICAgICAgZXZlbnRzOiB0aGlzLl9mYi5jb250cm9sKGZhbHNlKVxyXG4gICAgfSksXHJcbiAgICBvdXRPZk9mZmljZTogdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgICBhY3RpdmU6IHRoaXMuX2ZiLmNvbnRyb2woZmFsc2UpLFxyXG4gICAgICBzdWJzdGl0dWVJZDogdGhpcy5fZmIuY29udHJvbChudWxsLCB0aGlzLl9yZXF1aXJlZFZhbGlkYXRvciksXHJcbiAgICAgIGZyb206IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCksXHJcbiAgICAgIHRvOiB0aGlzLl9mYi5jb250cm9sKG51bGwpXHJcbiAgICB9KSxcclxuICAgIGdyYW50QWNjZXNzOiB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICAgIGFjdGl2ZTogdGhpcy5fZmIuY29udHJvbChmYWxzZSksXHJcbiAgICAgIHVzZXJzOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIHRoaXMuX3JlcXVpcmVkVmFsaWRhdG9yKVxyXG4gICAgfSlcclxuICB9KTtcclxuICBzdXNlcnMkOiBPYnNlcnZhYmxlPFVzZXJJbmZvW10+O1xyXG4gIGd1c2VycyQ6IE9ic2VydmFibGU8VXNlckluZm9bXT47XHJcbiAgdm9hdGluZzogYm9vbGVhbjtcclxuICBvcHRpb25zOiBPcHRpb25zO1xyXG4gIHJlYWRvbmx5IHNlcGFyYXRvcktleXNDb2RlczogbnVtYmVyW10gPSBbRU5URVIsIENPTU1BLCBTRU1JQ09MT05dO1xyXG4gIEBWaWV3Q2hpbGQoJ291dE9mT2ZmaWNlJywgeyByZWFkOiBNYXRFeHBhbnNpb25QYW5lbCwgc3RhdGljOiB0cnVlIH0pIG91dE9mT2ZmaWNlOiBNYXRFeHBhbnNpb25QYW5lbDtcclxuICBAVmlld0NoaWxkKCdub3RpZmljYXRpb25zJywgeyByZWFkOiBNYXRFeHBhbnNpb25QYW5lbCwgc3RhdGljOiB0cnVlIH0pIG5vdGlmaWNhdGlvbnM6IE1hdEV4cGFuc2lvblBhbmVsO1xyXG4gIC8qKiBvcHRpb25zIGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE9QVElPTl9QQU5FTCkgcHJpdmF0ZSBfb3B0aW9uOiBPcHRpb25EYXRhLCBvdmVybGF5UmVmOiBPdmVybGF5UmVmLCBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIF9hY2NvdW50czogQWNjb3VudFNlcnZpY2UsIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBASW5qZWN0KEJJWkRPQ19DT05GSUcpIGNvbmZpZzogQml6RG9jQ29uZmlnKSB7XHJcbiAgICB0aGlzLnZvYXRpbmcgPSAhY29uZmlnLmNvbW1lbnRzIHx8IGNvbmZpZy5jb21tZW50cy52b3RpbmcgIT09IGZhbHNlO1xyXG4gICAgbWVyZ2Uob3ZlcmxheVJlZi5rZXlkb3duRXZlbnRzKCkucGlwZShmaWx0ZXIoayA9PiBrLmtleSA9PT0gJ0VzY2FwZScpKSwgb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkpLlxyXG4gICAgICBzdWJzY3JpYmUoKCkgPT4gb3ZlcmxheVJlZi5kaXNwb3NlKCkpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYVJJQS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICBzdWJzY3JpYmUodiA9PiB0aGlzLl9zZXNzaW9uLmFyaWEgPSB2KTtcclxuICAgIHRoaXMubGFuZ3VhZ2UudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2ID0+IHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2UgPSB2KTtcclxuICAgIGNvbnN0IG91dE9mT2ZmaWNlID0gdGhpcy5mb3JtLmNvbnRyb2xzWydvdXRPZk9mZmljZSddIGFzIEZvcm1Hcm91cDtcclxuICAgIGNvbnN0IGdyYW50QWNjZXNzID0gdGhpcy5mb3JtLmNvbnRyb2xzWydncmFudEFjY2VzcyddIGFzIEZvcm1Hcm91cDtcclxuICAgIGNvbnN0IG5vdGlmaWNhdGlvbnMgPSB0aGlzLmZvcm0uY29udHJvbHNbJ25vdGlmaWNhdGlvbnMnXSBhcyBGb3JtR3JvdXA7XHJcbiAgICBjb25zdCBlbWFpbHMgPSB0aGlzLmZvcm0uY29udHJvbHNbJ2VtYWlscyddIGFzIEZvcm1Hcm91cDtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm9wdGlvbnMgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUub3B0aW9ucztcclxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKG9wdGlvbnMsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIGlmICghb3B0aW9ucy5ub3RpZmljYXRpb25zLmFjdGl2ZSlcclxuICAgICAgdGhpcy5fdG9nZ2xlKG5vdGlmaWNhdGlvbnMsIGZhbHNlLCAnbGlrZXMnLFxyXG4gICAgICAgICdjb21tZW50TXlEb2N1bWVudCcsXHJcbiAgICAgICAgJ2NvbW1lbnRBbnlEb2N1bWVudCcsXHJcbiAgICAgICAgJ3VwY29taW5nRXZlbnRzJyxcclxuICAgICAgICAndGFnZ2VkJyxcclxuICAgICAgICAnYW55RG9jdW1lbnRTdGF0ZUNoYW5nZScsXHJcbiAgICAgICAgJ215RG9jdW1lbnRTdGF0ZUNoYW5nZScsXHJcbiAgICAgICAgJ2N1YmVBbm9tYWx5Jyk7XHJcbiAgICBpZiAoIW9wdGlvbnMuZW1haWxzLmFjdGl2ZSlcclxuICAgICAgdGhpcy5fdG9nZ2xlKGVtYWlscywgZmFsc2UsICdtYWlsJyxcclxuICAgICAgICAnY2hhdCcsXHJcbiAgICAgICAgJ25vdGlmaWNhdGlvbnMnLFxyXG4gICAgICAgICdldmVudHMnKTtcclxuICAgIGlmICghb3B0aW9ucy5ncmFudEFjY2Vzcy5hY3RpdmUpXHJcbiAgICAgIHRoaXMuZ3VzZXJzLmRpc2FibGUoKTtcclxuICAgIGlmICghb3B0aW9ucy5vdXRPZk9mZmljZS5hY3RpdmUpIHtcclxuICAgICAgdGhpcy5zdWJzdGl0dWVJZC5kaXNhYmxlKCk7XHJcbiAgICAgIHRoaXMuX3RvZ2dsZShvdXRPZk9mZmljZSwgZmFsc2UsICdmcm9tJywgJ3RvJyk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICghb3B0aW9ucy5vdXRPZk9mZmljZS5mcm9tKVxyXG4gICAgICB0aGlzLl90b2dnbGUob3V0T2ZPZmZpY2UsIGZhbHNlLCAndG8nKTtcclxuICAgIC8vIGNoYW5nZVxyXG4gICAgbm90aWZpY2F0aW9ucy5jb250cm9sc1snYWN0aXZlJ10udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKGFjdGl2ZSA9PlxyXG4gICAgICAgIHRoaXMuX3RvZ2dsZShub3RpZmljYXRpb25zLCBhY3RpdmUsICdsaWtlcycsXHJcbiAgICAgICAgICAnY29tbWVudE15RG9jdW1lbnQnLFxyXG4gICAgICAgICAgJ2NvbW1lbnRBbnlEb2N1bWVudCcsXHJcbiAgICAgICAgICAndXBjb21pbmdFdmVudHMnLFxyXG4gICAgICAgICAgJ3RhZ2dlZCcsXHJcbiAgICAgICAgICAnYW55RG9jdW1lbnRTdGF0ZUNoYW5nZScsXHJcbiAgICAgICAgICAnbXlEb2N1bWVudFN0YXRlQ2hhbmdlJyxcclxuICAgICAgICAgICdjdWJlQW5vbWFseScpKTtcclxuICAgIGVtYWlscy5jb250cm9sc1snYWN0aXZlJ10udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKGFjdGl2ZSA9PiB0aGlzLl90b2dnbGUoZW1haWxzLCBhY3RpdmUsICdtYWlsJyxcclxuICAgICAgICAnY2hhdCcsXHJcbiAgICAgICAgJ25vdGlmaWNhdGlvbnMnLFxyXG4gICAgICAgICdldmVudHMnKSk7XHJcbiAgICBncmFudEFjY2Vzcy5jb250cm9sc1snYWN0aXZlJ10udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKGFjdGl2ZSA9PiB7XHJcbiAgICAgICAgaWYgKGFjdGl2ZSkge1xyXG4gICAgICAgICAgdGhpcy5ndXNlcnMuZW5hYmxlKCk7XHJcbiAgICAgICAgICB0aGlzLmdyYW50SW5wdXQuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB0aGlzLmd1c2Vycy5lbmFibGUoKTtcclxuICAgICAgfSk7XHJcbiAgICBvdXRPZk9mZmljZS5jb250cm9sc1snYWN0aXZlJ10udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKGFjdGl2ZSA9PiB7XHJcbiAgICAgICAgaWYgKGFjdGl2ZSkge1xyXG4gICAgICAgICAgdGhpcy5zdWJzdGl0dWVJZC5lbmFibGUoKTtcclxuICAgICAgICAgIHRoaXMuc3Vic3RpdHVlSW5wdXQuZm9jdXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgdGhpcy5zdWJzdGl0dWVJZC5kaXNhYmxlKCk7XHJcbiAgICAgICAgdGhpcy5fdG9nZ2xlKG91dE9mT2ZmaWNlLCBhY3RpdmUsICdmcm9tJyk7XHJcbiAgICAgICAgdGhpcy5fdG9nZ2xlKG91dE9mT2ZmaWNlLCBhY3RpdmUgJiYgb3V0T2ZPZmZpY2UuY29udHJvbHNbJ2Zyb20nXS52YWx1ZSwgJ3RvJyk7XHJcbiAgICAgIH0pO1xyXG4gICAgb3V0T2ZPZmZpY2UuY29udHJvbHNbJ2Zyb20nXS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICBzdWJzY3JpYmUoZnJvbSA9PlxyXG4gICAgICAgIHRoaXMuX3RvZ2dsZShvdXRPZk9mZmljZSwgZnJvbSAhPT0gbnVsbCwgJ3RvJykpO1xyXG4gICAgdGhpcy5ndXNlcnMkID0gdGhpcy5ndXNlcnMudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLFxyXG4gICAgICBmaWx0ZXIodiA9PiBpc1N0cmluZyh2KSksXHJcbiAgICAgIGRlYm91bmNlVGltZSgxMDApLFxyXG4gICAgICBzd2l0Y2hNYXAodiA9PiB0aGlzLl9hY2NvdW50cy5maW5kQWxsKHYgYXMgYW55KSksXHJcbiAgICAgIG1hcChyID0+IHtcclxuICAgICAgICBjb25zdCBleGNsdWRlID0gKGdyYW50QWNjZXNzLnZhbHVlLnVzZXJzIGFzIHN0cmluZ1tdKT8uc2xpY2UoKSB8fCBbXTtcclxuICAgICAgICBleGNsdWRlLnB1c2godGhpcy5fc2Vzc2lvbi5wcm9maWxlLnVzZXJJZCk7XHJcbiAgICAgICAgcmV0dXJuIHIuZmlsdGVyKHUgPT4gZXhjbHVkZS5pbmRleE9mKHUuaWQpIDwgMCk7XHJcbiAgICAgIH0pKTtcclxuICAgIHRoaXMuc3VzZXJzJCA9IHRoaXMuc3Vic3RpdHVlSWQudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLFxyXG4gICAgICB0YXAodiA9PlxyXG4gICAgICAgICF2ICYmIG91dE9mT2ZmaWNlLmNvbnRyb2xzWydzdWJzdGl0dWVJZCddLnNldFZhbHVlKG51bGwpXHJcbiAgICAgICksXHJcbiAgICAgIGZpbHRlcih2ID0+IGlzU3RyaW5nKHYpKSxcclxuICAgICAgc3dpdGNoTWFwKHYgPT4gdGhpcy5fYWNjb3VudHMuZmluZEFsbCh2KSksXHJcbiAgICAgIG1hcChyID0+IHIuZmlsdGVyKHUgPT4gdS5pZCAhPT0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLnVzZXJJZCkpKTtcclxuICAgIGlmIChvcHRpb25zLm91dE9mT2ZmaWNlLnN1YnN0aXR1ZUlkKVxyXG4gICAgICB0aGlzLl9hY2NvdW50cy5nZXQob3B0aW9ucy5vdXRPZk9mZmljZS5zdWJzdGl0dWVJZCkuc3Vic2NyaWJlKHUgPT5cclxuICAgICAgICB0aGlzLnN1YnN0aXR1ZUlkLnNldFZhbHVlKHUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KSk7XHJcbiAgICBpZiAodGhpcy5fb3B0aW9uKVxyXG4gICAgICBzd2l0Y2ggKHRoaXMuX29wdGlvbi5vcGVuKSB7XHJcbiAgICAgICAgY2FzZSAnb3V0b2ZvZmZpY2UnOlxyXG4gICAgICAgICAgdGhpcy5vdXRPZk9mZmljZS5vcGVuKCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25zLm9wZW4oKTtcclxuICAgICAgfVxyXG4gICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgyMDApLCB0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgICB0aGlzLmZvcm0udmFsaWQgJiZcclxuICAgICAgdGhpcy5fc2Vzc2lvbi51cGRhdGUodGhpcy5mb3JtLmdldFJhd1ZhbHVlKCkpLnN1YnNjcmliZSh7IGVycm9yOiAoKSA9PiB0aGlzLl9zYi5lcnJvcigpIH0pKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfdG9nZ2xlKGdyb3VwOiBGb3JtR3JvdXAsIGFjdGl2ZTogYm9vbGVhbiwgLi4uY29udHJvbHM6IHN0cmluZ1tdKSB7XHJcbiAgICBjb250cm9scy5mb3JFYWNoKG5hbWUgPT4ge1xyXG4gICAgICBpZiAoIWFjdGl2ZSkgZ3JvdXAuY29udHJvbHNbbmFtZV0uZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgIGVsc2UgZ3JvdXAuY29udHJvbHNbbmFtZV0uZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICB0b2dnbGVTb3VuZCgpIHtcclxuICAgICh0aGlzLmZvcm0uY29udHJvbHNbJ25vdGlmaWNhdGlvbnMnXSBhcyBGb3JtR3JvdXApLmNvbnRyb2xzWydzb3VuZCddLnNldFZhbHVlKCF0aGlzLm9wdGlvbnMubm90aWZpY2F0aW9ucy5zb3VuZCk7XHJcbiAgfVxyXG4gIGRpc3BsYXkgPSAoaXRlbTogVXNlckluZm8pID0+IHtcclxuICAgIHJldHVybiBpdGVtID8gaXRlbS5uYW1lIDogbnVsbDtcclxuICB9XHJcblxyXG4gIGFkZFRhZyhldmVudDogTWF0Q2hpcElucHV0RXZlbnQpIHtcclxuICAgIGNvbnN0IHsgY2hpcElucHV0LCB2YWx1ZSB9ID0gZXZlbnQ7XHJcblxyXG4gICAgLy8gQWRkIG91ciBmcnVpdFxyXG4gICAgaWYgKCh2YWx1ZSB8fCAnJykudHJpbSgpKSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucy50YWdzLnB1c2godmFsdWUudHJpbSgpKTtcclxuICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe30pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlc2V0IHRoZSBpbnB1dCB2YWx1ZSBcclxuICAgIGNoaXBJbnB1dD8uY2xlYXIoKTtcclxuICB9XHJcbiAgcmVtb3ZlVGFnKHRhZzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLm9wdGlvbnMudGFncy5yZW1vdmUodGFnKTtcclxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHt9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGlkXHJcbiAgICovXHJcbiAgcmVtb3ZlR3JhbnQoaWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgdXNlcnMgPSB0aGlzLmZvcm0udmFsdWUuZ3JhbnRBY2Nlc3MudXNlcnMgYXMgc3RyaW5nW107XHJcbiAgICBjb25zdCBpbmRleCA9IHVzZXJzLmluZGV4T2YoaWQpO1xyXG5cclxuICAgIGlmIChpbmRleCA+PSAwKVxyXG4gICAgICB1c2Vycy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe30pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gaW5wXHJcbiAgICogQHBhcmFtIGV2ZW50XHJcbiAgICovXHJcbiAgYWRkR3JhbnQoaW5wOiBIVE1MSW5wdXRFbGVtZW50LCBldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCk6IHZvaWQge1xyXG4gICAgY29uc3QgdXNlcnMgPSB0aGlzLmZvcm0udmFsdWUuZ3JhbnRBY2Nlc3MudXNlcnMgYXMgc3RyaW5nW107XHJcbiAgICBjb25zdCBpZCA9IGV2ZW50Lm9wdGlvbi52YWx1ZSBhcyBzdHJpbmc7XHJcbiAgICBpZiAoIXVzZXJzKVxyXG4gICAgICAodGhpcy5mb3JtLmNvbnRyb2xzWydncmFudEFjY2VzcyddIGFzIEZvcm1Hcm91cCkuY29udHJvbHNbJ3VzZXJzJ10uc2V0VmFsdWUoW2lkXSk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHVzZXJzLnB1c2goaWQpO1xyXG4gICAgaW5wLnZhbHVlID0gJyc7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7fSk7XHJcbiAgfVxyXG4gIHNldFN1YnN0aXR1dGUoZXZlbnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpIHtcclxuICAgICh0aGlzLmZvcm0uY29udHJvbHNbJ291dE9mT2ZmaWNlJ10gYXMgRm9ybUdyb3VwKS5jb250cm9sc1snc3Vic3RpdHVlSWQnXS5zZXRWYWx1ZSgoZXZlbnQub3B0aW9uLnZhbHVlIGFzIFVzZXJJbmZvKS5pZCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gIDxtYXQtYWNjb3JkaW9uPlxyXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwgI25vdGlmaWNhdGlvbnM+XHJcbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICAgICAge3snTm90aWZpY2F0aW9ucycgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICAgIDxtYXQtcGFuZWwtZGVzY3JpcHRpb24+XHJcbiAgICAgICAgICA8IS0tPG1hdC1pY29uPm5vdGlmaWNhdGlvbnM8L21hdC1pY29uPi0tPlxyXG4gICAgICAgIDwvbWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxyXG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJub3RpZmljYXRpb25zXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9XCJhY3RpdmVcIj57eydBY3RpdmUnIHwgdHJhbnNsYXRlfX08L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlU291bmQoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidTb3VuZCd8dHJhbnNsYXRlXCI+PG1hdC1pY29uPnt7b3B0aW9ucy5ub3RpZmljYXRpb25zLnNvdW5kID8gJ3ZvbHVtZV91cCcgOiAndm9sdW1lX29mZid9fTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgZm9ybUNvbnRyb2xOYW1lPVwibXlEb2N1bWVudFN0YXRlQ2hhbmdlXCI+e3snTXlTdGF0ZUNoYW5nZScgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9XCJhbnlEb2N1bWVudFN0YXRlQ2hhbmdlXCI+e3snQW55U3RhdGVDaGFuZ2UnIHwgdHJhbnNsYXRlfX08L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgZm9ybUNvbnRyb2xOYW1lPVwiY29tbWVudE15RG9jdW1lbnRcIj57eydDb21tZW50TXlEb2N1bWVudCcgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9XCJjb21tZW50QW55RG9jdW1lbnRcIj57eydDb21tZW50QW55RG9jdW1lbnQnIHwgdHJhbnNsYXRlfX08L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgZm9ybUNvbnRyb2xOYW1lPVwibGlrZXNcIiBbc3R5bGUuZGlzcGxheV09XCJ2b2F0aW5nPycnOidub25lJ1wiPnt7J0xpa2VkQ29tbWVudCcgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9XCJ0YWdnZWRcIj57eydUYWdnZWRJbkNvbW1lbnRzJyB8IHRyYW5zbGF0ZX19PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT1cInVwY29taW5nRXZlbnRzXCI+e3snVXBjb21pbmdFdmVudHMnIHwgdHJhbnNsYXRlfX08L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgZm9ybUNvbnRyb2xOYW1lPVwiY3ViZUFub21hbHlcIj57eydDdWJlQW5vbWFseScgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XHJcbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCAjZW1haWxzPlxyXG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cclxuICAgICAgICAgIHt7J0VtYWlscycgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICAgIDxtYXQtcGFuZWwtZGVzY3JpcHRpb24+XHJcbiAgICAgICAgICA8IS0tPG1hdC1pY29uPmFsdGVybmF0ZV9lbWFpbDwvbWF0LWljb24+LS0+XHJcbiAgICAgICAgPC9tYXQtcGFuZWwtZGVzY3JpcHRpb24+XHJcbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT1cImVtYWlsc1wiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgZm9ybUNvbnRyb2xOYW1lPVwiYWN0aXZlXCI+e3snQWN0aXZlJyB8IHRyYW5zbGF0ZX19PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgIDxiciAvPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT1cIm1haWxcIj57eydNYWlscycgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9XCJjaGF0XCI+e3snQ29udmVyc2F0aW9ucycgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9XCJub3RpZmljYXRpb25zXCI+e3snRW1haWxOb3RpZmljYXRpb25zJyB8IHRyYW5zbGF0ZX19PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT1cImV2ZW50c1wiPnt7J0FsYXJtRXZlbnRzJyB8IHRyYW5zbGF0ZX19PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsICNvdXRPZk9mZmljZT5cclxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgICB7eydPdXRPZk9mZmljZScgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICAgIDxtYXQtcGFuZWwtZGVzY3JpcHRpb24+XHJcbiAgICAgICAgICA8IS0tPG1hdC1pY29uPnRyZW5kaW5nX2ZsYXQ8L21hdC1pY29uPi0tPlxyXG4gICAgICAgICAgPCEtLXt7J091dE9mT2ZmaWNlVGlwJyB8IHRyYW5zbGF0ZX19LS0+XHJcbiAgICAgICAgPC9tYXQtcGFuZWwtZGVzY3JpcHRpb24+XHJcbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT1cIm91dE9mT2ZmaWNlXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9XCJhY3RpdmVcIj57eydBY3RpdmUnIHwgdHJhbnNsYXRlfX08L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJzdWJzdGl0dWVJZFwiIHR5cGU9XCJzZWFyY2hcIiBbbWF0QXV0b2NvbXBsZXRlXT1cInNhdXRvXCIgI3N1YnN0aXR1ZUlucHV0XHJcbiAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBc3NvY2lhdGUnIHwgdHJhbnNsYXRlXCIgW3JlcXVpcmVkXT1cImZvcm0udmFsdWUub3V0T2ZPZmZpY2UuYWN0aXZlXCIgLz5cclxuICAgICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlICNzYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvcHRpb25TZWxlY3RlZCk9XCJzZXRTdWJzdGl0dXRlKCRldmVudClcIj5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHUgb2Ygc3VzZXJzJCB8IGFzeW5jXCIgW3ZhbHVlXT1cInVcIj5cclxuICAgICAgICAgICAgICA8c3Bhbj57e3UubmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L21hdC1hdXRvY29tcGxldGU+XHJcbiAgICAgICAgICA8bWF0LWhpbnQ+e3snT3V0T2ZPZmZpY2VUaXAnIHwgdHJhbnNsYXRlfX08L21hdC1oaW50PlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFttYXREYXRlcGlja2VyXT1cImZyb21cIiBmb3JtQ29udHJvbE5hbWU9XCJmcm9tXCIgcGxhY2Vob2xkZXI9XCJ7eydGcm9tJ3wgdHJhbnNsYXRlfX1cIiAvPlxyXG4gICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIFtmb3JdPVwiZnJvbVwiIG1hdFN1ZmZpeD48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyICNmcm9tPjwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgJm5ic3A7XHJcbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBbbWF0RGF0ZXBpY2tlcl09XCJ0b1wiIGZvcm1Db250cm9sTmFtZT1cInRvXCIgW21pbl09XCJmb3JtLnZhbHVlLm91dE9mT2ZmaWNlPy5mcm9tXCIgcGxhY2Vob2xkZXI9XCJ7eydUbyd8IHRyYW5zbGF0ZX19XCIgLz5cclxuICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBbZm9yXT1cInRvXCIgbWF0U3VmZml4PjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXIgI3RvPjwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsICNncmFudEFjY2Vzcz5cclxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgICB7eydHcmFudEFjY2VzcycgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICAgIDxtYXQtcGFuZWwtZGVzY3JpcHRpb24+XHJcbiAgICAgICAgICA8IS0tPG1hdC1pY29uPmFjY291bnRfY2lyY2xlPC9tYXQtaWNvbj4tLT5cclxuICAgICAgICA8L21hdC1wYW5lbC1kZXNjcmlwdGlvbj5cclxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwiZ3JhbnRBY2Nlc3NcIiBjbGFzcz1cImdyYW50LXNlY3Rpb25cIj5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9XCJhY3RpdmVcIj57eydBY3RpdmUnIHwgdHJhbnNsYXRlfX08L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPG1hdC1jaGlwLWdyaWQgI2dyYW50TGlzdCBbYXR0ci5hcmlhLWxhYmVsXT1cIlwiIFtkaXNhYmxlZF09XCIhZm9ybS52YWx1ZS5ncmFudEFjY2Vzcy5hY3RpdmVcIj5cclxuICAgICAgICAgICAgPG1hdC1jaGlwLXJvdyAqbmdGb3I9XCJsZXQgdSBvZiBmb3JtLnZhbHVlLmdyYW50QWNjZXNzLnVzZXJzIHx8IFtdXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAocmVtb3ZlZCk9XCJyZW1vdmVHcmFudCh1KVwiPlxyXG4gICAgICAgICAgICAgIHt7dSB8IHVzZXJOYW1lIHwgYXN5bmN9fVxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRDaGlwUmVtb3ZlPmNhbmNlbDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvbWF0LWNoaXAtcm93PlxyXG4gICAgICAgICAgPC9tYXQtY2hpcC1ncmlkPlxyXG4gICAgICAgICAgPGlucHV0IFtmb3JtQ29udHJvbF09XCJndXNlcnNcIiBwbGFjZWhvbGRlcj1cInt7J1VzZXJzJ3wgdHJhbnNsYXRlfX1cIlxyXG4gICAgICAgICAgICAgICAgICNncmFudElucHV0XHJcbiAgICAgICAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJncmFudEF1dG9cIlxyXG4gICAgICAgICAgICAgICAgIFttYXRDaGlwSW5wdXRGb3JdPVwiZ3JhbnRMaXN0XCJcclxuICAgICAgICAgICAgICAgICBbbWF0Q2hpcElucHV0U2VwYXJhdG9yS2V5Q29kZXNdPVwic2VwYXJhdG9yS2V5c0NvZGVzXCI+XHJcbiAgICAgICAgICA8bWF0LWF1dG9jb21wbGV0ZSAjZ3JhbnRBdXRvPVwibWF0QXV0b2NvbXBsZXRlXCIgKG9wdGlvblNlbGVjdGVkKT1cImFkZEdyYW50KGdyYW50SW5wdXQsICRldmVudClcIj5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHUgb2YgZ3VzZXJzJCB8IGFzeW5jXCIgW3ZhbHVlXT1cInUuaWRcIj5cclxuICAgICAgICAgICAgICB7e3UubmFtZX19XHJcbiAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ1LmVtYWlsXCI+Jm5ic3A7IC0ge3t1LmVtYWlsfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgICAgIDxtYXQtaGludD57eydHcmFudFRpcCcgfCB0cmFuc2xhdGV9fTwvbWF0LWhpbnQ+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XHJcbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCAjcHJlZmVyZW5jZXM+XHJcbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICAgICAge3snUHJlZmVyZW5jZXMnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cclxuICAgICAgICA8bWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxyXG4gICAgICAgICAgPCEtLTxtYXQtaWNvbj48L21hdC1pY29uPi0tPlxyXG4gICAgICAgIDwvbWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxyXG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPG1hdC1jaGlwLWdyaWQgI2NoaXBzPlxyXG4gICAgICAgICAgICA8bWF0LWNoaXAtcm93ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZvcm0udmFsdWUudGFnc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlbW92YWJsZV09XCJ0cnVlXCIgKHJlbW92ZWQpPVwicmVtb3ZlVGFnKGl0ZW0pXCI+XHJcbiAgICAgICAgICAgICAge3tpdGVtfX1cclxuICAgICAgICAgICAgICA8bWF0LWljb24gbWF0Q2hpcFJlbW92ZT5jYW5jZWw8L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L21hdC1jaGlwLXJvdz5cclxuICAgICAgICAgIDwvbWF0LWNoaXAtZ3JpZD5cclxuICAgICAgICAgIDxpbnB1dCBbcGxhY2Vob2xkZXJdPVwiJ1RhZ3MnfHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwc1wiXHJcbiAgICAgICAgICAgICAgICAgW21hdENoaXBJbnB1dFNlcGFyYXRvcktleUNvZGVzXT1cInNlcGFyYXRvcktleXNDb2Rlc1wiXHJcbiAgICAgICAgICAgICAgICAgW21hdENoaXBJbnB1dEFkZE9uQmx1cl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAobWF0Q2hpcElucHV0VG9rZW5FbmQpPVwiYWRkVGFnKCRldmVudClcIj5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIFtmb3JtQ29udHJvbF09XCJhUklBXCI+e3snQVJJQScgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+XHJcbiAgPC9tYXQtYWNjb3JkaW9uPlxyXG48L2Zvcm0+XHJcbiJdfQ==
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL29wdGlvbnMvb3B0aW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL29wdGlvbnMvb3B0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixTQUFTLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRyxPQUFPLEVBQUUsT0FBTyxFQUFjLEtBQUssRUFBTSxNQUFNLE1BQU0sQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLHlCQUF5QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUTdDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxJQUFJLGNBQWMsQ0FBYSxTQUFTLENBQUMsQ0FBQztBQVd0RSx1QkFBdUI7QUFDdkIsTUFBTSxPQUFPLGdCQUFnQjtJQXNEM0IsbUJBQW1CO0lBQ25CLFlBQTBDLE9BQW1CLEVBQUUsVUFBc0IsRUFBVSxHQUFn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RUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDSSxhQUFhO3NCQUFuRixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBJbmplY3Rpb25Ub2tlbiwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSwgbWVyZ2UsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsLCBmaWx0ZXIsIG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IE1hdEV4cGFuc2lvblBhbmVsIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZXhwYW5zaW9uJztcclxuaW1wb3J0IHsgTWF0Q2hpcElucHV0LCBNYXRDaGlwSW5wdXRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcclxuaW1wb3J0IHsgQ09NTUEsIEVOVEVSLCBTRU1JQ09MT04gfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgTWF0SW5wdXQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IEJJWkRPQ19DT05GSUcsIEJpekRvY0NvbmZpZyB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IGlzU3RyaW5nIH0gZnJvbSAnLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBPcHRpb25zLCBVc2VySW5mbyB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQWNjb3VudFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2FjY291bnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcblxyXG5leHBvcnQgdHlwZSBPcHRpb25UeXBlID0gJ25vdGlmaWNhdGlvbnMnIHwgJ291dG9mb2ZmaWNlJyB8ICdlbWFpbHMnIHwgJ2dyYW50YWNjZXNzJztcclxuXHJcbmV4cG9ydCBjb25zdCBPUFRJT05fUEFORUwgPSBuZXcgSW5qZWN0aW9uVG9rZW48T3B0aW9uRGF0YT4oJ29wdGlvbnMnKTtcclxuXHJcbmludGVyZmFjZSBPcHRpb25EYXRhIHtcclxuICBvcGVuOiBPcHRpb25UeXBlO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1vcHRpb25zJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vb3B0aW9ucy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vb3B0aW9ucy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbi8qKiBvcHRpb25zIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBPcHRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgX3JlcXVpcmVkVmFsaWRhdG9yID0gKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsID0+IHtcclxuICAgIGNvbnN0IHBhcmVudCA9IChjb250cm9sLnBhcmVudCBhcyBGb3JtR3JvdXApO1xyXG4gICAgaWYgKHBhcmVudCAmJiBwYXJlbnQuY29udHJvbHNbJ2FjdGl2ZSddLnZhbHVlICYmICFjb250cm9sLnZhbHVlKSByZXR1cm4ge1xyXG4gICAgICByZXF1aXJlZDogdHJ1ZVxyXG4gICAgfVxyXG4gIH1cclxuICBAVmlld0NoaWxkKCdzdWJzdGl0dWVJbnB1dCcsIHsgcmVhZDogTWF0SW5wdXQgfSkgc3Vic3RpdHVlSW5wdXQ6IE1hdElucHV0O1xyXG4gIEBWaWV3Q2hpbGQoJ2dyYW50SW5wdXQnLCB7IHJlYWQ6IE1hdENoaXBJbnB1dCB9KSBncmFudElucHV0OiBNYXRDaGlwSW5wdXQ7XHJcbiAgcmVhZG9ubHkgbGFuZ3VhZ2UgPSB0aGlzLl9mYi5jb250cm9sKHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2UpO1xyXG4gIHJlYWRvbmx5IGFSSUEgPSB0aGlzLl9mYi5jb250cm9sKHRoaXMuX3Nlc3Npb24uYXJpYSk7XHJcbiAgcmVhZG9ubHkgbGFuZ3VhZ2VzID0gdGhpcy5fc2Vzc2lvbi5sYW5ndWFnZXM7XHJcbiAgcmVhZG9ubHkgZ3VzZXJzID0gdGhpcy5fZmIuY29udHJvbChbXSk7XHJcbiAgcmVhZG9ubHkgc3Vic3RpdHVlSWQgPSB0aGlzLl9mYi5jb250cm9sKG51bGwpO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBub3RpZmljYXRpb25zOiB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICAgIGFjdGl2ZTogdGhpcy5fZmIuY29udHJvbChmYWxzZSksXHJcbiAgICAgIGxpa2VzOiB0aGlzLl9mYi5jb250cm9sKGZhbHNlKSxcclxuICAgICAgY29tbWVudE15RG9jdW1lbnQ6IHRoaXMuX2ZiLmNvbnRyb2woZmFsc2UpLFxyXG4gICAgICBjb21tZW50QW55RG9jdW1lbnQ6IHRoaXMuX2ZiLmNvbnRyb2woZmFsc2UpLFxyXG4gICAgICB1cGNvbWluZ0V2ZW50czogdGhpcy5fZmIuY29udHJvbChmYWxzZSksXHJcbiAgICAgIHRhZ2dlZDogdGhpcy5fZmIuY29udHJvbChmYWxzZSksXHJcbiAgICAgIGFueURvY3VtZW50U3RhdGVDaGFuZ2U6IHRoaXMuX2ZiLmNvbnRyb2woZmFsc2UpLFxyXG4gICAgICBteURvY3VtZW50U3RhdGVDaGFuZ2U6IHRoaXMuX2ZiLmNvbnRyb2woZmFsc2UpLFxyXG4gICAgICBjdWJlQW5vbWFseTogdGhpcy5fZmIuY29udHJvbChmYWxzZSksXHJcbiAgICAgIHNvdW5kOiB0aGlzLl9mYi5jb250cm9sKGZhbHNlKSxcclxuICAgIH0pLFxyXG4gICAgdGFnczogdGhpcy5fZmIuY29udHJvbChudWxsKSxcclxuICAgIGVtYWlsczogdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgICBhY3RpdmU6IHRoaXMuX2ZiLmNvbnRyb2woZmFsc2UpLFxyXG4gICAgICBtYWlsOiB0aGlzLl9mYi5jb250cm9sKGZhbHNlKSxcclxuICAgICAgY2hhdDogdGhpcy5fZmIuY29udHJvbChmYWxzZSksXHJcbiAgICAgIG5vdGlmaWNhdGlvbnM6IHRoaXMuX2ZiLmNvbnRyb2woZmFsc2UpLFxyXG4gICAgICBldmVudHM6IHRoaXMuX2ZiLmNvbnRyb2woZmFsc2UpXHJcbiAgICB9KSxcclxuICAgIG91dE9mT2ZmaWNlOiB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICAgIGFjdGl2ZTogdGhpcy5fZmIuY29udHJvbChmYWxzZSksXHJcbiAgICAgIHN1YnN0aXR1ZUlkOiB0aGlzLl9mYi5jb250cm9sKG51bGwsIHRoaXMuX3JlcXVpcmVkVmFsaWRhdG9yKSxcclxuICAgICAgZnJvbTogdGhpcy5fZmIuY29udHJvbChudWxsKSxcclxuICAgICAgdG86IHRoaXMuX2ZiLmNvbnRyb2wobnVsbClcclxuICAgIH0pLFxyXG4gICAgZ3JhbnRBY2Nlc3M6IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgICAgYWN0aXZlOiB0aGlzLl9mYi5jb250cm9sKGZhbHNlKSxcclxuICAgICAgdXNlcnM6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCwgdGhpcy5fcmVxdWlyZWRWYWxpZGF0b3IpXHJcbiAgICB9KVxyXG4gIH0pO1xyXG4gIHN1c2VycyQ6IE9ic2VydmFibGU8VXNlckluZm9bXT47XHJcbiAgZ3VzZXJzJDogT2JzZXJ2YWJsZTxVc2VySW5mb1tdPjtcclxuICB2b2F0aW5nOiBib29sZWFuO1xyXG4gIG9wdGlvbnM6IE9wdGlvbnM7XHJcbiAgcmVhZG9ubHkgc2VwYXJhdG9yS2V5c0NvZGVzOiBudW1iZXJbXSA9IFtFTlRFUiwgQ09NTUEsIFNFTUlDT0xPTl07XHJcbiAgQFZpZXdDaGlsZCgnb3V0T2ZPZmZpY2UnLCB7IHJlYWQ6IE1hdEV4cGFuc2lvblBhbmVsLCBzdGF0aWM6IHRydWUgfSkgb3V0T2ZPZmZpY2U6IE1hdEV4cGFuc2lvblBhbmVsO1xyXG4gIEBWaWV3Q2hpbGQoJ25vdGlmaWNhdGlvbnMnLCB7IHJlYWQ6IE1hdEV4cGFuc2lvblBhbmVsLCBzdGF0aWM6IHRydWUgfSkgbm90aWZpY2F0aW9uczogTWF0RXhwYW5zaW9uUGFuZWw7XHJcbiAgLyoqIG9wdGlvbnMgY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoT1BUSU9OX1BBTkVMKSBwcml2YXRlIF9vcHRpb246IE9wdGlvbkRhdGEsIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsIHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSwgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgY29uZmlnOiBCaXpEb2NDb25maWcpIHtcclxuICAgIHRoaXMudm9hdGluZyA9ICFjb25maWcuY29tbWVudHMgfHwgY29uZmlnLmNvbW1lbnRzLnZvdGluZyAhPT0gZmFsc2U7XHJcbiAgICBtZXJnZShvdmVybGF5UmVmLmtleWRvd25FdmVudHMoKS5waXBlKGZpbHRlcihrID0+IGsua2V5ID09PSAnRXNjYXBlJykpLCBvdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKSkuXHJcbiAgICAgIHN1YnNjcmliZSgoKSA9PiBvdmVybGF5UmVmLmRpc3Bvc2UoKSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hUklBLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuXHJcbiAgICAgIHN1YnNjcmliZSh2ID0+IHRoaXMuX3Nlc3Npb24uYXJpYSA9IHYpO1xyXG4gICAgdGhpcy5sYW5ndWFnZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHYgPT4gdGhpcy5fc2Vzc2lvbi5sYW5ndWFnZSA9IHYpO1xyXG4gICAgY29uc3Qgb3V0T2ZPZmZpY2UgPSB0aGlzLmZvcm0uY29udHJvbHNbJ291dE9mT2ZmaWNlJ10gYXMgRm9ybUdyb3VwO1xyXG4gICAgY29uc3QgZ3JhbnRBY2Nlc3MgPSB0aGlzLmZvcm0uY29udHJvbHNbJ2dyYW50QWNjZXNzJ10gYXMgRm9ybUdyb3VwO1xyXG4gICAgY29uc3Qgbm90aWZpY2F0aW9ucyA9IHRoaXMuZm9ybS5jb250cm9sc1snbm90aWZpY2F0aW9ucyddIGFzIEZvcm1Hcm91cDtcclxuICAgIGNvbnN0IGVtYWlscyA9IHRoaXMuZm9ybS5jb250cm9sc1snZW1haWxzJ10gYXMgRm9ybUdyb3VwO1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucyA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5vcHRpb25zO1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUob3B0aW9ucywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgaWYgKCFvcHRpb25zLm5vdGlmaWNhdGlvbnMuYWN0aXZlKVxyXG4gICAgICB0aGlzLl90b2dnbGUobm90aWZpY2F0aW9ucywgZmFsc2UsICdsaWtlcycsXHJcbiAgICAgICAgJ2NvbW1lbnRNeURvY3VtZW50JyxcclxuICAgICAgICAnY29tbWVudEFueURvY3VtZW50JyxcclxuICAgICAgICAndXBjb21pbmdFdmVudHMnLFxyXG4gICAgICAgICd0YWdnZWQnLFxyXG4gICAgICAgICdhbnlEb2N1bWVudFN0YXRlQ2hhbmdlJyxcclxuICAgICAgICAnbXlEb2N1bWVudFN0YXRlQ2hhbmdlJyxcclxuICAgICAgICAnY3ViZUFub21hbHknKTtcclxuICAgIGlmICghb3B0aW9ucy5lbWFpbHMuYWN0aXZlKVxyXG4gICAgICB0aGlzLl90b2dnbGUoZW1haWxzLCBmYWxzZSwgJ21haWwnLFxyXG4gICAgICAgICdjaGF0JyxcclxuICAgICAgICAnbm90aWZpY2F0aW9ucycsXHJcbiAgICAgICAgJ2V2ZW50cycpO1xyXG4gICAgaWYgKCFvcHRpb25zLmdyYW50QWNjZXNzLmFjdGl2ZSlcclxuICAgICAgdGhpcy5ndXNlcnMuZGlzYWJsZSgpO1xyXG4gICAgaWYgKCFvcHRpb25zLm91dE9mT2ZmaWNlLmFjdGl2ZSkge1xyXG4gICAgICB0aGlzLnN1YnN0aXR1ZUlkLmRpc2FibGUoKTtcclxuICAgICAgdGhpcy5fdG9nZ2xlKG91dE9mT2ZmaWNlLCBmYWxzZSwgJ2Zyb20nLCAndG8nKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKCFvcHRpb25zLm91dE9mT2ZmaWNlLmZyb20pXHJcbiAgICAgIHRoaXMuX3RvZ2dsZShvdXRPZk9mZmljZSwgZmFsc2UsICd0bycpO1xyXG4gICAgLy8gY2hhbmdlXHJcbiAgICBub3RpZmljYXRpb25zLmNvbnRyb2xzWydhY3RpdmUnXS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICBzdWJzY3JpYmUoYWN0aXZlID0+XHJcbiAgICAgICAgdGhpcy5fdG9nZ2xlKG5vdGlmaWNhdGlvbnMsIGFjdGl2ZSwgJ2xpa2VzJyxcclxuICAgICAgICAgICdjb21tZW50TXlEb2N1bWVudCcsXHJcbiAgICAgICAgICAnY29tbWVudEFueURvY3VtZW50JyxcclxuICAgICAgICAgICd1cGNvbWluZ0V2ZW50cycsXHJcbiAgICAgICAgICAndGFnZ2VkJyxcclxuICAgICAgICAgICdhbnlEb2N1bWVudFN0YXRlQ2hhbmdlJyxcclxuICAgICAgICAgICdteURvY3VtZW50U3RhdGVDaGFuZ2UnLFxyXG4gICAgICAgICAgJ2N1YmVBbm9tYWx5JykpO1xyXG4gICAgZW1haWxzLmNvbnRyb2xzWydhY3RpdmUnXS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICBzdWJzY3JpYmUoYWN0aXZlID0+IHRoaXMuX3RvZ2dsZShlbWFpbHMsIGFjdGl2ZSwgJ21haWwnLFxyXG4gICAgICAgICdjaGF0JyxcclxuICAgICAgICAnbm90aWZpY2F0aW9ucycsXHJcbiAgICAgICAgJ2V2ZW50cycpKTtcclxuICAgIGdyYW50QWNjZXNzLmNvbnRyb2xzWydhY3RpdmUnXS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICBzdWJzY3JpYmUoYWN0aXZlID0+IHtcclxuICAgICAgICBpZiAoYWN0aXZlKSB7XHJcbiAgICAgICAgICB0aGlzLmd1c2Vycy5lbmFibGUoKTtcclxuICAgICAgICAgIHRoaXMuZ3JhbnRJbnB1dC5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHRoaXMuZ3VzZXJzLmVuYWJsZSgpO1xyXG4gICAgICB9KTtcclxuICAgIG91dE9mT2ZmaWNlLmNvbnRyb2xzWydhY3RpdmUnXS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICBzdWJzY3JpYmUoYWN0aXZlID0+IHtcclxuICAgICAgICBpZiAoYWN0aXZlKSB7XHJcbiAgICAgICAgICB0aGlzLnN1YnN0aXR1ZUlkLmVuYWJsZSgpO1xyXG4gICAgICAgICAgdGhpcy5zdWJzdGl0dWVJbnB1dC5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLnN1YnN0aXR1ZUlkLmRpc2FibGUoKTtcclxuICAgICAgICB0aGlzLl90b2dnbGUob3V0T2ZPZmZpY2UsIGFjdGl2ZSwgJ2Zyb20nKTtcclxuICAgICAgICB0aGlzLl90b2dnbGUob3V0T2ZPZmZpY2UsIGFjdGl2ZSAmJiBvdXRPZk9mZmljZS5jb250cm9sc1snZnJvbSddLnZhbHVlLCAndG8nKTtcclxuICAgICAgfSk7XHJcbiAgICBvdXRPZk9mZmljZS5jb250cm9sc1snZnJvbSddLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuXHJcbiAgICAgIHN1YnNjcmliZShmcm9tID0+XHJcbiAgICAgICAgdGhpcy5fdG9nZ2xlKG91dE9mT2ZmaWNlLCBmcm9tICE9PSBudWxsLCAndG8nKSk7XHJcbiAgICB0aGlzLmd1c2VycyQgPSB0aGlzLmd1c2Vycy52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSksXHJcbiAgICAgIGZpbHRlcih2ID0+IGlzU3RyaW5nKHYpKSxcclxuICAgICAgZGVib3VuY2VUaW1lKDEwMCksXHJcbiAgICAgIHN3aXRjaE1hcCh2ID0+IHRoaXMuX2FjY291bnRzLmZpbmRBbGwodiBhcyBhbnkpKSxcclxuICAgICAgbWFwKHIgPT4ge1xyXG4gICAgICAgIGNvbnN0IGV4Y2x1ZGUgPSAoZ3JhbnRBY2Nlc3MudmFsdWUudXNlcnMgYXMgc3RyaW5nW10pPy5zbGljZSgpIHx8IFtdO1xyXG4gICAgICAgIGV4Y2x1ZGUucHVzaCh0aGlzLl9zZXNzaW9uLnByb2ZpbGUudXNlcklkKTtcclxuICAgICAgICByZXR1cm4gci5maWx0ZXIodSA9PiBleGNsdWRlLmluZGV4T2YodS5pZCkgPCAwKTtcclxuICAgICAgfSkpO1xyXG4gICAgdGhpcy5zdXNlcnMkID0gdGhpcy5zdWJzdGl0dWVJZC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSksXHJcbiAgICAgIHRhcCh2ID0+XHJcbiAgICAgICAgIXYgJiYgb3V0T2ZPZmZpY2UuY29udHJvbHNbJ3N1YnN0aXR1ZUlkJ10uc2V0VmFsdWUobnVsbClcclxuICAgICAgKSxcclxuICAgICAgZmlsdGVyKHYgPT4gaXNTdHJpbmcodikpLFxyXG4gICAgICBzd2l0Y2hNYXAodiA9PiB0aGlzLl9hY2NvdW50cy5maW5kQWxsKHYpKSxcclxuICAgICAgbWFwKHIgPT4gci5maWx0ZXIodSA9PiB1LmlkICE9PSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUudXNlcklkKSkpO1xyXG4gICAgaWYgKG9wdGlvbnMub3V0T2ZPZmZpY2Uuc3Vic3RpdHVlSWQpXHJcbiAgICAgIHRoaXMuX2FjY291bnRzLmdldChvcHRpb25zLm91dE9mT2ZmaWNlLnN1YnN0aXR1ZUlkKS5zdWJzY3JpYmUodSA9PlxyXG4gICAgICAgIHRoaXMuc3Vic3RpdHVlSWQuc2V0VmFsdWUodSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pKTtcclxuICAgIGlmICh0aGlzLl9vcHRpb24pXHJcbiAgICAgIHN3aXRjaCAodGhpcy5fb3B0aW9uLm9wZW4pIHtcclxuICAgICAgICBjYXNlICdvdXRvZm9mZmljZSc6XHJcbiAgICAgICAgICB0aGlzLm91dE9mT2ZmaWNlLm9wZW4oKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbnMub3BlbigpO1xyXG4gICAgICB9XHJcbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDIwMCksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgIHRoaXMuZm9ybS52YWxpZCAmJlxyXG4gICAgICB0aGlzLl9zZXNzaW9uLnVwZGF0ZSh0aGlzLmZvcm0uZ2V0UmF3VmFsdWUoKSkuc3Vic2NyaWJlKHsgZXJyb3I6ICgpID0+IHRoaXMuX3NiLmVycm9yKCkgfSkpO1xyXG4gIH1cclxuICBwcml2YXRlIF90b2dnbGUoZ3JvdXA6IEZvcm1Hcm91cCwgYWN0aXZlOiBib29sZWFuLCAuLi5jb250cm9sczogc3RyaW5nW10pIHtcclxuICAgIGNvbnRyb2xzLmZvckVhY2gobmFtZSA9PiB7XHJcbiAgICAgIGlmICghYWN0aXZlKSBncm91cC5jb250cm9sc1tuYW1lXS5kaXNhYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgZWxzZSBncm91cC5jb250cm9sc1tuYW1lXS5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHRvZ2dsZVNvdW5kKCkge1xyXG4gICAgKHRoaXMuZm9ybS5jb250cm9sc1snbm90aWZpY2F0aW9ucyddIGFzIEZvcm1Hcm91cCkuY29udHJvbHNbJ3NvdW5kJ10uc2V0VmFsdWUoIXRoaXMub3B0aW9ucy5ub3RpZmljYXRpb25zLnNvdW5kKTtcclxuICB9XHJcbiAgZGlzcGxheSA9IChpdGVtOiBVc2VySW5mbykgPT4ge1xyXG4gICAgcmV0dXJuIGl0ZW0gPyBpdGVtLm5hbWUgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgYWRkVGFnKGV2ZW50OiBNYXRDaGlwSW5wdXRFdmVudCkge1xyXG4gICAgY29uc3QgeyBjaGlwSW5wdXQsIHZhbHVlIH0gPSBldmVudDtcclxuXHJcbiAgICAvLyBBZGQgb3VyIGZydWl0XHJcbiAgICBpZiAoKHZhbHVlIHx8ICcnKS50cmltKCkpIHtcclxuICAgICAgdGhpcy5vcHRpb25zLnRhZ3MucHVzaCh2YWx1ZS50cmltKCkpO1xyXG4gICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7fSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVzZXQgdGhlIGlucHV0IHZhbHVlIFxyXG4gICAgY2hpcElucHV0Py5jbGVhcigpO1xyXG4gIH1cclxuICByZW1vdmVUYWcodGFnOiBzdHJpbmcpIHtcclxuICAgIHRoaXMub3B0aW9ucy50YWdzLnJlbW92ZSh0YWcpO1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe30pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gaWRcclxuICAgKi9cclxuICByZW1vdmVHcmFudChpZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCB1c2VycyA9IHRoaXMuZm9ybS52YWx1ZS5ncmFudEFjY2Vzcy51c2VycyBhcyBzdHJpbmdbXTtcclxuICAgIGNvbnN0IGluZGV4ID0gdXNlcnMuaW5kZXhPZihpZCk7XHJcblxyXG4gICAgaWYgKGluZGV4ID49IDApXHJcbiAgICAgIHVzZXJzLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7fSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBpbnBcclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKi9cclxuICBhZGRHcmFudChpbnA6IEhUTUxJbnB1dEVsZW1lbnQsIGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCB1c2VycyA9IHRoaXMuZm9ybS52YWx1ZS5ncmFudEFjY2Vzcy51c2VycyBhcyBzdHJpbmdbXTtcclxuICAgIGNvbnN0IGlkID0gZXZlbnQub3B0aW9uLnZhbHVlIGFzIHN0cmluZztcclxuICAgIGlmICghdXNlcnMpXHJcbiAgICAgICh0aGlzLmZvcm0uY29udHJvbHNbJ2dyYW50QWNjZXNzJ10gYXMgRm9ybUdyb3VwKS5jb250cm9sc1sndXNlcnMnXS5zZXRWYWx1ZShbaWRdKTtcclxuICAgIGVsc2VcclxuICAgICAgdXNlcnMucHVzaChpZCk7XHJcbiAgICBpbnAudmFsdWUgPSAnJztcclxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHt9KTtcclxuICB9XHJcbiAgc2V0U3Vic3RpdHV0ZShldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCkge1xyXG4gICAgKHRoaXMuZm9ybS5jb250cm9sc1snb3V0T2ZPZmZpY2UnXSBhcyBGb3JtR3JvdXApLmNvbnRyb2xzWydzdWJzdGl0dWVJZCddLnNldFZhbHVlKChldmVudC5vcHRpb24udmFsdWUgYXMgVXNlckluZm8pLmlkKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgPG1hdC1hY2NvcmRpb24+XHJcbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCAjbm90aWZpY2F0aW9ucz5cclxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgICB7eydOb3RpZmljYXRpb25zJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbj5cclxuICAgICAgICAgIDwhLS08bWF0LWljb24+bm90aWZpY2F0aW9uczwvbWF0LWljb24+LS0+XHJcbiAgICAgICAgPC9tYXQtcGFuZWwtZGVzY3JpcHRpb24+XHJcbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgIDxkaXYgZm9ybUdyb3VwTmFtZT1cIm5vdGlmaWNhdGlvbnNcIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT1cImFjdGl2ZVwiPnt7J0FjdGl2ZScgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVTb3VuZCgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1NvdW5kJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+e3tvcHRpb25zLm5vdGlmaWNhdGlvbnMuc291bmQgPyAndm9sdW1lX3VwJyA6ICd2b2x1bWVfb2ZmJ319PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YnIgLz5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9XCJteURvY3VtZW50U3RhdGVDaGFuZ2VcIj57eydNeVN0YXRlQ2hhbmdlJyB8IHRyYW5zbGF0ZX19PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT1cImFueURvY3VtZW50U3RhdGVDaGFuZ2VcIj57eydBbnlTdGF0ZUNoYW5nZScgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9XCJjb21tZW50TXlEb2N1bWVudFwiPnt7J0NvbW1lbnRNeURvY3VtZW50JyB8IHRyYW5zbGF0ZX19PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT1cImNvbW1lbnRBbnlEb2N1bWVudFwiPnt7J0NvbW1lbnRBbnlEb2N1bWVudCcgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9XCJsaWtlc1wiIFtzdHlsZS5kaXNwbGF5XT1cInZvYXRpbmc/Jyc6J25vbmUnXCI+e3snTGlrZWRDb21tZW50JyB8IHRyYW5zbGF0ZX19PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT1cInRhZ2dlZFwiPnt7J1RhZ2dlZEluQ29tbWVudHMnIHwgdHJhbnNsYXRlfX08L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgZm9ybUNvbnRyb2xOYW1lPVwidXBjb21pbmdFdmVudHNcIj57eydVcGNvbWluZ0V2ZW50cycgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9XCJjdWJlQW5vbWFseVwiPnt7J0N1YmVBbm9tYWx5JyB8IHRyYW5zbGF0ZX19PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsICNlbWFpbHM+XHJcbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICAgICAge3snRW1haWxzJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbj5cclxuICAgICAgICAgIDwhLS08bWF0LWljb24+YWx0ZXJuYXRlX2VtYWlsPC9tYXQtaWNvbj4tLT5cclxuICAgICAgICA8L21hdC1wYW5lbC1kZXNjcmlwdGlvbj5cclxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwiZW1haWxzXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBmb3JtQ29udHJvbE5hbWU9XCJhY3RpdmVcIj57eydBY3RpdmUnIHwgdHJhbnNsYXRlfX08L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgPGJyIC8+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgZm9ybUNvbnRyb2xOYW1lPVwibWFpbFwiPnt7J01haWxzJyB8IHRyYW5zbGF0ZX19PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT1cImNoYXRcIj57eydDb252ZXJzYXRpb25zJyB8IHRyYW5zbGF0ZX19PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT1cIm5vdGlmaWNhdGlvbnNcIj57eydFbWFpbE5vdGlmaWNhdGlvbnMnIHwgdHJhbnNsYXRlfX08L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgZm9ybUNvbnRyb2xOYW1lPVwiZXZlbnRzXCI+e3snQWxhcm1FdmVudHMnIHwgdHJhbnNsYXRlfX08L21hdC1zbGlkZS10b2dnbGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwgI291dE9mT2ZmaWNlPlxyXG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cclxuICAgICAgICAgIHt7J091dE9mT2ZmaWNlJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbj5cclxuICAgICAgICAgIDwhLS08bWF0LWljb24+dHJlbmRpbmdfZmxhdDwvbWF0LWljb24+LS0+XHJcbiAgICAgICAgICA8IS0te3snT3V0T2ZPZmZpY2VUaXAnIHwgdHJhbnNsYXRlfX0tLT5cclxuICAgICAgICA8L21hdC1wYW5lbC1kZXNjcmlwdGlvbj5cclxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwib3V0T2ZPZmZpY2VcIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT1cImFjdGl2ZVwiPnt7J0FjdGl2ZScgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICA8YnIgLz5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cInN1YnN0aXR1ZUlkXCIgdHlwZT1cInNlYXJjaFwiIFttYXRBdXRvY29tcGxldGVdPVwic2F1dG9cIiAjc3Vic3RpdHVlSW5wdXRcclxuICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0Fzc29jaWF0ZScgfCB0cmFuc2xhdGVcIiBbcmVxdWlyZWRdPVwiZm9ybS52YWx1ZS5vdXRPZk9mZmljZS5hY3RpdmVcIiAvPlxyXG4gICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI3NhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCIgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cInNldFN1YnN0aXR1dGUoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdSBvZiBzdXNlcnMkIHwgYXN5bmNcIiBbdmFsdWVdPVwidVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuPnt7dS5uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgICAgIDxtYXQtaGludD57eydPdXRPZk9mZmljZVRpcCcgfCB0cmFuc2xhdGV9fTwvbWF0LWhpbnQ+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgW21hdERhdGVwaWNrZXJdPVwiZnJvbVwiIGZvcm1Db250cm9sTmFtZT1cImZyb21cIiBwbGFjZWhvbGRlcj1cInt7J0Zyb20nfCB0cmFuc2xhdGV9fVwiIC8+XHJcbiAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgW2Zvcl09XCJmcm9tXCIgbWF0U3VmZml4PjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXIgI2Zyb20+PC9tYXQtZGF0ZXBpY2tlcj5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAmbmJzcDtcclxuICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IFttYXREYXRlcGlja2VyXT1cInRvXCIgZm9ybUNvbnRyb2xOYW1lPVwidG9cIiBbbWluXT1cImZvcm0udmFsdWUub3V0T2ZPZmZpY2U/LmZyb21cIiBwbGFjZWhvbGRlcj1cInt7J1RvJ3wgdHJhbnNsYXRlfX1cIiAvPlxyXG4gICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIFtmb3JdPVwidG9cIiBtYXRTdWZmaXg+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjdG8+PC9tYXQtZGF0ZXBpY2tlcj5cclxuICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwgI2dyYW50QWNjZXNzPlxyXG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5cclxuICAgICAgICAgIHt7J0dyYW50QWNjZXNzJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgPC9tYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgPG1hdC1wYW5lbC1kZXNjcmlwdGlvbj5cclxuICAgICAgICAgIDwhLS08bWF0LWljb24+YWNjb3VudF9jaXJjbGU8L21hdC1pY29uPi0tPlxyXG4gICAgICAgIDwvbWF0LXBhbmVsLWRlc2NyaXB0aW9uPlxyXG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJncmFudEFjY2Vzc1wiIGNsYXNzPVwiZ3JhbnQtc2VjdGlvblwiPlxyXG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGZvcm1Db250cm9sTmFtZT1cImFjdGl2ZVwiPnt7J0FjdGl2ZScgfCB0cmFuc2xhdGV9fTwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8bWF0LWNoaXAtZ3JpZCAjZ3JhbnRMaXN0IFthdHRyLmFyaWEtbGFiZWxdPVwiXCIgW2Rpc2FibGVkXT1cIiFmb3JtLnZhbHVlLmdyYW50QWNjZXNzLmFjdGl2ZVwiPlxyXG4gICAgICAgICAgICA8bWF0LWNoaXAtcm93ICpuZ0Zvcj1cImxldCB1IG9mIGZvcm0udmFsdWUuZ3JhbnRBY2Nlc3MudXNlcnMgfHwgW11cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChyZW1vdmVkKT1cInJlbW92ZUdyYW50KHUpXCI+XHJcbiAgICAgICAgICAgICAge3t1IHwgdXNlck5hbWUgfCBhc3luY319XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPC9tYXQtY2hpcC1yb3c+XHJcbiAgICAgICAgICA8L21hdC1jaGlwLWdyaWQ+XHJcbiAgICAgICAgICA8aW5wdXQgW2Zvcm1Db250cm9sXT1cImd1c2Vyc1wiIHBsYWNlaG9sZGVyPVwie3snVXNlcnMnfCB0cmFuc2xhdGV9fVwiXHJcbiAgICAgICAgICAgICAgICAgI2dyYW50SW5wdXRcclxuICAgICAgICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImdyYW50QXV0b1wiXHJcbiAgICAgICAgICAgICAgICAgW21hdENoaXBJbnB1dEZvcl09XCJncmFudExpc3RcIlxyXG4gICAgICAgICAgICAgICAgIFttYXRDaGlwSW5wdXRTZXBhcmF0b3JLZXlDb2Rlc109XCJzZXBhcmF0b3JLZXlzQ29kZXNcIj5cclxuICAgICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlICNncmFudEF1dG89XCJtYXRBdXRvY29tcGxldGVcIiAob3B0aW9uU2VsZWN0ZWQpPVwiYWRkR3JhbnQoZ3JhbnRJbnB1dCwgJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdSBvZiBndXNlcnMkIHwgYXN5bmNcIiBbdmFsdWVdPVwidS5pZFwiPlxyXG4gICAgICAgICAgICAgIHt7dS5uYW1lfX1cclxuICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInUuZW1haWxcIj4mbmJzcDsgLSB7e3UuZW1haWx9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICAgICAgPG1hdC1oaW50Pnt7J0dyYW50VGlwJyB8IHRyYW5zbGF0ZX19PC9tYXQtaGludD5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsICNwcmVmZXJlbmNlcz5cclxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgICB7eydQcmVmZXJlbmNlcycgfCB0cmFuc2xhdGV9fVxyXG4gICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxyXG4gICAgICAgIDxtYXQtcGFuZWwtZGVzY3JpcHRpb24+XHJcbiAgICAgICAgICA8IS0tPG1hdC1pY29uPjwvbWF0LWljb24+LS0+XHJcbiAgICAgICAgPC9tYXQtcGFuZWwtZGVzY3JpcHRpb24+XHJcbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8bWF0LWNoaXAtZ3JpZCAjY2hpcHM+XHJcbiAgICAgICAgICAgIDxtYXQtY2hpcC1yb3cgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZm9ybS52YWx1ZS50YWdzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVtb3ZhYmxlXT1cInRydWVcIiAocmVtb3ZlZCk9XCJyZW1vdmVUYWcoaXRlbSlcIj5cclxuICAgICAgICAgICAgICB7e2l0ZW19fVxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvbiBtYXRDaGlwUmVtb3ZlPmNhbmNlbDwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvbWF0LWNoaXAtcm93PlxyXG4gICAgICAgICAgPC9tYXQtY2hpcC1ncmlkPlxyXG4gICAgICAgICAgPGlucHV0IFtwbGFjZWhvbGRlcl09XCInVGFncyd8dHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICBbbWF0Q2hpcElucHV0Rm9yXT1cImNoaXBzXCJcclxuICAgICAgICAgICAgICAgICBbbWF0Q2hpcElucHV0U2VwYXJhdG9yS2V5Q29kZXNdPVwic2VwYXJhdG9yS2V5c0NvZGVzXCJcclxuICAgICAgICAgICAgICAgICBbbWF0Q2hpcElucHV0QWRkT25CbHVyXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgIChtYXRDaGlwSW5wdXRUb2tlbkVuZCk9XCJhZGRUYWcoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgW2Zvcm1Db250cm9sXT1cImFSSUFcIj57eydBUklBJyB8IHRyYW5zbGF0ZX19PC9tYXQtc2xpZGUtdG9nZ2xlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuICA8L21hdC1hY2NvcmRpb24+XHJcbjwvZm9ybT5cclxuIl19
@@ -31,10 +31,10 @@ export class OptionsService {
31
31
  oRef.attach(portal);
32
32
  oRef.backdropClick().subscribe(() => oRef.dispose());
33
33
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: OptionsService, deps: [{ token: i1.Directionality }, { token: i2.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
35
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: OptionsService }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: OptionsService, deps: [{ token: i1.Directionality }, { token: i2.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
35
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: OptionsService }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: OptionsService, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: OptionsService, decorators: [{
38
38
  type: Injectable
39
39
  }], ctorParameters: () => [{ type: i1.Directionality }, { type: i2.Overlay }, { type: i0.Injector }] });
40
40
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9vcHRpb25zL29wdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFXLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQWMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFHakYsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBb0IsSUFBb0IsRUFBVSxRQUFpQixFQUFVLFNBQW1CO1FBQTVFLFNBQUksR0FBSixJQUFJLENBQWdCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUFVLGNBQVMsR0FBVCxTQUFTLENBQVU7SUFDaEcsQ0FBQztJQUNELElBQUksQ0FBQyxPQUFvQjtRQUN2QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLGtCQUFrQixFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMzRixNQUFNLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBQztZQUMvQixnQkFBZ0IsRUFBRSxRQUFRO1lBQzFCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLG1CQUFtQixFQUFFLElBQUk7WUFDekIsYUFBYSxFQUFFLDJCQUEyQjtZQUMxQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1NBQzNCLENBQUMsQ0FBQztRQUVILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDL0IsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7Z0JBQ3RELEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2FBQ3hDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQzFCLENBQUMsQ0FBQztRQUNILE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxDQUFDLGdCQUFnQixFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs4R0F2QlUsY0FBYztrSEFBZCxjQUFjOzsyRkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3ZlcmxheVJlZiwgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBPcHRpb25UeXBlLCBPUFRJT05fUEFORUwsIE9wdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL29wdGlvbnMuY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE9wdGlvbnNTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kaXI6IERpcmVjdGlvbmFsaXR5LCBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IpIHtcclxuICB9XHJcbiAgb3BlbihzZWN0aW9uPzogT3B0aW9uVHlwZSkge1xyXG4gICAgY29uc3QgcG9zaXRpb24gPSB0aGlzLl9vdmVybGF5LnBvc2l0aW9uKCkuZ2xvYmFsKCkuY2VudGVySG9yaXpvbnRhbGx5KCkuY2VudGVyVmVydGljYWxseSgpO1xyXG4gICAgY29uc3QgY29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xyXG4gICAgICBwb3NpdGlvblN0cmF0ZWd5OiBwb3NpdGlvbixcclxuICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wJyxcclxuICAgICAgZGlyZWN0aW9uOiB0aGlzLl9kaXIudmFsdWVcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IG9SZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZShjb25maWcpO1xyXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IE9QVElPTl9QQU5FTCwgdXNlVmFsdWU6IHsgb3Blbjogc2VjdGlvbiB9IH0sXHJcbiAgICAgICAgeyBwcm92aWRlOiBPdmVybGF5UmVmLCB1c2VWYWx1ZTogb1JlZiB9LFxyXG4gICAgICBdLCBwYXJlbnQ6IHRoaXMuX2luamVjdG9yXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoT3B0aW9uc0NvbXBvbmVudCwgbnVsbCwgaW5qZWN0b3IpO1xyXG4gICAgb1JlZi5hdHRhY2gocG9ydGFsKTtcclxuICAgIG9SZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiBvUmVmLmRpc3Bvc2UoKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -58,10 +58,10 @@ export class ReportArgumentsComponent {
58
58
  this._destroy.next();
59
59
  this._destroy.complete();
60
60
  }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ReportArgumentsComponent, deps: [{ token: i0.Injector }, { token: i0.ViewContainerRef }, { token: i1.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: ReportArgumentsComponent, selector: "bizdoc-report-arguments", inputs: { reportRef: "reportRef", template: "template", arguments: "arguments", args: "args" }, outputs: { argsChange: "argsChange" }, ngImport: i0, template: '', isInline: true }); }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ReportArgumentsComponent, deps: [{ token: i0.Injector }, { token: i0.ViewContainerRef }, { token: i1.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
62
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: ReportArgumentsComponent, selector: "bizdoc-report-arguments", inputs: { reportRef: "reportRef", template: "template", arguments: "arguments", args: "args" }, outputs: { argsChange: "argsChange" }, ngImport: i0, template: '', isInline: true }); }
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: ReportArgumentsComponent, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: ReportArgumentsComponent, decorators: [{
65
65
  type: Component,
66
66
  args: [{
67
67
  selector: 'bizdoc-report-arguments',
@@ -78,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImpor
78
78
  }], argsChange: [{
79
79
  type: Output
80
80
  }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnRzLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvcmVwb3J0cy9hcmd1bWVudHMtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXVDLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFFNUMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDO0FBTXRDLGdDQUFnQztBQUNoQyxNQUFNLE9BQU8sd0JBQXdCO0lBT25DLFlBQ1UsU0FBbUIsRUFDbkIsVUFBNEIsRUFDNUIsZ0JBQWdEO1FBRmhELGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFnQztRQU5qRCxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1QsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDOUIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFJYyxDQUFDO0lBRS9ELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7O1lBQ25DLElB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LElBQUk7c0JBQVosS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgVmlld0NvbnRhaW5lclJlZiwgSW5qZWN0b3IsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBcmd1bWVudHNDb21wb25lbnQgfSBmcm9tICcuLi9jb3JlL2Jhc2UnO1xyXG5pbXBvcnQgeyBGaWVsZEluZm8gfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IFJlcG9ydFJlZiB9IGZyb20gJy4vcmVwb3J0LXJlZic7XHJcbmltcG9ydCB7IExheW91dENvbXBvbmVudCB9IGZyb20gJy4uL2NvcmUvbGF5b3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJpekRvY0NvbXBvbmVudEZhY3RvcnlSZXNvbHZlciB9IGZyb20gJy4uL2NvcmUvY29tcG9uZW50LWZhY3RvcnktcmVzb2x2ZXInO1xyXG5pbXBvcnQgeyBjbGVhbnVwIH0gZnJvbSAnLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEFSR1VNRU5UU19ERUJPVU5DRSA9IDI1MDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXJlcG9ydC1hcmd1bWVudHMnLFxyXG4gIHRlbXBsYXRlOiAnJ1xyXG59KVxyXG4vKiogcmVwb3J0IGFyZ3VtZW50cyBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgUmVwb3J0QXJndW1lbnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIHJlcG9ydFJlZjogUmVwb3J0UmVmO1xyXG4gIEBJbnB1dCgpIHRlbXBsYXRlOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYXJndW1lbnRzOiBGaWVsZEluZm9bXTtcclxuICBASW5wdXQoKSBhcmdzID0ge307XHJcbiAgQE91dHB1dCgpIGFyZ3NDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX2NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHByaXZhdGUgX2ZhY3RvcnlSZXNvbHZlcjogQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb250YWluZXIuY2xlYXIoKTtcclxuICAgIGlmICh0aGlzLnRlbXBsYXRlKSB0aGlzLl9mcm9tVGVtcGxhdGUoKTtcclxuICAgIGVsc2UgdGhpcy5fZnJvbUxheW91dCgpO1xyXG4gIH1cclxuICAvKiogKi9cclxuICBwcml2YXRlIF9mcm9tVGVtcGxhdGUoKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnQgPSB0aGlzLl9mYWN0b3J5UmVzb2x2ZXIuY29tcG9uZW50KHRoaXMudGVtcGxhdGUpO1xyXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoeyBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFJlcG9ydFJlZiwgdXNlVmFsdWU6IHRoaXMucmVwb3J0UmVmIH1dLCBwYXJlbnQ6IHRoaXMuX2luamVjdG9yIH0pO1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5fY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnQsIHsgaW5qZWN0b3IgfSk7XHJcbiAgICBjb25zdCBmb3JtID0gKGNvbXBvbmVudFJlZi5pbnN0YW5jZSBhcyBBcmd1bWVudHNDb21wb25lbnQ8YW55PikuZm9ybTtcclxuICAgIGZvcm0ucGF0Y2hWYWx1ZSh0aGlzLmFyZ3MsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIGZvcm0udmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKEFSR1VNRU5UU19ERUJPVU5DRSksXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICAgIGlmIChmb3JtLnZhbGlkKSB7XHJcbiAgICAgICAgICBjbGVhbnVwKGMpO1xyXG4gICAgICAgICAgdGhpcy5hcmdzID0gYztcclxuICAgICAgICAgIHRoaXMuYXJnc0NoYW5nZS5lbWl0KGMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIHByaXZhdGUgX2Zyb21MYXlvdXQoKSB7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7IHByb3ZpZGVyczogW10sIHBhcmVudDogdGhpcy5faW5qZWN0b3IgfSk7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLl9jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KExheW91dENvbXBvbmVudCwgeyBpbmplY3RvciB9KTtcclxuICAgIGNvbnN0IGluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xyXG4gICAgaW5zdGFuY2UuZmllbGRzID0gdGhpcy5hcmd1bWVudHM7XHJcbiAgICBpbnN0YW5jZS5tb2RlbCA9IHRoaXMuYXJncyB8fCB7fTtcclxuICAgIGluc3RhbmNlLmxheW91dCgpO1xyXG4gICAgaW5zdGFuY2UubW9kZWxDaGFuZ2UucGlwZShkZWJvdW5jZVRpbWUoQVJHVU1FTlRTX0RFQk9VTkNFKSxcclxuICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgICAgaWYgKGluc3RhbmNlLnZhbGlkKSB7XHJcbiAgICAgICAgICB0aGlzLmFyZ3MgPSBjO1xyXG4gICAgICAgICAgdGhpcy5hcmdzQ2hhbmdlLmVtaXQoYyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJndW1lbnRzLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvcmVwb3J0cy9hcmd1bWVudHMtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXVDLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFFNUMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDO0FBTXRDLGdDQUFnQztBQUNoQyxNQUFNLE9BQU8sd0JBQXdCO0lBT25DLFlBQ1UsU0FBbUIsRUFDbkIsVUFBNEIsRUFDNUIsZ0JBQWdEO1FBRmhELGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7UUFDNUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFnQztRQU5qRCxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1QsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDOUIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFJYyxDQUFDO0lBRS9ELFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7O1lBQ25DLElB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QVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNJLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBWaWV3Q29udGFpbmVyUmVmLCBJbmplY3RvciwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEFyZ3VtZW50c0NvbXBvbmVudCB9IGZyb20gJy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IEZpZWxkSW5mbyB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgUmVwb3J0UmVmIH0gZnJvbSAnLi9yZXBvcnQtcmVmJztcclxuaW1wb3J0IHsgTGF5b3V0Q29tcG9uZW50IH0gZnJvbSAnLi4vY29yZS9sYXlvdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQml6RG9jQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyIH0gZnJvbSAnLi4vY29yZS9jb21wb25lbnQtZmFjdG9yeS1yZXNvbHZlcic7XHJcbmltcG9ydCB7IGNsZWFudXAgfSBmcm9tICcuLi9jb3JlL2Z1bmN0aW9ucyc7XHJcblxyXG5leHBvcnQgY29uc3QgQVJHVU1FTlRTX0RFQk9VTkNFID0gMjUwO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtcmVwb3J0LWFyZ3VtZW50cycsXHJcbiAgdGVtcGxhdGU6ICcnXHJcbn0pXHJcbi8qKiByZXBvcnQgYXJndW1lbnRzIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBSZXBvcnRBcmd1bWVudHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgcmVwb3J0UmVmOiBSZXBvcnRSZWY7XHJcbiAgQElucHV0KCkgdGVtcGxhdGU6IHN0cmluZztcclxuICBASW5wdXQoKSBhcmd1bWVudHM6IEZpZWxkSW5mb1tdO1xyXG4gIEBJbnB1dCgpIGFyZ3MgPSB7fTtcclxuICBAT3V0cHV0KCkgYXJnc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBfY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBfZmFjdG9yeVJlc29sdmVyOiBCaXpEb2NDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2NvbnRhaW5lci5jbGVhcigpO1xyXG4gICAgaWYgKHRoaXMudGVtcGxhdGUpIHRoaXMuX2Zyb21UZW1wbGF0ZSgpO1xyXG4gICAgZWxzZSB0aGlzLl9mcm9tTGF5b3V0KCk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIHByaXZhdGUgX2Zyb21UZW1wbGF0ZSgpIHtcclxuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuX2ZhY3RvcnlSZXNvbHZlci5jb21wb25lbnQodGhpcy50ZW1wbGF0ZSk7XHJcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7IHByb3ZpZGVyczogW3sgcHJvdmlkZTogUmVwb3J0UmVmLCB1c2VWYWx1ZTogdGhpcy5yZXBvcnRSZWYgfV0sIHBhcmVudDogdGhpcy5faW5qZWN0b3IgfSk7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLl9jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudCwgeyBpbmplY3RvciB9KTtcclxuICAgIGNvbnN0IGZvcm0gPSAoY29tcG9uZW50UmVmLmluc3RhbmNlIGFzIEFyZ3VtZW50c0NvbXBvbmVudDxhbnk+KS5mb3JtO1xyXG4gICAgZm9ybS5wYXRjaFZhbHVlKHRoaXMuYXJncywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgZm9ybS52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoQVJHVU1FTlRTX0RFQk9VTkNFKSxcclxuICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgICAgaWYgKGZvcm0udmFsaWQpIHtcclxuICAgICAgICAgIGNsZWFudXAoYyk7XHJcbiAgICAgICAgICB0aGlzLmFyZ3MgPSBjO1xyXG4gICAgICAgICAgdGhpcy5hcmdzQ2hhbmdlLmVtaXQoYyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqICovXHJcbiAgcHJpdmF0ZSBfZnJvbUxheW91dCgpIHtcclxuICAgIGNvbnN0IGluamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHsgcHJvdmlkZXJzOiBbXSwgcGFyZW50OiB0aGlzLl9pbmplY3RvciB9KTtcclxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuX2NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoTGF5b3V0Q29tcG9uZW50LCB7IGluamVjdG9yIH0pO1xyXG4gICAgY29uc3QgaW5zdGFuY2UgPSBjb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgICBpbnN0YW5jZS5maWVsZHMgPSB0aGlzLmFyZ3VtZW50cztcclxuICAgIGluc3RhbmNlLm1vZGVsID0gdGhpcy5hcmdzIHx8IHt9O1xyXG4gICAgaW5zdGFuY2UubGF5b3V0KCk7XHJcbiAgICBpbnN0YW5jZS5tb2RlbENoYW5nZS5waXBlKGRlYm91bmNlVGltZShBUkdVTUVOVFNfREVCT1VOQ0UpLFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShjID0+IHtcclxuICAgICAgICBpZiAoaW5zdGFuY2UudmFsaWQpIHtcclxuICAgICAgICAgIHRoaXMuYXJncyA9IGM7XHJcbiAgICAgICAgICB0aGlzLmFyZ3NDaGFuZ2UuZW1pdChjKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -20,8 +20,8 @@ let CubeDocumentsComponent = class CubeDocumentsComponent {
20
20
  // else comp = CubeDocumentsTableComponent;
21
21
  this._instance = this._vc.createComponent(comp, { injector: this._injector }).instance;
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CubeDocumentsComponent, deps: [{ token: i0.Injector }, { token: i1.ReportRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: CubeDocumentsComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CubeDocumentsComponent, deps: [{ token: i0.Injector }, { token: i1.ReportRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: CubeDocumentsComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
25
25
  };
26
26
  CubeDocumentsComponent = __decorate([
27
27
  BizDoc({
@@ -29,7 +29,7 @@ CubeDocumentsComponent = __decorate([
29
29
  })
30
30
  ], CubeDocumentsComponent);
31
31
  export { CubeDocumentsComponent };
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CubeDocumentsComponent, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: CubeDocumentsComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{
35
35
  template: ''