@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
@@ -145,14 +145,14 @@ export class FormDesignComponent extends DesignerTypeElementComponent {
145
145
  this._destroy.next();
146
146
  this._destroy.complete();
147
147
  }
148
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: FormDesignComponent, deps: [{ token: i1.FormBuilder }, { token: i2.PanesRouter }, { token: i3.SystemService }, { token: i4.SessionService }, { token: i0.Injector }, { token: i5.TranslateService }, { token: i0.ElementRef }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component }); }
149
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: FormDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" [icon]=\"true\" [view]=\"view\" (back)=\"view = null\" [context]=\"context\">\r\n <ng-template bizdocContent>\r\n <ejs-sparkline *ngIf=\"usage\" width='250px' height='200px'\r\n type=\"Line\"\r\n [id]=\"model.name\"\r\n [fill]=\"primary\"\r\n [dataSource]=\"usage\"\r\n xName=\"date\"\r\n yName=\"count\"\r\n lineWidth=\"2\"\r\n valueType=\"DateTime\"\r\n [locale]=\"locale\"\r\n [markerSettings]=\"markerSettings\"\r\n [tooltipSettings]=\"tooltipSettings\"\r\n (tooltipInitialize)=\"tooltipInitialize($event)\"\r\n [enableRtl]=\"enableRtl\">\r\n </ejs-sparkline>\r\n <div class=\"row\">\r\n <button mat-icon-button (click)=\"diagram()\" [bizdocTooltip]=\"'Workflow'|translate\" [disabled]=\"model.draft\"><mat-icon>schema</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [disabled]=\"model.draft\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <button mat-menu-item (click)=\"invite()\">{{'Invite'|l18n}}</button>\r\n </mat-menu>\r\n </div>\r\n </ng-template>\r\n <!--edit-->\r\n <ng-template bizdocEditContent>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n <div class=\"row flex\" [formGroup]=\"format\">\r\n <mat-form-field>\r\n <mat-label>{{'Prefix'|translate}}</mat-label>\r\n <input matInput formControlName=\"prefix\" />\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Digits'|translate}}</mat-label>\r\n <input matInput formControlName=\"digits\" maxlength=\"2\" />\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field>\r\n <mat-label>{{'Suffix'|translate}}</mat-label>\r\n <input matInput formControlName=\"suffix\" />\r\n </mat-form-field>\r\n </div>\r\n <bizdoc-localized-string formControlName=\"group\" [placeholder]=\"'Group'|translate\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"description\" [placeholder]=\"'Description'|translate\"></bizdoc-localized-string>\r\n <mat-form-field *ngIf=\"guides.length\">\r\n <mat-label>{{'Guide'|translate}}</mat-label>\r\n <mat-select formControlName=\"guide\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option *ngFor=\"let g of guides\" [value]=\"g.name\">{{g.title |localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cubes.length\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select formControlName=\"cubes\" multiple>\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c.name\">{{c.title |localizedString}}</mat-option>\r\n </mat-select>\r\n <mat-hint>{{'FormCubeHelp'|translate}}</mat-hint>\r\n </mat-form-field>\r\n <!--Rules-->\r\n <h2 class=\"mat-mdc-title row\">\r\n {{'Rules'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(rules, newRule(), 'Rule', ruleform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"rules\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, rules)\">\r\n <tr class=\"mat-mdc-row\" *ngFor=\"let r of rules.controls; index as index\" [formGroup]=\"r\" cdkDrag>\r\n <td class=\"mat-mdc-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-mdc-cell flex\" width=\"99%\">\r\n {{r.get('title').value}}\r\n </td>\r\n <td class=\"mat-mdc-cell\" style=\"white-space: pre;\">\r\n <button mat-icon-button (click)=\"edit(r, 'Rule', ruleform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"rules.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n<ng-template #ruleform let-form>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <mat-error *ngIf=\"form.get('name').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <bizdoc-designer-privileges [form]=\"form\"></bizdoc-designer-privileges>\r\n </div>\r\n</ng-template>\r\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: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i7.SparklineComponent, selector: "ejs-sparkline", inputs: ["axisSettings", "border", "containerArea", "dataLabelSettings", "dataSource", "enablePersistence", "enableRtl", "endPointColor", "fill", "format", "height", "highPointColor", "lineWidth", "locale", "lowPointColor", "markerSettings", "negativePointColor", "opacity", "padding", "palette", "query", "rangeBandSettings", "rangePadding", "startPointColor", "theme", "tiePointColor", "tooltipSettings", "type", "useGroupingSeparator", "valueType", "width", "xName", "yName"], outputs: ["axisRendering", "dataLabelRendering", "load", "loaded", "markerRendering", "pointRegionMouseClick", "pointRegionMouseMove", "pointRendering", "resize", "seriesRendering", "sparklineMouseClick", "sparklineMouseMove", "tooltipInitialize"] }, { kind: "directive", type: i8.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i8.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i8.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "directive", type: i10.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i10.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i11.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "aria-describedby", "panelClass", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i13.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: i14.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i15.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i15.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i15.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i16.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i17.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "component", type: i18.DesignerPrivilegesComponent, selector: "bizdoc-designer-privileges", inputs: ["form"] }, { kind: "directive", type: i19.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: i19.WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: i19.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "view", "context"], outputs: ["continue", "back", "save"] }, { kind: "pipe", type: i20.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i21.L18nPipe, name: "l18n" }, { kind: "pipe", type: i21.TranslatePipe, name: "translate" }] }); }
148
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: FormDesignComponent, deps: [{ token: i1.FormBuilder }, { token: i2.PanesRouter }, { token: i3.SystemService }, { token: i4.SessionService }, { token: i0.Injector }, { token: i5.TranslateService }, { token: i0.ElementRef }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component }); }
149
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: FormDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" [icon]=\"true\" [view]=\"view\" (back)=\"view = null\" [context]=\"context\">\r\n <ng-template bizdocContent>\r\n <ejs-sparkline *ngIf=\"usage\" width='250px' height='200px'\r\n type=\"Line\"\r\n [id]=\"model.name\"\r\n [fill]=\"primary\"\r\n [dataSource]=\"usage\"\r\n xName=\"date\"\r\n yName=\"count\"\r\n lineWidth=\"2\"\r\n valueType=\"DateTime\"\r\n [locale]=\"locale\"\r\n [markerSettings]=\"markerSettings\"\r\n [tooltipSettings]=\"tooltipSettings\"\r\n (tooltipInitialize)=\"tooltipInitialize($event)\"\r\n [enableRtl]=\"enableRtl\">\r\n </ejs-sparkline>\r\n <div class=\"row\">\r\n <button mat-icon-button (click)=\"diagram()\" [bizdocTooltip]=\"'Workflow'|translate\" [disabled]=\"model.draft\"><mat-icon>schema</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [disabled]=\"model.draft\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <button mat-menu-item (click)=\"invite()\">{{'Invite'|l18n}}</button>\r\n </mat-menu>\r\n </div>\r\n </ng-template>\r\n <!--edit-->\r\n <ng-template bizdocEditContent>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n <div class=\"row flex\" [formGroup]=\"format\">\r\n <mat-form-field>\r\n <mat-label>{{'Prefix'|translate}}</mat-label>\r\n <input matInput formControlName=\"prefix\" />\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Digits'|translate}}</mat-label>\r\n <input matInput formControlName=\"digits\" maxlength=\"2\" />\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field>\r\n <mat-label>{{'Suffix'|translate}}</mat-label>\r\n <input matInput formControlName=\"suffix\" />\r\n </mat-form-field>\r\n </div>\r\n <bizdoc-localized-string formControlName=\"group\" [placeholder]=\"'Group'|translate\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"description\" [placeholder]=\"'Description'|translate\"></bizdoc-localized-string>\r\n <mat-form-field *ngIf=\"guides.length\">\r\n <mat-label>{{'Guide'|translate}}</mat-label>\r\n <mat-select formControlName=\"guide\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option *ngFor=\"let g of guides\" [value]=\"g.name\">{{g.title |localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cubes.length\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select formControlName=\"cubes\" multiple>\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c.name\">{{c.title |localizedString}}</mat-option>\r\n </mat-select>\r\n <mat-hint>{{'FormCubeHelp'|translate}}</mat-hint>\r\n </mat-form-field>\r\n <!--Rules-->\r\n <h2 class=\"mat-mdc-title row\">\r\n {{'Rules'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(rules, newRule(), 'Rule', ruleform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"rules\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, rules)\">\r\n <tr class=\"mat-mdc-row\" *ngFor=\"let r of rules.controls; index as index\" [formGroup]=\"r\" cdkDrag>\r\n <td class=\"mat-mdc-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-mdc-cell flex\" width=\"99%\">\r\n {{r.get('title').value}}\r\n </td>\r\n <td class=\"mat-mdc-cell\" style=\"white-space: pre;\">\r\n <button mat-icon-button (click)=\"edit(r, 'Rule', ruleform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"rules.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n<ng-template #ruleform let-form>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <mat-error *ngIf=\"form.get('name').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <bizdoc-designer-privileges [form]=\"form\"></bizdoc-designer-privileges>\r\n </div>\r\n</ng-template>\r\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: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i7.SparklineComponent, selector: "ejs-sparkline", inputs: ["axisSettings", "border", "containerArea", "dataLabelSettings", "dataSource", "enablePersistence", "enableRtl", "endPointColor", "fill", "format", "height", "highPointColor", "lineWidth", "locale", "lowPointColor", "markerSettings", "negativePointColor", "opacity", "padding", "palette", "query", "rangeBandSettings", "rangePadding", "startPointColor", "theme", "tiePointColor", "tooltipSettings", "type", "useGroupingSeparator", "valueType", "width", "xName", "yName"], outputs: ["axisRendering", "dataLabelRendering", "load", "loaded", "markerRendering", "pointRegionMouseClick", "pointRegionMouseMove", "pointRendering", "resize", "seriesRendering", "sparklineMouseClick", "sparklineMouseMove", "tooltipInitialize"] }, { kind: "directive", type: i8.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i8.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i8.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "directive", type: i10.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i10.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i11.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i12.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i13.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: i14.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i15.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i15.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i15.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i16.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i17.LocalizedStringComponent, selector: "bizdoc-localized-string", inputs: ["class", "floatLabel", "value", "placeholder", "required", "disabled", "maxlength"] }, { kind: "component", type: i18.DesignerPrivilegesComponent, selector: "bizdoc-designer-privileges", inputs: ["form"] }, { kind: "directive", type: i19.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: i19.WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: i19.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "view", "context"], outputs: ["continue", "back", "save"] }, { kind: "pipe", type: i20.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i21.L18nPipe, name: "l18n" }, { kind: "pipe", type: i21.TranslatePipe, name: "translate" }] }); }
150
150
  }
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: FormDesignComponent, decorators: [{
151
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: FormDesignComponent, decorators: [{
152
152
  type: Component,
153
153
  args: [{ template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" [icon]=\"true\" [view]=\"view\" (back)=\"view = null\" [context]=\"context\">\r\n <ng-template bizdocContent>\r\n <ejs-sparkline *ngIf=\"usage\" width='250px' height='200px'\r\n type=\"Line\"\r\n [id]=\"model.name\"\r\n [fill]=\"primary\"\r\n [dataSource]=\"usage\"\r\n xName=\"date\"\r\n yName=\"count\"\r\n lineWidth=\"2\"\r\n valueType=\"DateTime\"\r\n [locale]=\"locale\"\r\n [markerSettings]=\"markerSettings\"\r\n [tooltipSettings]=\"tooltipSettings\"\r\n (tooltipInitialize)=\"tooltipInitialize($event)\"\r\n [enableRtl]=\"enableRtl\">\r\n </ejs-sparkline>\r\n <div class=\"row\">\r\n <button mat-icon-button (click)=\"diagram()\" [bizdocTooltip]=\"'Workflow'|translate\" [disabled]=\"model.draft\"><mat-icon>schema</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\" [disabled]=\"model.draft\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <button mat-menu-item (click)=\"invite()\">{{'Invite'|l18n}}</button>\r\n </mat-menu>\r\n </div>\r\n </ng-template>\r\n <!--edit-->\r\n <ng-template bizdocEditContent>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n <div class=\"row flex\" [formGroup]=\"format\">\r\n <mat-form-field>\r\n <mat-label>{{'Prefix'|translate}}</mat-label>\r\n <input matInput formControlName=\"prefix\" />\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Digits'|translate}}</mat-label>\r\n <input matInput formControlName=\"digits\" maxlength=\"2\" />\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field>\r\n <mat-label>{{'Suffix'|translate}}</mat-label>\r\n <input matInput formControlName=\"suffix\" />\r\n </mat-form-field>\r\n </div>\r\n <bizdoc-localized-string formControlName=\"group\" [placeholder]=\"'Group'|translate\"></bizdoc-localized-string>\r\n <bizdoc-localized-string formControlName=\"description\" [placeholder]=\"'Description'|translate\"></bizdoc-localized-string>\r\n <mat-form-field *ngIf=\"guides.length\">\r\n <mat-label>{{'Guide'|translate}}</mat-label>\r\n <mat-select formControlName=\"guide\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option *ngFor=\"let g of guides\" [value]=\"g.name\">{{g.title |localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field *ngIf=\"cubes.length\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select formControlName=\"cubes\" multiple>\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c.name\">{{c.title |localizedString}}</mat-option>\r\n </mat-select>\r\n <mat-hint>{{'FormCubeHelp'|translate}}</mat-hint>\r\n </mat-form-field>\r\n <!--Rules-->\r\n <h2 class=\"mat-mdc-title row\">\r\n {{'Rules'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(rules, newRule(), 'Rule', ruleform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"rules\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, rules)\">\r\n <tr class=\"mat-mdc-row\" *ngFor=\"let r of rules.controls; index as index\" [formGroup]=\"r\" cdkDrag>\r\n <td class=\"mat-mdc-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-mdc-cell flex\" width=\"99%\">\r\n {{r.get('title').value}}\r\n </td>\r\n <td class=\"mat-mdc-cell\" style=\"white-space: pre;\">\r\n <button mat-icon-button (click)=\"edit(r, 'Rule', ruleform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"rules.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n<ng-template #ruleform let-form>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n <mat-error *ngIf=\"form.get('title').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Title'|translate)\"></mat-error>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Name'|translate}}</mat-label>\r\n <input matInput formControlName=\"name\" required />\r\n <mat-error *ngIf=\"form.get('name').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Name'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <bizdoc-designer-privileges [form]=\"form\"></bizdoc-designer-privileges>\r\n </div>\r\n</ng-template>\r\n" }]
154
154
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.PanesRouter }, { type: i3.SystemService }, { type: i4.SessionService }, { type: i0.Injector }, { type: i5.TranslateService }, { type: i0.ElementRef }, { type: i22.DesignerRef, decorators: [{
155
155
  type: Inject,
156
156
  args: [DesignerRef]
157
157
  }] }] });
158
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy9mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL2Zvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJeEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBZ0MsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzVELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSw0QkFBNEI7SUEwQ25FLFlBQVksRUFBZSxFQUNqQixPQUFvQixFQUNwQixRQUF1QixFQUN2QixRQUF3QixFQUN4QixTQUFtQixFQUNuQixVQUE0QixFQUNwQyxPQUF3QixFQUNILEdBQWdCO1FBQ3JDLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBUGhCLFlB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Q1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBMUhVLG1CQUFtQixxTkFpRHBCLFdBQVc7a0dBakRWLG1CQUFtQiwyRUNmaEMsMDBLQXNHQTs7MkZEdkZhLG1CQUFtQjtrQkFEL0IsU0FBUzs7OzBCQWtETCxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEluamVjdCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEF4aXNTZXR0aW5nc01vZGVsLCBJVG9vbHRpcFJlbmRlcmluZ0V2ZW50QXJncywgTGluZVNldHRpbmdzTW9kZWwsIFNwYXJrbGluZU1hcmtlclNldHRpbmdzTW9kZWwsIFNwYXJrbGluZVRvb2x0aXBTZXR0aW5nc01vZGVsIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWNoYXJ0cyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTeXN0ZW1TZXJ2aWNlLCBSYW5nZUluZm8gfSBmcm9tIFwiLi4vLi4vc3lzdGVtLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJUeXBlRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuLi9kZXNpZ25lci5iYXNlXCI7XHJcbmltcG9ydCB7IERlc2lnbmVyUmVmLCBFbGVtZW50SW5mbywgUGVybWlzc2lvbk1vZGVsLCBsb2NhbGl6ZVN0cmluZywgcHJvZ3JhbU5hbWUgfSBmcm9tIFwiLi4vZGVjbGFyYXRpb25zXCI7XHJcbmltcG9ydCB7IEZvcm1JbnZpdGVEaWFsb2cgfSBmcm9tIFwiLi9mb3JtLWludml0ZS5kaWFsb2dcIjtcclxuaW1wb3J0IHsgT3BlblBvbGljeSB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2NvbmZpZ3VyYXRpb25cIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEludGVybmF0aW9uYWxpemF0aW9uIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGVVcmw6ICdmb3JtLmNvbXBvbmVudC5odG1sJyB9KVxyXG5leHBvcnQgY2xhc3MgRm9ybURlc2lnbkNvbXBvbmVudCBleHRlbmRzIERlc2lnbmVyVHlwZUVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IHJ1bGVzID0gdGhpcy5fZmIuYXJyYXkoW10pO1xyXG4gIHJlYWRvbmx5IGZvcm1hdCA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIHByZWZpeDogbnVsbCxcclxuICAgIHN1ZmZpeDogbnVsbCxcclxuICAgIGRpZ2l0czogbnVsbFxyXG4gIH0pO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBydWxlczogdGhpcy5ydWxlcyxcclxuICAgIGd1aWRlOiBudWxsLFxyXG4gICAgZm9ybWF0OiBudWxsLFxyXG4gICAgZ3JvdXA6IG51bGwsXHJcbiAgICBkZXNjcmlwdGlvbjogbnVsbCxcclxuICAgIGN1YmVzOiBudWxsXHJcbiAgfSk7XHJcbiAgdGhlbWU6ICdNYXRlcmlhbCcgfCAnTWF0ZXJpYWxEYXJrJyA9IHRoaXMuX3Nlc3Npb24udGhlbWUuZGFyayA/ICdNYXRlcmlhbERhcmsnIDogJ01hdGVyaWFsJztcclxuICByZWFkb25seSBheGlzU2V0dGluZ3MgPSB7XHJcbiAgICBsaW5lU2V0dGluZ3M6IHtcclxuICAgICAgb3BhY2l0eTogLjUsXHJcbiAgICAgIHdpZHRoOiAuNVxyXG4gICAgfSBhcyBMaW5lU2V0dGluZ3NNb2RlbCxcclxuICB9IGFzIEF4aXNTZXR0aW5nc01vZGVsO1xyXG4gIHJlYWRvbmx5IG1hcmtlclNldHRpbmdzID0ge1xyXG4gICAgdmlzaWJsZTogWydOb25lJ10sXHJcbiAgICBzaXplOiAxLjUsXHJcbiAgICBmaWxsOiB0aGlzLl9zZXNzaW9uLmdldEFjY2VudCgpLFxyXG4gIH0gYXMgU3BhcmtsaW5lTWFya2VyU2V0dGluZ3NNb2RlbDtcclxuICByZWFkb25seSB0b29sdGlwU2V0dGluZ3MgPSB7XHJcbiAgICB2aXNpYmxlOiB0cnVlLFxyXG4gICAgZm9ybWF0OiAnJHtkYXRlfScsXHJcbiAgICB0cmFja0xpbmVTZXR0aW5nczoge1xyXG4gICAgICB2aXNpYmxlOiB0cnVlXHJcbiAgICB9XHJcbiAgfSBhcyBTcGFya2xpbmVUb29sdGlwU2V0dGluZ3NNb2RlbDtcclxuICB1c2FnZTogUmFuZ2VJbmZvW107XHJcbiAgcHJpbWFyeSA9IHRoaXMuX3Nlc3Npb24uZ2V0UHJpbWVyeSgpO1xyXG4gIHJlYWRvbmx5IGVuYWJsZVJ0bCA9IHRoaXMuX3Nlc3Npb24uaW52ZXJzZTtcclxuICBsb2NhbGU6IHN0cmluZztcclxuICBndWlkZXM6IEVsZW1lbnRJbmZvW107XHJcbiAgY3ViZXM6IEVsZW1lbnRJbmZvW107XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfaW50bDogSW50ZXJuYXRpb25hbGl6YXRpb24gPSBuZXcgSW50ZXJuYXRpb25hbGl6YXRpb24oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFBhbmVzUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogU3lzdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgZWxlbWVudDogRWxlbWVudFJlZjxhbnk+LFxyXG4gICAgQEluamVjdChEZXNpZ25lclJlZikgcmVmOiBEZXNpZ25lclJlZikge1xyXG4gICAgc3VwZXIoZmIsIGVsZW1lbnQsIHJlZik7XHJcbiAgICB0aGlzLmxvY2FsZSA9IF9zZXNzaW9uLmxhbmd1YWdlO1xyXG4gICAgdGhpcy5fc2Vzc2lvbi50aGVtZUNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuXHJcbiAgICAgIHN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgICB0aGlzLnRoZW1lID0gdC5kYXJrID8gJ01hdGVyaWFsRGFyaycgOiAnTWF0ZXJpYWwnO1xyXG4gICAgICAgIHRoaXMucHJpbWFyeSA9IHRoaXMuX3Nlc3Npb24uZ2V0UHJpbWVyeSgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAnd2lkZ2V0JylcclxuICAgICAgdGhpcy5fc2VydmljZS5yYW5nZSh0aGlzLm1vZGVsLm5hbWUpLnN1YnNjcmliZShyID0+XHJcbiAgICAgICAgLy9uZXcgU3BhcmtsaW5lKHtcclxuICAgICAgICAvLyAgZGF0YUxhYmVsUmVuZGVyaW5nOiB0aGlzLmRhdGFMYWJlbFJlbmRlcmluZy5iaW5kKHRoaXMpXHJcbiAgICAgICAgLy99LCB0aGlzLnVzYWdlLm5hdGl2ZUVsZW1lbnQpXHJcbiAgICAgICAgdGhpcy51c2FnZSA9IHIpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMubW9kZWwucnVsZXM/LlxyXG4gICAgICAgIGZvckVhY2gociA9PiB0aGlzLnJ1bGVzLnB1c2godGhpcy5uZXdSdWxlKHIpLCB7IGVtaXRFdmVudDogZmFsc2UgfSkpO1xyXG4gICAgICBjb25zdCB7IGZvcm1hdCB9ID0gdGhpcy5tb2RlbDtcclxuICAgICAgaWYgKGZvcm1hdCkge1xyXG4gICAgICAgIGNvbnN0IGluZGV4MSA9IGZvcm1hdC5pbmRleE9mKCd7JyksXHJcbiAgICAgICAgICBpbmRleDIgPSBmb3JtYXQubGFzdEluZGV4T2YoJ30nKSxcclxuICAgICAgICAgIGluZGV4MyA9IGZvcm1hdC5pbmRleE9mKCc6JywgaW5kZXgxKTtcclxuICAgICAgICB0aGlzLmZvcm1hdC5wYXRjaFZhbHVlKHtcclxuICAgICAgICAgIHByZWZpeDogaW5kZXgxID4gMCA/IGZvcm1hdC5zdWJzdHJpbmcoMCwgaW5kZXgxKSA6IG51bGwsXHJcbiAgICAgICAgICBkaWdpdHM6IGluZGV4MiA+IGluZGV4MSArIDIgJiYgaW5kZXgzID8gcGFyc2VJbnQoZm9ybWF0LnN1YnN0cmluZyhpbmRleDMgKyAyLCBpbmRleDIpKSA6IG51bGwsXHJcbiAgICAgICAgICBzdWZmaXg6IGluZGV4MiA8IGZvcm1hdC5sZW5ndGggPyBmb3JtYXQuc3Vic3RyaW5nKGluZGV4MiArIDEpIDogbnVsbFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZm9ybWF0LnZhbHVlQ2hhbmdlcy5waXBlKGRlYm91bmNlVGltZSgxNTApKS5zdWJzY3JpYmUoZiA9PiB7XHJcbiAgICAgICAgbGV0IGZvcm1hdCA9IGYucHJlZml4IGFzIHN0cmluZyB8fCAodGhpcy5mb3JtLmdldCgndGl0bGUnKS52YWx1ZSBhcyBzdHJpbmcpO1xyXG4gICAgICAgIGlmIChmLmRpZ2l0cykgZm9ybWF0ICs9IGB7MDpEJHtmLmRpZ2l0c319YDtcclxuICAgICAgICBpZiAoZi5zdWZmaXgpIGZvcm1hdCArPSBmLnN1ZmZpeDtcclxuICAgICAgICB0aGlzLmZvcm0uZ2V0KCdmb3JtYXQnKS5zZXRWYWx1ZShmb3JtYXQpO1xyXG4gICAgICAgIHRoaXMuZm9ybS5tYXJrQXNEaXJ0eSgpO1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5tb2RlbC5yZXNvdXJjZVR5cGUgJiYgdGhpcy5kaXNhYmxlKCdncm91cCcsICdkZXNjcmlwdGlvbicpO1xyXG4gICAgICB0aGlzLl9yZWYudW5sb2NrKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZW5hYmxlKCdncm91cCcsICdkZXNjcmlwdGlvbicpKTtcclxuICAgICAgdGhpcy5ndWlkZXMgPSB0aGlzLl9yZWYuZGVzaWduZXIuZ3VpZGVzO1xyXG4gICAgICB0aGlzLmN1YmVzID0gdGhpcy5fcmVmLmRlc2lnbmVyLmN1YmVzO1xyXG4gICAgfVxyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbiAgdG9vbHRpcEluaXRpYWxpemUoZXZ0OiBJVG9vbHRpcFJlbmRlcmluZ0V2ZW50QXJncykge1xyXG4gICAgZXZ0LnRleHQgPSBbdGhpcy5faW50bC5mb3JtYXREYXRlKHRoaXMuX2ludGwucGFyc2VEYXRlKGV2dC50ZXh0WzBdLCB7IGZvcm1hdDogJ0VFRSBNTU0gZGQgeXl5eScgfSkpXTtcclxuICB9XHJcbiAgbmV3UnVsZShydWxlPzogUGVybWlzc2lvbk1vZGVsKTogYW55IHtcclxuICAgIGNvbnN0IG5hbWUgPSB0aGlzLl9mYi5jb250cm9sKHJ1bGU/Lm5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICB0aXRsZSA9IHRoaXMuX2ZiLmNvbnRyb2wocnVsZT8udGl0bGUpO1xyXG4gICAgIXJ1bGUgJiYgdGl0bGUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2ID0+IG5hbWUuc2V0VmFsdWUocHJvZ3JhbU5hbWUodikpKTtcclxuICAgIHJldHVybiB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICAgIG5hbWUsXHJcbiAgICAgIHRpdGxlLFxyXG4gICAgICByb2xlczogcnVsZT8ucm9sZXMsXHJcbiAgICAgIHJ1bGU6IHJ1bGU/LnJ1bGUsXHJcbiAgICB9KTtcclxuICB9XHJcbiAgaW52aXRlKCkge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKEZvcm1JbnZpdGVEaWFsb2csIHtcclxuICAgICAgcG9saWN5OiBPcGVuUG9saWN5LkRpYWxvZyxcclxuICAgICAgaWNvbjogdGhpcy5tb2RlbC5pY29uLFxyXG4gICAgICB0aXRsZTogbG9jYWxpemVTdHJpbmcodGhpcy5tb2RlbC50aXRsZSksXHJcbiAgICAgIGdyb3VwOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdJbnZpdGUnKSxcclxuICAgICAgaW5qZWN0b3I6IEluamVjdG9yLmNyZWF0ZSh7IHByb3ZpZGVyczogW10sIHBhcmVudDogdGhpcy5faW5qZWN0b3IgfSlcclxuICAgIH0pXHJcbiAgfVxyXG4gIGRpYWdyYW0oKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydhZG1pbi9mb3JtcycsIHRoaXMubW9kZWwubmFtZV0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8Yml6ZG9jLWRlc2lnbmVyLWVsZW1lbnQgW2Zvcm1dPVwiZm9ybVwiIFtwcml2aWxlZ2VzXT1cInRydWVcIiBbaWNvbl09XCJ0cnVlXCIgW3ZpZXddPVwidmlld1wiIChiYWNrKT1cInZpZXcgPSBudWxsXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPlxyXG4gIDxuZy10ZW1wbGF0ZSBiaXpkb2NDb250ZW50PlxyXG4gICAgPGVqcy1zcGFya2xpbmUgKm5nSWY9XCJ1c2FnZVwiIHdpZHRoPScyNTBweCcgaGVpZ2h0PScyMDBweCdcclxuICAgICAgICAgICAgICAgICAgIHR5cGU9XCJMaW5lXCJcclxuICAgICAgICAgICAgICAgICAgIFtpZF09XCJtb2RlbC5uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgIFtmaWxsXT1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwidXNhZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgeE5hbWU9XCJkYXRlXCJcclxuICAgICAgICAgICAgICAgICAgIHlOYW1lPVwiY291bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgbGluZVdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICB2YWx1ZVR5cGU9XCJEYXRlVGltZVwiXHJcbiAgICAgICAgICAgICAgICAgICBbbG9jYWxlXT1cImxvY2FsZVwiXHJcbiAgICAgICAgICAgICAgICAgICBbbWFya2VyU2V0dGluZ3NdPVwibWFya2VyU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBTZXR0aW5nc109XCJ0b29sdGlwU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgKHRvb2x0aXBJbml0aWFsaXplKT1cInRvb2x0aXBJbml0aWFsaXplKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgW2VuYWJsZVJ0bF09XCJlbmFibGVSdGxcIj5cclxuICAgIDwvZWpzLXNwYXJrbGluZT5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImRpYWdyYW0oKVwiIFtiaXpkb2NUb29sdGlwXT1cIidXb3JrZmxvdyd8dHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cIm1vZGVsLmRyYWZ0XCI+PG1hdC1pY29uPnNjaGVtYTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm9wdGlvbnNcIiBbZGlzYWJsZWRdPVwibW9kZWwuZHJhZnRcIj48bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPG1hdC1tZW51ICNvcHRpb25zPlxyXG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiaW52aXRlKClcIj57eydJbnZpdGUnfGwxOG59fTwvYnV0dG9uPlxyXG4gICAgICA8L21hdC1tZW51PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICA8IS0tZWRpdC0tPlxyXG4gIDxuZy10ZW1wbGF0ZSBiaXpkb2NFZGl0Q29udGVudD5cclxuICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInJvdyBmbGV4XCIgW2Zvcm1Hcm91cF09XCJmb3JtYXRcIj5cclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPnt7J1ByZWZpeCd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJwcmVmaXhcIiAvPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgJm5ic3A7XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgICAgPG1hdC1sYWJlbD57eydEaWdpdHMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiZGlnaXRzXCIgbWF4bGVuZ3RoPVwiMlwiIC8+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAmbmJzcDtcclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPnt7J1N1ZmZpeCd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJzdWZmaXhcIiAvPlxyXG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8Yml6ZG9jLWxvY2FsaXplZC1zdHJpbmcgZm9ybUNvbnRyb2xOYW1lPVwiZ3JvdXBcIiBbcGxhY2Vob2xkZXJdPVwiJ0dyb3VwJ3x0cmFuc2xhdGVcIj48L2JpemRvYy1sb2NhbGl6ZWQtc3RyaW5nPlxyXG4gICAgICA8Yml6ZG9jLWxvY2FsaXplZC1zdHJpbmcgZm9ybUNvbnRyb2xOYW1lPVwiZGVzY3JpcHRpb25cIiBbcGxhY2Vob2xkZXJdPVwiJ0Rlc2NyaXB0aW9uJ3x0cmFuc2xhdGVcIj48L2JpemRvYy1sb2NhbGl6ZWQtc3RyaW5nPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJndWlkZXMubGVuZ3RoXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydHdWlkZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJndWlkZVwiPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24+e3snTm9uZSd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZyBvZiBndWlkZXNcIiBbdmFsdWVdPVwiZy5uYW1lXCI+e3tnLnRpdGxlIHxsb2NhbGl6ZWRTdHJpbmd9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImN1YmVzLmxlbmd0aFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3snQ3ViZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJjdWJlc1wiIG11bHRpcGxlPlxyXG4gICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGMgb2YgY3ViZXNcIiBbdmFsdWVdPVwiYy5uYW1lXCI+e3tjLnRpdGxlIHxsb2NhbGl6ZWRTdHJpbmd9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPG1hdC1oaW50Pnt7J0Zvcm1DdWJlSGVscCd8dHJhbnNsYXRlfX08L21hdC1oaW50PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8IS0tUnVsZXMtLT5cclxuICAgICAgPGgyIGNsYXNzPVwibWF0LW1kYy10aXRsZSByb3dcIj5cclxuICAgICAgICB7eydSdWxlcyd8dHJhbnNsYXRlfX1cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImFkZChydWxlcywgbmV3UnVsZSgpLCAnUnVsZScsIHJ1bGVmb3JtKVwiIFtiaXpkb2NUb29sdGlwXT1cIidBZGQnfHRyYW5zbGF0ZVwiIHR5cGU9XCJidXR0b25cIj48bWF0LWljb24+YWRkX2NpcmNsZV9vdXRsaW5lPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPC9oMj5cclxuICAgICAgPHRhYmxlIGZvcm1BcnJheU5hbWU9XCJydWxlc1wiIGNsYXNzPVwibWF0LW1kYy10YWJsZVwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQsIHJ1bGVzKVwiPlxyXG4gICAgICAgIDx0ciBjbGFzcz1cIm1hdC1tZGMtcm93XCIgKm5nRm9yPVwibGV0IHIgb2YgcnVsZXMuY29udHJvbHM7IGluZGV4IGFzIGluZGV4XCIgW2Zvcm1Hcm91cF09XCJyXCIgY2RrRHJhZz5cclxuICAgICAgICAgIDx0ZCBjbGFzcz1cIm1hdC1tZGMtY2VsbFwiPlxyXG4gICAgICAgICAgICA8bWF0LWljb24gY2RrRHJhZ0hhbmRsZT5kcmFnX2luZGljYXRvcjwvbWF0LWljb24+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgPHRkIGNsYXNzPVwibWF0LW1kYy1jZWxsIGZsZXhcIiB3aWR0aD1cIjk5JVwiPlxyXG4gICAgICAgICAgICB7e3IuZ2V0KCd0aXRsZScpLnZhbHVlfX1cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICA8dGQgY2xhc3M9XCJtYXQtbWRjLWNlbGxcIiBzdHlsZT1cIndoaXRlLXNwYWNlOiBwcmU7XCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJlZGl0KHIsICdSdWxlJywgcnVsZWZvcm0pXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0VkaXQnfHRyYW5zbGF0ZVwiIHR5cGU9XCJidXR0b25cIj48bWF0LWljb24+ZWRpdDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJydWxlcy5yZW1vdmVBdChpbmRleClcIiBbYml6ZG9jVG9vbHRpcF09XCInUmVtb3ZlJ3x0cmFuc2xhdGVcIiB0eXBlPVwiYnV0dG9uXCI+PG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGFibGU+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2JpemRvYy1kZXNpZ25lci1lbGVtZW50PlxyXG48bmctdGVtcGxhdGUgI3J1bGVmb3JtIGxldC1mb3JtPlxyXG4gIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3snVGl0bGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCIgcmVxdWlyZWQgLz5cclxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5nZXQoJ3RpdGxlJykuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOignVGl0bGUnfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgJm5ic3A7XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7J05hbWUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiByZXF1aXJlZCAvPlxyXG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgnbmFtZScpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ05hbWUnfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGJpemRvYy1kZXNpZ25lci1wcml2aWxlZ2VzIFtmb3JtXT1cImZvcm1cIj48L2JpemRvYy1kZXNpZ25lci1wcml2aWxlZ2VzPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy9mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL2Zvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJeEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBZ0MsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzVELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSw0QkFBNEI7SUEwQ25FLFlBQVksRUFBZSxFQUNqQixPQUFvQixFQUNwQixRQUF1QixFQUN2QixRQUF3QixFQUN4QixTQUFtQixFQUNuQixVQUE0QixFQUNwQyxPQUF3QixFQUNILEdBQWdCO1FBQ3JDLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBUGhCLFlB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MUQsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0ExSFUsbUJBQW1CLHFOQWlEcEIsV0FBVztrR0FqRFYsbUJBQW1CLDJFQ2ZoQywwMEtBc0dBOzsyRkR2RmEsbUJBQW1CO2tCQUQvQixTQUFTOzs7MEJBa0RMLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQXhpc1NldHRpbmdzTW9kZWwsIElUb29sdGlwUmVuZGVyaW5nRXZlbnRBcmdzLCBMaW5lU2V0dGluZ3NNb2RlbCwgU3BhcmtsaW5lTWFya2VyU2V0dGluZ3NNb2RlbCwgU3BhcmtsaW5lVG9vbHRpcFNldHRpbmdzTW9kZWwgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItY2hhcnRzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBQYW5lc1JvdXRlciB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL3Nsb3RzL3JvdXRlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFN5c3RlbVNlcnZpY2UsIFJhbmdlSW5mbyB9IGZyb20gXCIuLi8uLi9zeXN0ZW0uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEZXNpZ25lclR5cGVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Rlc2lnbmVyLmJhc2VcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJSZWYsIEVsZW1lbnRJbmZvLCBQZXJtaXNzaW9uTW9kZWwsIGxvY2FsaXplU3RyaW5nLCBwcm9ncmFtTmFtZSB9IGZyb20gXCIuLi9kZWNsYXJhdGlvbnNcIjtcclxuaW1wb3J0IHsgRm9ybUludml0ZURpYWxvZyB9IGZyb20gXCIuL2Zvcm0taW52aXRlLmRpYWxvZ1wiO1xyXG5pbXBvcnQgeyBPcGVuUG9saWN5IH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvY29uZmlndXJhdGlvblwiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgSW50ZXJuYXRpb25hbGl6YXRpb24gfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWJhc2VcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZVVybDogJ2Zvcm0uY29tcG9uZW50Lmh0bWwnIH0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtRGVzaWduQ29tcG9uZW50IGV4dGVuZHMgRGVzaWduZXJUeXBlRWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcmVhZG9ubHkgcnVsZXMgPSB0aGlzLl9mYi5hcnJheShbXSk7XHJcbiAgcmVhZG9ubHkgZm9ybWF0ID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgcHJlZml4OiBudWxsLFxyXG4gICAgc3VmZml4OiBudWxsLFxyXG4gICAgZGlnaXRzOiBudWxsXHJcbiAgfSk7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIHJ1bGVzOiB0aGlzLnJ1bGVzLFxyXG4gICAgZ3VpZGU6IG51bGwsXHJcbiAgICBmb3JtYXQ6IG51bGwsXHJcbiAgICBncm91cDogbnVsbCxcclxuICAgIGRlc2NyaXB0aW9uOiBudWxsLFxyXG4gICAgY3ViZXM6IG51bGxcclxuICB9KTtcclxuICB0aGVtZTogJ01hdGVyaWFsJyB8ICdNYXRlcmlhbERhcmsnID0gdGhpcy5fc2Vzc2lvbi50aGVtZS5kYXJrID8gJ01hdGVyaWFsRGFyaycgOiAnTWF0ZXJpYWwnO1xyXG4gIHJlYWRvbmx5IGF4aXNTZXR0aW5ncyA9IHtcclxuICAgIGxpbmVTZXR0aW5nczoge1xyXG4gICAgICBvcGFjaXR5OiAuNSxcclxuICAgICAgd2lkdGg6IC41XHJcbiAgICB9IGFzIExpbmVTZXR0aW5nc01vZGVsLFxyXG4gIH0gYXMgQXhpc1NldHRpbmdzTW9kZWw7XHJcbiAgcmVhZG9ubHkgbWFya2VyU2V0dGluZ3MgPSB7XHJcbiAgICB2aXNpYmxlOiBbJ05vbmUnXSxcclxuICAgIHNpemU6IDEuNSxcclxuICAgIGZpbGw6IHRoaXMuX3Nlc3Npb24uZ2V0QWNjZW50KCksXHJcbiAgfSBhcyBTcGFya2xpbmVNYXJrZXJTZXR0aW5nc01vZGVsO1xyXG4gIHJlYWRvbmx5IHRvb2x0aXBTZXR0aW5ncyA9IHtcclxuICAgIHZpc2libGU6IHRydWUsXHJcbiAgICBmb3JtYXQ6ICcke2RhdGV9JyxcclxuICAgIHRyYWNrTGluZVNldHRpbmdzOiB7XHJcbiAgICAgIHZpc2libGU6IHRydWVcclxuICAgIH1cclxuICB9IGFzIFNwYXJrbGluZVRvb2x0aXBTZXR0aW5nc01vZGVsO1xyXG4gIHVzYWdlOiBSYW5nZUluZm9bXTtcclxuICBwcmltYXJ5ID0gdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KCk7XHJcbiAgcmVhZG9ubHkgZW5hYmxlUnRsID0gdGhpcy5fc2Vzc2lvbi5pbnZlcnNlO1xyXG4gIGxvY2FsZTogc3RyaW5nO1xyXG4gIGd1aWRlczogRWxlbWVudEluZm9bXTtcclxuICBjdWJlczogRWxlbWVudEluZm9bXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9pbnRsOiBJbnRlcm5hdGlvbmFsaXphdGlvbiA9IG5ldyBJbnRlcm5hdGlvbmFsaXphdGlvbigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXIsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBlbGVtZW50OiBFbGVtZW50UmVmPGFueT4sXHJcbiAgICBASW5qZWN0KERlc2lnbmVyUmVmKSByZWY6IERlc2lnbmVyUmVmKSB7XHJcbiAgICBzdXBlcihmYiwgZWxlbWVudCwgcmVmKTtcclxuICAgIHRoaXMubG9jYWxlID0gX3Nlc3Npb24ubGFuZ3VhZ2U7XHJcbiAgICB0aGlzLl9zZXNzaW9uLnRoZW1lQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICAgIHRoaXMudGhlbWUgPSB0LmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCc7XHJcbiAgICAgICAgdGhpcy5wcmltYXJ5ID0gdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICd3aWRnZXQnKVxyXG4gICAgICB0aGlzLl9zZXJ2aWNlLnJhbmdlKHRoaXMubW9kZWwubmFtZSkuc3Vic2NyaWJlKHIgPT5cclxuICAgICAgICAvL25ldyBTcGFya2xpbmUoe1xyXG4gICAgICAgIC8vICBkYXRhTGFiZWxSZW5kZXJpbmc6IHRoaXMuZGF0YUxhYmVsUmVuZGVyaW5nLmJpbmQodGhpcylcclxuICAgICAgICAvL30sIHRoaXMudXNhZ2UubmF0aXZlRWxlbWVudClcclxuICAgICAgICB0aGlzLnVzYWdlID0gcik7XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5tb2RlbC5ydWxlcz8uXHJcbiAgICAgICAgZm9yRWFjaChyID0+IHRoaXMucnVsZXMucHVzaCh0aGlzLm5ld1J1bGUociksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KSk7XHJcbiAgICAgIGNvbnN0IHsgZm9ybWF0IH0gPSB0aGlzLm1vZGVsO1xyXG4gICAgICBpZiAoZm9ybWF0KSB7XHJcbiAgICAgICAgY29uc3QgaW5kZXgxID0gZm9ybWF0LmluZGV4T2YoJ3snKSxcclxuICAgICAgICAgIGluZGV4MiA9IGZvcm1hdC5sYXN0SW5kZXhPZignfScpLFxyXG4gICAgICAgICAgaW5kZXgzID0gZm9ybWF0LmluZGV4T2YoJzonLCBpbmRleDEpO1xyXG4gICAgICAgIHRoaXMuZm9ybWF0LnBhdGNoVmFsdWUoe1xyXG4gICAgICAgICAgcHJlZml4OiBpbmRleDEgPiAwID8gZm9ybWF0LnN1YnN0cmluZygwLCBpbmRleDEpIDogbnVsbCxcclxuICAgICAgICAgIGRpZ2l0czogaW5kZXgyID4gaW5kZXgxICsgMiAmJiBpbmRleDMgPyBwYXJzZUludChmb3JtYXQuc3Vic3RyaW5nKGluZGV4MyArIDIsIGluZGV4MikpIDogbnVsbCxcclxuICAgICAgICAgIHN1ZmZpeDogaW5kZXgyIDwgZm9ybWF0Lmxlbmd0aCA/IGZvcm1hdC5zdWJzdHJpbmcoaW5kZXgyICsgMSkgOiBudWxsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5mb3JtYXQudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDE1MCkpLnN1YnNjcmliZShmID0+IHtcclxuICAgICAgICBsZXQgZm9ybWF0ID0gZi5wcmVmaXggYXMgc3RyaW5nIHx8ICh0aGlzLmZvcm0uZ2V0KCd0aXRsZScpLnZhbHVlIGFzIHN0cmluZyk7XHJcbiAgICAgICAgaWYgKGYuZGlnaXRzKSBmb3JtYXQgKz0gYHswOkQke2YuZGlnaXRzfX1gO1xyXG4gICAgICAgIGlmIChmLnN1ZmZpeCkgZm9ybWF0ICs9IGYuc3VmZml4O1xyXG4gICAgICAgIHRoaXMuZm9ybS5nZXQoJ2Zvcm1hdCcpLnNldFZhbHVlKGZvcm1hdCk7XHJcbiAgICAgICAgdGhpcy5mb3JtLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLm1vZGVsLnJlc291cmNlVHlwZSAmJiB0aGlzLmRpc2FibGUoJ2dyb3VwJywgJ2Rlc2NyaXB0aW9uJyk7XHJcbiAgICAgIHRoaXMuX3JlZi51bmxvY2soKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5lbmFibGUoJ2dyb3VwJywgJ2Rlc2NyaXB0aW9uJykpO1xyXG4gICAgICB0aGlzLmd1aWRlcyA9IHRoaXMuX3JlZi5kZXNpZ25lci5ndWlkZXM7XHJcbiAgICAgIHRoaXMuY3ViZXMgPSB0aGlzLl9yZWYuZGVzaWduZXIuY3ViZXM7XHJcbiAgICB9XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gIH1cclxuICB0b29sdGlwSW5pdGlhbGl6ZShldnQ6IElUb29sdGlwUmVuZGVyaW5nRXZlbnRBcmdzKSB7XHJcbiAgICBldnQudGV4dCA9IFt0aGlzLl9pbnRsLmZvcm1hdERhdGUodGhpcy5faW50bC5wYXJzZURhdGUoZXZ0LnRleHRbMF0sIHsgZm9ybWF0OiAnRUVFIE1NTSBkZCB5eXl5JyB9KSldO1xyXG4gIH1cclxuICBuZXdSdWxlKHJ1bGU/OiBQZXJtaXNzaW9uTW9kZWwpOiBhbnkge1xyXG4gICAgY29uc3QgbmFtZSA9IHRoaXMuX2ZiLmNvbnRyb2wocnVsZT8ubmFtZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIHRpdGxlID0gdGhpcy5fZmIuY29udHJvbChydWxlPy50aXRsZSk7XHJcbiAgICAhcnVsZSAmJiB0aXRsZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHYgPT4gbmFtZS5zZXRWYWx1ZShwcm9ncmFtTmFtZSh2KSkpO1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgICAgbmFtZSxcclxuICAgICAgdGl0bGUsXHJcbiAgICAgIHJvbGVzOiBydWxlPy5yb2xlcyxcclxuICAgICAgcnVsZTogcnVsZT8ucnVsZSxcclxuICAgIH0pO1xyXG4gIH1cclxuICBpbnZpdGUoKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoRm9ybUludml0ZURpYWxvZywge1xyXG4gICAgICBwb2xpY3k6IE9wZW5Qb2xpY3kuRGlhbG9nLFxyXG4gICAgICBpY29uOiB0aGlzLm1vZGVsLmljb24sXHJcbiAgICAgIHRpdGxlOiBsb2NhbGl6ZVN0cmluZyh0aGlzLm1vZGVsLnRpdGxlKSxcclxuICAgICAgZ3JvdXA6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0ludml0ZScpLFxyXG4gICAgICBpbmplY3RvcjogSW5qZWN0b3IuY3JlYXRlKHsgcHJvdmlkZXJzOiBbXSwgcGFyZW50OiB0aGlzLl9pbmplY3RvciB9KVxyXG4gICAgfSlcclxuICB9XHJcbiAgZGlhZ3JhbSgpIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ2FkbWluL2Zvcm1zJywgdGhpcy5tb2RlbC5uYW1lXSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxiaXpkb2MtZGVzaWduZXItZWxlbWVudCBbZm9ybV09XCJmb3JtXCIgW3ByaXZpbGVnZXNdPVwidHJ1ZVwiIFtpY29uXT1cInRydWVcIiBbdmlld109XCJ2aWV3XCIgKGJhY2spPVwidmlldyA9IG51bGxcIiBbY29udGV4dF09XCJjb250ZXh0XCI+XHJcbiAgPG5nLXRlbXBsYXRlIGJpemRvY0NvbnRlbnQ+XHJcbiAgICA8ZWpzLXNwYXJrbGluZSAqbmdJZj1cInVzYWdlXCIgd2lkdGg9JzI1MHB4JyBoZWlnaHQ9JzIwMHB4J1xyXG4gICAgICAgICAgICAgICAgICAgdHlwZT1cIkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgW2lkXT1cIm1vZGVsLm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgW2ZpbGxdPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJ1c2FnZVwiXHJcbiAgICAgICAgICAgICAgICAgICB4TmFtZT1cImRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgeU5hbWU9XCJjb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICBsaW5lV2lkdGg9XCIyXCJcclxuICAgICAgICAgICAgICAgICAgIHZhbHVlVHlwZT1cIkRhdGVUaW1lXCJcclxuICAgICAgICAgICAgICAgICAgIFtsb2NhbGVdPVwibG9jYWxlXCJcclxuICAgICAgICAgICAgICAgICAgIFttYXJrZXJTZXR0aW5nc109XCJtYXJrZXJTZXR0aW5nc1wiXHJcbiAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFNldHRpbmdzXT1cInRvb2x0aXBTZXR0aW5nc1wiXHJcbiAgICAgICAgICAgICAgICAgICAodG9vbHRpcEluaXRpYWxpemUpPVwidG9vbHRpcEluaXRpYWxpemUoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICBbZW5hYmxlUnRsXT1cImVuYWJsZVJ0bFwiPlxyXG4gICAgPC9lanMtc3BhcmtsaW5lPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZGlhZ3JhbSgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1dvcmtmbG93J3x0cmFuc2xhdGVcIiBbZGlzYWJsZWRdPVwibW9kZWwuZHJhZnRcIj48bWF0LWljb24+c2NoZW1hPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwib3B0aW9uc1wiIFtkaXNhYmxlZF09XCJtb2RlbC5kcmFmdFwiPjxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8bWF0LW1lbnUgI29wdGlvbnM+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJpbnZpdGUoKVwiPnt7J0ludml0ZSd8bDE4bn19PC9idXR0b24+XHJcbiAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDwhLS1lZGl0LS0+XHJcbiAgPG5nLXRlbXBsYXRlIGJpemRvY0VkaXRDb250ZW50PlxyXG4gICAgPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93IGZsZXhcIiBbZm9ybUdyb3VwXT1cImZvcm1hdFwiPlxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3snUHJlZml4J3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInByZWZpeFwiIC8+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAmbmJzcDtcclxuICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgICA8bWF0LWxhYmVsPnt7J0RpZ2l0cyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dCBmb3JtQ29udHJvbE5hbWU9XCJkaWdpdHNcIiBtYXhsZW5ndGg9XCIyXCIgLz5cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICZuYnNwO1xyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDxtYXQtbGFiZWw+e3snU3VmZml4J3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInN1ZmZpeFwiIC8+XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxiaXpkb2MtbG9jYWxpemVkLXN0cmluZyBmb3JtQ29udHJvbE5hbWU9XCJncm91cFwiIFtwbGFjZWhvbGRlcl09XCInR3JvdXAnfHRyYW5zbGF0ZVwiPjwvYml6ZG9jLWxvY2FsaXplZC1zdHJpbmc+XHJcbiAgICAgIDxiaXpkb2MtbG9jYWxpemVkLXN0cmluZyBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiIFtwbGFjZWhvbGRlcl09XCInRGVzY3JpcHRpb24nfHRyYW5zbGF0ZVwiPjwvYml6ZG9jLWxvY2FsaXplZC1zdHJpbmc+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImd1aWRlcy5sZW5ndGhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7J0d1aWRlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImd1aWRlXCI+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbj57eydOb25lJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBnIG9mIGd1aWRlc1wiIFt2YWx1ZV09XCJnLm5hbWVcIj57e2cudGl0bGUgfGxvY2FsaXplZFN0cmluZ319PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZXMubGVuZ3RoXCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydDdWJlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImN1YmVzXCIgbXVsdGlwbGU+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYyBvZiBjdWJlc1wiIFt2YWx1ZV09XCJjLm5hbWVcIj57e2MudGl0bGUgfGxvY2FsaXplZFN0cmluZ319PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICA8bWF0LWhpbnQ+e3snRm9ybUN1YmVIZWxwJ3x0cmFuc2xhdGV9fTwvbWF0LWhpbnQ+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDwhLS1SdWxlcy0tPlxyXG4gICAgICA8aDIgY2xhc3M9XCJtYXQtbWRjLXRpdGxlIHJvd1wiPlxyXG4gICAgICAgIHt7J1J1bGVzJ3x0cmFuc2xhdGV9fVxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYWRkKHJ1bGVzLCBuZXdSdWxlKCksICdSdWxlJywgcnVsZWZvcm0pXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0FkZCd8dHJhbnNsYXRlXCIgdHlwZT1cImJ1dHRvblwiPjxtYXQtaWNvbj5hZGRfY2lyY2xlX291dGxpbmU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8L2gyPlxyXG4gICAgICA8dGFibGUgZm9ybUFycmF5TmFtZT1cInJ1bGVzXCIgY2xhc3M9XCJtYXQtbWRjLXRhYmxlXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudCwgcnVsZXMpXCI+XHJcbiAgICAgICAgPHRyIGNsYXNzPVwibWF0LW1kYy1yb3dcIiAqbmdGb3I9XCJsZXQgciBvZiBydWxlcy5jb250cm9sczsgaW5kZXggYXMgaW5kZXhcIiBbZm9ybUdyb3VwXT1cInJcIiBjZGtEcmFnPlxyXG4gICAgICAgICAgPHRkIGNsYXNzPVwibWF0LW1kYy1jZWxsXCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiBjZGtEcmFnSGFuZGxlPmRyYWdfaW5kaWNhdG9yPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICA8dGQgY2xhc3M9XCJtYXQtbWRjLWNlbGwgZmxleFwiIHdpZHRoPVwiOTklXCI+XHJcbiAgICAgICAgICAgIHt7ci5nZXQoJ3RpdGxlJykudmFsdWV9fVxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIDx0ZCBjbGFzcz1cIm1hdC1tZGMtY2VsbFwiIHN0eWxlPVwid2hpdGUtc3BhY2U6IHByZTtcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImVkaXQociwgJ1J1bGUnLCBydWxlZm9ybSlcIiBbYml6ZG9jVG9vbHRpcF09XCInRWRpdCd8dHJhbnNsYXRlXCIgdHlwZT1cImJ1dHRvblwiPjxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJ1bGVzLnJlbW92ZUF0KGluZGV4KVwiIFtiaXpkb2NUb29sdGlwXT1cIidSZW1vdmUnfHRyYW5zbGF0ZVwiIHR5cGU9XCJidXR0b25cIj48bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgPC90YWJsZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvYml6ZG9jLWRlc2lnbmVyLWVsZW1lbnQ+XHJcbjxuZy10ZW1wbGF0ZSAjcnVsZWZvcm0gbGV0LWZvcm0+XHJcbiAgPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydUaXRsZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiByZXF1aXJlZCAvPlxyXG4gICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJmb3JtLmdldCgndGl0bGUnKS5oYXNFcnJvcigncmVxdWlyZWQnKVwiIFtpbm5lckhUTUxdPVwiJ1JlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6KCdUaXRsZSd8dHJhbnNsYXRlKVwiPjwvbWF0LWVycm9yPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAmbmJzcDtcclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3snTmFtZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiIHJlcXVpcmVkIC8+XHJcbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCduYW1lJykuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOignTmFtZSd8dHJhbnNsYXRlKVwiPjwvbWF0LWVycm9yPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8Yml6ZG9jLWRlc2lnbmVyLXByaXZpbGVnZXMgW2Zvcm1dPVwiZm9ybVwiPjwvYml6ZG9jLWRlc2lnbmVyLXByaXZpbGVnZXM+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -45,10 +45,10 @@ export class GuideDesignComponent extends DesignerTypeElementComponent {
45
45
  })
46
46
  });
47
47
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: GuideDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: GuideDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" [view]=\"view\" (back)=\"view = null\" [context]=\"context\">\r\n <ng-template bizdocEditContent>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n <h2 class=\"mat-mdc-title row\">\r\n {{'Steps'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(steps, newStep(), 'Step', stepform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"steps\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, steps)\">\r\n <tr class=\"mat-mdc-row\" *ngFor=\"let s of steps.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <td class=\"mat-mdc-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-mdc-cell\" width=\"99%\">\r\n {{s.get('title').value || s.get('content').value }}\r\n </td>\r\n <td class=\"mat-mdc-cell\" style=\"word-break:keep-all\">\r\n <button mat-icon-button (click)=\"edit(s, 'Step', stepform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"steps.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n<ng-template #stepform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" />\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Content'|translate}}</mat-label>\r\n <input matInput formControlName=\"content\" required />\r\n <mat-error *ngIf=\"form.get('content').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Content'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Selector'|translate}}</mat-label>\r\n <input matInput formControlName=\"selector\" />\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Position'|translate}}</mat-label>\r\n <mat-select formControlName=\"position\">\r\n <mat-option value=\"Above\">{{'Above'|translate}}</mat-option>\r\n <mat-option value=\"Start\">{{'Start'|translate}}</mat-option>\r\n <mat-option value=\"End\">{{'End'|translate}}</mat-option>\r\n <mat-option value=\"Below\">{{'Below'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=\"execute\">{{'Execute'|translate}}</mat-checkbox>\r\n <!--privileges-->\r\n <bizdoc-designer-privileges [form]=\"form.get('privileges')\"></bizdoc-designer-privileges>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.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.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.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "aria-describedby", "panelClass", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i9.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i12.DesignerPrivilegesComponent, selector: "bizdoc-designer-privileges", inputs: ["form"] }, { kind: "directive", type: i13.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: i13.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "view", "context"], outputs: ["continue", "back", "save"] }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: GuideDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: GuideDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" [view]=\"view\" (back)=\"view = null\" [context]=\"context\">\r\n <ng-template bizdocEditContent>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n <h2 class=\"mat-mdc-title row\">\r\n {{'Steps'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(steps, newStep(), 'Step', stepform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"steps\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, steps)\">\r\n <tr class=\"mat-mdc-row\" *ngFor=\"let s of steps.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <td class=\"mat-mdc-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-mdc-cell\" width=\"99%\">\r\n {{s.get('title').value || s.get('content').value }}\r\n </td>\r\n <td class=\"mat-mdc-cell\" style=\"word-break:keep-all\">\r\n <button mat-icon-button (click)=\"edit(s, 'Step', stepform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"steps.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n<ng-template #stepform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" />\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Content'|translate}}</mat-label>\r\n <input matInput formControlName=\"content\" required />\r\n <mat-error *ngIf=\"form.get('content').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Content'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Selector'|translate}}</mat-label>\r\n <input matInput formControlName=\"selector\" />\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Position'|translate}}</mat-label>\r\n <mat-select formControlName=\"position\">\r\n <mat-option value=\"Above\">{{'Above'|translate}}</mat-option>\r\n <mat-option value=\"Start\">{{'Start'|translate}}</mat-option>\r\n <mat-option value=\"End\">{{'End'|translate}}</mat-option>\r\n <mat-option value=\"Below\">{{'Below'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=\"execute\">{{'Execute'|translate}}</mat-checkbox>\r\n <!--privileges-->\r\n <bizdoc-designer-privileges [form]=\"form.get('privileges')\"></bizdoc-designer-privileges>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.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.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.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i9.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i12.DesignerPrivilegesComponent, selector: "bizdoc-designer-privileges", inputs: ["form"] }, { kind: "directive", type: i13.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: i13.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "view", "context"], outputs: ["continue", "back", "save"] }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] }); }
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: GuideDesignComponent, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: GuideDesignComponent, decorators: [{
52
52
  type: Component,
53
53
  args: [{ template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" [view]=\"view\" (back)=\"view = null\" [context]=\"context\">\r\n <ng-template bizdocEditContent>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n <h2 class=\"mat-mdc-title row\">\r\n {{'Steps'|translate}}\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add(steps, newStep(), 'Step', stepform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </h2>\r\n <table formArrayName=\"steps\" class=\"mat-mdc-table\" cdkDropList (cdkDropListDropped)=\"drop($event, steps)\">\r\n <tr class=\"mat-mdc-row\" *ngFor=\"let s of steps.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <td class=\"mat-mdc-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-mdc-cell\" width=\"99%\">\r\n {{s.get('title').value || s.get('content').value }}\r\n </td>\r\n <td class=\"mat-mdc-cell\" style=\"word-break:keep-all\">\r\n <button mat-icon-button (click)=\"edit(s, 'Step', stepform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"steps.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n<ng-template #stepform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" />\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Content'|translate}}</mat-label>\r\n <input matInput formControlName=\"content\" required />\r\n <mat-error *ngIf=\"form.get('content').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Content'|translate)\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Selector'|translate}}</mat-label>\r\n <input matInput formControlName=\"selector\" />\r\n </mat-form-field>\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Position'|translate}}</mat-label>\r\n <mat-select formControlName=\"position\">\r\n <mat-option value=\"Above\">{{'Above'|translate}}</mat-option>\r\n <mat-option value=\"Start\">{{'Start'|translate}}</mat-option>\r\n <mat-option value=\"End\">{{'End'|translate}}</mat-option>\r\n <mat-option value=\"Below\">{{'Below'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-checkbox formControlName=\"execute\">{{'Execute'|translate}}</mat-checkbox>\r\n <!--privileges-->\r\n <bizdoc-designer-privileges [form]=\"form.get('privileges')\"></bizdoc-designer-privileges>\r\n </form>\r\n</ng-template>\r\n" }]
54
54
  }] });
@@ -46,14 +46,14 @@ export class JobDesignComponent extends DesignerTypeElementComponent {
46
46
  }
47
47
  });
48
48
  }
49
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: JobDesignComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SystemService }, { token: i3.PromptService }, { token: i0.ElementRef }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component }); }
50
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: JobDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" [view]=\"view\" (back)=\"view = null\" [context]=\"context\">\r\n <!-- widget -->\r\n <ng-template bizdocContent>\r\n <dl *ngIf=\"jobInfo\">\r\n <ng-container *ngIf=\"jobInfo.lastExecution\">\r\n <dt>{{'LastExecution'|translate}}</dt>\r\n <dd>{{jobInfo.lastExecution|amTimeAgo}}</dd>\r\n </ng-container>\r\n <ng-container *ngIf=\"jobInfo.nextExecution\">\r\n <dt>{{'NextExecution'|translate}}</dt>\r\n <dd>{{jobInfo.nextExecution|amTimeAgo}}</dd>\r\n </ng-container>\r\n <ng-container *ngIf=\"jobInfo.lastJobState\">\r\n <dt>{{'LastJobState'|translate}}</dt>\r\n <dd>\r\n <mat-icon *ngIf=\"jobInfo.error\" [bizdocTooltip]=\"jobInfo.error\">report</mat-icon>\r\n <span class=\"job-state\">{{jobInfo.lastJobState| translate}}</span>\r\n </dd>\r\n </ng-container>\r\n </dl>\r\n <div class=\"row start center\">\r\n <button mat-stroked-button (click)=\"execute()\" [disabled]=\"model.draft || working\">\r\n <span> {{'Execute'|translate}}</span>\r\n </button>\r\n &nbsp;\r\n <mat-spinner *ngIf=\"working\" diameter=\"22\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n <!-- edit -->\r\n <ng-template bizdocEditContent>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n </div>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "directive", type: i9.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: i9.WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: i9.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "view", "context"], outputs: ["continue", "back", "save"] }, { kind: "pipe", type: i10.TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] }); }
49
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: JobDesignComponent, deps: [{ token: i1.FormBuilder }, { token: i2.SystemService }, { token: i3.PromptService }, { token: i0.ElementRef }, { token: DesignerRef }], target: i0.ɵɵFactoryTarget.Component }); }
50
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: JobDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" [view]=\"view\" (back)=\"view = null\" [context]=\"context\">\r\n <!-- widget -->\r\n <ng-template bizdocContent>\r\n <dl *ngIf=\"jobInfo\">\r\n <ng-container *ngIf=\"jobInfo.lastExecution\">\r\n <dt>{{'LastExecution'|translate}}</dt>\r\n <dd>{{jobInfo.lastExecution|amTimeAgo}}</dd>\r\n </ng-container>\r\n <ng-container *ngIf=\"jobInfo.nextExecution\">\r\n <dt>{{'NextExecution'|translate}}</dt>\r\n <dd>{{jobInfo.nextExecution|amTimeAgo}}</dd>\r\n </ng-container>\r\n <ng-container *ngIf=\"jobInfo.lastJobState\">\r\n <dt>{{'LastJobState'|translate}}</dt>\r\n <dd>\r\n <mat-icon *ngIf=\"jobInfo.error\" [bizdocTooltip]=\"jobInfo.error\">report</mat-icon>\r\n <span class=\"job-state\">{{jobInfo.lastJobState| translate}}</span>\r\n </dd>\r\n </ng-container>\r\n </dl>\r\n <div class=\"row start center\">\r\n <button mat-stroked-button (click)=\"execute()\" [disabled]=\"model.draft || working\">\r\n <span> {{'Execute'|translate}}</span>\r\n </button>\r\n &nbsp;\r\n <mat-spinner *ngIf=\"working\" diameter=\"22\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n <!-- edit -->\r\n <ng-template bizdocEditContent>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n </div>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "directive", type: i9.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "directive", type: i9.WidgetContentDirective, selector: "[bizdocContent]" }, { kind: "component", type: i9.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "view", "context"], outputs: ["continue", "back", "save"] }, { kind: "pipe", type: i10.TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] }); }
51
51
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: JobDesignComponent, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: JobDesignComponent, decorators: [{
53
53
  type: Component,
54
54
  args: [{ template: "<bizdoc-designer-element [form]=\"form\" [privileges]=\"true\" [view]=\"view\" (back)=\"view = null\" [context]=\"context\">\r\n <!-- widget -->\r\n <ng-template bizdocContent>\r\n <dl *ngIf=\"jobInfo\">\r\n <ng-container *ngIf=\"jobInfo.lastExecution\">\r\n <dt>{{'LastExecution'|translate}}</dt>\r\n <dd>{{jobInfo.lastExecution|amTimeAgo}}</dd>\r\n </ng-container>\r\n <ng-container *ngIf=\"jobInfo.nextExecution\">\r\n <dt>{{'NextExecution'|translate}}</dt>\r\n <dd>{{jobInfo.nextExecution|amTimeAgo}}</dd>\r\n </ng-container>\r\n <ng-container *ngIf=\"jobInfo.lastJobState\">\r\n <dt>{{'LastJobState'|translate}}</dt>\r\n <dd>\r\n <mat-icon *ngIf=\"jobInfo.error\" [bizdocTooltip]=\"jobInfo.error\">report</mat-icon>\r\n <span class=\"job-state\">{{jobInfo.lastJobState| translate}}</span>\r\n </dd>\r\n </ng-container>\r\n </dl>\r\n <div class=\"row start center\">\r\n <button mat-stroked-button (click)=\"execute()\" [disabled]=\"model.draft || working\">\r\n <span> {{'Execute'|translate}}</span>\r\n </button>\r\n &nbsp;\r\n <mat-spinner *ngIf=\"working\" diameter=\"22\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n <!-- edit -->\r\n <ng-template bizdocEditContent>\r\n <div [formGroup]=\"form\" class=\"column\">\r\n </div>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n" }]
55
55
  }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.SystemService }, { type: i3.PromptService }, { type: i0.ElementRef }, { type: i12.DesignerRef, decorators: [{
56
56
  type: Inject,
57
57
  args: [DesignerRef]
58
58
  }] }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL2pvYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy9qb2IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJdEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU05QyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsNEJBQTRCO0lBSWxFLFlBQVksRUFBZSxFQUNqQixRQUF1QixFQUN2QixHQUFrQixFQUMxQixPQUF3QixFQUNILEdBQWdCO1FBQ3JDLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSmhCLGFBQVEsR0FBUixRQUFRLENBQWU7UUFDdkIsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUxuQixTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkMsWUFBTyxHQUFHLEtBQUssQ0FBQztJQVFoQixDQUFDO0lBQ0QsUUFBUTtRQUNOLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLFFBQVE7Z0JBQ1gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztnQkFDM0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUNSLEtBQUssTUFBTTtnQkFDVCxNQUFNO1NBQ1Q7UUFDRCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUNELE9BQU87UUFDTCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMvQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3ZCLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ25CLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzhHQWxDVSxrQkFBa0IsaUlBUW5CLFdBQVc7a0dBUlYsa0JBQWtCLDJFQ1gvQixpNkNBa0NBOzsyRkR2QmEsa0JBQWtCO2tCQUo5QixTQUFTOzs7MEJBWUwsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kSm9iSW5mbywgU3lzdGVtU2VydmljZSB9IGZyb20gXCIuLi8uLi9zeXN0ZW0uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEZXNpZ25lclR5cGVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Rlc2lnbmVyLmJhc2VcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJSZWYgfSBmcm9tIFwiLi4vZGVjbGFyYXRpb25zXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJ2pvYi5jb21wb25lbnQuaHRtbCcsXHJcbiAgLy9zdHlsZVVybHM6IFsnam9iLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEpvYkRlc2lnbkNvbXBvbmVudCBleHRlbmRzIERlc2lnbmVyVHlwZUVsZW1lbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7fSk7XHJcbiAgd29ya2luZyA9IGZhbHNlO1xyXG4gIGpvYkluZm86IEJhY2tncm91bmRKb2JJbmZvO1xyXG4gIGNvbnN0cnVjdG9yKGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgX3NlcnZpY2U6IFN5c3RlbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wczogUHJvbXB0U2VydmljZSxcclxuICAgIGVsZW1lbnQ6IEVsZW1lbnRSZWY8YW55PixcclxuICAgIEBJbmplY3QoRGVzaWduZXJSZWYpIHJlZjogRGVzaWduZXJSZWYpIHtcclxuICAgIHN1cGVyKGZiLCBlbGVtZW50LCByZWYpO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN3aXRjaCAodGhpcy5tb2RlKSB7XHJcbiAgICAgIGNhc2UgJ3dpZGdldCc6XHJcbiAgICAgICAgdGhpcy5fc2VydmljZS5qb2IodGhpcy5tb2RlbC5uYW1lKS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgICB0aGlzLmpvYkluZm8gPSByLmpvYkluZm87XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ2VkaXQnOlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbiAgZXhlY3V0ZSgpIHtcclxuICAgIHRoaXMud29ya2luZyA9IHRydWU7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLmV4ZWN1dGUodGhpcy5tb2RlbC5uYW1lKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiBlID0+IHtcclxuICAgICAgICB0aGlzLmpvYkluZm8gPSBlO1xyXG4gICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICB9LCBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMud29ya2luZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3BzLmVycm9yKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8Yml6ZG9jLWRlc2lnbmVyLWVsZW1lbnQgW2Zvcm1dPVwiZm9ybVwiIFtwcml2aWxlZ2VzXT1cInRydWVcIiBbdmlld109XCJ2aWV3XCIgKGJhY2spPVwidmlldyA9IG51bGxcIiBbY29udGV4dF09XCJjb250ZXh0XCI+XHJcbiAgPCEtLSB3aWRnZXQgLS0+XHJcbiAgPG5nLXRlbXBsYXRlIGJpemRvY0NvbnRlbnQ+XHJcbiAgICA8ZGwgKm5nSWY9XCJqb2JJbmZvXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJqb2JJbmZvLmxhc3RFeGVjdXRpb25cIj5cclxuICAgICAgICA8ZHQ+e3snTGFzdEV4ZWN1dGlvbid8dHJhbnNsYXRlfX08L2R0PlxyXG4gICAgICAgIDxkZD57e2pvYkluZm8ubGFzdEV4ZWN1dGlvbnxhbVRpbWVBZ299fTwvZGQ+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiam9iSW5mby5uZXh0RXhlY3V0aW9uXCI+XHJcbiAgICAgICAgPGR0Pnt7J05leHRFeGVjdXRpb24nfHRyYW5zbGF0ZX19PC9kdD5cclxuICAgICAgICA8ZGQ+e3tqb2JJbmZvLm5leHRFeGVjdXRpb258YW1UaW1lQWdvfX08L2RkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImpvYkluZm8ubGFzdEpvYlN0YXRlXCI+XHJcbiAgICAgICAgPGR0Pnt7J0xhc3RKb2JTdGF0ZSd8dHJhbnNsYXRlfX08L2R0PlxyXG4gICAgICAgIDxkZD5cclxuICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImpvYkluZm8uZXJyb3JcIiBbYml6ZG9jVG9vbHRpcF09XCJqb2JJbmZvLmVycm9yXCI+cmVwb3J0PC9tYXQtaWNvbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiam9iLXN0YXRlXCI+e3tqb2JJbmZvLmxhc3RKb2JTdGF0ZXwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9kZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2RsPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBzdGFydCBjZW50ZXJcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gKGNsaWNrKT1cImV4ZWN1dGUoKVwiIFtkaXNhYmxlZF09XCJtb2RlbC5kcmFmdCB8fCB3b3JraW5nXCI+XHJcbiAgICAgICAgPHNwYW4+IHt7J0V4ZWN1dGUnfHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgJm5ic3A7XHJcbiAgICAgIDxtYXQtc3Bpbm5lciAqbmdJZj1cIndvcmtpbmdcIiBkaWFtZXRlcj1cIjIyXCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPCEtLSBlZGl0IC0tPlxyXG4gIDxuZy10ZW1wbGF0ZSBiaXpkb2NFZGl0Q29udGVudD5cclxuICAgIDxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvYml6ZG9jLWRlc2lnbmVyLWVsZW1lbnQ+XHJcbiJdfQ==
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vYXJjaGl0ZWN0dXJlL2VsZW1lbnRzL2pvYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL2FyY2hpdGVjdHVyZS9lbGVtZW50cy9qb2IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFJdEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU05QyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsNEJBQTRCO0lBSWxFLFlBQVksRUFBZSxFQUNqQixRQUF1QixFQUN2QixHQUFrQixFQUMxQixPQUF3QixFQUNILEdBQWdCO1FBQ3JDLEtBQUssQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSmhCLGFBQVEsR0FBUixRQUFRLENBQWU7UUFDdkIsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUxuQixTQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkMsWUFBTyxHQUFHLEtBQUssQ0FBQztJQVFoQixDQUFDO0lBQ0QsUUFBUTtRQUNOLFFBQVEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xCLEtBQUssUUFBUTtnQkFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDL0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO2dCQUMzQixDQUFDLENBQUMsQ0FBQztnQkFDSCxNQUFNO1lBQ1IsS0FBSyxNQUFNO2dCQUNULE1BQU07UUFDVixDQUFDO1FBQ0QsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDL0MsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFO2dCQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUN2QixDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtnQkFDYixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FsQ1Usa0JBQWtCLGlJQVFuQixXQUFXO2tHQVJWLGtCQUFrQiwyRUNYL0IsaTZDQWtDQTs7MkZEdkJhLGtCQUFrQjtrQkFKOUIsU0FBUzs7OzBCQVlMLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQmFja2dyb3VuZEpvYkluZm8sIFN5c3RlbVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc3lzdGVtLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJUeXBlRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuLi9kZXNpZ25lci5iYXNlXCI7XHJcbmltcG9ydCB7IERlc2lnbmVyUmVmIH0gZnJvbSBcIi4uL2RlY2xhcmF0aW9uc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICdqb2IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIC8vc3R5bGVVcmxzOiBbJ2pvYi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBKb2JEZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lclR5cGVFbGVtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe30pO1xyXG4gIHdvcmtpbmcgPSBmYWxzZTtcclxuICBqb2JJbmZvOiBCYWNrZ3JvdW5kSm9iSW5mbztcclxuICBjb25zdHJ1Y3RvcihmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBTeXN0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcHM6IFByb21wdFNlcnZpY2UsXHJcbiAgICBlbGVtZW50OiBFbGVtZW50UmVmPGFueT4sXHJcbiAgICBASW5qZWN0KERlc2lnbmVyUmVmKSByZWY6IERlc2lnbmVyUmVmKSB7XHJcbiAgICBzdXBlcihmYiwgZWxlbWVudCwgcmVmKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMubW9kZSkge1xyXG4gICAgICBjYXNlICd3aWRnZXQnOlxyXG4gICAgICAgIHRoaXMuX3NlcnZpY2Uuam9iKHRoaXMubW9kZWwubmFtZSkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgICAgdGhpcy5qb2JJbmZvID0gci5qb2JJbmZvO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdlZGl0JzpcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgfVxyXG4gIGV4ZWN1dGUoKSB7XHJcbiAgICB0aGlzLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5fc2VydmljZS5leGVjdXRlKHRoaXMubW9kZWwubmFtZSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogZSA9PiB7XHJcbiAgICAgICAgdGhpcy5qb2JJbmZvID0gZTtcclxuICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICB0aGlzLndvcmtpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9wcy5lcnJvcigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGJpemRvYy1kZXNpZ25lci1lbGVtZW50IFtmb3JtXT1cImZvcm1cIiBbcHJpdmlsZWdlc109XCJ0cnVlXCIgW3ZpZXddPVwidmlld1wiIChiYWNrKT1cInZpZXcgPSBudWxsXCIgW2NvbnRleHRdPVwiY29udGV4dFwiPlxyXG4gIDwhLS0gd2lkZ2V0IC0tPlxyXG4gIDxuZy10ZW1wbGF0ZSBiaXpkb2NDb250ZW50PlxyXG4gICAgPGRsICpuZ0lmPVwiam9iSW5mb1wiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiam9iSW5mby5sYXN0RXhlY3V0aW9uXCI+XHJcbiAgICAgICAgPGR0Pnt7J0xhc3RFeGVjdXRpb24nfHRyYW5zbGF0ZX19PC9kdD5cclxuICAgICAgICA8ZGQ+e3tqb2JJbmZvLmxhc3RFeGVjdXRpb258YW1UaW1lQWdvfX08L2RkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImpvYkluZm8ubmV4dEV4ZWN1dGlvblwiPlxyXG4gICAgICAgIDxkdD57eydOZXh0RXhlY3V0aW9uJ3x0cmFuc2xhdGV9fTwvZHQ+XHJcbiAgICAgICAgPGRkPnt7am9iSW5mby5uZXh0RXhlY3V0aW9ufGFtVGltZUFnb319PC9kZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJqb2JJbmZvLmxhc3RKb2JTdGF0ZVwiPlxyXG4gICAgICAgIDxkdD57eydMYXN0Sm9iU3RhdGUnfHRyYW5zbGF0ZX19PC9kdD5cclxuICAgICAgICA8ZGQ+XHJcbiAgICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJqb2JJbmZvLmVycm9yXCIgW2JpemRvY1Rvb2x0aXBdPVwiam9iSW5mby5lcnJvclwiPnJlcG9ydDwvbWF0LWljb24+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImpvYi1zdGF0ZVwiPnt7am9iSW5mby5sYXN0Sm9iU3RhdGV8IHRyYW5zbGF0ZX19PC9zcGFuPlxyXG4gICAgICAgIDwvZGQ+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kbD5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgc3RhcnQgY2VudGVyXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIChjbGljayk9XCJleGVjdXRlKClcIiBbZGlzYWJsZWRdPVwibW9kZWwuZHJhZnQgfHwgd29ya2luZ1wiPlxyXG4gICAgICAgIDxzcGFuPiB7eydFeGVjdXRlJ3x0cmFuc2xhdGV9fTwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgICZuYnNwO1xyXG4gICAgICA8bWF0LXNwaW5uZXIgKm5nSWY9XCJ3b3JraW5nXCIgZGlhbWV0ZXI9XCIyMlwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG4gIDwhLS0gZWRpdCAtLT5cclxuICA8bmctdGVtcGxhdGUgYml6ZG9jRWRpdENvbnRlbnQ+XHJcbiAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2JpemRvYy1kZXNpZ25lci1lbGVtZW50PlxyXG4iXX0=
@@ -68,15 +68,15 @@ let MatrixViewDesignComponent = class MatrixViewDesignComponent extends Designer
68
68
  calculate: sum?.calculate || 'Sum'
69
69
  });
70
70
  }
71
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: MatrixViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
72
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: MatrixViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-mdc-title\">{{context.title|translate}}</h2>\r\n <div (document:keydown.escape)=\"closeView($event)\" #element class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" type=\"button\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_return</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #main>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\" class=\"flex\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let i of cube.indices\" [value]=\"i.name\">{{i.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value !== a.name && form.get('series').value !== a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n </div>\r\n <h2 class=\"mat-mdc-title\">{{'Summary'|translate}}</h2>\r\n <table class=\"mat-mdc-table\" formArrayName=\"sum\" cdkDropList (cdkDropListDropped)=\"drop($event, sum)\">\r\n <tr class=\"mat-mdc-row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <td class=\"mat-mdc-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-mdc-cell\">{{s.get('title').value}}</td>\r\n <td class=\"mat-mdc-cell\">\r\n <button mat-icon-button (click)=\"edit(s, 'Summary', sumform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"sum.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <button mat-icon-button (click)=\"add(sum, newSum(), 'Summary', sumform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </form>\r\n</ng-template>\r\n<ng-template #sumform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"XAxis\">{{'XAxis'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Series\">{{'Series'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <mat-form-field>\r\n <mat-label>{{'Calculate'|translate}}</mat-label>\r\n <mat-select formControlName=\"calculate\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Quarter\">{{'Quarter'|translate}}</mat-option>\r\n <mat-option value=\"Year\">{{'Year'|translate}}</mat-option>\r\n <mat-option value=\"Month\">{{'Month'|translate}}</mat-option>\r\n <mat-option value=\"Sum\">{{'Sum'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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.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.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i4.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i4.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex", "id", "name", "aria-label", "aria-labelledby", "aria-describedby", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "aria-describedby", "panelClass", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i9.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i12.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] }); }
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MatrixViewDesignComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
72
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: MatrixViewDesignComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-mdc-title\">{{context.title|translate}}</h2>\r\n <div (document:keydown.escape)=\"closeView($event)\" #element class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" type=\"button\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_return</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #main>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\" class=\"flex\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let i of cube.indices\" [value]=\"i.name\">{{i.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value !== a.name && form.get('series').value !== a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n </div>\r\n <h2 class=\"mat-mdc-title\">{{'Summary'|translate}}</h2>\r\n <table class=\"mat-mdc-table\" formArrayName=\"sum\" cdkDropList (cdkDropListDropped)=\"drop($event, sum)\">\r\n <tr class=\"mat-mdc-row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <td class=\"mat-mdc-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-mdc-cell\">{{s.get('title').value}}</td>\r\n <td class=\"mat-mdc-cell\">\r\n <button mat-icon-button (click)=\"edit(s, 'Summary', sumform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"sum.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <button mat-icon-button (click)=\"add(sum, newSum(), 'Summary', sumform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </form>\r\n</ng-template>\r\n<ng-template #sumform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"XAxis\">{{'XAxis'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Series\">{{'Series'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <mat-form-field>\r\n <mat-label>{{'Calculate'|translate}}</mat-label>\r\n <mat-select formControlName=\"calculate\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Quarter\">{{'Quarter'|translate}}</mat-option>\r\n <mat-option value=\"Year\">{{'Year'|translate}}</mat-option>\r\n <mat-option value=\"Month\">{{'Month'|translate}}</mat-option>\r\n <mat-option value=\"Sum\">{{'Sum'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { 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.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.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i4.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i4.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i6.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i6.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i9.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: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i12.LocalizedStringPipe, name: "localizedString" }, { kind: "pipe", type: i13.TranslatePipe, name: "translate" }] }); }
73
73
  };
74
74
  MatrixViewDesignComponent = __decorate([
75
75
  BizDoc({ selector: 'matrix-view-designer' })
76
76
  ], MatrixViewDesignComponent);
77
77
  export { MatrixViewDesignComponent };
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: MatrixViewDesignComponent, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: MatrixViewDesignComponent, decorators: [{
79
79
  type: Component,
80
80
  args: [{ template: "<ng-container *ngIf=\"mode === 'widget'; else edit\">\r\n</ng-container>\r\n<ng-template #edit>\r\n <ng-container *ngIf=\"view; else main\">\r\n <h2 class=\"mat-mdc-title\">{{context.title|translate}}</h2>\r\n <div (document:keydown.escape)=\"closeView($event)\" #element class=\"column\">\r\n <ng-container *ngTemplateOutlet=\"view; context: context\"></ng-container>\r\n </div>\r\n <div class=\"row actions\">\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"closeView()\" type=\"button\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon>keyboard_return</mat-icon></button>\r\n </div>\r\n </ng-container>\r\n</ng-template>\r\n<ng-template #main>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field *ngIf=\"cubes.length>1\">\r\n <mat-label>{{'Cube'|translate}}</mat-label>\r\n <mat-select required formControlName=\"cube\" (selectionChange)=\"cubeSelected($event)\">\r\n <mat-option *ngFor=\"let c of cubes\" [value]=\"c.name\">{{c.title|localizedString}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'XAxis'|translate}}</mat-label>\r\n <mat-select formControlName=\"xAxis\" required>\r\n <mat-option *ngFor=\"let a of cube?.axes\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('xAxis').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('XAxis'|translate)\"></mat-error>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Series'|translate}}</mat-label>\r\n <mat-select formControlName=\"series\" required>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"form.get('series').hasError('required')\" [innerHTML]=\"'RequiredErr'|translate:('Series'|translate)\"></mat-error>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field *ngIf=\"cube?.indices?.length\" class=\"flex\">\r\n <mat-label>{{'Indices'|translate}}</mat-label>\r\n <mat-select formControlName=\"indices\" multiple>\r\n <mat-option *ngFor=\"let i of cube.indices\" [value]=\"i.name\">{{i.title}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <div class=\"row\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Filters'|translate}}</mat-label>\r\n <mat-select formControlName=\"filters\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value !== a.name && form.get('series').value !== a.name\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n &nbsp;\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Aggregate'|translate}}</mat-label>\r\n <mat-select formControlName=\"aggregate\" multiple>\r\n <ng-container *ngFor=\"let a of cube?.axes\">\r\n <mat-option *ngIf=\"form.get('xAxis').value!==a.name && form.get('series').value !== a.name && form.get('filters').value?.indexOf(a.name) < 0\" [value]=\"a.name\">{{a.title }}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-hint></mat-hint>\r\n </mat-form-field>\r\n </div>\r\n <h2 class=\"mat-mdc-title\">{{'Summary'|translate}}</h2>\r\n <table class=\"mat-mdc-table\" formArrayName=\"sum\" cdkDropList (cdkDropListDropped)=\"drop($event, sum)\">\r\n <tr class=\"mat-mdc-row\" *ngFor=\"let s of sum.controls; index as index\" [formGroup]=\"s\" cdkDrag>\r\n <td class=\"mat-mdc-cell\">\r\n <mat-icon cdkDragHandle>drag_indicator</mat-icon>\r\n </td>\r\n <td class=\"mat-mdc-cell\">{{s.get('title').value}}</td>\r\n <td class=\"mat-mdc-cell\">\r\n <button mat-icon-button (click)=\"edit(s, 'Summary', sumform)\" [bizdocTooltip]=\"'Edit'|translate\" type=\"button\"><mat-icon>edit</mat-icon></button>\r\n <button mat-icon-button (click)=\"sum.removeAt(index)\" [bizdocTooltip]=\"'Remove'|translate\" type=\"button\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n <button mat-icon-button (click)=\"add(sum, newSum(), 'Summary', sumform)\" [bizdocTooltip]=\"'Add'|translate\" type=\"button\"><mat-icon>add_circle_outline</mat-icon></button>\r\n </form>\r\n</ng-template>\r\n<ng-template #sumform let-form>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n <mat-form-field class=\"flex\">\r\n <mat-label>{{'Title'|translate}}</mat-label>\r\n <input matInput formControlName=\"title\" required />\r\n </mat-form-field>\r\n <mat-radio-group formControlName=\"axis\">\r\n <mat-radio-button value=\"XAxis\">{{'XAxis'|translate}}</mat-radio-button>\r\n <mat-radio-button value=\"Series\">{{'Series'|translate}}</mat-radio-button>\r\n </mat-radio-group>\r\n <mat-form-field>\r\n <mat-label>{{'Calculate'|translate}}</mat-label>\r\n <mat-select formControlName=\"calculate\">\r\n <mat-option>{{'None'|translate}}</mat-option>\r\n <mat-option value=\"Quarter\">{{'Quarter'|translate}}</mat-option>\r\n <mat-option value=\"Year\">{{'Year'|translate}}</mat-option>\r\n <mat-option value=\"Month\">{{'Month'|translate}}</mat-option>\r\n <mat-option value=\"Sum\">{{'Sum'|translate}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n" }]
81
81
  }] });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9hcmNoaXRlY3R1cmUvZWxlbWVudHMvbWF0cml4LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9hcmNoaXRlY3R1cmUvZWxlbWVudHMvbWF0cml4LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzVELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFJekQsSUFBTSx5QkFBeUIsR0FBL0IsTUFBTSx5QkFBMEIsU0FBUSw0QkFBaUQ7SUFBekY7O1FBQ0ksUUFBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNsRCxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbkQsT0FBTyxFQUFFLElBQUk7WUFDYixTQUFTLEVBQUUsSUFBSTtZQUNmLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztLQWtDSjtJQWpDQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUMxQixJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztnQkFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbEYsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtnQkFDcEIsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7b0JBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDOztvQkFFbkYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7YUFDdEU7WUFDRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDOUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEUsNkJBQTZCO1lBQzdCLDBDQUEwQztZQUMxQyxrQ0FBa0M7WUFDbEMsOENBQThDO1lBQzlDLHNDQUFzQztZQUN0QywyQ0FBMkM7WUFDM0MsdUNBQXVDO1lBQ3ZDLDhDQUE4QztTQUM3QztRQUNELEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQWlCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7WUFDcEIsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLElBQUksUUFBUTtZQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsUUFBUSxDQUFDO1lBQ3hELEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxJQUFJLElBQUk7WUFDekIsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksVUFBVTtZQUNqQyxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsSUFBSSxJQUFJO1lBQ2pDLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxJQUFJLElBQUk7WUFDbkMsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTLElBQUksS0FBSztTQUNuQyxDQUFRLENBQUM7SUFDWixDQUFDOzhHQTdDVSx5QkFBeUI7a0dBQXpCLHlCQUF5QiwyRUNWdEMsb3FMQXlHQTs7QUQvRmEseUJBQXlCO0lBRHJDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0dBQ2hDLHlCQUF5QixDQThDckM7OzJGQTlDWSx5QkFBeUI7a0JBRnJDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBpc0FycmF5LCBpc1N0cmluZyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlL2Z1bmN0aW9uc1wiO1xyXG5pbXBvcnQgeyBTdW1TZXR0aW5ncyB9IGZyb20gXCIuLi8uLi8uLi9jdWJlL21hdHJpeC90YWJsZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgTWF0cml4U2V0dGluZ3NNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi92aWV3cy9jdWJlL21hdHJpeC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuLi9kZXNpZ25lci5iYXNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGVVcmw6ICdtYXRyaXgtdmlldy5jb21wb25lbnQuaHRtbCcgfSlcclxuQEJpekRvYyh7IHNlbGVjdG9yOiAnbWF0cml4LXZpZXctZGVzaWduZXInIH0pXHJcbmV4cG9ydCBjbGFzcyBNYXRyaXhWaWV3RGVzaWduQ29tcG9uZW50IGV4dGVuZHMgRGVzaWduZXJDdWJlRWxlbWVudENvbXBvbmVudDxNYXRyaXhTZXR0aW5nc01vZGVsPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgcmVhZG9ubHkgc3VtID0gdGhpcy5fZmIuYXJyYXkoW10pO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBjdWJlOiBudWxsLFxyXG4gICAgeEF4aXM6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICBzZXJpZXM6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICBpbmRpY2VzOiBudWxsLFxyXG4gICAgYWdncmVnYXRlOiBudWxsLFxyXG4gICAgc3VtOiB0aGlzLnN1bSxcclxuICAgIGZpbHRlcnM6IG51bGwsXHJcbiAgICBpbmRleEF0OiBudWxsLFxyXG4gICAgcGxhY2VBdDogbnVsbFxyXG4gIH0pO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMubW9kZSAhPT0gJ3dpZGdldCcpIHtcclxuICAgICAgaWYgKGlzU3RyaW5nKHRoaXMub3B0aW9ucy5pbmRpY2VzKSkgdGhpcy5vcHRpb25zLmluZGljZXMgPSBbdGhpcy5vcHRpb25zLmluZGljZXNdO1xyXG4gICAgICBpZiAodGhpcy5vcHRpb25zLnN1bSkge1xyXG4gICAgICAgIGlmIChpc0FycmF5KHRoaXMub3B0aW9ucy5zdW0pKVxyXG4gICAgICAgICAgdGhpcy5vcHRpb25zLnN1bS5mb3JFYWNoKHMgPT4gdGhpcy5zdW0ucHVzaCh0aGlzLm5ld1N1bShzKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLnN1bS5wdXNoKHRoaXMubmV3U3VtKHRoaXMub3B0aW9ucy5zdW0pLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgeyBjdWJlLCB4QXhpcywgc2VyaWVzLCBhZ2dyZWdhdGUgfSA9IHRoaXMuZm9ybS5jb250cm9scztcclxuICAgICAgY3ViZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHhBeGlzLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSkpO1xyXG4gICAgLy8gIGlmICghdGhpcy5vcHRpb25zLnhBeGlzKSBcclxuICAgIC8vICAgIHRoaXMuZGlzYWJsZSgnc2VyaWVzJywgJ2FnZ3JlZ2F0ZScpO1xyXG4gICAgLy8gIGVsc2UgaWYgKCF0aGlzLm9wdGlvbnMuc2VyaWVzKVxyXG4gICAgLy8gICAgYWdncmVnYXRlLmRpc2FibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgLy8gIHhBeGlzLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT5cclxuICAgIC8vICAgIHNlcmllcy5lbmFibGUoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pKTtcclxuICAgIC8vICBzZXJpZXMudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgLy8gICAgYWdncmVnYXRlLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSkpO1xyXG4gICAgfVxyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICB9XHJcbiAgbmV3U3VtKHN1bT86IFN1bVNldHRpbmdzKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgICBheGlzOiBzdW0/LmF4aXMgfHwgJ1NlcmllcycsXHJcbiAgICAgIHRpdGxlOiB0aGlzLl9mYi5jb250cm9sKHN1bT8udGl0bGUsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgICB2YWx1ZTogc3VtPy52YWx1ZSB8fCBudWxsLFxyXG4gICAgICBmb3JtYXQ6IHN1bT8uZm9ybWF0IHx8ICdDdXJyZW5jeScsXHJcbiAgICAgIHByZWNpc2lvbjogc3VtPy5wcmVjaXNpb24gfHwgbnVsbCxcclxuICAgICAgZXhwbG9yYWJsZTogc3VtPy5leHBsb3JhYmxlIHx8IG51bGwsXHJcbiAgICAgIGNhbGN1bGF0ZTogc3VtPy5jYWxjdWxhdGUgfHwgJ1N1bSdcclxuICAgIH0pIGFzIGFueTtcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT09ICd3aWRnZXQnOyBlbHNlIGVkaXRcIj5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy10ZW1wbGF0ZSAjZWRpdD5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwidmlldzsgZWxzZSBtYWluXCI+XHJcbiAgICA8aDIgY2xhc3M9XCJtYXQtbWRjLXRpdGxlXCI+e3tjb250ZXh0LnRpdGxlfHRyYW5zbGF0ZX19PC9oMj5cclxuICAgIDxkaXYgKGRvY3VtZW50OmtleWRvd24uZXNjYXBlKT1cImNsb3NlVmlldygkZXZlbnQpXCIgI2VsZW1lbnQgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInZpZXc7IGNvbnRleHQ6IGNvbnRleHRcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInJvdyBhY3Rpb25zXCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNsb3NlVmlldygpXCIgdHlwZT1cImJ1dHRvblwiIFtiaXpkb2NUb29sdGlwXT1cIidCYWNrJ3x0cmFuc2xhdGVcIj48bWF0LWljb24+a2V5Ym9hcmRfcmV0dXJuPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI21haW4+XHJcbiAgPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCAqbmdJZj1cImN1YmVzLmxlbmd0aD4xXCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snQ3ViZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPVwiY3ViZVwiIChzZWxlY3Rpb25DaGFuZ2UpPVwiY3ViZVNlbGVjdGVkKCRldmVudClcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYyBvZiBjdWJlc1wiIFt2YWx1ZV09XCJjLm5hbWVcIj57e2MudGl0bGV8bG9jYWxpemVkU3RyaW5nfX08L21hdC1vcHRpb24+XHJcbiAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7J1hBeGlzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInhBeGlzXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgYSBvZiBjdWJlPy5heGVzXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ1hBeGlzJ3x0cmFuc2xhdGUpXCI+PC9tYXQtZXJyb3I+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICZuYnNwO1xyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydTZXJpZXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwic2VyaWVzXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhIG9mIGN1YmU/LmF4ZXNcIj5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJmb3JtLmdldCgneEF4aXMnKS52YWx1ZSE9PWEubmFtZVwiIFt2YWx1ZV09XCJhLm5hbWVcIj57e2EudGl0bGUgfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImZvcm0uZ2V0KCdzZXJpZXMnKS5oYXNFcnJvcigncmVxdWlyZWQnKVwiIFtpbm5lckhUTUxdPVwiJ1JlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6KCdTZXJpZXMnfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZGl2PlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZT8uaW5kaWNlcz8ubGVuZ3RoXCIgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snSW5kaWNlcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwiaW5kaWNlc1wiIG11bHRpcGxlPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpIG9mIGN1YmUuaW5kaWNlc1wiIFt2YWx1ZV09XCJpLm5hbWVcIj57e2kudGl0bGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3snRmlsdGVycyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJmaWx0ZXJzXCIgbXVsdGlwbGU+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhIG9mIGN1YmU/LmF4ZXNcIj5cclxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJmb3JtLmdldCgneEF4aXMnKS52YWx1ZSAhPT0gYS5uYW1lICYmIGZvcm0uZ2V0KCdzZXJpZXMnKS52YWx1ZSAhPT0gYS5uYW1lXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgJm5ic3A7XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7J0FnZ3JlZ2F0ZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJhZ2dyZWdhdGVcIiBtdWx0aXBsZT5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGEgb2YgY3ViZT8uYXhlc1wiPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLnZhbHVlIT09YS5uYW1lICYmIGZvcm0uZ2V0KCdzZXJpZXMnKS52YWx1ZSAhPT0gYS5uYW1lICYmIGZvcm0uZ2V0KCdmaWx0ZXJzJykudmFsdWU/LmluZGV4T2YoYS5uYW1lKSA8IDBcIiBbdmFsdWVdPVwiYS5uYW1lXCI+e3thLnRpdGxlIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgIDxtYXQtaGludD48L21hdC1oaW50PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aDIgY2xhc3M9XCJtYXQtbWRjLXRpdGxlXCI+e3snU3VtbWFyeSd8dHJhbnNsYXRlfX08L2gyPlxyXG4gICAgPHRhYmxlIGNsYXNzPVwibWF0LW1kYy10YWJsZVwiIGZvcm1BcnJheU5hbWU9XCJzdW1cIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50LCBzdW0pXCI+XHJcbiAgICAgIDx0ciBjbGFzcz1cIm1hdC1tZGMtcm93XCIgKm5nRm9yPVwibGV0IHMgb2Ygc3VtLmNvbnRyb2xzOyBpbmRleCBhcyBpbmRleFwiIFtmb3JtR3JvdXBdPVwic1wiIGNka0RyYWc+XHJcbiAgICAgICAgPHRkIGNsYXNzPVwibWF0LW1kYy1jZWxsXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24gY2RrRHJhZ0hhbmRsZT5kcmFnX2luZGljYXRvcjwvbWF0LWljb24+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgICA8dGQgY2xhc3M9XCJtYXQtbWRjLWNlbGxcIj57e3MuZ2V0KCd0aXRsZScpLnZhbHVlfX08L3RkPlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cIm1hdC1tZGMtY2VsbFwiPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImVkaXQocywgJ1N1bW1hcnknLCBzdW1mb3JtKVwiIFtiaXpkb2NUb29sdGlwXT1cIidFZGl0J3x0cmFuc2xhdGVcIiB0eXBlPVwiYnV0dG9uXCI+PG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInN1bS5yZW1vdmVBdChpbmRleClcIiBbYml6ZG9jVG9vbHRpcF09XCInUmVtb3ZlJ3x0cmFuc2xhdGVcIiB0eXBlPVwiYnV0dG9uXCI+PG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgPC90cj5cclxuICAgIDwvdGFibGU+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYWRkKHN1bSwgbmV3U3VtKCksICdTdW1tYXJ5Jywgc3VtZm9ybSlcIiBbYml6ZG9jVG9vbHRpcF09XCInQWRkJ3x0cmFuc2xhdGVcIiB0eXBlPVwiYnV0dG9uXCI+PG1hdC1pY29uPmFkZF9jaXJjbGVfb3V0bGluZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgPC9mb3JtPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI3N1bWZvcm0gbGV0LWZvcm0+XHJcbiAgPGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydUaXRsZSd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCIgcmVxdWlyZWQgLz5cclxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8bWF0LXJhZGlvLWdyb3VwIGZvcm1Db250cm9sTmFtZT1cImF4aXNcIj5cclxuICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJYQXhpc1wiPnt7J1hBeGlzJ3x0cmFuc2xhdGV9fTwvbWF0LXJhZGlvLWJ1dHRvbj5cclxuICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJTZXJpZXNcIj57eydTZXJpZXMnfHRyYW5zbGF0ZX19PC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgPC9tYXQtcmFkaW8tZ3JvdXA+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxtYXQtbGFiZWw+e3snQ2FsY3VsYXRlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJjYWxjdWxhdGVcIj5cclxuICAgICAgICA8bWF0LW9wdGlvbj57eydOb25lJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlF1YXJ0ZXJcIj57eydRdWFydGVyJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIlllYXJcIj57eydZZWFyJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICA8bWF0LW9wdGlvbiB2YWx1ZT1cIk1vbnRoXCI+e3snTW9udGgnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiU3VtXCI+e3snU3VtJ3x0cmFuc2xhdGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Zvcm0+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0cml4LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9hcmNoaXRlY3R1cmUvZWxlbWVudHMvbWF0cml4LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9hcmNoaXRlY3R1cmUvZWxlbWVudHMvbWF0cml4LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRzVELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFJekQsSUFBTSx5QkFBeUIsR0FBL0IsTUFBTSx5QkFBMEIsU0FBUSw0QkFBaUQ7SUFBekY7O1FBQ0ksUUFBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLFNBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUM3QixJQUFJLEVBQUUsSUFBSTtZQUNWLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNsRCxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDbkQsT0FBTyxFQUFFLElBQUk7WUFDYixTQUFTLEVBQUUsSUFBSTtZQUNmLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLE9BQU8sRUFBRSxJQUFJO1lBQ2IsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsSUFBSTtTQUNkLENBQUMsQ0FBQztLQWtDSjtJQWpDQyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNCLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO2dCQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNsRixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ3JCLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO29CQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQzs7b0JBRW5GLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLENBQUM7WUFDRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDOUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDeEUsNkJBQTZCO1lBQzdCLDBDQUEwQztZQUMxQyxrQ0FBa0M7WUFDbEMsOENBQThDO1lBQzlDLHNDQUFzQztZQUN0QywyQ0FBMkM7WUFDM0MsdUNBQXVDO1lBQ3ZDLDhDQUE4QztRQUM5QyxDQUFDO1FBQ0QsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFDRCxNQUFNLENBQUMsR0FBaUI7UUFDdEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUNwQixJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksSUFBSSxRQUFRO1lBQzNCLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDeEQsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLElBQUksSUFBSTtZQUN6QixNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sSUFBSSxVQUFVO1lBQ2pDLFNBQVMsRUFBRSxHQUFHLEVBQUUsU0FBUyxJQUFJLElBQUk7WUFDakMsVUFBVSxFQUFFLEdBQUcsRUFBRSxVQUFVLElBQUksSUFBSTtZQUNuQyxTQUFTLEVBQUUsR0FBRyxFQUFFLFNBQVMsSUFBSSxLQUFLO1NBQ25DLENBQVEsQ0FBQztJQUNaLENBQUM7OEdBN0NVLHlCQUF5QjtrR0FBekIseUJBQXlCLDJFQ1Z0QyxvcUxBeUdBOztBRC9GYSx5QkFBeUI7SUFEckMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLENBQUM7R0FDaEMseUJBQXlCLENBOENyQzs7MkZBOUNZLHlCQUF5QjtrQkFGckMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IGlzQXJyYXksIGlzU3RyaW5nIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmUvZnVuY3Rpb25zXCI7XHJcbmltcG9ydCB7IFN1bVNldHRpbmdzIH0gZnJvbSBcIi4uLy4uLy4uL2N1YmUvbWF0cml4L3RhYmxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBNYXRyaXhTZXR0aW5nc01vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL3ZpZXdzL2N1YmUvbWF0cml4LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uL2Rlc2lnbmVyLmJhc2VcIjtcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZVVybDogJ21hdHJpeC12aWV3LmNvbXBvbmVudC5odG1sJyB9KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdtYXRyaXgtdmlldy1kZXNpZ25lcicgfSlcclxuZXhwb3J0IGNsYXNzIE1hdHJpeFZpZXdEZXNpZ25Db21wb25lbnQgZXh0ZW5kcyBEZXNpZ25lckN1YmVFbGVtZW50Q29tcG9uZW50PE1hdHJpeFNldHRpbmdzTW9kZWw+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICByZWFkb25seSBzdW0gPSB0aGlzLl9mYi5hcnJheShbXSk7XHJcbiAgcmVhZG9ubHkgZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcclxuICAgIGN1YmU6IG51bGwsXHJcbiAgICB4QXhpczogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIHNlcmllczogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIGluZGljZXM6IG51bGwsXHJcbiAgICBhZ2dyZWdhdGU6IG51bGwsXHJcbiAgICBzdW06IHRoaXMuc3VtLFxyXG4gICAgZmlsdGVyczogbnVsbCxcclxuICAgIGluZGV4QXQ6IG51bGwsXHJcbiAgICBwbGFjZUF0OiBudWxsXHJcbiAgfSk7XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5tb2RlICE9PSAnd2lkZ2V0Jykge1xyXG4gICAgICBpZiAoaXNTdHJpbmcodGhpcy5vcHRpb25zLmluZGljZXMpKSB0aGlzLm9wdGlvbnMuaW5kaWNlcyA9IFt0aGlzLm9wdGlvbnMuaW5kaWNlc107XHJcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMuc3VtKSB7XHJcbiAgICAgICAgaWYgKGlzQXJyYXkodGhpcy5vcHRpb25zLnN1bSkpXHJcbiAgICAgICAgICB0aGlzLm9wdGlvbnMuc3VtLmZvckVhY2gocyA9PiB0aGlzLnN1bS5wdXNoKHRoaXMubmV3U3VtKHMpLCB7IGVtaXRFdmVudDogZmFsc2UgfSkpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuc3VtLnB1c2godGhpcy5uZXdTdW0odGhpcy5vcHRpb25zLnN1bSksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCB7IGN1YmUsIHhBeGlzLCBzZXJpZXMsIGFnZ3JlZ2F0ZSB9ID0gdGhpcy5mb3JtLmNvbnRyb2xzO1xyXG4gICAgICBjdWJlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4geEF4aXMuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KSk7XHJcbiAgICAvLyAgaWYgKCF0aGlzLm9wdGlvbnMueEF4aXMpIFxyXG4gICAgLy8gICAgdGhpcy5kaXNhYmxlKCdzZXJpZXMnLCAnYWdncmVnYXRlJyk7XHJcbiAgICAvLyAgZWxzZSBpZiAoIXRoaXMub3B0aW9ucy5zZXJpZXMpXHJcbiAgICAvLyAgICBhZ2dyZWdhdGUuZGlzYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAvLyAgeEF4aXMudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgLy8gICAgc2VyaWVzLmVuYWJsZSh7IGVtaXRFdmVudDogZmFsc2UgfSkpO1xyXG4gICAgLy8gIHNlcmllcy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAvLyAgICBhZ2dyZWdhdGUuZW5hYmxlKHsgZW1pdEV2ZW50OiBmYWxzZSB9KSk7XHJcbiAgICB9XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gIH1cclxuICBuZXdTdW0oc3VtPzogU3VtU2V0dGluZ3MpIHtcclxuICAgIHJldHVybiB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICAgIGF4aXM6IHN1bT8uYXhpcyB8fCAnU2VyaWVzJyxcclxuICAgICAgdGl0bGU6IHRoaXMuX2ZiLmNvbnRyb2woc3VtPy50aXRsZSwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICAgIHZhbHVlOiBzdW0/LnZhbHVlIHx8IG51bGwsXHJcbiAgICAgIGZvcm1hdDogc3VtPy5mb3JtYXQgfHwgJ0N1cnJlbmN5JyxcclxuICAgICAgcHJlY2lzaW9uOiBzdW0/LnByZWNpc2lvbiB8fCBudWxsLFxyXG4gICAgICBleHBsb3JhYmxlOiBzdW0/LmV4cGxvcmFibGUgfHwgbnVsbCxcclxuICAgICAgY2FsY3VsYXRlOiBzdW0/LmNhbGN1bGF0ZSB8fCAnU3VtJ1xyXG4gICAgfSkgYXMgYW55O1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibW9kZSA9PT0gJ3dpZGdldCc7IGVsc2UgZWRpdFwiPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLXRlbXBsYXRlICNlZGl0PlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJ2aWV3OyBlbHNlIG1haW5cIj5cclxuICAgIDxoMiBjbGFzcz1cIm1hdC1tZGMtdGl0bGVcIj57e2NvbnRleHQudGl0bGV8dHJhbnNsYXRlfX08L2gyPlxyXG4gICAgPGRpdiAoZG9jdW1lbnQ6a2V5ZG93bi5lc2NhcGUpPVwiY2xvc2VWaWV3KCRldmVudClcIiAjZWxlbWVudCBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidmlldzsgY29udGV4dDogY29udGV4dFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IGFjdGlvbnNcIj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2VWaWV3KClcIiB0eXBlPVwiYnV0dG9uXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0JhY2snfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5rZXlib2FyZF9yZXR1cm48L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjbWFpbj5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiY3ViZXMubGVuZ3RoPjFcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydDdWJlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCByZXF1aXJlZCBmb3JtQ29udHJvbE5hbWU9XCJjdWJlXCIgKHNlbGVjdGlvbkNoYW5nZSk9XCJjdWJlU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBjIG9mIGN1YmVzXCIgW3ZhbHVlXT1cImMubmFtZVwiPnt7Yy50aXRsZXxsb2NhbGl6ZWRTdHJpbmd9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3snWEF4aXMnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwieEF4aXNcIiByZXF1aXJlZD5cclxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBhIG9mIGN1YmU/LmF4ZXNcIiBbdmFsdWVdPVwiYS5uYW1lXCI+e3thLnRpdGxlIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5nZXQoJ3hBeGlzJykuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIiBbaW5uZXJIVE1MXT1cIidSZXF1aXJlZEVycid8dHJhbnNsYXRlOignWEF4aXMnfHRyYW5zbGF0ZSlcIj48L21hdC1lcnJvcj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgJm5ic3A7XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICA8bWF0LWxhYmVsPnt7J1Nlcmllcyd8dHJhbnNsYXRlfX08L21hdC1sYWJlbD5cclxuICAgICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJzZXJpZXNcIiByZXF1aXJlZD5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGEgb2YgY3ViZT8uYXhlc1wiPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLnZhbHVlIT09YS5uYW1lXCIgW3ZhbHVlXT1cImEubmFtZVwiPnt7YS50aXRsZSB9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZm9ybS5nZXQoJ3NlcmllcycpLmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgW2lubmVySFRNTF09XCInUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ1Nlcmllcyd8dHJhbnNsYXRlKVwiPjwvbWF0LWVycm9yPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJjdWJlPy5pbmRpY2VzPy5sZW5ndGhcIiBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgPG1hdC1sYWJlbD57eydJbmRpY2VzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8bWF0LXNlbGVjdCBmb3JtQ29udHJvbE5hbWU9XCJpbmRpY2VzXCIgbXVsdGlwbGU+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGkgb2YgY3ViZS5pbmRpY2VzXCIgW3ZhbHVlXT1cImkubmFtZVwiPnt7aS50aXRsZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4XCI+XHJcbiAgICAgICAgPG1hdC1sYWJlbD57eydGaWx0ZXJzJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImZpbHRlcnNcIiBtdWx0aXBsZT5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGEgb2YgY3ViZT8uYXhlc1wiPlxyXG4gICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImZvcm0uZ2V0KCd4QXhpcycpLnZhbHVlICE9PSBhLm5hbWUgJiYgZm9ybS5nZXQoJ3NlcmllcycpLnZhbHVlICE9PSBhLm5hbWVcIiBbdmFsdWVdPVwiYS5uYW1lXCI+e3thLnRpdGxlIH19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAmbmJzcDtcclxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+e3snQWdncmVnYXRlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImFnZ3JlZ2F0ZVwiIG11bHRpcGxlPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYSBvZiBjdWJlPy5heGVzXCI+XHJcbiAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0lmPVwiZm9ybS5nZXQoJ3hBeGlzJykudmFsdWUhPT1hLm5hbWUgJiYgZm9ybS5nZXQoJ3NlcmllcycpLnZhbHVlICE9PSBhLm5hbWUgJiYgZm9ybS5nZXQoJ2ZpbHRlcnMnKS52YWx1ZT8uaW5kZXhPZihhLm5hbWUpIDwgMFwiIFt2YWx1ZV09XCJhLm5hbWVcIj57e2EudGl0bGUgfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICAgICAgPG1hdC1oaW50PjwvbWF0LWhpbnQ+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxoMiBjbGFzcz1cIm1hdC1tZGMtdGl0bGVcIj57eydTdW1tYXJ5J3x0cmFuc2xhdGV9fTwvaDI+XHJcbiAgICA8dGFibGUgY2xhc3M9XCJtYXQtbWRjLXRhYmxlXCIgZm9ybUFycmF5TmFtZT1cInN1bVwiIGNka0Ryb3BMaXN0IChjZGtEcm9wTGlzdERyb3BwZWQpPVwiZHJvcCgkZXZlbnQsIHN1bSlcIj5cclxuICAgICAgPHRyIGNsYXNzPVwibWF0LW1kYy1yb3dcIiAqbmdGb3I9XCJsZXQgcyBvZiBzdW0uY29udHJvbHM7IGluZGV4IGFzIGluZGV4XCIgW2Zvcm1Hcm91cF09XCJzXCIgY2RrRHJhZz5cclxuICAgICAgICA8dGQgY2xhc3M9XCJtYXQtbWRjLWNlbGxcIj5cclxuICAgICAgICAgIDxtYXQtaWNvbiBjZGtEcmFnSGFuZGxlPmRyYWdfaW5kaWNhdG9yPC9tYXQtaWNvbj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICAgIDx0ZCBjbGFzcz1cIm1hdC1tZGMtY2VsbFwiPnt7cy5nZXQoJ3RpdGxlJykudmFsdWV9fTwvdGQ+XHJcbiAgICAgICAgPHRkIGNsYXNzPVwibWF0LW1kYy1jZWxsXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZWRpdChzLCAnU3VtbWFyeScsIHN1bWZvcm0pXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0VkaXQnfHRyYW5zbGF0ZVwiIHR5cGU9XCJidXR0b25cIj48bWF0LWljb24+ZWRpdDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwic3VtLnJlbW92ZUF0KGluZGV4KVwiIFtiaXpkb2NUb29sdGlwXT1cIidSZW1vdmUnfHRyYW5zbGF0ZVwiIHR5cGU9XCJidXR0b25cIj48bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICA8L3RkPlxyXG4gICAgICA8L3RyPlxyXG4gICAgPC90YWJsZT5cclxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhZGQoc3VtLCBuZXdTdW0oKSwgJ1N1bW1hcnknLCBzdW1mb3JtKVwiIFtiaXpkb2NUb29sdGlwXT1cIidBZGQnfHRyYW5zbGF0ZVwiIHR5cGU9XCJidXR0b25cIj48bWF0LWljb24+YWRkX2NpcmNsZV9vdXRsaW5lPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8L2Zvcm0+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjc3VtZm9ybSBsZXQtZm9ybT5cclxuICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICA8bWF0LWxhYmVsPnt7J1RpdGxlJ3x0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxyXG4gICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiByZXF1aXJlZCAvPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDxtYXQtcmFkaW8tZ3JvdXAgZm9ybUNvbnRyb2xOYW1lPVwiYXhpc1wiPlxyXG4gICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cIlhBeGlzXCI+e3snWEF4aXMnfHRyYW5zbGF0ZX19PC9tYXQtcmFkaW8tYnV0dG9uPlxyXG4gICAgICA8bWF0LXJhZGlvLWJ1dHRvbiB2YWx1ZT1cIlNlcmllc1wiPnt7J1Nlcmllcyd8dHJhbnNsYXRlfX08L21hdC1yYWRpby1idXR0b24+XHJcbiAgICA8L21hdC1yYWRpby1ncm91cD5cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1sYWJlbD57eydDYWxjdWxhdGUnfHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XHJcbiAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cImNhbGN1bGF0ZVwiPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uPnt7J05vbmUnfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiUXVhcnRlclwiPnt7J1F1YXJ0ZXInfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiWWVhclwiPnt7J1llYXInfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDxtYXQtb3B0aW9uIHZhbHVlPVwiTW9udGhcIj57eydNb250aCd8dHJhbnNsYXRlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJTdW1cIj57eydTdW0nfHRyYW5zbGF0ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICA8L21hdC1zZWxlY3Q+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZm9ybT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
@@ -8,10 +8,10 @@ export class NodeDesignerComponent extends DesignerTypeElementComponent {
8
8
  super(...arguments);
9
9
  this.form = this._fb.group({});
10
10
  }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NodeDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: NodeDesignerComponent, selector: "bizdoc-node-designer", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n </form>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: i2.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "view", "context"], outputs: ["continue", "back", "save"] }] }); }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NodeDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.0", type: NodeDesignerComponent, selector: "bizdoc-node-designer", usesInheritance: true, ngImport: i0, template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n </form>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n", dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.EditContentDirective, selector: "[bizdocEditContent]" }, { kind: "component", type: i2.DesignerItemComponent, selector: "bizdoc-designer-element", inputs: ["privileges", "icon", "form", "view", "context"], outputs: ["continue", "back", "save"] }] }); }
13
13
  }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NodeDesignerComponent, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NodeDesignerComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{ selector: 'bizdoc-node-designer', template: "<bizdoc-designer-element [form]=\"form\">\r\n <ng-template bizdocEditContent>\r\n <form autocomplete=\"off\" [formGroup]=\"form\" class=\"column\">\r\n </form>\r\n </ng-template>\r\n</bizdoc-designer-element>\r\n" }]
17
17
  }] });