@bizdoc/core 1.14.10 → 1.14.13

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 (317) hide show
  1. package/assets/bizdoc-schema.json +7 -3
  2. package/assets/themes/brown.min.css +6 -6
  3. package/assets/themes/dark.min.css +6 -6
  4. package/assets/themes/deep-purple-light-blue.min.css +7 -7
  5. package/assets/themes/deep-purple-teal.min.css +7 -7
  6. package/assets/themes/default.min.css +7 -7
  7. package/assets/themes/green.min.css +6 -6
  8. package/assets/themes/indigo.min.css +6 -6
  9. package/assets/themes/xslt.min.css +1 -0
  10. package/esm2020/lib/admin/admin-dismiss.service.mjs +3 -3
  11. package/esm2020/lib/admin/admin-menu.component.mjs +3 -3
  12. package/esm2020/lib/admin/core/ace.input.mjs +5 -5
  13. package/esm2020/lib/admin/core/color-picker.input.mjs +3 -3
  14. package/esm2020/lib/admin/core/search.input.mjs +3 -3
  15. package/esm2020/lib/admin/diff/configuration-diff.component.mjs +3 -3
  16. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +3 -3
  17. package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +3 -3
  18. package/esm2020/lib/admin/document-trace/trace-element.component.mjs +3 -3
  19. package/esm2020/lib/admin/form/form.resolve.service.mjs +3 -3
  20. package/esm2020/lib/admin/form/form.service.mjs +3 -3
  21. package/esm2020/lib/admin/form/workflow/node.component.mjs +3 -3
  22. package/esm2020/lib/admin/form/workflow/role-node.component.mjs +3 -3
  23. package/esm2020/lib/admin/form/workflow/workflow.component.mjs +3 -3
  24. package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +3 -3
  25. package/esm2020/lib/admin/patterns/patterns.component.mjs +5 -5
  26. package/esm2020/lib/admin/permissions/permissions.component.mjs +3 -3
  27. package/esm2020/lib/admin/positions/positions-popup.component.mjs +3 -3
  28. package/esm2020/lib/admin/positions/positions.component.mjs +3 -3
  29. package/esm2020/lib/admin/profiler/outofoffice.component.mjs +3 -3
  30. package/esm2020/lib/admin/profiler/profiler.component.mjs +10 -9
  31. package/esm2020/lib/admin/utility-wrapper.component.mjs +3 -3
  32. package/esm2020/lib/admin/utility.pane.component.mjs +3 -3
  33. package/esm2020/lib/app.component.mjs +9 -16
  34. package/esm2020/lib/bizdoc.module.mjs +15 -11
  35. package/esm2020/lib/browse/browse-items.component.mjs +3 -3
  36. package/esm2020/lib/browse/browse.mobile.component.mjs +3 -3
  37. package/esm2020/lib/browse/browse.pane.component.mjs +3 -3
  38. package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
  39. package/esm2020/lib/browse/filter/filter.component.mjs +3 -3
  40. package/esm2020/lib/browse/folders-menu.component.mjs +3 -3
  41. package/esm2020/lib/chat/chat-info.mjs +3 -3
  42. package/esm2020/lib/chat/chat.mobile.component.mjs +3 -3
  43. package/esm2020/lib/chat/chat.service.mjs +3 -3
  44. package/esm2020/lib/chat/contacts.component.mjs +6 -6
  45. package/esm2020/lib/chat/contacts.pane.component.mjs +3 -3
  46. package/esm2020/lib/chat/conversation.component.mjs +3 -3
  47. package/esm2020/lib/chat/conversation.pane.component.mjs +3 -3
  48. package/esm2020/lib/compose/action/action-picker.component.mjs +3 -3
  49. package/esm2020/lib/compose/action/action.dialog.mjs +3 -3
  50. package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +3 -3
  51. package/esm2020/lib/compose/action/assign-action.component.mjs +3 -3
  52. package/esm2020/lib/compose/action/moveto-action.component.mjs +3 -3
  53. package/esm2020/lib/compose/action/return-action.component.mjs +3 -3
  54. package/esm2020/lib/compose/attachments/attachments.component.mjs +3 -3
  55. package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +3 -3
  56. package/esm2020/lib/compose/attachments/progress-button.directive.mjs +3 -3
  57. package/esm2020/lib/compose/can-deactivate-changes.service.mjs +3 -3
  58. package/esm2020/lib/compose/comments/Comments.pane.component.mjs +3 -3
  59. package/esm2020/lib/compose/comments/comment.component.mjs +3 -3
  60. package/esm2020/lib/compose/comments/comments.component.mjs +3 -3
  61. package/esm2020/lib/compose/comments/edit-comment.component.mjs +3 -3
  62. package/esm2020/lib/compose/comments/edits.component.mjs +3 -3
  63. package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
  64. package/esm2020/lib/compose/comments/votes.component.mjs +3 -3
  65. package/esm2020/lib/compose/compose-resolve.service.mjs +6 -6
  66. package/esm2020/lib/compose/compose.mobile.component.mjs +3 -3
  67. package/esm2020/lib/compose/compose.pane.component.mjs +3 -3
  68. package/esm2020/lib/compose/copy/copy.dialog.mjs +3 -3
  69. package/esm2020/lib/compose/dismiss.service.mjs +3 -3
  70. package/esm2020/lib/compose/document-resolver.service.mjs +3 -3
  71. package/esm2020/lib/compose/document.component.mjs +3 -3
  72. package/esm2020/lib/compose/document.mobile.component.mjs +3 -3
  73. package/esm2020/lib/compose/document.pane.component.mjs +3 -3
  74. package/esm2020/lib/compose/events/events.component.mjs +3 -3
  75. package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
  76. package/esm2020/lib/compose/form.component.mjs +5 -5
  77. package/esm2020/lib/compose/new-menu.component.mjs +3 -3
  78. package/esm2020/lib/compose/privilage.directive.mjs +6 -6
  79. package/esm2020/lib/compose/recipient-resolver.service.mjs +3 -3
  80. package/esm2020/lib/compose/save-changes.dialog.mjs +3 -3
  81. package/esm2020/lib/compose/state.component.mjs +3 -3
  82. package/esm2020/lib/compose/tag/tags.component.mjs +3 -3
  83. package/esm2020/lib/compose/trace/flow.component.mjs +5 -4
  84. package/esm2020/lib/compose/trace/people.component.mjs +3 -3
  85. package/esm2020/lib/compose/trace/trace.base.mjs +3 -3
  86. package/esm2020/lib/compose/trace/trace.component.mjs +3 -3
  87. package/esm2020/lib/compose/trace/trace.pane.component.mjs +3 -3
  88. package/esm2020/lib/compose/version-compare/version-compare.component.mjs +3 -3
  89. package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +9 -9
  90. package/esm2020/lib/compose/version-compare/version.pane.component.mjs +3 -3
  91. package/esm2020/lib/core/NgComponentOutlet.mjs +3 -3
  92. package/esm2020/lib/core/account.service.mjs +3 -3
  93. package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  94. package/esm2020/lib/core/avatar/avatar.component.mjs +3 -3
  95. package/esm2020/lib/core/component-factory-resolver.mjs +3 -3
  96. package/esm2020/lib/core/controls/address.input.mjs +3 -3
  97. package/esm2020/lib/core/controls/auto-complete.input.mjs +3 -3
  98. package/esm2020/lib/core/controls/combination-picker-body.mjs +3 -3
  99. package/esm2020/lib/core/controls/combination-picker.mjs +3 -3
  100. package/esm2020/lib/core/controls/combination-pool.mjs +3 -3
  101. package/esm2020/lib/core/controls/file.input.mjs +3 -3
  102. package/esm2020/lib/core/controls/select.input.mjs +3 -3
  103. package/esm2020/lib/core/controls/time-picker.mjs +3 -3
  104. package/esm2020/lib/core/controls/timespan.input.mjs +3 -3
  105. package/esm2020/lib/core/datasource.service.mjs +3 -3
  106. package/esm2020/lib/core/guide/guide.component.mjs +28 -35
  107. package/esm2020/lib/core/guide/guide.service.mjs +7 -7
  108. package/esm2020/lib/core/guide/help-tip.component.mjs +14 -14
  109. package/esm2020/lib/core/http.interceptor.mjs +3 -3
  110. package/esm2020/lib/core/hub.service.mjs +3 -3
  111. package/esm2020/lib/core/identity/identity.component.mjs +3 -3
  112. package/esm2020/lib/core/info/attachment-info.service.mjs +3 -3
  113. package/esm2020/lib/core/info/document-info.service.mjs +3 -3
  114. package/esm2020/lib/core/info/location-info.component.mjs +3 -3
  115. package/esm2020/lib/core/info/map-info.mjs +3 -3
  116. package/esm2020/lib/core/layout/autocomplete.field.mjs +3 -3
  117. package/esm2020/lib/core/layout/checkbox.field.mjs +3 -3
  118. package/esm2020/lib/core/layout/checkbox.mjs +3 -3
  119. package/esm2020/lib/core/layout/date-range.field.mjs +3 -3
  120. package/esm2020/lib/core/layout/date.field.mjs +3 -3
  121. package/esm2020/lib/core/layout/expression.field.mjs +3 -3
  122. package/esm2020/lib/core/layout/file.field.mjs +3 -3
  123. package/esm2020/lib/core/layout/html.field.mjs +3 -3
  124. package/esm2020/lib/core/layout/input.base.mjs +3 -3
  125. package/esm2020/lib/core/layout/input.field.mjs +3 -3
  126. package/esm2020/lib/core/layout/layout.component.mjs +3 -3
  127. package/esm2020/lib/core/layout/numeric.field.mjs +3 -3
  128. package/esm2020/lib/core/layout/select.field.mjs +3 -3
  129. package/esm2020/lib/core/layout/switch.field.mjs +3 -3
  130. package/esm2020/lib/core/layout/textarea.field.mjs +3 -3
  131. package/esm2020/lib/core/layout/timespan.field.mjs +3 -3
  132. package/esm2020/lib/core/lottie-animation.mjs +3 -3
  133. package/esm2020/lib/core/mailbox.service.mjs +36 -42
  134. package/esm2020/lib/core/models.mjs +1 -1
  135. package/esm2020/lib/core/none.component.mjs +3 -3
  136. package/esm2020/lib/core/pipes/action.pipe.mjs +3 -3
  137. package/esm2020/lib/core/pipes/calendar.pipe.mjs +3 -3
  138. package/esm2020/lib/core/pipes/date-format.pipe.mjs +3 -3
  139. package/esm2020/lib/core/pipes/daterange.pipe.mjs +6 -6
  140. package/esm2020/lib/core/pipes/difference.pipe.mjs +3 -3
  141. package/esm2020/lib/core/pipes/duration-format.pipe.mjs +3 -3
  142. package/esm2020/lib/core/pipes/duration.pipe.mjs +3 -3
  143. package/esm2020/lib/core/pipes/form.pipe.mjs +3 -3
  144. package/esm2020/lib/core/pipes/join.pipe.mjs +3 -3
  145. package/esm2020/lib/core/pipes/role.pipe.mjs +3 -3
  146. package/esm2020/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  147. package/esm2020/lib/core/pipes/sort.pipe.mjs +6 -6
  148. package/esm2020/lib/core/pipes/state.pipe.mjs +3 -3
  149. package/esm2020/lib/core/pipes/time-ago.pipe.mjs +3 -3
  150. package/esm2020/lib/core/pipes/translate.pipe.mjs +6 -6
  151. package/esm2020/lib/core/pipes/type-value.pipe.mjs +3 -3
  152. package/esm2020/lib/core/pipes/user-name.pipe.mjs +3 -3
  153. package/esm2020/lib/core/popup/popup.component.mjs +3 -3
  154. package/esm2020/lib/core/popup/popup.service.mjs +3 -3
  155. package/esm2020/lib/core/popup/tooltip.directive.mjs +6 -6
  156. package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  157. package/esm2020/lib/core/prompt/mask/mask.component.mjs +3 -3
  158. package/esm2020/lib/core/prompt.service.mjs +3 -3
  159. package/esm2020/lib/core/router.mjs +6 -6
  160. package/esm2020/lib/core/session.service.mjs +13 -6
  161. package/esm2020/lib/core/slots/router.directive.mjs +3 -3
  162. package/esm2020/lib/core/slots/router.service.mjs +3 -3
  163. package/esm2020/lib/core/slots/slots.component.mjs +3 -3
  164. package/esm2020/lib/core/tagging/documents.component.mjs +3 -3
  165. package/esm2020/lib/core/tagging/edit-input.component.mjs +3 -3
  166. package/esm2020/lib/core/tagging/emoji.component.mjs +3 -3
  167. package/esm2020/lib/core/tagging/tagging-item.directive.mjs +3 -3
  168. package/esm2020/lib/core/tagging/tagging.component-base.mjs +3 -3
  169. package/esm2020/lib/core/tagging/tagging.directive.mjs +3 -3
  170. package/esm2020/lib/core/tagging/tagging.pipe.mjs +3 -3
  171. package/esm2020/lib/core/tagging/users.component.mjs +3 -3
  172. package/esm2020/lib/core/translate.service.mjs +3 -3
  173. package/esm2020/lib/core/translations.mjs +5 -1
  174. package/esm2020/lib/core/window-title.service.mjs +3 -3
  175. package/esm2020/lib/cube/accum/accum.component.mjs +5 -5
  176. package/esm2020/lib/cube/chart/chart.component.mjs +5 -5
  177. package/esm2020/lib/cube/cube-info.service.mjs +3 -3
  178. package/esm2020/lib/cube/cube-menu.component.mjs +3 -3
  179. package/esm2020/lib/cube/cube-view.component.mjs +3 -3
  180. package/esm2020/lib/cube/cube.service.mjs +6 -6
  181. package/esm2020/lib/cube/explore/document-item.component.mjs +3 -3
  182. package/esm2020/lib/cube/explore/explore-item.component.mjs +3 -3
  183. package/esm2020/lib/cube/explore/explore-items.component.mjs +3 -3
  184. package/esm2020/lib/cube/explore/explore.pane.component.mjs +3 -3
  185. package/esm2020/lib/cube/explore/item-resolver.service.mjs +6 -6
  186. package/esm2020/lib/cube/explore/item.pane.component.mjs +3 -3
  187. package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  188. package/esm2020/lib/cube/filter/filter.component.mjs +3 -3
  189. package/esm2020/lib/cube/grid/grid.component.mjs +3 -3
  190. package/esm2020/lib/cube/grid/spreadsheet.component.mjs +3 -3
  191. package/esm2020/lib/cube/matrix/matrix.base.mjs +3 -3
  192. package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
  193. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +3 -3
  194. package/esm2020/lib/cube/matrix/popup.component.mjs +3 -3
  195. package/esm2020/lib/cube/matrix/table.component.mjs +3 -3
  196. package/esm2020/lib/cube/parallel/parallel.component.mjs +3 -3
  197. package/esm2020/lib/cube/pivot/pivot.component.mjs +25 -7
  198. package/esm2020/lib/cube/sum/sum.component.mjs +3 -3
  199. package/esm2020/lib/cube/view-base.mjs +3 -3
  200. package/esm2020/lib/cube/view.mobile.component.mjs +3 -3
  201. package/esm2020/lib/cube/view.pane.component.mjs +3 -3
  202. package/esm2020/lib/dashboard/actions/actions.widget.mjs +3 -3
  203. package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
  204. package/esm2020/lib/dashboard/cube/compare.widget.mjs +3 -3
  205. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
  206. package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
  207. package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +3 -3
  208. package/esm2020/lib/dashboard/cube/documents.widget.mjs +3 -3
  209. package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +3 -3
  210. package/esm2020/lib/dashboard/dashboard.component.mjs +3 -3
  211. package/esm2020/lib/dashboard/dashboard.pane.component.mjs +3 -3
  212. package/esm2020/lib/dashboard/recents/recents.widget.mjs +3 -3
  213. package/esm2020/lib/dashboard/score/activity.widget.mjs +3 -3
  214. package/esm2020/lib/dashboard/score/compare-groups.widget.mjs +3 -3
  215. package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +3 -3
  216. package/esm2020/lib/dashboard/score/pending-results.widget.mjs +3 -3
  217. package/esm2020/lib/dashboard/score/personal-score.widget.mjs +3 -3
  218. package/esm2020/lib/dashboard/widget-item.component.mjs +3 -3
  219. package/esm2020/lib/desktop.module.mjs +7 -6
  220. package/esm2020/lib/home/about/about.dialog.mjs +3 -3
  221. package/esm2020/lib/home/home-base.component.mjs +3 -3
  222. package/esm2020/lib/home/home.desktop.component.mjs +3 -3
  223. package/esm2020/lib/home/home.mobile.component.mjs +3 -3
  224. package/esm2020/lib/home/notifications/notifications.component.mjs +3 -3
  225. package/esm2020/lib/home/options/options.component.mjs +3 -3
  226. package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +3 -3
  227. package/esm2020/lib/home/search.service.mjs +8 -8
  228. package/esm2020/lib/home/sign/sign.component.mjs +3 -3
  229. package/esm2020/lib/home/tools.component.mjs +28 -21
  230. package/esm2020/lib/impersonate/impersonate.component.mjs +3 -3
  231. package/esm2020/lib/mobile.module.mjs +15 -5
  232. package/esm2020/lib/modules/chart.module.mjs +4 -4
  233. package/esm2020/lib/modules/circular-gauge.module.mjs +4 -4
  234. package/esm2020/lib/modules/datepicker.intl.mjs +3 -3
  235. package/esm2020/lib/modules/dayjs.module.mjs +4 -4
  236. package/esm2020/lib/modules/diagram.module.mjs +4 -4
  237. package/esm2020/lib/modules/gantt.module.mjs +4 -4
  238. package/esm2020/lib/modules/grid.module.mjs +4 -4
  239. package/esm2020/lib/modules/material.module.mjs +4 -4
  240. package/esm2020/lib/modules/paginator.intl.mjs +3 -3
  241. package/esm2020/lib/modules/pivot.module.mjs +4 -4
  242. package/esm2020/lib/modules/schedule.module.mjs +4 -4
  243. package/esm2020/lib/modules/spreadsheet.module.mjs +4 -4
  244. package/esm2020/lib/modules/stepper.intl.mjs +3 -3
  245. package/esm2020/lib/modules/texteditor.module.mjs +4 -4
  246. package/esm2020/lib/notifications/filter.component.mjs +3 -3
  247. package/esm2020/lib/notifications/notifications-table.component.mjs +3 -3
  248. package/esm2020/lib/notifications/notifications.mobile.component.mjs +3 -3
  249. package/esm2020/lib/notifications/notifications.pane.component.mjs +3 -3
  250. package/esm2020/lib/notifications/notifications.service.mjs +3 -3
  251. package/esm2020/lib/notifications/types/commented.notification.mjs +3 -3
  252. package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
  253. package/esm2020/lib/notifications/types/escalated.notification.mjs +3 -3
  254. package/esm2020/lib/notifications/types/liked.notification.mjs +3 -3
  255. package/esm2020/lib/notifications/types/long-running-task.notification.mjs +3 -3
  256. package/esm2020/lib/notifications/types/notification-base.mjs +3 -3
  257. package/esm2020/lib/notifications/types/nudge.notification.mjs +3 -3
  258. package/esm2020/lib/notifications/types/state-changed.notification.mjs +3 -3
  259. package/esm2020/lib/notifications/types/tagged.notification.mjs +3 -3
  260. package/esm2020/lib/notifications/types/text.notification.mjs +3 -3
  261. package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +3 -3
  262. package/esm2020/lib/options/options.component.mjs +3 -3
  263. package/esm2020/lib/options/options.service.mjs +3 -3
  264. package/esm2020/lib/reports/arguments-component.mjs +3 -3
  265. package/esm2020/lib/reports/cube/documents.component.mjs +3 -3
  266. package/esm2020/lib/reports/cube/grid-documents.component.mjs +3 -3
  267. package/esm2020/lib/reports/cube/table-documents.component.mjs +3 -3
  268. package/esm2020/lib/reports/cube/usage-args.component.mjs +3 -3
  269. package/esm2020/lib/reports/cube/usage-base.mjs +3 -3
  270. package/esm2020/lib/reports/cube/usage-chart.component.mjs +3 -3
  271. package/esm2020/lib/reports/cube/usage-pivot.component.mjs +3 -3
  272. package/esm2020/lib/reports/cube/usage.component.mjs +3 -3
  273. package/esm2020/lib/reports/report-viewer.component.mjs +3 -3
  274. package/esm2020/lib/reports/report.mobile.component.mjs +3 -3
  275. package/esm2020/lib/reports/report.pane.component.mjs +3 -3
  276. package/esm2020/lib/reports/reports-menu.component.mjs +3 -3
  277. package/esm2020/lib/reports/substitution/substitution.component.mjs +3 -3
  278. package/esm2020/lib/reports/table/table-view.component.mjs +3 -3
  279. package/esm2020/lib/reports/tasks/tasks.component.mjs +3 -3
  280. package/esm2020/lib/routes.desktop.mjs +1 -8
  281. package/esm2020/lib/scheduler/schedule.component.mjs +3 -3
  282. package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +3 -3
  283. package/esm2020/lib/scheduler/scheduler.pane.component.mjs +3 -3
  284. package/esm2020/lib/shared.module.mjs +178 -125
  285. package/esm2020/lib/system.module.mjs +13 -9
  286. package/esm2020/lib/views/cube/chart.component.mjs +4 -4
  287. package/esm2020/lib/views/cube/cube-base.mjs +3 -3
  288. package/esm2020/lib/views/cube/explore.component.mjs +3 -3
  289. package/esm2020/lib/views/cube/matrix.component.mjs +3 -3
  290. package/esm2020/lib/views/cube/parallel.component.mjs +3 -3
  291. package/esm2020/lib/views/cube/pivot.component.mjs +3 -3
  292. package/esm2020/lib/views/cube/sum.component.mjs +3 -3
  293. package/esm2020/lib/views/cube/view.component.mjs +3 -3
  294. package/esm2020/lib/views/timeline/timeline.component.exp.mjs +3 -3
  295. package/esm2020/lib/views/view-item.component.mjs +3 -3
  296. package/esm2020/lib/views/views.component.mjs +3 -3
  297. package/esm2020/lib/views/views.mobile.component.mjs +3 -3
  298. package/esm2020/lib/views/views.pane.component.mjs +3 -3
  299. package/esm2020/public-api.mjs +3 -2
  300. package/fesm2015/bizdoc-core.mjs +3449 -3366
  301. package/fesm2015/bizdoc-core.mjs.map +1 -1
  302. package/fesm2020/bizdoc-core.mjs +8325 -8244
  303. package/fesm2020/bizdoc-core.mjs.map +1 -1
  304. package/lib/admin/profiler/profiler.component.d.ts +1 -0
  305. package/lib/app.component.d.ts +1 -3
  306. package/lib/bizdoc.module.d.ts +10 -9
  307. package/lib/core/guide/guide.component.d.ts +2 -1
  308. package/lib/core/models.d.ts +1 -1
  309. package/lib/core/session.service.d.ts +3 -1
  310. package/lib/core/translations.d.ts +4 -0
  311. package/lib/cube/pivot/pivot.component.d.ts +2 -0
  312. package/lib/home/search.service.d.ts +1 -0
  313. package/lib/home/tools.component.d.ts +4 -3
  314. package/lib/shared.module.d.ts +162 -162
  315. package/lib/system.module.d.ts +1 -1
  316. package/package.json +17 -17
  317. package/public-api.d.ts +2 -1
@@ -1,7 +1,7 @@
1
1
  import { Injectable, InjectionToken } from '@angular/core';
2
2
  import { HttpEventType, HttpRequest, HttpResponse } from '@angular/common/http';
3
3
  import { Observable, Subject } from 'rxjs';
4
- import { tap, switchMap, map } from 'rxjs/operators';
4
+ import { tap, switchMap } from 'rxjs/operators';
5
5
  import { cleanup, isArray } from './functions';
6
6
  import * as i0 from "@angular/core";
7
7
  import * as i1 from "./session.service";
@@ -339,9 +339,9 @@ export class MailboxService {
339
339
  });
340
340
  }
341
341
  }
342
- MailboxService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MailboxService, deps: [{ token: i1.SessionService }, { token: i2.AuthenticationImpl }, { token: i3.HubService }, { token: i4.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
343
- MailboxService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MailboxService, providedIn: 'root' });
344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MailboxService, decorators: [{
342
+ MailboxService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: MailboxService, deps: [{ token: i1.SessionService }, { token: i2.AuthenticationImpl }, { token: i3.HubService }, { token: i4.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
343
+ MailboxService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: MailboxService, providedIn: 'root' });
344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: MailboxService, decorators: [{
345
345
  type: Injectable,
346
346
  args: [{ providedIn: 'root' }]
347
347
  }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.AuthenticationImpl }, { type: i3.HubService }, { type: i4.HttpClient }]; } });
@@ -352,50 +352,44 @@ function isHttpProgressEvent(event) {
352
352
  return (event.type === HttpEventType.DownloadProgress ||
353
353
  event.type === HttpEventType.UploadProgress);
354
354
  }
355
- function calculateState(upload, event) {
356
- if (isHttpProgressEvent(event)) {
357
- return new UploadEvent({
358
- progress: event.total
359
- ? Math.round((100 * event.loaded) / event.total)
360
- : upload.progress,
361
- state: 'progress',
362
- });
363
- }
364
- if (isHttpResponse(event)) {
365
- return new UploadEvent({
366
- progress: 100,
367
- state: 'done',
368
- });
369
- }
370
- return upload;
371
- }
355
+ //function calculateState(upload: UploadEvent, event: HttpEvent<unknown>) {
356
+ // if (isHttpProgressEvent(event)) {
357
+ // return new UploadEvent({
358
+ // progress: event.total
359
+ // ? Math.round((100 * event.loaded) / event.total)
360
+ // : upload.progress,
361
+ // state: 'progress',
362
+ // });
363
+ // }
364
+ // if (isHttpResponse(event)) {
365
+ // return new UploadEvent({
366
+ // progress: 100,
367
+ // state: 'done',
368
+ // })
369
+ // }
370
+ //}
372
371
  export class UploadEvent {
373
372
  constructor(options) { }
374
373
  }
375
- function reportprogress(filename) {
376
- return (source) => source.pipe(map(r => {
377
- //if (event instanceof ProgressEvent) {
378
- // observe.next(new UploadEvent(
379
- // file.name,
380
- // (event as ProgressEvent).loaded,
381
- // (event as ProgressEvent).total
382
- // ));
383
- //} else if (event instanceof HttpResponse) {
384
- // const res = event as HttpResponse<any>;
385
- // if (res.status === 200) {
386
- // const model = res.body as Attachment;
387
- // observe.next(model);
388
- // }
389
- // else
390
- // observe.error({ status: res.status, error: res.body });
391
- // observe.complete();
392
- return r;
393
- }));
394
- }
395
374
  export function reportProgress(attachment) {
396
375
  return (source) => new Observable(observe => {
397
376
  source.subscribe(r => {
398
377
  //TODO progress
378
+ //if (event instanceof ProgressEvent) {
379
+ // observe.next(new UploadEvent(
380
+ // file.name,
381
+ // (event as ProgressEvent).loaded,
382
+ // (event as ProgressEvent).total
383
+ // ));
384
+ //} else if (event instanceof HttpResponse) {
385
+ // const res = event as HttpResponse<any>;
386
+ // if (res.status === 200) {
387
+ // const model = res.body as Attachment;
388
+ // observe.next(model);
389
+ // }
390
+ // else
391
+ // observe.error({ status: res.status, error: res.body });
392
+ // observe.complete();
399
393
  //if (a instanceof UploadEvent) {
400
394
  // Object.assign(item, {
401
395
  // progress: a.loaded / a.total
@@ -407,4 +401,4 @@ export function reportProgress(attachment) {
407
401
  }, e => observe.error(e));
408
402
  });
409
403
  }
410
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbGJveC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL21haWxib3guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBRUwsYUFBYSxFQUNNLFdBQVcsRUFBRSxZQUFZLEVBQzdDLE1BQU0sc0JBQXNCLENBQUM7QUFHOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7OztBQUsvQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQXFCLE9BQU8sQ0FBQyxDQUFDO0FBUzlFLE1BQU0sT0FBTyxjQUFjO0lBTXpCLFlBQW9CLFFBQXdCLEVBQ2xDLEtBQXlCLEVBQ2pDLFNBQXFCLEVBQ2IsS0FBaUI7UUFIUCxhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUNsQyxVQUFLLEdBQUwsS0FBSyxDQUFvQjtRQUV6QixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBUlYsYUFBUSxHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO1FBQzlDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ2xELE1BQU07UUFDVSxZQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2QyxZQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQXVWdkQ7V0FDRztRQUNLLFlBQU8sR0FBRyxHQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQXNDLEVBQUUsRUFB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Q0wsUUFBUTtRQUNSLDZEQUE2RDtRQUM3RCx1QkFBdUI7UUFDdkIsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsVUFBMkI7SUFDeEQsT0FBTyxDQUFDLE1BQThCLEVBQUUsRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ2xFLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkIsZUFBZTtZQUNYLGlDQUFpQztZQUNqQyx5QkFBeUI7WUFDekIsa0NBQWtDO1lBQ2xDLE9BQU87WUFDUCxXQUFXO1lBQ1gsR0FBRztZQUNQLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEIsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRXJCLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEh0dHBDbGllbnQsIEh0dHBFdmVudCxcclxuICBIdHRwRXZlbnRUeXBlLFxyXG4gIEh0dHBQcm9ncmVzc0V2ZW50LCBIdHRwUmVxdWVzdCwgSHR0cFJlc3BvbnNlXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDb21tZW50LCBVc2VySW5mbywgUmVjaXBpZW50TW9kZWwsIEF0dGFjaG1lbnQsIFNjaGVkdWxlZEV2ZW50LCBIZWFkZXJNb2RlbCwgRG9jdW1lbnRNb2RlbCwgVm90ZSwgQ29tbWVudFZlcnNpb24sIENoYWluIH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4vc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YXAsIHN3aXRjaE1hcCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBjbGVhbnVwLCBpc0FycmF5IH0gZnJvbSAnLi9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uSW1wbCB9IGZyb20gJy4vYXV0aGVudGljYXRpb24nO1xyXG5pbXBvcnQgeyBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5leHBvcnQgY29uc3QgRE9DVU1FTlRfTU9ERUwgPSBuZXcgSW5qZWN0aW9uVG9rZW48RG9jdW1lbnRNb2RlbDxhbnk+PignbW9kZWwnKTtcclxuXHJcbmV4cG9ydCB0eXBlIEZpbHRlclR5cGUgPSAncmVjZW50JyB8ICd1bnJlYWQnIHwgJ2ZsYWdnZWQnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2VFdmVudDxUPiB7XHJcbiAgbW9kZWw6IFJlY2lwaWVudE1vZGVsPFQ+O1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgTWFpbGJveFNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2NoYW5nZSQgPSBuZXcgU3ViamVjdDxSZWNpcGllbnRNb2RlbDxhbnk+PigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlbGV0ZSQgPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XHJcbiAgLyoqICovXHJcbiAgcHVibGljIHJlYWRvbmx5IGNoYW5nZWQgPSB0aGlzLl9jaGFuZ2UkLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHB1YmxpYyByZWFkb25seSBkZWxldGVkID0gdGhpcy5fZGVsZXRlJC5hc09ic2VydmFibGUoKTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2F1dGg6IEF1dGhlbnRpY2F0aW9uSW1wbCxcclxuICAgIG1lc3NhZ2luZzogSHViU2VydmljZSxcclxuICAgIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIG1lc3NhZ2luZy5uZXckLlxyXG4gICAgICBzdWJzY3JpYmUobSA9PiB7XHJcbiAgICAgICAgaWYgKG0udXNlcklkICE9PSBfc2Vzc2lvbi5wcm9maWxlLnVzZXJJZCkgcmV0dXJuO1xyXG4gICAgICAgIF9zZXNzaW9uLnByb2ZpbGUuaW5ib3hDb3VudCsrO1xyXG4gICAgICAgIGNvbnN0IGZvbGRlciA9IF9zZXNzaW9uLnByb2ZpbGUuZm9sZGVycy5maW5kKGYgPT4gZi5uYW1lID09PSBtLm1vZGVsLmZvbGRlcklkKTtcclxuICAgICAgICBmb2xkZXIuY291bnQrKztcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIGZvcm1hdERvd25sb2FkVXJsKGRvY3VtZW50SWQ6IG51bWJlciwgZmlsZUlkOiBudW1iZXIsIGlubGluZT86IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLl9hdXRoLmdldEFjY2Vzc1Rva2VuKCk7XHJcbiAgICByZXR1cm4gYC9hcGkvYXR0YWNobWVudHMvJHtkb2N1bWVudElkfS8ke2ZpbGVJZH0/YWNjZXNzX3Rva2VuPSR7dG9rZW59JmlubGluZT0ke2lubGluZSA/IHRydWUgOiBmYWxzZX1gO1xyXG4gIH1cclxuICBkb3dubG9hZChkb2N1bWVudElkOiBudW1iZXIsIGZpbGVJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIC8vbmV3IE9ic2VydmFibGU8YW55PihvYnNlcnZlID0+IHtcclxuICAgIC8vICBvYnNlcnZlLm5leHQoe30pO1xyXG4gICAgLy8gIHJldHVybiB7XHJcbiAgICAvLyAgICB1bnN1YnNjcmliZSgpIHsgfVxyXG4gICAgLy8gIH1cclxuICAgIC8vfSk7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQoYC9hcGkvYXR0YWNobWVudHMvJHtkb2N1bWVudElkfS8ke2ZpbGVJZH1gLCB7XHJcbiAgICAgIHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyxcclxuICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWVcclxuICAgIH0pO1xyXG4gIH1cclxuICByZW1vdmVhdHRhY2htZW50KHJlY2lwaWVudElkOiBudW1iZXIsIGZpbGVJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmRlbGV0ZShgL2FwaS9hdHRhY2htZW50cy8ke3JlY2lwaWVudElkfS8ke2ZpbGVJZH1gKTtcclxuICB9XHJcbiAgcmVhZChpZDogbnVtYmVyLCByZWFkOiBib29sZWFuLCBmb2xkZXJJZD86IHN0cmluZywgcmVjZWl2ZWQ/OiBEYXRlKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dChgL2FwaS9tYWlsYm94L3JlYWQvJHtpZH1gLCB1bmRlZmluZWQsIHsgcGFyYW1zOiB7IHJlYWQgfSBhcyBhbnkgfSkucGlwZSh0YXAoKCkgPT5cclxuICAgICAgZm9sZGVySWQgJiYgdGhpcy5fdXBkYXRldW5yZWFkY291bnRlcihyZWNlaXZlZCwgZm9sZGVySWQsIHJlYWQgPyAxIDogLTEpXHJcbiAgICApKTtcclxuICB9XHJcbiAgY29tbWVudHMoaWQ6IG51bWJlciwgYmVmb3JlOiBEYXRlKTogT2JzZXJ2YWJsZTxDb21tZW50W10+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxDb21tZW50W10+KGAvYXBpL2NvbW1lbnRzLyR7aWR9YCwgeyBwYXJhbXM6IHsgYmVmb3JlOiBuZXcgRGF0ZShiZWZvcmUpLnRvSlNPTigpIH0gfSk7XHJcbiAgfVxyXG4gIHRhZ3MoaWQ6IG51bWJlciwgdGFnczogc3RyaW5nW10pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0KGAvYXBpL21haWxib3gvdGFnLyR7aWR9YCwgeyB0YWdzIH0pLnBpcGUodGFwKCgpID0+IHtcclxuICAgICAgdGhpcy5fY2hhbmdlJC5uZXh0KHsgaWQsIHRhZ3MgfSBhcyBhbnkpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gZG9jdW1lbnRJZFxyXG4gICAqIEBwYXJhbSBzdGF0ZUlkXHJcbiAgICogQHBhcmFtIHVzZXJJZCBzdWJzdGl0dXRlXHJcbiAgICovXHJcbiAgY2hhbmdlU3RhdGUoZG9jdW1lbnRJZDogbnVtYmVyLCBzdGF0ZUlkOiBzdHJpbmcsIHVzZXJJZD86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQoYC9hcGkvbWFpbGJveC9jaGFuZ2VzdGF0ZS8ke2RvY3VtZW50SWR9YCwgeyBzdGF0ZUlkLCB1c2VySWQgfSk7XHJcbiAgfVxyXG4gIG1vdmUoaWQ6IG51bWJlciwgZm9sZGVySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQoYC9hcGkvbWFpbGJveC9tb3ZlLyR7aWR9P2ZvbGRlcklkPSR7Zm9sZGVySWR9YCwge30pLnBpcGUodGFwKCgpID0+IHtcclxuICAgICAgdGhpcy5fY2hhbmdlJC5uZXh0KHtcclxuICAgICAgICBpZCxcclxuICAgICAgICBmb2xkZXJJZFxyXG4gICAgICB9IGFzIGFueSk7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG4gIGNoZWNrT3V0KHJlY2lwaWVudElkOiBudW1iZXIsIHZlcnNpb246IG51bWJlciwgYXR0YWNobWVudElkOiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dDxBdHRhY2htZW50PihgL2FwaS9hdHRhY2htZW50cy8ke3JlY2lwaWVudElkfS8ke2F0dGFjaG1lbnRJZH0vY2hlY2tvdXRgLCBudWxsLCB7IHBhcmFtczogeyB2ZXJzaW9uIH0gfSk7XHJcbiAgfVxyXG4gIGNoZWNrSW4ocmVjaXBpZW50SWQ6IG51bWJlciwgdmVyc2lvbjogbnVtYmVyLCBhdHRhY2htZW50SWQ6IG51bWJlciwgZmlsZTogRmlsZSk6IE9ic2VydmFibGU8QXR0YWNobWVudD4ge1xyXG4gICAgY29uc3QgZmQgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGZkLmFwcGVuZChmaWxlLm5hbWUsIGZpbGUpO1xyXG4gICAgY29uc3QgcmVxID0gbmV3IEh0dHBSZXF1ZXN0KCdQVVQnLFxyXG4gICAgICBgL2FwaS9hdHRhY2htZW50cy8ke3JlY2lwaWVudElkfS8ke2F0dGFjaG1lbnRJZH0vY2hlY2tpbj92ZXJzaW9uPSR7dmVyc2lvbn1gLCBmZCwge1xyXG4gICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcclxuICAgIH0pO1xyXG4gICAgLy9jb25zdCBpbml0aWFsU3RhdGU6IFVwbG9hZEV2ZW50ID0geyBzdGF0ZTogJ1BFTkRJTkcnLCBwcm9ncmVzczogMCB9XHJcbiAgICAvL2NvbnN0IGNhbGN1bGF0ZVN0YXRlID0gKFxyXG4gICAgLy8gIHVwbG9hZDogVXBsb2FkRXZlbnQsXHJcbiAgICAvLyAgZXZlbnQ6IEh0dHBFdmVudDx1bmtub3duPlxyXG4gICAgLy8pOiBVcGxvYWRFdmVudCA9PiB7XHJcbiAgICAvLyAgLy8gaW1wbGVtZW50YXRpb25cclxuICAgIC8vfVxyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIHRoaXMuX2h0dHAucmVxdWVzdChyZXEpLnN1YnNjcmliZShldmVudCA9PiB7XHJcbiAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgUHJvZ3Jlc3NFdmVudCkge1xyXG4gICAgICAgICAgLy8gIG9ic2VydmUubmV4dChuZXcgVXBsb2FkRXZlbnQoXHJcbiAgICAgICAgICAvLyAgICBmaWxlLm5hbWUsXHJcbiAgICAgICAgICAvLyAgICAoZXZlbnQgYXMgUHJvZ3Jlc3NFdmVudCkubG9hZGVkLFxyXG4gICAgICAgICAgLy8gICAgKGV2ZW50IGFzIFByb2dyZXNzRXZlbnQpLnRvdGFsXHJcbiAgICAgICAgICAvLyAgKSk7XHJcbiAgICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG4gICAgICAgICAgY29uc3QgcmVzID0gZXZlbnQgYXMgSHR0cFJlc3BvbnNlPGFueT47XHJcbiAgICAgICAgICBpZiAocmVzLnN0YXR1cyA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1vZGVsID0gcmVzLmJvZHkgYXMgQXR0YWNobWVudDtcclxuICAgICAgICAgICAgb2JzZXJ2ZS5uZXh0KG1vZGVsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgb2JzZXJ2ZS5lcnJvcih7IHN0YXR1czogcmVzLnN0YXR1cywgZXJyb3I6IHJlcy5ib2R5IH0pO1xyXG4gICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgZSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZS5lcnJvcihlKTtcclxuICAgICAgICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHVuc3Vic2NyaWJlKCkge1xyXG4gICAgICAgICAgLy9yZXEuXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgdXBsb2FkKHJlY2lwaWVudElkOiBudW1iZXIsIGZvcm1JZDogc3RyaW5nLCB2ZXJzaW9uOiBudW1iZXIsIGZpbGU6IEZpbGUsIG9wdGlvbnM/OiB7IGlzUHJpdmF0ZT86IGJvb2xlYW4gfSk6IE9ic2VydmFibGU8QXR0YWNobWVudD47XHJcbiAgdXBsb2FkKHJlY2lwaWVudElkOiBudW1iZXIsIGZvcm1JZDogc3RyaW5nLCB2ZXJzaW9uOiBudW1iZXIsIGZpbGVzOiBGaWxlW10sIG9wdGlvbnM/OiB7IGlzUHJpdmF0ZT86IGJvb2xlYW4gfSk6IE9ic2VydmFibGU8QXR0YWNobWVudFtdPjtcclxuICB1cGxvYWQocmVjaXBpZW50SWQ6IG51bWJlciwgZm9ybUlkOiBzdHJpbmcsIHZlcnNpb246IG51bWJlciwgZmlsZXM6IEZpbGUgfCBGaWxlW10sIG9wdGlvbnM/OiB7IGlzUHJpdmF0ZT86IGJvb2xlYW4gfSk6IE9ic2VydmFibGU8QXR0YWNobWVudCB8IEF0dGFjaG1lbnRbXT4ge1xyXG4gICAgY29uc3QgZmQgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIGlmIChpc0FycmF5KGZpbGVzKSkgZmlsZXMuZm9yRWFjaChmID0+XHJcbiAgICAgIGZkLmFwcGVuZChmLm5hbWUsIGYpKTtcclxuICAgIGVsc2UgZmQuYXBwZW5kKGZpbGVzLm5hbWUsIGZpbGVzKTtcclxuICAgIC8vY29uc3QgYnl0ZXNQZXJDaHVuayA9IDIwICogMTAyNCAqIDEwMjQ7XHJcbiAgICAvLyBhcXVpcmUgdGhlIGxvY2F0aW9uIHByaW9yIHRvIHNlbmRpbmcgdGhlIHJlcXVlc3RcclxuICAgIHJldHVybiB0aGlzLl9nZW9Mb2NhdGlvbihmb3JtSWQpLnBpcGUoc3dpdGNoTWFwKHBhcmFtcyA9PlxyXG4gICAgICBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICAgIGxldCB1cmwgPSBgL2FwaS9hdHRhY2htZW50cy8ke3JlY2lwaWVudElkfT92ZXJzaW9uPSR7dmVyc2lvbn1gO1xyXG4gICAgICAgIE9iamVjdC5rZXlzKHBhcmFtcykuZm9yRWFjaChwID0+IHVybCArPSBgJiR7cH09JHtwYXJhbXNbcF19YCk7XHJcbiAgICAgICAgaWYgKG9wdGlvbnMpIHtcclxuICAgICAgICAgIGlmIChvcHRpb25zLmlzUHJpdmF0ZSkgdXJsICs9ICcmaXNwcml2YXRlPXRydWUnXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHJlcSA9IG5ldyBIdHRwUmVxdWVzdCgnUE9TVCcsIHVybCwgZmQsIHtcclxuICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX2h0dHAucmVxdWVzdChyZXEpLnN1YnNjcmliZShldmVudCA9PiB7XHJcbiAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBQcm9ncmVzc0V2ZW50KSB7XHJcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgYW4gdXBsb2FkIHByb2dyZXNzIGV2ZW50LiBDb21wdXRlIGFuZCBzaG93IHRoZSAlIGRvbmU6XHJcbiAgICAgICAgICAgIC8vY29uc3QgcGVyY2VudERvbmUgPSBNYXRoLnJvdW5kKDEwMCAqIGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsKTtcclxuICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhgRmlsZSBpcyAke3BlcmNlbnREb25lfSUgdXBsb2FkZWQuYCk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IGV2ZW50IGFzIEh0dHBSZXNwb25zZTxhbnk+O1xyXG4gICAgICAgICAgICBpZiAocmVzLnN0YXR1cyA9PT0gMjAwKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgbW9kZWwgPSByZXMuYm9keSBhcyBBdHRhY2htZW50W107XHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZS5uZXh0KGlzQXJyYXkoZmlsZXMpID8gbW9kZWwgOiBtb2RlbFswXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgIG9ic2VydmUuZXJyb3IoeyBzdGF0dXM6IHJlcy5zdGF0dXMsIGVycm9yOiByZXMuYm9keSB9KTtcclxuICAgICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sIGUgPT4ge1xyXG4gICAgICAgICAgb2JzZXJ2ZS5lcnJvcihlKTtcclxuICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgdW5zdWJzY3JpYmUoKSB7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSkpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiByZXRyaWV2ZSBzZW5kZXJzXHJcbiAgICogQHBhcmFtIG5hbWVcclxuICAgKi9cclxuICBzZW5kZXJzKG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlckluZm9bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PFVzZXJJbmZvW10+KCcvYXBpL21haWxib3gvc2VuZGVycy8nLCB7XHJcbiAgICAgIHBhcmFtczoge1xyXG4gICAgICAgIG5hbWVcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGZsYWcoaWQ6IG51bWJlciwgZmxhZzogYm9vbGVhbik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQoYC9hcGkvbWFpbGJveC9mbGFnLyR7aWR9P2ZsYWc9JHtmbGFnfWAsIG51bGwpLnBpcGUodGFwKCgpID0+IHRoaXMuX2NoYW5nZSQubmV4dCh7IGlkLCBmbGFnIH0gYXMgYW55KSkpO1xyXG4gIH1cclxuICB2aWV3ZWRjb21tZW50cyhpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx7IHRpbWU6IERhdGUgfT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PHsgdGltZTogRGF0ZSB9PihgL2FwaS9jb21tZW50cy92aWV3ZWQvJHtpZH1gLCB7fSwgeyBoZWFkZXJzOiB7ICduby1wcm9ncmVzcyc6ICd0cnVlJyB9IH0pLnBpcGUodGFwKChlOiB7IHRpbWU6IERhdGUgfSkgPT4gdGhpcy5fY2hhbmdlJC5uZXh0KHsgaWQsIHZpZXdlZDogZS50aW1lIH0gYXMgYW55KSkpO1xyXG4gIH1cclxuICB0eXBpbmcoaWQ6IG51bWJlcik6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQoYC9hcGkvY29tbWVudHMvdHlwaW5nLyR7aWR9YCwge30sIHsgaGVhZGVyczogeyAnbm8tcHJvZ3Jlc3MnOiAndHJ1ZScgfSB9KS50b1Byb21pc2UoKTtcclxuICB9XHJcbiAgZWRpdGluZyhpZDogbnVtYmVyKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dChgL2FwaS9tYWlsYm94L2VkaXRpbmcvJHtpZH1gLCB7fSwgeyBoZWFkZXJzOiB7ICduby1wcm9ncmVzcyc6ICd0cnVlJyB9IH0pLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuICBjb3B5KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFJlY2lwaWVudE1vZGVsPGFueT4+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3Q8UmVjaXBpZW50TW9kZWw8YW55Pj4oYC9hcGkvbWFpbGJveC9jb3B5LyR7aWR9YCwge30pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gaWQgZG9jdW1lbnQgaWRcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIGNvbW1lbnQoaWQ6IG51bWJlciwgb3B0aW9uczoge1xyXG4gICAgdGV4dD86IHN0cmluZyxcclxuICAgIHJlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfSxcclxuICAgIGltYWdlPzogc3RyaW5nLFxyXG4gICAgcGFyZW50SWQ/OiBudW1iZXJcclxuICB9KTogT2JzZXJ2YWJsZTxDb21tZW50PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PENvbW1lbnQ+KGAvYXBpL2NvbW1lbnRzLyR7aWR9YCwgb3B0aW9ucyk7XHJcbiAgfVxyXG4gIGNvbW1lbnR1cGRhdGUoaWQ6IG51bWJlciwgY29tbWVudElkOiBudW1iZXIsIG9wdGlvbnM6IHtcclxuICAgIHRleHQ/OiBzdHJpbmcsXHJcbiAgICBpbWFnZT86IHN0cmluZyxcclxuICAgIHJlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfVxyXG4gIH0pOiBPYnNlcnZhYmxlPENvbW1lbnQ+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dDxDb21tZW50PihgL2FwaS9jb21tZW50cy9lZGl0LyR7aWR9LyR7Y29tbWVudElkfWAsIG9wdGlvbnMpO1xyXG4gIH1cclxuICBpbmZvPFQgPSBhbnk+KGRvY3VtZW50SWQ6IG51bWJlcik6IE9ic2VydmFibGU8RG9jdW1lbnRNb2RlbDxUPj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PERvY3VtZW50TW9kZWw8VD4+KGAvYXBpL21haWxib3gvaW5mby8ke2RvY3VtZW50SWR9YCk7XHJcbiAgfVxyXG4gIHRpbWVsaW5lKGRvY3VtZW50SWQ6IG51bWJlcik6IE9ic2VydmFibGU8Q2hhaW4+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxDaGFpbj4oYC9hcGkvbWFpbGJveC90aW1lbGluZS8ke2RvY3VtZW50SWR9YCk7XHJcbiAgfVxyXG4gIHZvdGUoaWQ6IG51bWJlciwgY29tbWVudElkOiBudW1iZXIsIHZhbHVlOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucG9zdChgL2FwaS9jb21tZW50cy92b3RlLyR7aWR9LyR7Y29tbWVudElkfWAsIHt9LCB7IHBhcmFtczogeyB2YWx1ZTogdmFsdWUudG9TdHJpbmcoKSB9IH0pO1xyXG4gIH1cclxuICB2b3RlcyhpZDogbnVtYmVyLCBjb21tZW50SWQ6IG51bWJlcik6IE9ic2VydmFibGU8Vm90ZVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8Vm90ZVtdPihgL2FwaS9jb21tZW50cy92b3Rlcy8ke2lkfS8ke2NvbW1lbnRJZH1gKTtcclxuICB9XHJcbiAgZWRpdHMoaWQ6IG51bWJlciwgY29tbWVudElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPENvbW1lbnRWZXJzaW9uW10+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxDb21tZW50VmVyc2lvbltdPihgL2FwaS9jb21tZW50cy9lZGl0cy8ke2lkfS8ke2NvbW1lbnRJZH1gKTtcclxuICB9XHJcbiAgZmluZEFsbChmaWx0ZXI6IHsgdHlwZT86IEZpbHRlclR5cGU7IGNvbnRhaW5zPzogc3RyaW5nOyBzdGF0ZT86IHN0cmluZzsgZm9ybT86IHN0cmluZzsgZm9sZGVySWQ/OiBzdHJpbmc7IHNlbmRlcklkPzogc3RyaW5nOyB9LFxyXG4gICAgb3B0aW9ucz86IHsgc2tpcD86IG51bWJlcjsgdGFrZT86IG51bWJlcjsgb3JkZXJCeT86ICd2YWx1ZScgfCAndmlld2VkJyB8ICdkYXRlJyB9KTogT2JzZXJ2YWJsZTxIZWFkZXJNb2RlbFtdPiB7XHJcbiAgICBjb25zdCBwYXJhbXM6IGFueSA9IHsgLi4uZmlsdGVyLCAuLi5vcHRpb25zIH07XHJcbiAgICBjbGVhbnVwKHBhcmFtcyk7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8SGVhZGVyTW9kZWxbXT4oJy9hcGkvbWFpbCcsIHsgcGFyYW1zIH0pO1xyXG4gIH1cclxuICBjcmVhdGU8VCA9IGFueT4oZm9ybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZWNpcGllbnRNb2RlbDxUPj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dlb0xvY2F0aW9uKGZvcm0pLnBpcGUoc3dpdGNoTWFwKHAgPT5cclxuICAgICAgdGhpcy5faHR0cC5wb3N0PFJlY2lwaWVudE1vZGVsPGFueT4+KCcvYXBpL21haWwnLCBudWxsLCB7XHJcbiAgICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgICBmb3JtLFxyXG4gICAgICAgICAgLi4ucFxyXG4gICAgICAgIH1cclxuICAgICAgfSkpLCB0aGlzLl9ub3RpZnk8VD4oKSk7XHJcbiAgfVxyXG4gIGdldDxUID0gYW55PihpZDogbnVtYmVyLCByZWFkPzogYm9vbGVhbik6IE9ic2VydmFibGU8UmVjaXBpZW50TW9kZWw8VD4+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxSZWNpcGllbnRNb2RlbDxUPj4oYC9hcGkvbWFpbC8ke2lkfWApLnBpcGUoXHJcbiAgICAgIHRhcCgobTogUmVjaXBpZW50TW9kZWwpID0+XHJcbiAgICAgICAgcmVhZCA9PT0gZmFsc2UgJiYgbS5yZWFkID09PSB0cnVlICYmXHJcbiAgICAgICAgdGhpcy5fdXBkYXRldW5yZWFkY291bnRlcihtLnJlY2VpdmVkLCBtLmZvbGRlcklkLCAtMSlcclxuICAgICAgKSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3VwZGF0ZXVucmVhZGNvdW50ZXIoZGF0ZTogRGF0ZSwgZm9sZGVySWQ6IHN0cmluZywgdmFsOiBudW1iZXIpIHtcclxuICAgIGlmIChcclxuICAgICAgLy8gZGF0ZSBpcyBhYm92ZSB3YXRlcm1hcmtcclxuICAgICAgdGhpcy5fc2Vzc2lvbi5wcm9maWxlLm9wdGlvbnMuaW5ib3hWaWV3ICYmXHJcbiAgICAgIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5vcHRpb25zLmluYm94VmlldyA8IGRhdGVcclxuICAgIClcclxuICAgICAgdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmluYm94Q291bnQgKz0gdmFsO1xyXG4gICAgLy8gZGVjcmVhc2VcclxuICAgIGNvbnN0IGZvbGRlciA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5mb2xkZXJzLlxyXG4gICAgICBmaW5kKGYgPT4gZi5uYW1lID09PSBmb2xkZXJJZCk7XHJcbiAgICBmb2xkZXIuY291bnQgPSBNYXRoLm1heCgwLCBmb2xkZXIuY291bnQgKyB2YWwpO1xyXG4gIH1cclxuXHJcbiAgc2F2ZTxUID0gYW55PihpZDogbnVtYmVyLCBmb3JtOiBzdHJpbmcsIHZlcnNpb246IG51bWJlciwgbW9kZWw6IHt9LCBmaWxlcz86IEZpbGVbXSB8IEZpbGVMaXN0KTogT2JzZXJ2YWJsZTxSZWNpcGllbnRNb2RlbDxUPj4ge1xyXG4gICAgLy9jb25zdCBmZCA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgLy9jb25zdCBtb2RlbEJsb2IgPSBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkobW9kZWwpXSwge1xyXG4gICAgLy8gIHR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgIC8vfSk7XHJcbiAgICAvL2ZkLmFwcGVuZCgnZm9ybS1kYXRhJywgbW9kZWxCbG9iKTtcclxuICAgIC8vaWYgKGZpbGVzKSB7XHJcbiAgICAvLyAgaWYgKGlzQXJyYXkoZmlsZXMpKSBmaWxlcy5mb3JFYWNoKGYgPT5cclxuICAgIC8vICAgIGZkLmFwcGVuZChmLm5hbWUsIGYpKTtcclxuICAgIC8vICBlbHNlIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgIC8vICAgIGxldCBmaWxlID0gZmlsZXMuaXRlbShpKTtcclxuICAgIC8vICAgIGZkLmFwcGVuZChmaWxlLm5hbWUsIGZpbGUpO1xyXG4gICAgLy8gIH1cclxuICAgIC8vfVxyXG4gICAgLy8gIHJldHVybiB0aGlzLl93aXRoR2VvTG9jYXRpb24oZm9ybSkucGlwZShzd2l0Y2hNYXAocGFyYW1zID0+IHtcclxuICAgIC8vICAgIGxldCB1cmwgPSBgL2FwaS9tYWlsLyR7aWR9P3ZlcnNpb249JHt2ZXJzaW9ufWA7XHJcbiAgICAvLyAgICBPYmplY3Qua2V5cyhwYXJhbXMpLmZvckVhY2gocCA9PiB1cmwgKz0gYCYke3B9PSR7cGFyYW1zW3BdfWApO1xyXG4gICAgLy8gICAgY29uc3QgcmVxID0gbmV3IEh0dHBSZXF1ZXN0KCdQVVQnLCB1cmwsIGZkLCB7XHJcbiAgICAvLyAgICB9KTtcclxuICAgIC8vICAgIHJldHVybiB0aGlzLl9odHRwLnJlcXVlc3QocmVxKS5waXBlKG1hcChldmVudCA9PiB7XHJcbiAgICAvLyAgICAgIGNvbnN0IHJlcyA9IGV2ZW50IGFzIEh0dHBSZXNwb25zZTxhbnk+O1xyXG4gICAgLy8gICAgICBpZiAocmVzLnN0YXR1cyA9PT0gMjAwKSB7XHJcbiAgICAvLyAgICAgICAgY29uc3QgbW9kZWwgPSByZXMuYm9keSBhcyBSZWNpcGllbnRNb2RlbDxhbnk+O1xyXG4gICAgLy8gICAgICAgIHJldHVybiBtb2RlbDtcclxuICAgIC8vICAgICAgfVxyXG4gICAgLy8gICAgICBlbHNlXHJcbiAgICAvLyAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoeyBzdGF0dXM6IHJlcy5zdGF0dXMsIGVycm9yOiByZXMuYm9keSB9KTtcclxuICAgIC8vICAgIH0pKVxyXG4gICAgLy8gIH0pLCB0aGlzLl9ub3RpZnk8VD4oKSk7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2VvTG9jYXRpb24oZm9ybSkucGlwZShcclxuICAgICAgc3dpdGNoTWFwKHBhcmFtcyA9PnRoaXMuX2h0dHAucHV0PFJlY2lwaWVudE1vZGVsPFQ+PihgL2FwaS9tYWlsLyR7aWR9P3ZlcnNpb249JHt2ZXJzaW9ufWAsIG1vZGVsLCB7IHBhcmFtcyB9KSksXHJcbiAgICAgIHRoaXMuX25vdGlmeTxUPigpKTtcclxuICB9XHJcbiAgZGVsZXRlKGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZGVsZXRlKGAvYXBpL21haWwvJHtpZH1gKS5waXBlKHRhcCgoKSA9PlxyXG4gICAgICB0aGlzLl9kZWxldGUkLm5leHQoaWQpKSk7XHJcbiAgfVxyXG4gIHJlbW92ZWNvbW1lbnQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5kZWxldGUoYC9hcGkvY29tbWVudHMvJHtpZH1gKTtcclxuICB9XHJcbiAgc3VibWl0PFQgPSBhbnk+KGlkOiBudW1iZXIsIHZlcnNpb246IG51bWJlciwgZm9ybTogc3RyaW5nLCBtb2RlbD86IGFueSwgcmVhZD86IGJvb2xlYW4sIGZvbGRlcklkPzogc3RyaW5nLCByZWNlaXZlZD86IERhdGUpOiBPYnNlcnZhYmxlPFJlY2lwaWVudE1vZGVsPFQ+PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2VvTG9jYXRpb24oZm9ybSkucGlwZShzd2l0Y2hNYXAocGFyYW1zID0+XHJcbiAgICAgIHRoaXMuX2h0dHAucHV0PFJlY2lwaWVudE1vZGVsPGFueT4+KGAvYXBpL21haWwvJHtpZH0/dmVyc2lvbj0ke3ZlcnNpb259JmdvPXRydWVgLCBtb2RlbCwgeyBwYXJhbXMgfSkpKS5waXBlKFxyXG4gICAgICAgIHRoaXMuX25vdGlmeTxUPigpKTtcclxuICB9XHJcbiAgc2VuZDxUID0gYW55PihpZDogbnVtYmVyLCB2ZXJzaW9uOiBudW1iZXIsIGZvcm06IHN0cmluZywgbW9kZWw6IGFueSwgYWN0aW9uOiBzdHJpbmcsIGFjdGlvbkFyZ3M6IHt9LCByZWFkPzogYm9vbGVhbiwgZm9sZGVySWQ/OiBzdHJpbmcsIHJlY2VpdmVkPzogRGF0ZSk6IE9ic2VydmFibGU8UmVjaXBpZW50TW9kZWw8VD4+IHtcclxuICAgIHJldHVybiB0aGlzLl9nZW9Mb2NhdGlvbihmb3JtKS5waXBlKHN3aXRjaE1hcChwYXJhbXMgPT5cclxuICAgICAgdGhpcy5faHR0cC5wdXQ8UmVjaXBpZW50TW9kZWw8VD4+KGAvYXBpL21haWwvJHtpZH0/dmVyc2lvbj0ke3ZlcnNpb259JmFjdGlvbj0ke2FjdGlvbn1gLCBtb2RlbCwgeyBwYXJhbXM6IHsgLi4ucGFyYW1zLCAuLi5hY3Rpb25BcmdzIH0gfSkpKS5waXBlKFxyXG4gICAgICAgIHRhcCgoKSA9PlxyXG4gICAgICAgICAgcmVhZCA9PT0gZmFsc2UgJiYgdGhpcy5fdXBkYXRldW5yZWFkY291bnRlcihyZWNlaXZlZCwgZm9sZGVySWQsIC0xKVxyXG4gICAgICAgICksXHJcbiAgICAgICAgdGhpcy5fbm90aWZ5PFQ+KCkpO1xyXG4gIH1cclxuICBldmVudHMoc3RhcnRpbmc6IERhdGUsIGVuZGluZz86IERhdGUsIGNvbnRhaW5zPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxTY2hlZHVsZWRFdmVudFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8U2NoZWR1bGVkRXZlbnRbXT4oYC9hcGkvZXZlbnRzYCwge1xyXG4gICAgICBwYXJhbXM6IHtcclxuICAgICAgICBzdGFydGluZzogc3RhcnRpbmcudG9KU09OKCksXHJcbiAgICAgICAgZW5kaW5nOiBlbmRpbmcudG9KU09OKCksXHJcbiAgICAgICAgY29udGFpbnM6IGNvbnRhaW5zIHx8ICcnXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBjaGFuZ2VFdmVudChpZDogbnVtYmVyLCBvcHRpb25zOiB7IHN0YXJ0aW5nOiBEYXRlOyBlbmRpbmc/OiBEYXRlOyBjb21wbGV0ZT86IGJvb2xlYW4gfSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQoYC9hcGkvZXZlbnRzLyR7aWR9YCwgb3B0aW9ucyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGdldCBnZW8gbG9jYXRpb24gaWYgZm9ybSBzZXR0aW5ncyByZXF1aWVzXHJcbiAgICogQHBhcmFtIGZvcm1cclxuICAgKi9cclxuICBwcml2YXRlIF9nZW9Mb2NhdGlvbihmb3JtOiBzdHJpbmcpOiBPYnNlcnZhYmxlPHsgbG5nPzogc3RyaW5nOyBsYXQ/OiBzdHJpbmcgfT4ge1xyXG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5mb3Jtcy5maW5kKGYgPT4gZi5uYW1lID09PSBmb3JtKTtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICBzd2l0Y2ggKGNvbmZpZ3VyYXRpb24ucG9zaXRpb24pIHtcclxuICAgICAgICBjYXNlICdSZXF1aXJlJzpcclxuICAgICAgICBjYXNlICdBc2snOlxyXG4gICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihyID0+IHtcclxuICAgICAgICAgICAgb2JzZXJ2ZS5uZXh0KHtcclxuICAgICAgICAgICAgICBsbmc6IHIuY29vcmRzLmxvbmdpdHVkZS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICAgIGxhdDogci5jb29yZHMubGF0aXR1ZGUudG9TdHJpbmcoKVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSwgZSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChjb25maWd1cmF0aW9uLnBvc2l0aW9uID09PSAnQXNrJylcclxuICAgICAgICAgICAgICBvYnNlcnZlLm5leHQoe30pO1xyXG4gICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZS5lcnJvcignbm8gcG9zaXRpb24nKTtcclxuICAgICAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KHt9KTtcclxuICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqL1xyXG4gIHByaXZhdGUgX25vdGlmeSA9IDxUPigpID0+IChvYnNlcnZlOiBPYnNlcnZhYmxlPFJlY2lwaWVudE1vZGVsPFQ+PikgPT4ge1xyXG4gICAgcmV0dXJuIG9ic2VydmUucGlwZSh0YXAobSA9PiB7XHJcbiAgICAgIChtIGFzIEl0ZW1FeHRyYSkubG9hZGVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5fY2hhbmdlJC5uZXh0KG0pO1xyXG4gICAgfSkpO1xyXG4gIH07XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBJdGVtRXh0cmEge1xyXG4gIGxvYWRpbmc/OiBib29sZWFuO1xyXG4gIGxvYWRlZD86IGJvb2xlYW47XHJcbiAgd29ya2luZz86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBBdHRhY2htZW50RXh0cmEgZXh0ZW5kcyBBdHRhY2htZW50IHtcclxuICB1cmw6IFNhZmVVcmw7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBmaWxlRXh0OiBzdHJpbmc7XHJcbiAgaXNJbWFnZTogYm9vbGVhbjtcclxuICBwcm9ncmVzcz86IG51bWJlcjtcclxuICB2aWV3ZWQ/OiBEYXRlO1xyXG4gIGZhaWxlZD86IGJvb2xlYW47XHJcbn1cclxuZnVuY3Rpb24gaXNIdHRwUmVzcG9uc2U8VD4oZXZlbnQ6IEh0dHBFdmVudDxUPik6IGV2ZW50IGlzIEh0dHBSZXNwb25zZTxUPiB7XHJcbiAgcmV0dXJuIGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2VcclxufVxyXG5cclxuZnVuY3Rpb24gaXNIdHRwUHJvZ3Jlc3NFdmVudChcclxuICBldmVudDogSHR0cEV2ZW50PHVua25vd24+XHJcbik6IGV2ZW50IGlzIEh0dHBQcm9ncmVzc0V2ZW50IHtcclxuICByZXR1cm4gKFxyXG4gICAgZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5Eb3dubG9hZFByb2dyZXNzIHx8XHJcbiAgICBldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlVwbG9hZFByb2dyZXNzXHJcbiAgKVxyXG59XHJcbmZ1bmN0aW9uIGNhbGN1bGF0ZVN0YXRlKHVwbG9hZDogVXBsb2FkRXZlbnQsIGV2ZW50OiBIdHRwRXZlbnQ8dW5rbm93bj4pOiBVcGxvYWRFdmVudCB7XHJcbiAgaWYgKGlzSHR0cFByb2dyZXNzRXZlbnQoZXZlbnQpKSB7XHJcbiAgICByZXR1cm4gbmV3IFVwbG9hZEV2ZW50KHtcclxuICAgICAgcHJvZ3Jlc3M6IGV2ZW50LnRvdGFsXHJcbiAgICAgICAgPyBNYXRoLnJvdW5kKCgxMDAgKiBldmVudC5sb2FkZWQpIC8gZXZlbnQudG90YWwpXHJcbiAgICAgICAgOiB1cGxvYWQucHJvZ3Jlc3MsXHJcbiAgICAgIHN0YXRlOiAncHJvZ3Jlc3MnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGlmIChpc0h0dHBSZXNwb25zZShldmVudCkpIHtcclxuICAgIHJldHVybiBuZXcgVXBsb2FkRXZlbnQoe1xyXG4gICAgICBwcm9ncmVzczogMTAwLFxyXG4gICAgICBzdGF0ZTogJ2RvbmUnLFxyXG4gICAgfSlcclxuICB9XHJcbiAgcmV0dXJuIHVwbG9hZFxyXG59XHJcbmV4cG9ydCBjbGFzcyBVcGxvYWRFdmVudCB7XHJcbiAgcmVhZG9ubHkgZmlsZU5hbWU6IHN0cmluZztcclxuICBwcm9ncmVzczogbnVtYmVyO1xyXG4gIC8vIGJ5dGVzXHJcbiAgdG90YWw6IG51bWJlcjtcclxuICBzdGF0ZTogJ3BlbmRpbmcnIHwgJ3Byb2dyZXNzJyB8ICdkb25lJztcclxuICBjb25zdHJ1Y3RvcihvcHRpb25zKSB7IH1cclxufVxyXG5cclxuZnVuY3Rpb24gcmVwb3J0cHJvZ3Jlc3MoZmlsZW5hbWU6IHN0cmluZyk6IChzb3VyY2U6IE9ic2VydmFibGU8QXR0YWNobWVudD4pID0+IE9ic2VydmFibGU8QXR0YWNobWVudD4ge1xyXG4gIHJldHVybiAoc291cmNlOiBPYnNlcnZhYmxlPEF0dGFjaG1lbnQ+KSA9PlxyXG4gICAgc291cmNlLnBpcGUobWFwKHIgPT4ge1xyXG4gICAgICAvL2lmIChldmVudCBpbnN0YW5jZW9mIFByb2dyZXNzRXZlbnQpIHtcclxuICAgICAgLy8gIG9ic2VydmUubmV4dChuZXcgVXBsb2FkRXZlbnQoXHJcbiAgICAgIC8vICAgIGZpbGUubmFtZSxcclxuICAgICAgLy8gICAgKGV2ZW50IGFzIFByb2dyZXNzRXZlbnQpLmxvYWRlZCxcclxuICAgICAgLy8gICAgKGV2ZW50IGFzIFByb2dyZXNzRXZlbnQpLnRvdGFsXHJcbiAgICAgIC8vICApKTtcclxuICAgICAgLy99IGVsc2UgaWYgKGV2ZW50IGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XHJcbiAgICAgIC8vICBjb25zdCByZXMgPSBldmVudCBhcyBIdHRwUmVzcG9uc2U8YW55PjtcclxuICAgICAgLy8gIGlmIChyZXMuc3RhdHVzID09PSAyMDApIHtcclxuICAgICAgLy8gICAgY29uc3QgbW9kZWwgPSByZXMuYm9keSBhcyBBdHRhY2htZW50O1xyXG4gICAgICAvLyAgICBvYnNlcnZlLm5leHQobW9kZWwpO1xyXG4gICAgICAvLyAgfVxyXG4gICAgICAvLyAgZWxzZVxyXG4gICAgICAvLyAgICBvYnNlcnZlLmVycm9yKHsgc3RhdHVzOiByZXMuc3RhdHVzLCBlcnJvcjogcmVzLmJvZHkgfSk7XHJcbiAgICAgIC8vICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcbiAgICAgIHJldHVybiByO1xyXG4gICAgfSkpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVwb3J0UHJvZ3Jlc3MoYXR0YWNobWVudDogQXR0YWNobWVudEV4dHJhKSB7XHJcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8QXR0YWNobWVudD4pID0+IG5ldyBPYnNlcnZhYmxlKG9ic2VydmUgPT4ge1xyXG4gICAgc291cmNlLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgLy9UT0RPIHByb2dyZXNzXHJcbiAgICAgICAgICAvL2lmIChhIGluc3RhbmNlb2YgVXBsb2FkRXZlbnQpIHtcclxuICAgICAgICAgIC8vICBPYmplY3QuYXNzaWduKGl0ZW0sIHtcclxuICAgICAgICAgIC8vICAgIHByb2dyZXNzOiBhLmxvYWRlZCAvIGEudG90YWxcclxuICAgICAgICAgIC8vICB9KTtcclxuICAgICAgICAgIC8vICByZXR1cm47XHJcbiAgICAgICAgICAvL31cclxuICAgICAgb2JzZXJ2ZS5uZXh0KHIpO1xyXG4gICAgICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcblxyXG4gICAgfSwgZSA9PiBvYnNlcnZlLmVycm9yKGUpKTtcclxuICB9KTtcclxufVxyXG4iXX0=
404
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbGJveC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL21haWxib3guc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBRUwsYUFBYSxFQUNNLFdBQVcsRUFBRSxZQUFZLEVBQzdDLE1BQU0sc0JBQXNCLENBQUM7QUFHOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7O0FBSy9DLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxJQUFJLGNBQWMsQ0FBcUIsT0FBTyxDQUFDLENBQUM7QUFTOUUsTUFBTSxPQUFPLGNBQWM7SUFNekIsWUFBb0IsUUFBd0IsRUFDbEMsS0FBeUIsRUFDakMsU0FBcUIsRUFDYixLQUFpQjtRQUhQLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ2xDLFVBQUssR0FBTCxLQUFLLENBQW9CO1FBRXpCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFSVixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQXVCLENBQUM7UUFDOUMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDbEQsTUFBTTtRQUNVLFlBQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3ZDLFlBQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBdVZ2RDtXQUNHO1FBQ0ssWUFBTyxHQUFHLEdBQU0sRUFBRSxDQUFDLENBQUMsT0FBc0MsRUFBRSxFQUFFO1lBQ3BFLE9B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QUMsQ0FBQyxDQUFDLENBQUM7SUFDNUIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBIdHRwQ2xpZW50LCBIdHRwRXZlbnQsXHJcbiAgSHR0cEV2ZW50VHlwZSxcclxuICBIdHRwUHJvZ3Jlc3NFdmVudCwgSHR0cFJlcXVlc3QsIEh0dHBSZXNwb25zZVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tbWVudCwgVXNlckluZm8sIFJlY2lwaWVudE1vZGVsLCBBdHRhY2htZW50LCBTY2hlZHVsZWRFdmVudCwgSGVhZGVyTW9kZWwsIERvY3VtZW50TW9kZWwsIFZvdGUsIENvbW1lbnRWZXJzaW9uLCBDaGFpbiB9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFwLCBzd2l0Y2hNYXAsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgY2xlYW51cCwgaXNBcnJheSB9IGZyb20gJy4vZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4vaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvbkltcGwgfSBmcm9tICcuL2F1dGhlbnRpY2F0aW9uJztcclxuaW1wb3J0IHsgU2FmZVVybCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuZXhwb3J0IGNvbnN0IERPQ1VNRU5UX01PREVMID0gbmV3IEluamVjdGlvblRva2VuPERvY3VtZW50TW9kZWw8YW55Pj4oJ21vZGVsJyk7XHJcblxyXG5leHBvcnQgdHlwZSBGaWx0ZXJUeXBlID0gJ3JlY2VudCcgfCAndW5yZWFkJyB8ICdmbGFnZ2VkJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlRXZlbnQ8VD4ge1xyXG4gIG1vZGVsOiBSZWNpcGllbnRNb2RlbDxUPjtcclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIE1haWxib3hTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2UkID0gbmV3IFN1YmplY3Q8UmVjaXBpZW50TW9kZWw8YW55Pj4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZWxldGUkID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xyXG4gIC8qKiAqL1xyXG4gIHB1YmxpYyByZWFkb25seSBjaGFuZ2VkID0gdGhpcy5fY2hhbmdlJC5hc09ic2VydmFibGUoKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgZGVsZXRlZCA9IHRoaXMuX2RlbGV0ZSQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9hdXRoOiBBdXRoZW50aWNhdGlvbkltcGwsXHJcbiAgICBtZXNzYWdpbmc6IEh1YlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50KSB7XHJcbiAgICBtZXNzYWdpbmcubmV3JC5cclxuICAgICAgc3Vic2NyaWJlKG0gPT4ge1xyXG4gICAgICAgIGlmIChtLnVzZXJJZCAhPT0gX3Nlc3Npb24ucHJvZmlsZS51c2VySWQpIHJldHVybjtcclxuICAgICAgICBfc2Vzc2lvbi5wcm9maWxlLmluYm94Q291bnQrKztcclxuICAgICAgICBjb25zdCBmb2xkZXIgPSBfc2Vzc2lvbi5wcm9maWxlLmZvbGRlcnMuZmluZChmID0+IGYubmFtZSA9PT0gbS5tb2RlbC5mb2xkZXJJZCk7XHJcbiAgICAgICAgZm9sZGVyLmNvdW50Kys7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBmb3JtYXREb3dubG9hZFVybChkb2N1bWVudElkOiBudW1iZXIsIGZpbGVJZDogbnVtYmVyLCBpbmxpbmU/OiBib29sZWFuKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHRva2VuID0gdGhpcy5fYXV0aC5nZXRBY2Nlc3NUb2tlbigpO1xyXG4gICAgcmV0dXJuIGAvYXBpL2F0dGFjaG1lbnRzLyR7ZG9jdW1lbnRJZH0vJHtmaWxlSWR9P2FjY2Vzc190b2tlbj0ke3Rva2VufSZpbmxpbmU9JHtpbmxpbmUgPyB0cnVlIDogZmFsc2V9YDtcclxuICB9XHJcbiAgZG93bmxvYWQoZG9jdW1lbnRJZDogbnVtYmVyLCBmaWxlSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAvL25ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAvLyAgb2JzZXJ2ZS5uZXh0KHt9KTtcclxuICAgIC8vICByZXR1cm4ge1xyXG4gICAgLy8gICAgdW5zdWJzY3JpYmUoKSB7IH1cclxuICAgIC8vICB9XHJcbiAgICAvL30pO1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0KGAvYXBpL2F0dGFjaG1lbnRzLyR7ZG9jdW1lbnRJZH0vJHtmaWxlSWR9YCwge1xyXG4gICAgICByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicsXHJcbiAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcmVtb3ZlYXR0YWNobWVudChyZWNpcGllbnRJZDogbnVtYmVyLCBmaWxlSWQ6IG51bWJlcik6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5kZWxldGUoYC9hcGkvYXR0YWNobWVudHMvJHtyZWNpcGllbnRJZH0vJHtmaWxlSWR9YCk7XHJcbiAgfVxyXG4gIHJlYWQoaWQ6IG51bWJlciwgcmVhZDogYm9vbGVhbiwgZm9sZGVySWQ/OiBzdHJpbmcsIHJlY2VpdmVkPzogRGF0ZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQoYC9hcGkvbWFpbGJveC9yZWFkLyR7aWR9YCwgdW5kZWZpbmVkLCB7IHBhcmFtczogeyByZWFkIH0gYXMgYW55IH0pLnBpcGUodGFwKCgpID0+XHJcbiAgICAgIGZvbGRlcklkICYmIHRoaXMuX3VwZGF0ZXVucmVhZGNvdW50ZXIocmVjZWl2ZWQsIGZvbGRlcklkLCByZWFkID8gMSA6IC0xKVxyXG4gICAgKSk7XHJcbiAgfVxyXG4gIGNvbW1lbnRzKGlkOiBudW1iZXIsIGJlZm9yZTogRGF0ZSk6IE9ic2VydmFibGU8Q29tbWVudFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8Q29tbWVudFtdPihgL2FwaS9jb21tZW50cy8ke2lkfWAsIHsgcGFyYW1zOiB7IGJlZm9yZTogbmV3IERhdGUoYmVmb3JlKS50b0pTT04oKSB9IH0pO1xyXG4gIH1cclxuICB0YWdzKGlkOiBudW1iZXIsIHRhZ3M6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dChgL2FwaS9tYWlsYm94L3RhZy8ke2lkfWAsIHsgdGFncyB9KS5waXBlKHRhcCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2NoYW5nZSQubmV4dCh7IGlkLCB0YWdzIH0gYXMgYW55KTtcclxuICAgIH0pKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGRvY3VtZW50SWRcclxuICAgKiBAcGFyYW0gc3RhdGVJZFxyXG4gICAqIEBwYXJhbSB1c2VySWQgc3Vic3RpdHV0ZVxyXG4gICAqL1xyXG4gIGNoYW5nZVN0YXRlKGRvY3VtZW50SWQ6IG51bWJlciwgc3RhdGVJZDogc3RyaW5nLCB1c2VySWQ/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0KGAvYXBpL21haWxib3gvY2hhbmdlc3RhdGUvJHtkb2N1bWVudElkfWAsIHsgc3RhdGVJZCwgdXNlcklkIH0pO1xyXG4gIH1cclxuICBtb3ZlKGlkOiBudW1iZXIsIGZvbGRlcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0KGAvYXBpL21haWxib3gvbW92ZS8ke2lkfT9mb2xkZXJJZD0ke2ZvbGRlcklkfWAsIHt9KS5waXBlKHRhcCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuX2NoYW5nZSQubmV4dCh7XHJcbiAgICAgICAgaWQsXHJcbiAgICAgICAgZm9sZGVySWRcclxuICAgICAgfSBhcyBhbnkpO1xyXG4gICAgfSkpO1xyXG4gIH1cclxuICBjaGVja091dChyZWNpcGllbnRJZDogbnVtYmVyLCB2ZXJzaW9uOiBudW1iZXIsIGF0dGFjaG1lbnRJZDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQ8QXR0YWNobWVudD4oYC9hcGkvYXR0YWNobWVudHMvJHtyZWNpcGllbnRJZH0vJHthdHRhY2htZW50SWR9L2NoZWNrb3V0YCwgbnVsbCwgeyBwYXJhbXM6IHsgdmVyc2lvbiB9IH0pO1xyXG4gIH1cclxuICBjaGVja0luKHJlY2lwaWVudElkOiBudW1iZXIsIHZlcnNpb246IG51bWJlciwgYXR0YWNobWVudElkOiBudW1iZXIsIGZpbGU6IEZpbGUpOiBPYnNlcnZhYmxlPEF0dGFjaG1lbnQ+IHtcclxuICAgIGNvbnN0IGZkID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICBmZC5hcHBlbmQoZmlsZS5uYW1lLCBmaWxlKTtcclxuICAgIGNvbnN0IHJlcSA9IG5ldyBIdHRwUmVxdWVzdCgnUFVUJyxcclxuICAgICAgYC9hcGkvYXR0YWNobWVudHMvJHtyZWNpcGllbnRJZH0vJHthdHRhY2htZW50SWR9L2NoZWNraW4/dmVyc2lvbj0ke3ZlcnNpb259YCwgZmQsIHtcclxuICAgICAgcmVwb3J0UHJvZ3Jlc3M6IHRydWUsXHJcbiAgICB9KTtcclxuICAgIC8vY29uc3QgaW5pdGlhbFN0YXRlOiBVcGxvYWRFdmVudCA9IHsgc3RhdGU6ICdQRU5ESU5HJywgcHJvZ3Jlc3M6IDAgfVxyXG4gICAgLy9jb25zdCBjYWxjdWxhdGVTdGF0ZSA9IChcclxuICAgIC8vICB1cGxvYWQ6IFVwbG9hZEV2ZW50LFxyXG4gICAgLy8gIGV2ZW50OiBIdHRwRXZlbnQ8dW5rbm93bj5cclxuICAgIC8vKTogVXBsb2FkRXZlbnQgPT4ge1xyXG4gICAgLy8gIC8vIGltcGxlbWVudGF0aW9uXHJcbiAgICAvL31cclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICB0aGlzLl9odHRwLnJlcXVlc3QocmVxKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIFByb2dyZXNzRXZlbnQpIHtcclxuICAgICAgICAgIC8vICBvYnNlcnZlLm5leHQobmV3IFVwbG9hZEV2ZW50KFxyXG4gICAgICAgICAgLy8gICAgZmlsZS5uYW1lLFxyXG4gICAgICAgICAgLy8gICAgKGV2ZW50IGFzIFByb2dyZXNzRXZlbnQpLmxvYWRlZCxcclxuICAgICAgICAgIC8vICAgIChldmVudCBhcyBQcm9ncmVzc0V2ZW50KS50b3RhbFxyXG4gICAgICAgICAgLy8gICkpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQgaW5zdGFuY2VvZiBIdHRwUmVzcG9uc2UpIHtcclxuICAgICAgICAgIGNvbnN0IHJlcyA9IGV2ZW50IGFzIEh0dHBSZXNwb25zZTxhbnk+O1xyXG4gICAgICAgICAgaWYgKHJlcy5zdGF0dXMgPT09IDIwMCkge1xyXG4gICAgICAgICAgICBjb25zdCBtb2RlbCA9IHJlcy5ib2R5IGFzIEF0dGFjaG1lbnQ7XHJcbiAgICAgICAgICAgIG9ic2VydmUubmV4dChtb2RlbCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIG9ic2VydmUuZXJyb3IoeyBzdGF0dXM6IHJlcy5zdGF0dXMsIGVycm9yOiByZXMuYm9keSB9KTtcclxuICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIGUgPT4ge1xyXG4gICAgICAgIG9ic2VydmUuZXJyb3IoZSk7XHJcbiAgICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICB1bnN1YnNjcmliZSgpIHtcclxuICAgICAgICAgIC8vcmVxLlxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHVwbG9hZChyZWNpcGllbnRJZDogbnVtYmVyLCBmb3JtSWQ6IHN0cmluZywgdmVyc2lvbjogbnVtYmVyLCBmaWxlOiBGaWxlLCBvcHRpb25zPzogeyBpc1ByaXZhdGU/OiBib29sZWFuIH0pOiBPYnNlcnZhYmxlPEF0dGFjaG1lbnQ+O1xyXG4gIHVwbG9hZChyZWNpcGllbnRJZDogbnVtYmVyLCBmb3JtSWQ6IHN0cmluZywgdmVyc2lvbjogbnVtYmVyLCBmaWxlczogRmlsZVtdLCBvcHRpb25zPzogeyBpc1ByaXZhdGU/OiBib29sZWFuIH0pOiBPYnNlcnZhYmxlPEF0dGFjaG1lbnRbXT47XHJcbiAgdXBsb2FkKHJlY2lwaWVudElkOiBudW1iZXIsIGZvcm1JZDogc3RyaW5nLCB2ZXJzaW9uOiBudW1iZXIsIGZpbGVzOiBGaWxlIHwgRmlsZVtdLCBvcHRpb25zPzogeyBpc1ByaXZhdGU/OiBib29sZWFuIH0pOiBPYnNlcnZhYmxlPEF0dGFjaG1lbnQgfCBBdHRhY2htZW50W10+IHtcclxuICAgIGNvbnN0IGZkID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICBpZiAoaXNBcnJheShmaWxlcykpIGZpbGVzLmZvckVhY2goZiA9PlxyXG4gICAgICBmZC5hcHBlbmQoZi5uYW1lLCBmKSk7XHJcbiAgICBlbHNlIGZkLmFwcGVuZChmaWxlcy5uYW1lLCBmaWxlcyk7XHJcbiAgICAvL2NvbnN0IGJ5dGVzUGVyQ2h1bmsgPSAyMCAqIDEwMjQgKiAxMDI0O1xyXG4gICAgLy8gYXF1aXJlIHRoZSBsb2NhdGlvbiBwcmlvciB0byBzZW5kaW5nIHRoZSByZXF1ZXN0XHJcbiAgICByZXR1cm4gdGhpcy5fZ2VvTG9jYXRpb24oZm9ybUlkKS5waXBlKHN3aXRjaE1hcChwYXJhbXMgPT5cclxuICAgICAgbmV3IE9ic2VydmFibGU8YW55PihvYnNlcnZlID0+IHtcclxuICAgICAgICBsZXQgdXJsID0gYC9hcGkvYXR0YWNobWVudHMvJHtyZWNpcGllbnRJZH0/dmVyc2lvbj0ke3ZlcnNpb259YDtcclxuICAgICAgICBPYmplY3Qua2V5cyhwYXJhbXMpLmZvckVhY2gocCA9PiB1cmwgKz0gYCYke3B9PSR7cGFyYW1zW3BdfWApO1xyXG4gICAgICAgIGlmIChvcHRpb25zKSB7XHJcbiAgICAgICAgICBpZiAob3B0aW9ucy5pc1ByaXZhdGUpIHVybCArPSAnJmlzcHJpdmF0ZT10cnVlJ1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCByZXEgPSBuZXcgSHR0cFJlcXVlc3QoJ1BPU1QnLCB1cmwsIGZkLCB7XHJcbiAgICAgICAgICByZXBvcnRQcm9ncmVzczogdHJ1ZSxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLl9odHRwLnJlcXVlc3QocmVxKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgUHJvZ3Jlc3NFdmVudCkge1xyXG4gICAgICAgICAgICAvLyBUaGlzIGlzIGFuIHVwbG9hZCBwcm9ncmVzcyBldmVudC4gQ29tcHV0ZSBhbmQgc2hvdyB0aGUgJSBkb25lOlxyXG4gICAgICAgICAgICAvL2NvbnN0IHBlcmNlbnREb25lID0gTWF0aC5yb3VuZCgxMDAgKiBldmVudC5sb2FkZWQgLyBldmVudC50b3RhbCk7XHJcbiAgICAgICAgICAgIC8vY29uc29sZS5sb2coYEZpbGUgaXMgJHtwZXJjZW50RG9uZX0lIHVwbG9hZGVkLmApO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG4gICAgICAgICAgICBjb25zdCByZXMgPSBldmVudCBhcyBIdHRwUmVzcG9uc2U8YW55PjtcclxuICAgICAgICAgICAgaWYgKHJlcy5zdGF0dXMgPT09IDIwMCkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IG1vZGVsID0gcmVzLmJvZHkgYXMgQXR0YWNobWVudFtdO1xyXG4gICAgICAgICAgICAgIG9ic2VydmUubmV4dChpc0FycmF5KGZpbGVzKSA/IG1vZGVsIDogbW9kZWxbMF0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICBvYnNlcnZlLmVycm9yKHsgc3RhdHVzOiByZXMuc3RhdHVzLCBlcnJvcjogcmVzLmJvZHkgfSk7XHJcbiAgICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCBlID0+IHtcclxuICAgICAgICAgIG9ic2VydmUuZXJyb3IoZSk7XHJcbiAgICAgICAgICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIHVuc3Vic2NyaWJlKCkge1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSkpKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogcmV0cmlldmUgc2VuZGVyc1xyXG4gICAqIEBwYXJhbSBuYW1lXHJcbiAgICovXHJcbiAgc2VuZGVycyhuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJJbmZvW10+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxVc2VySW5mb1tdPignL2FwaS9tYWlsYm94L3NlbmRlcnMvJywge1xyXG4gICAgICBwYXJhbXM6IHtcclxuICAgICAgICBuYW1lXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBmbGFnKGlkOiBudW1iZXIsIGZsYWc6IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0KGAvYXBpL21haWxib3gvZmxhZy8ke2lkfT9mbGFnPSR7ZmxhZ31gLCBudWxsKS5waXBlKHRhcCgoKSA9PiB0aGlzLl9jaGFuZ2UkLm5leHQoeyBpZCwgZmxhZyB9IGFzIGFueSkpKTtcclxuICB9XHJcbiAgdmlld2VkY29tbWVudHMoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8eyB0aW1lOiBEYXRlIH0+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dDx7IHRpbWU6IERhdGUgfT4oYC9hcGkvY29tbWVudHMvdmlld2VkLyR7aWR9YCwge30sIHsgaGVhZGVyczogeyAnbm8tcHJvZ3Jlc3MnOiAndHJ1ZScgfSB9KS5waXBlKHRhcCgoZTogeyB0aW1lOiBEYXRlIH0pID0+IHRoaXMuX2NoYW5nZSQubmV4dCh7IGlkLCB2aWV3ZWQ6IGUudGltZSB9IGFzIGFueSkpKTtcclxuICB9XHJcbiAgdHlwaW5nKGlkOiBudW1iZXIpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0KGAvYXBpL2NvbW1lbnRzL3R5cGluZy8ke2lkfWAsIHt9LCB7IGhlYWRlcnM6IHsgJ25vLXByb2dyZXNzJzogJ3RydWUnIH0gfSkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG4gIGVkaXRpbmcoaWQ6IG51bWJlcik6IFByb21pc2U8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQoYC9hcGkvbWFpbGJveC9lZGl0aW5nLyR7aWR9YCwge30sIHsgaGVhZGVyczogeyAnbm8tcHJvZ3Jlc3MnOiAndHJ1ZScgfSB9KS50b1Byb21pc2UoKTtcclxuICB9XHJcbiAgY29weShpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxSZWNpcGllbnRNb2RlbDxhbnk+PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PFJlY2lwaWVudE1vZGVsPGFueT4+KGAvYXBpL21haWxib3gvY29weS8ke2lkfWAsIHt9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGlkIGRvY3VtZW50IGlkXHJcbiAgICogQHBhcmFtIG9wdGlvbnNcclxuICAgKi9cclxuICBjb21tZW50KGlkOiBudW1iZXIsIG9wdGlvbnM6IHtcclxuICAgIHRleHQ/OiBzdHJpbmcsXHJcbiAgICByZXNvdXJjZT86IHsgW2tleTogc3RyaW5nXTogYW55IH0sXHJcbiAgICBpbWFnZT86IHN0cmluZyxcclxuICAgIHBhcmVudElkPzogbnVtYmVyXHJcbiAgfSk6IE9ic2VydmFibGU8Q29tbWVudD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucG9zdDxDb21tZW50PihgL2FwaS9jb21tZW50cy8ke2lkfWAsIG9wdGlvbnMpO1xyXG4gIH1cclxuICBjb21tZW50dXBkYXRlKGlkOiBudW1iZXIsIGNvbW1lbnRJZDogbnVtYmVyLCBvcHRpb25zOiB7XHJcbiAgICB0ZXh0Pzogc3RyaW5nLFxyXG4gICAgaW1hZ2U/OiBzdHJpbmcsXHJcbiAgICByZXNvdXJjZT86IHsgW2tleTogc3RyaW5nXTogYW55IH1cclxuICB9KTogT2JzZXJ2YWJsZTxDb21tZW50PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQ8Q29tbWVudD4oYC9hcGkvY29tbWVudHMvZWRpdC8ke2lkfS8ke2NvbW1lbnRJZH1gLCBvcHRpb25zKTtcclxuICB9XHJcbiAgaW5mbzxUID0gYW55Pihkb2N1bWVudElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPERvY3VtZW50TW9kZWw8VD4+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxEb2N1bWVudE1vZGVsPFQ+PihgL2FwaS9tYWlsYm94L2luZm8vJHtkb2N1bWVudElkfWApO1xyXG4gIH1cclxuICB0aW1lbGluZShkb2N1bWVudElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPENoYWluPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8Q2hhaW4+KGAvYXBpL21haWxib3gvdGltZWxpbmUvJHtkb2N1bWVudElkfWApO1xyXG4gIH1cclxuICB2b3RlKGlkOiBudW1iZXIsIGNvbW1lbnRJZDogbnVtYmVyLCB2YWx1ZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3QoYC9hcGkvY29tbWVudHMvdm90ZS8ke2lkfS8ke2NvbW1lbnRJZH1gLCB7fSwgeyBwYXJhbXM6IHsgdmFsdWU6IHZhbHVlLnRvU3RyaW5nKCkgfSB9KTtcclxuICB9XHJcbiAgdm90ZXMoaWQ6IG51bWJlciwgY29tbWVudElkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFZvdGVbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PFZvdGVbXT4oYC9hcGkvY29tbWVudHMvdm90ZXMvJHtpZH0vJHtjb21tZW50SWR9YCk7XHJcbiAgfVxyXG4gIGVkaXRzKGlkOiBudW1iZXIsIGNvbW1lbnRJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxDb21tZW50VmVyc2lvbltdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8Q29tbWVudFZlcnNpb25bXT4oYC9hcGkvY29tbWVudHMvZWRpdHMvJHtpZH0vJHtjb21tZW50SWR9YCk7XHJcbiAgfVxyXG4gIGZpbmRBbGwoZmlsdGVyOiB7IHR5cGU/OiBGaWx0ZXJUeXBlOyBjb250YWlucz86IHN0cmluZzsgc3RhdGU/OiBzdHJpbmc7IGZvcm0/OiBzdHJpbmc7IGZvbGRlcklkPzogc3RyaW5nOyBzZW5kZXJJZD86IHN0cmluZzsgfSxcclxuICAgIG9wdGlvbnM/OiB7IHNraXA/OiBudW1iZXI7IHRha2U/OiBudW1iZXI7IG9yZGVyQnk/OiAndmFsdWUnIHwgJ3ZpZXdlZCcgfCAnZGF0ZScgfSk6IE9ic2VydmFibGU8SGVhZGVyTW9kZWxbXT4ge1xyXG4gICAgY29uc3QgcGFyYW1zOiBhbnkgPSB7IC4uLmZpbHRlciwgLi4ub3B0aW9ucyB9O1xyXG4gICAgY2xlYW51cChwYXJhbXMpO1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PEhlYWRlck1vZGVsW10+KCcvYXBpL21haWwnLCB7IHBhcmFtcyB9KTtcclxuICB9XHJcbiAgY3JlYXRlPFQgPSBhbnk+KGZvcm06IHN0cmluZyk6IE9ic2VydmFibGU8UmVjaXBpZW50TW9kZWw8VD4+IHtcclxuICAgIHJldHVybiB0aGlzLl9nZW9Mb2NhdGlvbihmb3JtKS5waXBlKHN3aXRjaE1hcChwID0+XHJcbiAgICAgIHRoaXMuX2h0dHAucG9zdDxSZWNpcGllbnRNb2RlbDxhbnk+PignL2FwaS9tYWlsJywgbnVsbCwge1xyXG4gICAgICAgIHBhcmFtczoge1xyXG4gICAgICAgICAgZm9ybSxcclxuICAgICAgICAgIC4uLnBcclxuICAgICAgICB9XHJcbiAgICAgIH0pKSwgdGhpcy5fbm90aWZ5PFQ+KCkpO1xyXG4gIH1cclxuICBnZXQ8VCA9IGFueT4oaWQ6IG51bWJlciwgcmVhZD86IGJvb2xlYW4pOiBPYnNlcnZhYmxlPFJlY2lwaWVudE1vZGVsPFQ+PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8UmVjaXBpZW50TW9kZWw8VD4+KGAvYXBpL21haWwvJHtpZH1gKS5waXBlKFxyXG4gICAgICB0YXAoKG06IFJlY2lwaWVudE1vZGVsKSA9PlxyXG4gICAgICAgIHJlYWQgPT09IGZhbHNlICYmIG0ucmVhZCA9PT0gdHJ1ZSAmJlxyXG4gICAgICAgIHRoaXMuX3VwZGF0ZXVucmVhZGNvdW50ZXIobS5yZWNlaXZlZCwgbS5mb2xkZXJJZCwgLTEpXHJcbiAgICAgICkpO1xyXG4gIH1cclxuICBwcml2YXRlIF91cGRhdGV1bnJlYWRjb3VudGVyKGRhdGU6IERhdGUsIGZvbGRlcklkOiBzdHJpbmcsIHZhbDogbnVtYmVyKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIC8vIGRhdGUgaXMgYWJvdmUgd2F0ZXJtYXJrXHJcbiAgICAgIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5vcHRpb25zLmluYm94VmlldyAmJlxyXG4gICAgICB0aGlzLl9zZXNzaW9uLnByb2ZpbGUub3B0aW9ucy5pbmJveFZpZXcgPCBkYXRlXHJcbiAgICApXHJcbiAgICAgIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5pbmJveENvdW50ICs9IHZhbDtcclxuICAgIC8vIGRlY3JlYXNlXHJcbiAgICBjb25zdCBmb2xkZXIgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9sZGVycy5cclxuICAgICAgZmluZChmID0+IGYubmFtZSA9PT0gZm9sZGVySWQpO1xyXG4gICAgZm9sZGVyLmNvdW50ID0gTWF0aC5tYXgoMCwgZm9sZGVyLmNvdW50ICsgdmFsKTtcclxuICB9XHJcblxyXG4gIHNhdmU8VCA9IGFueT4oaWQ6IG51bWJlciwgZm9ybTogc3RyaW5nLCB2ZXJzaW9uOiBudW1iZXIsIG1vZGVsOiB7fSwgZmlsZXM/OiBGaWxlW10gfCBGaWxlTGlzdCk6IE9ic2VydmFibGU8UmVjaXBpZW50TW9kZWw8VD4+IHtcclxuICAgIC8vY29uc3QgZmQgPSBuZXcgRm9ybURhdGEoKTtcclxuICAgIC8vY29uc3QgbW9kZWxCbG9iID0gbmV3IEJsb2IoW0pTT04uc3RyaW5naWZ5KG1vZGVsKV0sIHtcclxuICAgIC8vICB0eXBlOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAvL30pO1xyXG4gICAgLy9mZC5hcHBlbmQoJ2Zvcm0tZGF0YScsIG1vZGVsQmxvYik7XHJcbiAgICAvL2lmIChmaWxlcykge1xyXG4gICAgLy8gIGlmIChpc0FycmF5KGZpbGVzKSkgZmlsZXMuZm9yRWFjaChmID0+XHJcbiAgICAvLyAgICBmZC5hcHBlbmQoZi5uYW1lLCBmKSk7XHJcbiAgICAvLyAgZWxzZSBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAvLyAgICBsZXQgZmlsZSA9IGZpbGVzLml0ZW0oaSk7XHJcbiAgICAvLyAgICBmZC5hcHBlbmQoZmlsZS5uYW1lLCBmaWxlKTtcclxuICAgIC8vICB9XHJcbiAgICAvL31cclxuICAgIC8vICByZXR1cm4gdGhpcy5fd2l0aEdlb0xvY2F0aW9uKGZvcm0pLnBpcGUoc3dpdGNoTWFwKHBhcmFtcyA9PiB7XHJcbiAgICAvLyAgICBsZXQgdXJsID0gYC9hcGkvbWFpbC8ke2lkfT92ZXJzaW9uPSR7dmVyc2lvbn1gO1xyXG4gICAgLy8gICAgT2JqZWN0LmtleXMocGFyYW1zKS5mb3JFYWNoKHAgPT4gdXJsICs9IGAmJHtwfT0ke3BhcmFtc1twXX1gKTtcclxuICAgIC8vICAgIGNvbnN0IHJlcSA9IG5ldyBIdHRwUmVxdWVzdCgnUFVUJywgdXJsLCBmZCwge1xyXG4gICAgLy8gICAgfSk7XHJcbiAgICAvLyAgICByZXR1cm4gdGhpcy5faHR0cC5yZXF1ZXN0KHJlcSkucGlwZShtYXAoZXZlbnQgPT4ge1xyXG4gICAgLy8gICAgICBjb25zdCByZXMgPSBldmVudCBhcyBIdHRwUmVzcG9uc2U8YW55PjtcclxuICAgIC8vICAgICAgaWYgKHJlcy5zdGF0dXMgPT09IDIwMCkge1xyXG4gICAgLy8gICAgICAgIGNvbnN0IG1vZGVsID0gcmVzLmJvZHkgYXMgUmVjaXBpZW50TW9kZWw8YW55PjtcclxuICAgIC8vICAgICAgICByZXR1cm4gbW9kZWw7XHJcbiAgICAvLyAgICAgIH1cclxuICAgIC8vICAgICAgZWxzZVxyXG4gICAgLy8gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKHsgc3RhdHVzOiByZXMuc3RhdHVzLCBlcnJvcjogcmVzLmJvZHkgfSk7XHJcbiAgICAvLyAgICB9KSlcclxuICAgIC8vICB9KSwgdGhpcy5fbm90aWZ5PFQ+KCkpO1xyXG4gICAgcmV0dXJuIHRoaXMuX2dlb0xvY2F0aW9uKGZvcm0pLnBpcGUoXHJcbiAgICAgIHN3aXRjaE1hcChwYXJhbXMgPT50aGlzLl9odHRwLnB1dDxSZWNpcGllbnRNb2RlbDxUPj4oYC9hcGkvbWFpbC8ke2lkfT92ZXJzaW9uPSR7dmVyc2lvbn1gLCBtb2RlbCwgeyBwYXJhbXMgfSkpLFxyXG4gICAgICB0aGlzLl9ub3RpZnk8VD4oKSk7XHJcbiAgfVxyXG4gIGRlbGV0ZShpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmRlbGV0ZShgL2FwaS9tYWlsLyR7aWR9YCkucGlwZSh0YXAoKCkgPT5cclxuICAgICAgdGhpcy5fZGVsZXRlJC5uZXh0KGlkKSkpO1xyXG4gIH1cclxuICByZW1vdmVjb21tZW50KGlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZGVsZXRlKGAvYXBpL2NvbW1lbnRzLyR7aWR9YCk7XHJcbiAgfVxyXG4gIHN1Ym1pdDxUID0gYW55PihpZDogbnVtYmVyLCB2ZXJzaW9uOiBudW1iZXIsIGZvcm06IHN0cmluZywgbW9kZWw/OiBhbnksIHJlYWQ/OiBib29sZWFuLCBmb2xkZXJJZD86IHN0cmluZywgcmVjZWl2ZWQ/OiBEYXRlKTogT2JzZXJ2YWJsZTxSZWNpcGllbnRNb2RlbDxUPj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dlb0xvY2F0aW9uKGZvcm0pLnBpcGUoc3dpdGNoTWFwKHBhcmFtcyA9PlxyXG4gICAgICB0aGlzLl9odHRwLnB1dDxSZWNpcGllbnRNb2RlbDxhbnk+PihgL2FwaS9tYWlsLyR7aWR9P3ZlcnNpb249JHt2ZXJzaW9ufSZnbz10cnVlYCwgbW9kZWwsIHsgcGFyYW1zIH0pKSkucGlwZShcclxuICAgICAgICB0aGlzLl9ub3RpZnk8VD4oKSk7XHJcbiAgfVxyXG4gIHNlbmQ8VCA9IGFueT4oaWQ6IG51bWJlciwgdmVyc2lvbjogbnVtYmVyLCBmb3JtOiBzdHJpbmcsIG1vZGVsOiBhbnksIGFjdGlvbjogc3RyaW5nLCBhY3Rpb25BcmdzOiB7fSwgcmVhZD86IGJvb2xlYW4sIGZvbGRlcklkPzogc3RyaW5nLCByZWNlaXZlZD86IERhdGUpOiBPYnNlcnZhYmxlPFJlY2lwaWVudE1vZGVsPFQ+PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZ2VvTG9jYXRpb24oZm9ybSkucGlwZShzd2l0Y2hNYXAocGFyYW1zID0+XHJcbiAgICAgIHRoaXMuX2h0dHAucHV0PFJlY2lwaWVudE1vZGVsPFQ+PihgL2FwaS9tYWlsLyR7aWR9P3ZlcnNpb249JHt2ZXJzaW9ufSZhY3Rpb249JHthY3Rpb259YCwgbW9kZWwsIHsgcGFyYW1zOiB7IC4uLnBhcmFtcywgLi4uYWN0aW9uQXJncyB9IH0pKSkucGlwZShcclxuICAgICAgICB0YXAoKCkgPT5cclxuICAgICAgICAgIHJlYWQgPT09IGZhbHNlICYmIHRoaXMuX3VwZGF0ZXVucmVhZGNvdW50ZXIocmVjZWl2ZWQsIGZvbGRlcklkLCAtMSlcclxuICAgICAgICApLFxyXG4gICAgICAgIHRoaXMuX25vdGlmeTxUPigpKTtcclxuICB9XHJcbiAgZXZlbnRzKHN0YXJ0aW5nOiBEYXRlLCBlbmRpbmc/OiBEYXRlLCBjb250YWlucz86IHN0cmluZyk6IE9ic2VydmFibGU8U2NoZWR1bGVkRXZlbnRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PFNjaGVkdWxlZEV2ZW50W10+KGAvYXBpL2V2ZW50c2AsIHtcclxuICAgICAgcGFyYW1zOiB7XHJcbiAgICAgICAgc3RhcnRpbmc6IHN0YXJ0aW5nLnRvSlNPTigpLFxyXG4gICAgICAgIGVuZGluZzogZW5kaW5nLnRvSlNPTigpLFxyXG4gICAgICAgIGNvbnRhaW5zOiBjb250YWlucyB8fCAnJ1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgY2hhbmdlRXZlbnQoaWQ6IG51bWJlciwgb3B0aW9uczogeyBzdGFydGluZzogRGF0ZTsgZW5kaW5nPzogRGF0ZTsgY29tcGxldGU/OiBib29sZWFuIH0pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0KGAvYXBpL2V2ZW50cy8ke2lkfWAsIG9wdGlvbnMpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBnZXQgZ2VvIGxvY2F0aW9uIGlmIGZvcm0gc2V0dGluZ3MgcmVxdWllc1xyXG4gICAqIEBwYXJhbSBmb3JtXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfZ2VvTG9jYXRpb24oZm9ybTogc3RyaW5nKTogT2JzZXJ2YWJsZTx7IGxuZz86IHN0cmluZzsgbGF0Pzogc3RyaW5nIH0+IHtcclxuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmluZChmID0+IGYubmFtZSA9PT0gZm9ybSk7XHJcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8YW55PihvYnNlcnZlID0+IHtcclxuICAgICAgc3dpdGNoIChjb25maWd1cmF0aW9uLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgY2FzZSAnUmVxdWlyZSc6XHJcbiAgICAgICAgY2FzZSAnQXNrJzpcclxuICAgICAgICAgIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24ociA9PiB7XHJcbiAgICAgICAgICAgIG9ic2VydmUubmV4dCh7XHJcbiAgICAgICAgICAgICAgbG5nOiByLmNvb3Jkcy5sb25naXR1ZGUudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgICBsYXQ6IHIuY29vcmRzLmxhdGl0dWRlLnRvU3RyaW5nKClcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICAgIH0sIGUgPT4ge1xyXG4gICAgICAgICAgICBpZiAoY29uZmlndXJhdGlvbi5wb3NpdGlvbiA9PT0gJ0FzaycpXHJcbiAgICAgICAgICAgICAgb2JzZXJ2ZS5uZXh0KHt9KTtcclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgIG9ic2VydmUuZXJyb3IoJ25vIHBvc2l0aW9uJyk7XHJcbiAgICAgICAgICAgIG9ic2VydmUuY29tcGxldGUoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIG9ic2VydmUubmV4dCh7fSk7XHJcbiAgICAgICAgICBvYnNlcnZlLmNvbXBsZXRlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKi9cclxuICBwcml2YXRlIF9ub3RpZnkgPSA8VD4oKSA9PiAob2JzZXJ2ZTogT2JzZXJ2YWJsZTxSZWNpcGllbnRNb2RlbDxUPj4pID0+IHtcclxuICAgIHJldHVybiBvYnNlcnZlLnBpcGUodGFwKG0gPT4ge1xyXG4gICAgICAobSBhcyBJdGVtRXh0cmEpLmxvYWRlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuX2NoYW5nZSQubmV4dChtKTtcclxuICAgIH0pKTtcclxuICB9O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgSXRlbUV4dHJhIHtcclxuICBsb2FkaW5nPzogYm9vbGVhbjtcclxuICBsb2FkZWQ/OiBib29sZWFuO1xyXG4gIHdvcmtpbmc/OiBib29sZWFuO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQXR0YWNobWVudEV4dHJhIGV4dGVuZHMgQXR0YWNobWVudCB7XHJcbiAgdXJsOiBTYWZlVXJsO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgZmlsZUV4dDogc3RyaW5nO1xyXG4gIGlzSW1hZ2U6IGJvb2xlYW47XHJcbiAgcHJvZ3Jlc3M/OiBudW1iZXI7XHJcbiAgdmlld2VkPzogRGF0ZTtcclxuICBmYWlsZWQ/OiBib29sZWFuO1xyXG59XHJcbmZ1bmN0aW9uIGlzSHR0cFJlc3BvbnNlPFQ+KGV2ZW50OiBIdHRwRXZlbnQ8VD4pOiBldmVudCBpcyBIdHRwUmVzcG9uc2U8VD4ge1xyXG4gIHJldHVybiBldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLlJlc3BvbnNlXHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzSHR0cFByb2dyZXNzRXZlbnQoXHJcbiAgZXZlbnQ6IEh0dHBFdmVudDx1bmtub3duPlxyXG4pOiBldmVudCBpcyBIdHRwUHJvZ3Jlc3NFdmVudCB7XHJcbiAgcmV0dXJuIChcclxuICAgIGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuRG93bmxvYWRQcm9ncmVzcyB8fFxyXG4gICAgZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5VcGxvYWRQcm9ncmVzc1xyXG4gIClcclxufVxyXG4vL2Z1bmN0aW9uIGNhbGN1bGF0ZVN0YXRlKHVwbG9hZDogVXBsb2FkRXZlbnQsIGV2ZW50OiBIdHRwRXZlbnQ8dW5rbm93bj4pIHtcclxuLy8gIGlmIChpc0h0dHBQcm9ncmVzc0V2ZW50KGV2ZW50KSkge1xyXG4vLyAgICByZXR1cm4gbmV3IFVwbG9hZEV2ZW50KHtcclxuLy8gICAgICBwcm9ncmVzczogZXZlbnQudG90YWxcclxuLy8gICAgICAgID8gTWF0aC5yb3VuZCgoMTAwICogZXZlbnQubG9hZGVkKSAvIGV2ZW50LnRvdGFsKVxyXG4vLyAgICAgICAgOiB1cGxvYWQucHJvZ3Jlc3MsXHJcbi8vICAgICAgc3RhdGU6ICdwcm9ncmVzcycsXHJcbi8vICAgIH0pO1xyXG4vLyAgfVxyXG4vLyAgaWYgKGlzSHR0cFJlc3BvbnNlKGV2ZW50KSkge1xyXG4vLyAgICByZXR1cm4gbmV3IFVwbG9hZEV2ZW50KHtcclxuLy8gICAgICBwcm9ncmVzczogMTAwLFxyXG4vLyAgICAgIHN0YXRlOiAnZG9uZScsXHJcbi8vICAgIH0pXHJcbi8vICB9XHJcbi8vfVxyXG5leHBvcnQgY2xhc3MgVXBsb2FkRXZlbnQge1xyXG4gIHJlYWRvbmx5IGZpbGVOYW1lOiBzdHJpbmc7XHJcbiAgcHJvZ3Jlc3M6IG51bWJlcjtcclxuICAvLyBieXRlc1xyXG4gIHRvdGFsOiBudW1iZXI7XHJcbiAgc3RhdGU6ICdwZW5kaW5nJyB8ICdwcm9ncmVzcycgfCAnZG9uZSc7XHJcbiAgY29uc3RydWN0b3Iob3B0aW9ucykgeyB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZXBvcnRQcm9ncmVzcyhhdHRhY2htZW50OiBBdHRhY2htZW50RXh0cmEpIHtcclxuICByZXR1cm4gKHNvdXJjZTogT2JzZXJ2YWJsZTxBdHRhY2htZW50PikgPT4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZSA9PiB7XHJcbiAgICBzb3VyY2Uuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAvL1RPRE8gcHJvZ3Jlc3NcclxuICAgICAgLy9pZiAoZXZlbnQgaW5zdGFuY2VvZiBQcm9ncmVzc0V2ZW50KSB7XHJcbiAgICAgIC8vICBvYnNlcnZlLm5leHQobmV3IFVwbG9hZEV2ZW50KFxyXG4gICAgICAvLyAgICBmaWxlLm5hbWUsXHJcbiAgICAgIC8vICAgIChldmVudCBhcyBQcm9ncmVzc0V2ZW50KS5sb2FkZWQsXHJcbiAgICAgIC8vICAgIChldmVudCBhcyBQcm9ncmVzc0V2ZW50KS50b3RhbFxyXG4gICAgICAvLyAgKSk7XHJcbiAgICAgIC8vfSBlbHNlIGlmIChldmVudCBpbnN0YW5jZW9mIEh0dHBSZXNwb25zZSkge1xyXG4gICAgICAvLyAgY29uc3QgcmVzID0gZXZlbnQgYXMgSHR0cFJlc3BvbnNlPGFueT47XHJcbiAgICAgIC8vICBpZiAocmVzLnN0YXR1cyA9PT0gMjAwKSB7XHJcbiAgICAgIC8vICAgIGNvbnN0IG1vZGVsID0gcmVzLmJvZHkgYXMgQXR0YWNobWVudDtcclxuICAgICAgLy8gICAgb2JzZXJ2ZS5uZXh0KG1vZGVsKTtcclxuICAgICAgLy8gIH1cclxuICAgICAgLy8gIGVsc2VcclxuICAgICAgLy8gICAgb2JzZXJ2ZS5lcnJvcih7IHN0YXR1czogcmVzLnN0YXR1cywgZXJyb3I6IHJlcy5ib2R5IH0pO1xyXG4gICAgICAvLyAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG4gICAgICAgICAgLy9pZiAoYSBpbnN0YW5jZW9mIFVwbG9hZEV2ZW50KSB7XHJcbiAgICAgICAgICAvLyAgT2JqZWN0LmFzc2lnbihpdGVtLCB7XHJcbiAgICAgICAgICAvLyAgICBwcm9ncmVzczogYS5sb2FkZWQgLyBhLnRvdGFsXHJcbiAgICAgICAgICAvLyAgfSk7XHJcbiAgICAgICAgICAvLyAgcmV0dXJuO1xyXG4gICAgICAgICAgLy99XHJcbiAgICAgIG9ic2VydmUubmV4dChyKTtcclxuICAgICAgb2JzZXJ2ZS5jb21wbGV0ZSgpO1xyXG5cclxuICAgIH0sIGUgPT4gb2JzZXJ2ZS5lcnJvcihlKSk7XHJcbiAgfSk7XHJcbn1cclxuIl19
@@ -37,4 +37,4 @@ export var FieldType;
37
37
  FieldType["DateRange"] = "DateRange";
38
38
  })(FieldType || (FieldType = {}));
39
39
  ;
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUM7QUE4V3hDLE1BQU0sQ0FBTixJQUFZLGNBU1g7QUFURCxXQUFZLGNBQWM7SUFDeEIsdUNBQXFCLENBQUE7SUFDckIsNkJBQVcsQ0FBQTtJQUNYLDZCQUFXLENBQUE7SUFDWCx5Q0FBdUIsQ0FBQTtJQUN2Qix5Q0FBdUIsQ0FBQTtJQUN2QixxQ0FBbUIsQ0FBQTtJQUNuQixpQ0FBZSxDQUFBO0lBQ2YsaUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBVFcsY0FBYyxLQUFkLGNBQWMsUUFTekI7QUFDRCxNQUFNLENBQU4sSUFBWSxTQXdCWDtBQXhCRCxXQUFZLFNBQVM7SUFDbkIsOEJBQWlCLENBQUE7SUFDakIsOEJBQWlCLENBQUE7SUFDakIsMEJBQWEsQ0FBQTtJQUNiLDBCQUFhLENBQUE7SUFDYixrQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBcUIsQ0FBQTtJQUNyQiw4QkFBaUIsQ0FBQTtJQUNqQiwwQ0FBNkIsQ0FBQTtJQUM3QiwwQkFBYSxDQUFBO0lBQ2IsMEJBQWEsQ0FBQTtJQUNiLGtDQUFxQixDQUFBO0lBQ3JCLHdDQUEyQixDQUFBO0lBQzNCLDBCQUFhLENBQUE7SUFDYix3QkFBVyxDQUFBO0lBQ1gsOEJBQWlCLENBQUE7SUFDakIsZ0NBQW1CLENBQUE7SUFDbkIsOEJBQWlCLENBQUE7SUFDakIsc0NBQXlCLENBQUE7SUFDekIsa0NBQXFCLENBQUE7SUFDckIsMENBQTZCLENBQUE7SUFDN0IsZ0NBQW1CLENBQUE7SUFDbkIsb0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQXhCVyxTQUFTLEtBQVQsU0FBUyxRQXdCcEI7QUFtRkEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVNb2RlbCwgQ29ubmVjdG9yTW9kZWwsIFNoYXBlTW9kZWwsIEZsb3dTaGFwZU1vZGVsLCBCYXNpY1NoYXBlTW9kZWwsIEltYWdlTW9kZWwsIFBhdGhNb2RlbCwgVGV4dE1vZGVsLCBCcG1uU2hhcGVNb2RlbCwgTmF0aXZlTW9kZWwgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItZGlhZ3JhbXNcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBJTkJPWCA9ICdpYicsIERSQUZUID0gJ2RmJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyTW9kZWw8VCA9IGFueT4ge1xyXG4gIHBhcmVudElkPzogbnVtYmVyO1xyXG4gIGRyYWZ0PzogYm9vbGVhbjtcclxuICBpc3N1ZWQ/OiBEYXRlO1xyXG4gIGRvY3VtZW50SWQ6IG51bWJlcjtcclxuICBzdWJzdGl0dXRlSWQ/OiBzdHJpbmc7XHJcbiAgb3duZXJJZDogc3RyaW5nO1xyXG4gIGFjdGlvbj86IHN0cmluZztcclxuICBvd25lckJ5SWQ/OiBzdHJpbmc7XHJcbiAgaWQ6IG51bWJlcjtcclxuICB2ZXJzaW9uOiBudW1iZXI7XHJcbiAgZm9ybUlkOiBzdHJpbmc7XHJcbiAgbnVtYmVyPzogc3RyaW5nO1xyXG4gIHN1YmplY3Q/OiBzdHJpbmc7XHJcbiAgdmFsdWU/OiBudW1iZXI7XHJcbiAgcmVjZWl2ZWQ6IERhdGU7XHJcbiAgcmVwbGllZD86IERhdGU7XHJcbiAgZm9sZGVySWQ6IHN0cmluZztcclxuICByZWFkOiBib29sZWFuO1xyXG4gIG5vdGU/OiBzdHJpbmc7XHJcbiAgc2VuZGVySWQ/OiBzdHJpbmc7XHJcbiAgc3RhdGVJZDogc3RyaW5nO1xyXG4gIGN1cnJlbmN5Q29kZT86IHN0cmluZztcclxuICBmbGFnPzogYm9vbGVhbjtcclxuICBzdW1tYXJ5Pzogc3RyaW5nO1xyXG4gIHBlbmRpbmc/OiBib29sZWFuO1xyXG4gIG1vZGVsPzogVDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50TW9kZWw8VCA9IGFueT4ge1xyXG4gIGRyYWZ0PzogYm9vbGVhbjtcclxuICBleHRyYT86IGFueTtcclxuICBudW1iZXI/OiBzdHJpbmc7XHJcbiAgc3ViamVjdD86IHN0cmluZztcclxuICBzdW1tYXJ5Pzogc3RyaW5nO1xyXG4gIGN1cnJlbmN5Q29kZT86IHN0cmluZztcclxuICB2YWx1ZT86IG51bWJlcjtcclxuICBvd25lcklkOiBzdHJpbmc7XHJcbiAgb3duZXJCeUlkPzogc3RyaW5nO1xyXG4gIGRvY3VtZW50SWQ6IG51bWJlcjtcclxuICB2ZXJzaW9uOiBudW1iZXI7XHJcbiAgZm9ybUlkOiBzdHJpbmc7XHJcbiAgc3RhdGVJZDogc3RyaW5nO1xyXG4gIGNvbXBsZXRlZD86IGJvb2xlYW47XHJcbiAgbW9kZWw/OiBUO1xyXG4gIHZpZXdlZD86IERhdGU7XHJcbiAgYXR0YWNobWVudHM6IEF0dGFjaG1lbnRbXTtcclxuICBjb21tZW50czogQ29tbWVudFtdO1xyXG4gIHVucmVhZENvbW1lbnRzOiBudW1iZXI7XHJcbiAgaXNzdWVkPzogRGF0ZTtcclxuICB3b3JrZmxvdz86IFdvcmtmbG93SW5mbztcclxuICByZWNpcGllbnRzOiBSZWNpcGllbnRbXTtcclxuICBjdWJlczogQ3ViZUVudHJ5W107XHJcbiAgZXZlbnRzOiBTY2hlZHVsZWRFdmVudFtdO1xyXG4gIGxvY2F0aW9uczogTWFwUGluW107XHJcbiAgbG9nOiBMb2dbXTtcclxuICBydWxlcz86IHsgW25hbWU6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuICBwYXJlbnQ/OiBDaGFpbjtcclxuICBjaGlsZHJlbj86IENoYWluW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDaGFpbiB7XHJcbiAgY29tcGxldGVkOiBib29sZWFuO1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgZm9ybUlkOiBzdHJpbmc7XHJcbiAgbnVtYmVyPzogc3RyaW5nO1xyXG4gIHN1YmplY3Q/OiBzdHJpbmc7XHJcbiAgc3RhdGVJZDogc3RyaW5nO1xyXG4gIHZhbHVlPzogbnVtYmVyO1xyXG4gIGN1cnJlbmN5Q29kZT86IHN0cmluZztcclxuICBwYXJlbnQ/OiBDaGFpbjtcclxuICBjaGlsZHJlbj86IENoYWluW107XHJcbiAgcmVjaXBpZW50cz86IFJlY2lwaWVudFtdO1xyXG4gIGV2ZW50cz86IFNjaGVkdWxlZEV2ZW50W107XHJcbiAgbG9nOiBMb2dbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93SW5mbyB7XHJcbiAgbm9kZXM6IE5vZGVJbmZvW107XHJcbiAgY29ubmVjdG9yczogQ29ubmVjdG9ySW5mb1tdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVjaXBpZW50TW9kZWw8VCA9IGFueT4gZXh0ZW5kcyBIZWFkZXJNb2RlbDxUPiwgRG9jdW1lbnRNb2RlbDxUPiB7XHJcbiAgZXh0cmE/OiBhbnk7XHJcbiAgYWN0aW9ucz86IHN0cmluZ1tdO1xyXG4gIGZ5aTogYm9vbGVhbjtcclxuICBvcmlnaW5JZD86IG51bWJlcjtcclxuICBlc2NhbGF0ZWQ/OiBib29sZWFuO1xyXG4gIHRhZ3M/OiBzdHJpbmdbXTtcclxuICBieUlkPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdG9ySW5mbyB7XHJcbiAgLy8gcmVjaXBpZW50IGlkXHJcbiAgb3JpZ2luSWQ/OiBudW1iZXI7XHJcbiAgZXN0aW1hdGU6IGJvb2xlYW47XHJcbiAgdGltZT86IERhdGU7XHJcbiAgc291cmNlSWQ6IHN0cmluZztcclxuICB0YXJnZXRJZDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgTm9kZUluZm8ge1xyXG4gIG5vdGU/OiBzdHJpbmc7XHJcbiAgb3JpZ2luSWQ/OiBudW1iZXI7XHJcbiAgaWQ6IHN0cmluZztcclxuICAvKiogbm9kZSAqL1xyXG4gIHR5cGU6IHN0cmluZztcclxuICB0aW1lPzogRGF0ZTtcclxuICBlc3RpbWF0ZTogYm9vbGVhbjtcclxuICAvKiogc2Vjb25kcyAqL1xyXG4gIHN0YW5kYXJkVGltZT86IG51bWJlcjtcclxuICBlcnJvcj86IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIExvZyB7XHJcbiAgcmVjaXBpZW50SWQ/OiBudW1iZXI7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgYnlJZD86IHN0cmluZztcclxuICBvcmlnaW5JZD86IHN0cmluZztcclxuICB0aW1lOiBEYXRlO1xyXG4gIG1vZGVsPzoge307XHJcbiAgdHlwZTogTG9nVHlwZTtcclxuICBub2RlSWQ/OiBzdHJpbmc7XHJcbiAgbm90ZT86IHN0cmluZztcclxuICBzdGF0ZT86IHN0cmluZztcclxuICBhY3Rpb24/OiBzdHJpbmc7XHJcbiAgZXNjYWxhdGVkPzogYm9vbGVhbjtcclxuICBzb3VyY2VJZD86IHN0cmluZztcclxuICB0YXJnZXRJZD86IHN0cmluZztcclxuICBkdXJhdGlvbj86IG51bWJlcjtcclxuICBlc3RpbWF0ZT86IGJvb2xlYW47XHJcbiAgZmlsZUlkPzogbnVtYmVyO1xyXG4gIGVycm9yPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgTG9nVHlwZSA9ICdTdWJtaXQnIHwgJ0Rvd25sb2FkJyB8ICdTdGF0ZUNoYW5nZScgfCAnQWN0aW9uVGFrZW4nIHwgJ0NoZWNrSW4nIHwgJ0NoZWNrT3V0JyB8XHJcbiAgJ01vZGVsQ2hhbmdlJyB8ICdOb2RlJyB8ICdWaXJ0dWFsTm9kZScgfCAnTm9kZUp1bXAnIHwgJ0Nvbm5lY3RvcicgfCAnVmlydHVhbENvbm5lY3RvcicgfCAnRXNjYWxhdGlvbic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlY2lwaWVudCB7XHJcbiAgb3JpZ2luSWQ/OiBudW1iZXI7XHJcbiAgc3Vic3RpdHV0ZUlkPzogc3RyaW5nO1xyXG4gIGJ5SWQ/OiBzdHJpbmc7XHJcbiAgbm9kZUlkPzogc3RyaW5nO1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIHBlbmRpbmc6IGJvb2xlYW47XHJcbiAgZm9sZGVySWQ6IHN0cmluZztcclxuICByb2xlPzogc3RyaW5nO1xyXG4gIHJlY2VpdmVkOiBEYXRlO1xyXG4gIHJlcGxpZWQ/OiBEYXRlO1xyXG4gIGVzdGltYXRlPzogYm9vbGVhbjtcclxuICBhY3Rpb24/OiBzdHJpbmc7XHJcbiAgZnlpPzogYm9vbGVhbjtcclxuICBpZDogbnVtYmVyO1xyXG4gIG5vdGU/OiBzdHJpbmc7XHJcbiAgZXNjYWxhdGVkPzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVkdWxlZEV2ZW50IHtcclxuICBpZDogbnVtYmVyO1xyXG4gIGRvY3VtZW50SWQ6IG51bWJlcjtcclxuICBzdGFydGluZzogRGF0ZTtcclxuICBlbmRpbmc/OiBEYXRlO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGxvY2F0aW9uPzogTGF0TG5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgTWFwUGluIHtcclxuICBsb2NhdGlvbjogTGF0TG5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExhdExuZyB7XHJcbiAgbGF0OiBudW1iZXI7XHJcbiAgbG5nOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3ViZUVudHJ5IHtcclxuICBjdWJlOiBzdHJpbmc7XHJcbiAgYXhlczogc3RyaW5nW107XHJcbiAgdmFsdWU6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdHRhY2htZW50IHtcclxuICBpZD86IG51bWJlcjtcclxuICBmaWxlTmFtZTogc3RyaW5nO1xyXG4gIGNvbnRlbnRUeXBlOiBzdHJpbmc7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgYnlJZD86IHN0cmluZztcclxuICB0aW1lOiBEYXRlO1xyXG4gIGRlbGV0ZWQ/OiBib29sZWFuO1xyXG4gIGNoZWNrZWRPdXQ/OiBib29sZWFuO1xyXG4gIHByaXZhdGU/OiBib29sZWFuO1xyXG4gIGhvbGRpbmdJZD86IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnQge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgLyoqIGJhc2U2NCAqL1xyXG4gIGltYWdlPzogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgdGltZTogRGF0ZTtcclxuICBwYXJlbnRJZD86IG51bWJlcjtcclxuICB2b3RlZD86IG51bWJlcjtcclxuICB2b3Rlcz86IG51bWJlcjtcclxuICBlZGl0ZWQ/OiBEYXRlO1xyXG4gIGRlbGV0ZWQ/OiBib29sZWFuO1xyXG4gIGJ5SWQ/OiBzdHJpbmc7XHJcbiAgcmVzb3VyY2U/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVm90ZSB7XHJcbiAgYnlJZD86IHN0cmluZztcclxuICB1c2VySWQ6IHN0cmluZztcclxuICB0aW1lOiBEYXRlO1xyXG4gIHZvdGVkPzogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWVudFZlcnNpb24ge1xyXG4gIGJ5SWQ/OiBzdHJpbmc7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgdGltZTogRGF0ZTtcclxuICBpbWFnZT86IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIHJlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbiB7XHJcbiAgbXV0ZWQ/OiBib29sZWFuO1xyXG4gIGRlbGV0ZWQ/OiBib29sZWFuO1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgdHlwZTogTm90aWZpY2F0aW9uVHlwZTtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHJlYWQ/OiBib29sZWFuO1xyXG4gIHNlbnQ6IERhdGU7XHJcbiAgcmVjaXBpZW50SWQ/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgTm90aWZpY2F0aW9uVHlwZSA9XHJcbiAgJ0NvbW1lbnRlZCcgfFxyXG4gICdDdWJlQW5vbWFseScgfFxyXG4gICdFc2NhbGF0ZWQnIHxcclxuICAnTGlrZWQnIHxcclxuICAnU3RhdGVDaGFuZ2VkJyB8XHJcbiAgJ051ZGdlJyB8XHJcbiAgJ1RleHRNZXNzYWdlJyB8XHJcbiAgJ1VwY29taW5nRXZlbnQnIHxcclxuICAnSm9iUHJvZ3Jlc3MnIHxcclxuICAnVGFnZ2VkJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGUge1xyXG4gIHNoYXBlPzogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHBhc3Q/OiBzdHJpbmc7XHJcbiAgZnV0dXJlPzogc3RyaW5nO1xyXG4gIGNvbG9yPzogc3RyaW5nO1xyXG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxufVxyXG5leHBvcnQgdHlwZSBHZW5kZXIgPSAnTWFsZScgfFxyXG4gICdGZW1hbGUnIHwgbnVsbDtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVmlldyB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgb3B0aW9ucz86IGFueTtcclxuICBndWlkZT86IHN0cmluZztcclxuICBjdWJlczogc3RyaW5nW107XHJcbiAgZm9ybXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGUge1xyXG4gIGhvbGlkYXlzOiBhbnk7XHJcbiAgdXRpbGl0aWVzOiBVdGlsaXR5W107XHJcbiAgZ3VpZGVzPzogR3VpZGVbXTtcclxuICB2aWV3czogVmlld1tdO1xyXG4gIHBob3RvPzogc3RyaW5nO1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIGJ5SWQ/OiBzdHJpbmc7XHJcbiAgYnlOYW1lPzogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBpbXBlcnNvbmF0aW5nPzogc3RyaW5nO1xyXG4gIGF2YWlsYWJsZT86IEF2YWlsYWJpbGl0eVN0YXRlO1xyXG4gIGdlbmRlcj86IEdlbmRlcjtcclxuICBieUdlbmRlcj86IEdlbmRlcjtcclxuICBzeXN0ZW06IGJvb2xlYW47XHJcbiAgZm9ybXM6IEZvcm1bXTtcclxuICBhY3Rpb25zOiBBY3Rpb25bXTtcclxuICBzdGF0ZXM6IFN0YXRlW107XHJcbiAgZm9sZGVyczogRm9sZGVyW107XHJcbiAgcmVwb3J0czogUmVwb3J0W107XHJcbiAgdHlwZXM6IFR5cGVbXTtcclxuICBjdWJlczogQ3ViZVtdO1xyXG4gIG5vZGVzOiBGbG93Tm9kZVtdO1xyXG4gIHJvbGVzOiBSb2xlW107XHJcbiAgd2lkZ2V0czogV2lkZ2V0W107XHJcbiAgb3B0aW9uczogT3B0aW9ucztcclxuICBpbmJveDogSGVhZGVyTW9kZWxbXTtcclxuICBpbmJveENvdW50PzogbnVtYmVyO1xyXG4gIG5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbltdO1xyXG4gIG5vdGlmaWNhdGlvbnNDb3VudD86IG51bWJlcjtcclxuICByZWNlbnRzPzogSGVhZGVyTW9kZWxbXTtcclxuICBjb250YWN0czogQ29udGFjdFtdO1xyXG4gIGNvbnZlcnNhdGlvbnNDb3VudDogbnVtYmVyO1xyXG4gIGxpY2Vuc2U/OiBMaWNlbnNlO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVHlwZSB7XHJcbiAgYXJndW1lbnRzPzogRmllbGRJbmZvW107XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgYXNzaWduYWJsZT86IGJvb2xlYW47XHJcbiAgY29sdW1ucz86IEZpZWxkSW5mb1tdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUm9sZSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgZGF0YVR5cGU6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFV0aWxpdHkge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgZ3VpZGU/OiBzdHJpbmc7XHJcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgYXJndW1lbnRzPzogRmllbGRJbmZvW107XHJcbiAgb3B0aW9uczogYW55O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFjdCB7XHJcbiAgdmlzaXRlZD86IERhdGU7XHJcbiAgd2F0ZXJtYXJrPzogRGF0ZTtcclxuICBpZDogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgdGltZTogRGF0ZTtcclxuICBhY2NlcHRlZDogYm9vbGVhbjtcclxuICBpbWFnZT86IHN0cmluZztcclxuICBjb3VudDogbnVtYmVyO1xyXG4gIGZvcmdvdHRlbj86IGJvb2xlYW47XHJcbiAgcmVzb3VyY2U/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdCB7XHJcbiAgZGF0ZTogRGF0ZTtcclxuICB1c2VySWQ6IHN0cmluZztcclxuICBjb250YWN0SWQ6IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIHRpbWU6IERhdGU7XHJcbiAgLyoqIGJhc2U2NCAqL1xyXG4gIGltYWdlPzogc3RyaW5nO1xyXG4gIHJlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkSW5mbyB7XHJcbiAgZGVmYXVsdFZhbHVlPzogYW55O1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBsYWJlbD86IHN0cmluZztcclxuICBrZXk/OiBib29sZWFuO1xyXG4gIHR5cGU/OiBGaWVsZFR5cGU7XHJcbiAgdmFsaWRhdGlvbnM/OiBWYWxpZGF0aW9uW107XHJcbiAgZmllbGRzPzogRmllbGRJbmZvW107XHJcbiAgbWF4PzogbnVtYmVyO1xyXG4gIG1pbj86IG51bWJlcjtcclxuICBzb3VyY2U/OiBzdHJpbmc7XHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xyXG4gIHBhdHRlcm4/OiBzdHJpbmc7XHJcbiAgaGlkZGVuPzogYm9vbGVhbjtcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBpc0FycmF5PzogYm9vbGVhbjtcclxuICBpc09iamVjdD86IGJvb2xlYW47XHJcbiAgZGlhZ3JhbT86IGJvb2xlYW47XHJcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgaGludD86IHN0cmluZztcclxuICBvcHRpb25zPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb24ge1xyXG4gIHR5cGU6IFZhbGlkYXRpb25UeXBlO1xyXG4gIG1lc3NhZ2U6IHN0cmluZztcclxuICBtaW4/OiBudW1iZXI7XHJcbiAgbWF4PzogbnVtYmVyO1xyXG4gIGV4cHJlc3Npb24/OiBhbnk7XHJcbn1cclxuZXhwb3J0IGVudW0gVmFsaWRhdGlvblR5cGUge1xyXG4gIFJlcXVpcmVkID0gJ1JlcXVpcmVkJyxcclxuICBNaW4gPSAnTWluJyxcclxuICBNYXggPSAnTWF4JyxcclxuICBNaW5MZW5ndGggPSAnTWluTGVuZ3RoJyxcclxuICBNYXhMZW5ndGggPSAnTWF4TGVuZ3RoJyxcclxuICBQYXR0ZXJuID0gJ1BhdHRlcm4nLFxyXG4gIFJhbmdlID0gJ1JhbmdlJyxcclxuICBFbWFpbCA9ICdFbWFpbCdcclxufVxyXG5leHBvcnQgZW51bSBGaWVsZFR5cGUge1xyXG4gIFN0cmluZyA9ICdTdHJpbmcnLFxyXG4gIE51bWJlciA9ICdOdW1iZXInLFxyXG4gIFRpbWUgPSAnVGltZScsXHJcbiAgRGF0ZSA9ICdEYXRlJyxcclxuICBEYXRlVGltZSA9ICdEYXRlVGltZScsXHJcbiAgQ2hlY2tib3ggPSAnQ2hlY2tib3gnLFxyXG4gIEN1cnJlbmN5ID0gJ0N1cnJlbmN5JyxcclxuICBTZWxlY3QgPSAnU2VsZWN0JyxcclxuICBFbWFpbEFkZHJlc3MgPSAnRW1haWxBZGRyZXNzJyxcclxuICBIdG1sID0gJ0h0bWwnLFxyXG4gIFRleHQgPSAnVGV4dCcsXHJcbiAgUGFzc3dvcmQgPSAnUGFzc3dvcmQnLFxyXG4gIFBob25lTnVtYmVyID0gJ1Bob25lTnVtYmVyJyxcclxuICBGaWxlID0gJ0ZpbGUnLFxyXG4gIFVybCA9ICdVcmwnLFxyXG4gIFN3aXRjaCA9ICdTd2l0Y2gnLFxyXG4gIEFkZHJlc3MgPSAnQWRkcmVzcycsXHJcbiAgT2JqZWN0ID0gJ09iamVjdCcsXHJcbiAgRXhwcmVzc2lvbiA9ICdFeHByZXNzaW9uJyxcclxuICBEdXJhdGlvbiA9ICdEdXJhdGlvbicsXHJcbiAgQXV0b2NvbXBsZXRlID0gJ0F1dG9jb21wbGV0ZScsXHJcbiAgUGVyY2VudCA9IFwiUGVyY2VudFwiLFxyXG4gIERhdGVSYW5nZSA9IFwiRGF0ZVJhbmdlXCJcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGd1aWRlPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHRlbXBsYXRlOiBzdHJpbmc7XHJcbiAgY29scz86IG51bWJlcjtcclxuICByb3dzPzogbnVtYmVyO1xyXG4gIGFyZ3VtZW50cz86IEZpZWxkSW5mb1tdO1xyXG4gIGFyZ3VtZW50c1RlbXBsYXRlPzogc3RyaW5nO1xyXG4gIG9wdGlvbnM6IGFueTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIExpY2Vuc2Uge1xyXG4gIG1vZGU6IExpY2Vuc2VNb2RlO1xyXG4gIGV4cGlyYXRpb24/OiBEYXRlO1xyXG4gIGNvbXBhbnlOYW1lOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBGb2xkZXIge1xyXG4gIGZpbHRlcnM/OiB7XHJcbiAgICBjdWJlPzogc3RyaW5nO1xyXG4gICAgYXhlczogc3RyaW5nW107XHJcbiAgfTtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZ3JvdXA/OiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGNvdW50PzogbnVtYmVyO1xyXG4gIGNvbHVtbnM/OiBGb2xkZXJDb2x1bW5bXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZvbGRlckNvbHVtbiB7XHJcbiAgbmFtZTogc3RyaW5nIHwgJ251bWJlcicgfCAnc3ViamVjdCcgfCAndmFsdWUnIHwgJ293bmVyJyB8ICdzZW5kZXInIHwgJ3JlY2VpdmVkJyB8ICdyZWNlaXZlZEFnbycgfCAncmVwbGllZCcgfCAnc3RhdGUnIHwgJ2lzc3VlZCcgfCAnaXNzdWVkQWdvJztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHR5cGU/OiAnQm9vbGVhbicgfCAnRGF0ZScgfCAnRGVjaW1hbCcgfCAnU3RyaW5nJztcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgTGljZW5zZU1vZGUgPVxyXG4gICdFdmFsdWF0aW9uJyB8XHJcbiAgJ1ZhbGlkJyB8XHJcbiAgJ0dyYWNlJyB8XHJcbiAgJ0ludmFsaWQnIHxcclxuICAnTGltaXQnIHxcclxuICAnRXhwaXJlZCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbiB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgdmVyYj86IHN0cmluZztcclxuICB5b3U/OiBzdHJpbmc7XHJcbiAgeW91TWFsZT86IHN0cmluZztcclxuICB5b3VGZW1hbGU/OiBzdHJpbmc7XHJcbiAgcGFzdD86IHN0cmluZztcclxuICBwYXN0TWFsZT86IHN0cmluZztcclxuICBwYXN0RmVtYWxlPzogc3RyaW5nO1xyXG4gIGFkamVjdGl2ZT86IHN0cmluZztcclxuICBsb2dnYWJsZT86IGJvb2xlYW47XHJcbiAgYWRqZWN0aXZlUGx1cmFsPzogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgYXJndW1lbnRzPzogRmllbGRJbmZvW107XHJcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIGdyb3VwPzogbnVtYmVyO1xyXG4gIHNoYXBlPzogc3RyaW5nO1xyXG4gIGNvbG9yPzogc3RyaW5nO1xyXG4gIG9wdGlvbnM/OiBhbnk7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBPcHRpb25zIHtcclxuICBncmFudEFjY2Vzcz86IEdyYW50U2V0dGluZ3M7XHJcbiAgb3V0T2ZPZmZpY2U/OiBPdXRPZk9mZmljZVNldHRpbmdzO1xyXG4gIG5vdGlmaWNhdGlvbnM/OiBOb3RpZmljYXRpb25zU2V0dGluZ3M7XHJcbiAgZW1haWxzPzogRW1haWxTZXR0aW5ncztcclxuICBndWlkZXM/OiBzdHJpbmdbXTtcclxuICBpbmJveFZpZXc/OiBEYXRlO1xyXG4gIG5vdGlmaWNhdGlvbnNWaWV3PzogRGF0ZTtcclxuICB0YWdzPzogc3RyaW5nW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBHcmFudFNldHRpbmdzIHtcclxuICBhY3RpdmU6IGJvb2xlYW47XHJcbiAgdXNlcnM/OiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaW1lbnRpb25zIHtcclxuICB3aWR0aDogbnVtYmVyO1xyXG4gIGhlaWdodDogbnVtYmVyO1xyXG59O1xyXG5cclxuZXhwb3J0XHJcbiAgaW50ZXJmYWNlIFJlcG9ydCB7XHJcbiAgb3B0aW9ucz86IGFueTtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGd1aWRlPzogc3RyaW5nO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIGZpZWxkcz86IEZpZWxkSW5mb1tdO1xyXG4gIGl0ZW1UZW1wbGF0ZT86IHN0cmluZztcclxuICBjb2x1bW5zOiBGaWVsZEluZm9bXTtcclxuICBhcmd1bWVudHM/OiBGaWVsZEluZm9bXTtcclxuICBhcmd1bWVudHNUZW1wbGF0ZT86IHN0cmluZztcclxufVxyXG5leHBvcnRcclxuICBpbnRlcmZhY2UgRm9ybSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgY3JlYXRhYmxlOiBib29sZWFuO1xyXG4gIGljb246IHN0cmluZztcclxuICBwb3NpdGlvbj86ICdSZXF1aXJlJyB8ICdBc2snIHwgJ05vbmUnO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIHN0cnVjdHVyZT86IEZpZWxkSW5mb1tdO1xyXG4gIHdvcmtmbG93PzogV29ya2Zsb3c7XHJcbiAgZ3VpZGU/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvdyB7XHJcbiAgdmVyc2lvbjogbnVtYmVyO1xyXG4gIGNvbm5lY3RvcnM6IENvbm5lY3Rvck1vZGVsW107XHJcbiAgbm9kZXM6IE5vZGVNb2RlbFtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVXNlckluZm8ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHJvbGU/OiBzdHJpbmc7XHJcbiAgZ2VuZGVyPzogR2VuZGVyO1xyXG4gIHBpY3R1cmVVcmw/OiBzdHJpbmc7XHJcbiAgbmljaz86IHN0cmluZztcclxuICBwaG9uZU51bWJlcj86IHN0cmluZztcclxuICBlbWFpbD86IHN0cmluZztcclxuICBsYXN0QWN0aXZlPzogRGF0ZTtcclxuICBtb2RlPzogQXZhaWxhYmlsaXR5U3RhdGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3VpZGUge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBtb2RlPzogJ01lbnUnIHwgJ0VhZ2VyJyB8ICdQcml2YXRlJztcclxuICBzdGVwczogR3VpZGVTdGVwW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBHdWlkZVN0ZXAge1xyXG4gIHNpbXVsYXRlPzogYm9vbGVhbjtcclxuICBzZWxlY3Rvcj86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBjb250ZW50OiBzdHJpbmc7XHJcbiAgbmF2aWdhdGU/OiBzdHJpbmc7XHJcbiAgcG9zaXRpb24/OiAnQWJvdmUnIHwgJ0VuZCcgfCAnU3RhcnQnIHwgJ0JlbG93JztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZsb3dOb2RlIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBzdHlsZT86IHN0cmluZztcclxuICBwYWxldHRlPzogc3RyaW5nO1xyXG4gIHNoYXBlOiBTaGFwZU1vZGVsIHwgRmxvd1NoYXBlTW9kZWwgfCBCYXNpY1NoYXBlTW9kZWwgfCBJbWFnZU1vZGVsIHwgUGF0aE1vZGVsIHwgVGV4dE1vZGVsIHwgQnBtblNoYXBlTW9kZWwgfCBOYXRpdmVNb2RlbDtcclxuICB0ZW1wbGF0ZT86IHN0cmluZztcclxuICBhcmd1bWVudHM/OiBGaWVsZEluZm9bXTtcclxufVxyXG5leHBvcnQgZGVjbGFyZSB0eXBlIEF2YWlsYWJpbGl0eVN0YXRlID1cclxuICAnT2ZmbGluZScgfFxyXG4gICdPbmxpbmUnIHxcclxuICAnT3V0T2ZPZmZpY2UnIHxcclxuICAnVmFjYXRpb24nIHwgJ1dvcmtpbmdIb21lJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3ViZSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICB5QXhpcz86IFlBeGlzO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIGN1cnJlbmN5Q29kZT86IHN0cmluZztcclxuICB2aWV3czogQ3ViZVZpZXdbXTtcclxuICBheGVzOiBDdWJlQXhpc1tdO1xyXG4gIGluZGljZXM/OiBDdWJlSW5kZXhbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFlBeGlzIHtcclxuICB0aXRsZT86IHN0cmluZztcclxuICB0eXBlPzogJ05vbmUnIHwgJ051bWJlcicgfCAnQ3VycmVuY3knO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3ViZUluZGV4IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgYWNjdW11bGF0ZT86IGJvb2xlYW47XHJcbiAgdGl0bGU6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEN1YmVBeGlzIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBkYXRhVHlwZTogc3RyaW5nO1xyXG4gIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgY29tYmluYXRpb24/OiBib29sZWFuO1xyXG4gIHNlbGVjdGlvbk1vZGU/OiAnU2luZ2xlJyB8ICdQYXR0ZXJuJyB8ICdNdWx0aXBsZScgfCAnU2VhcmNoJyB8ICdOb25lJztcclxuICBkZXNjZW5kZW50T2Y/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IHR5cGUgQXhpc1R5cGUgPSBzdHJpbmcgfCBudW1iZXIgfCBBcnJheTxzdHJpbmcgfCBudW1iZXI+O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBeGVzTWFwIHtcclxuICBbYXhpczogc3RyaW5nXTogQXhpc1R5cGU7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDdWJlVmlldyB7XHJcbiAgeEF4aXM6IHN0cmluZ1tdO1xyXG4gIHNlcmllcz86IHN0cmluZ1tdO1xyXG4gIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG4gIGluZGljZXM/OiBzdHJpbmdbXTtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGd1aWRlPzogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHR5cGU6IFZpZXdUeXBlO1xyXG4gIGNoYXJ0VHlwZT86IENoYXJ0VHlwZTtcclxuICBpbmRpY2VzQ2hhcnRUeXBlPzogQ2hhcnRUeXBlO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgVmlld1R5cGUgPSAnU3ByZWFkc2hlZXQnIHxcclxuICAnQ2hhcnQnIHwgJ1Bpdm90JyB8ICdHcmlkJztcclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBDaGFydFR5cGUgPVxyXG4gICdQaWUnIHxcclxuICAvKiogIERlZmluZSB0aGUgbGluZSBzZXJpZXMuICovXHJcbiAgJ0xpbmUnIHxcclxuICAvKiogIERlZmluZSB0aGUgQ29sdW1uIHNlcmllcy4gKi9cclxuICAnQ29sdW1uJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIEFyZWEgc2VyaWVzLiAqL1xyXG4gICdBcmVhJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIEJhciBzZXJpZXMuICovXHJcbiAgJ0JhcicgfFxyXG4gIC8qKiAgRGVmaW5lIHRoZSBTdGFja2luZ0NvbHVtbiBzZXJpZXMuICovXHJcbiAgJ1N0YWNraW5nQ29sdW1uJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIFN0YWNraW5nQXJlYSBzZXJpZXMuICovXHJcbiAgJ1N0YWNraW5nQXJlYScgfFxyXG4gIC8qKiAgRGVmaW5lIHRoZSBTdGFja2luZ0xpbmUgc2VyaWVzLiAqL1xyXG4gICdTdGFja2luZ0xpbmUnIHxcclxuICAvKiogIERlZmluZSB0aGUgU3RhY2tpbmdCYXIgc2VyaWVzLiAqL1xyXG4gICdTdGFja2luZ0JhcicgfFxyXG4gIC8qKiAgRGVmaW5lIHRoZSBTdGVwbGluZSBzZXJpZXMuICovXHJcbiAgJ1N0ZXBMaW5lJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIFN0ZXBhcmVhIHNlcmllcy4gKi9cclxuICAnU3RlcEFyZWEnIHxcclxuICAvKiogIERlZmluZSB0aGUgU3RlcGFyZWEgc2VyaWVzLiAqL1xyXG4gICdTcGxpbmVBcmVhJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIFNjYXR0ZXIgc2VyaWVzLiAqL1xyXG4gICdTY2F0dGVyJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIFNwbGluZSBzZXJpZXMuICovXHJcbiAgJ1NwbGluZScgfFxyXG4gIC8qKiBEZWZpbmUgdGhlIFN0YWNraW5nQ29sdW1uMTAwIHNlcmllcyAqL1xyXG4gICdTdGFja2luZ0NvbHVtbjEwMCcgfFxyXG4gIC8qKiBEZWZpbmUgdGhlIFN0YWNraW5nQmFyMTAwIHNlcmllcyAqL1xyXG4gICdTdGFja2luZ0JhcjEwMCcgfFxyXG4gIC8qKiBEZWZpbmUgdGhlIFN0YWNraW5nTGluZTEwMCBzZXJpZXMgKi9cclxuICAnU3RhY2tpbmdMaW5lMTAwJyB8XHJcbiAgLyoqIERlZmluZSB0aGUgU3RhY2tpbmdBcmVhMTAwIHNlcmllcyAqL1xyXG4gICdTdGFja2luZ0FyZWExMDAnIHxcclxuICAvKiogRGVmaW5lIHRoZSBSYW5nZUNvbHVtbiBTZXJpZXMgKi9cclxuICAnUmFuZ2VDb2x1bW4nIHxcclxuICAvKiogRGVmaW5lIHRoZSBXYXRlcmZhbGwgU2VyaWVzICovXHJcbiAgJ1dhdGVyZmFsbCcgfFxyXG4gIC8qKiBEZWZpbmUgdGhlIFJhbmdlQXJlYSBTZXJpZXMgKi9cclxuICAnUmFuZ2VBcmVhJyB8XHJcbiAgLyoqIERlZmluZSB0aGUgQnViYmxlIFNlcmllcyAqL1xyXG4gICdCdWJibGUnIHxcclxuICAvKiogRGVmaW5lIHRoZSBDYW5kbGUgU2VyaWVzICovXHJcbiAgJ1BvbGFyJyB8XHJcbiAgLyoqIERlZmluZSB0aGUgcmFkYXIgc2VyaWVzICovXHJcbiAgJ1JhZGFyJyB8XHJcbiAgLyoqIERlZmluZSB0aGUgUGFyZXRvIHNlcmllcyAqL1xyXG4gICdQYXJldG8nIHwgJ0RvdWdobnV0JyB8ICdIYWxmRG91Z2hudXQnIHxcclxuICAnRnVubmVsJyB8ICdQeXJhbWlkJyB8XHJcbiAgJ1N0YWNraW5nU3RlcEFyZWEnO1xyXG5leHBvcnQgaW50ZXJmYWNlIE91dE9mT2ZmaWNlU2V0dGluZ3Mge1xyXG4gIGZyb20/OiBEYXRlO1xyXG4gIHRvPzogRGF0ZTtcclxuICBhY3RpdmU6IGJvb2xlYW47XHJcbiAgc3Vic3RpdHVlSWQ/OiBzdHJpbmc7XHJcbn1cclxuaW50ZXJmYWNlIE5vdGlmaWNhdGlvbnNTZXR0aW5ncyB7XHJcbiAgc291bmQ/OiBib29sZWFuO1xyXG4gIGFjdGl2ZT86IGJvb2xlYW47XHJcbiAgbXlTdGF0ZUNoYW5nZWQ/OiBib29sZWFuO1xyXG4gIGFueVN0YXRlQ2hhbmdlZD86IGJvb2xlYW47XHJcbiAgYW55Q29tbWVudD86IGJvb2xlYW47XHJcbiAgbXlDb21tZW50PzogYm9vbGVhbjtcclxuICBsaWtlZD86IGJvb2xlYW47XHJcbiAgY3ViZUFub21hbHk/OiBib29sZWFuO1xyXG4gIHVwY29taW5nRXZlbnRzPzogYm9vbGVhbjtcclxufVxyXG5pbnRlcmZhY2UgRW1haWxTZXR0aW5ncyB7XHJcbiAgYWN0aXZlPzogYm9vbGVhbjtcclxuICBtYWlscz86IGJvb2xlYW47XHJcbiAgY29udmVyc2F0aW9ucz86IGJvb2xlYW47XHJcbiAgbm90aWZpY2F0aW9ucz86IGJvb2xlYW47XHJcbiAgZXZlbnRzPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUM7QUE4V3hDLE1BQU0sQ0FBTixJQUFZLGNBU1g7QUFURCxXQUFZLGNBQWM7SUFDeEIsdUNBQXFCLENBQUE7SUFDckIsNkJBQVcsQ0FBQTtJQUNYLDZCQUFXLENBQUE7SUFDWCx5Q0FBdUIsQ0FBQTtJQUN2Qix5Q0FBdUIsQ0FBQTtJQUN2QixxQ0FBbUIsQ0FBQTtJQUNuQixpQ0FBZSxDQUFBO0lBQ2YsaUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBVFcsY0FBYyxLQUFkLGNBQWMsUUFTekI7QUFDRCxNQUFNLENBQU4sSUFBWSxTQXdCWDtBQXhCRCxXQUFZLFNBQVM7SUFDbkIsOEJBQWlCLENBQUE7SUFDakIsOEJBQWlCLENBQUE7SUFDakIsMEJBQWEsQ0FBQTtJQUNiLDBCQUFhLENBQUE7SUFDYixrQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBcUIsQ0FBQTtJQUNyQiw4QkFBaUIsQ0FBQTtJQUNqQiwwQ0FBNkIsQ0FBQTtJQUM3QiwwQkFBYSxDQUFBO0lBQ2IsMEJBQWEsQ0FBQTtJQUNiLGtDQUFxQixDQUFBO0lBQ3JCLHdDQUEyQixDQUFBO0lBQzNCLDBCQUFhLENBQUE7SUFDYix3QkFBVyxDQUFBO0lBQ1gsOEJBQWlCLENBQUE7SUFDakIsZ0NBQW1CLENBQUE7SUFDbkIsOEJBQWlCLENBQUE7SUFDakIsc0NBQXlCLENBQUE7SUFDekIsa0NBQXFCLENBQUE7SUFDckIsMENBQTZCLENBQUE7SUFDN0IsZ0NBQW1CLENBQUE7SUFDbkIsb0NBQXVCLENBQUE7QUFDekIsQ0FBQyxFQXhCVyxTQUFTLEtBQVQsU0FBUyxRQXdCcEI7QUFtRkEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVNb2RlbCwgQ29ubmVjdG9yTW9kZWwsIFNoYXBlTW9kZWwsIEZsb3dTaGFwZU1vZGVsLCBCYXNpY1NoYXBlTW9kZWwsIEltYWdlTW9kZWwsIFBhdGhNb2RlbCwgVGV4dE1vZGVsLCBCcG1uU2hhcGVNb2RlbCwgTmF0aXZlTW9kZWwgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItZGlhZ3JhbXNcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBJTkJPWCA9ICdpYicsIERSQUZUID0gJ2RmJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGVyTW9kZWw8VCA9IGFueT4ge1xyXG4gIHBhcmVudElkPzogbnVtYmVyO1xyXG4gIGRyYWZ0PzogYm9vbGVhbjtcclxuICBpc3N1ZWQ/OiBEYXRlO1xyXG4gIGRvY3VtZW50SWQ6IG51bWJlcjtcclxuICBzdWJzdGl0dXRlSWQ/OiBzdHJpbmc7XHJcbiAgb3duZXJJZDogc3RyaW5nO1xyXG4gIGFjdGlvbj86IHN0cmluZztcclxuICBvd25lckJ5SWQ/OiBzdHJpbmc7XHJcbiAgaWQ6IG51bWJlcjtcclxuICB2ZXJzaW9uOiBudW1iZXI7XHJcbiAgZm9ybUlkOiBzdHJpbmc7XHJcbiAgbnVtYmVyPzogc3RyaW5nO1xyXG4gIHN1YmplY3Q/OiBzdHJpbmc7XHJcbiAgdmFsdWU/OiBudW1iZXI7XHJcbiAgcmVjZWl2ZWQ6IERhdGU7XHJcbiAgcmVwbGllZD86IERhdGU7XHJcbiAgZm9sZGVySWQ6IHN0cmluZztcclxuICByZWFkOiBib29sZWFuO1xyXG4gIG5vdGU/OiBzdHJpbmc7XHJcbiAgc2VuZGVySWQ/OiBzdHJpbmc7XHJcbiAgc3RhdGVJZDogc3RyaW5nO1xyXG4gIGN1cnJlbmN5Q29kZT86IHN0cmluZztcclxuICBmbGFnPzogYm9vbGVhbjtcclxuICBzdW1tYXJ5Pzogc3RyaW5nO1xyXG4gIHBlbmRpbmc/OiBib29sZWFuO1xyXG4gIG1vZGVsPzogVDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50TW9kZWw8VCA9IGFueT4ge1xyXG4gIGRyYWZ0PzogYm9vbGVhbjtcclxuICBleHRyYT86IGFueTtcclxuICBudW1iZXI/OiBzdHJpbmc7XHJcbiAgc3ViamVjdD86IHN0cmluZztcclxuICBzdW1tYXJ5Pzogc3RyaW5nO1xyXG4gIGN1cnJlbmN5Q29kZT86IHN0cmluZztcclxuICB2YWx1ZT86IG51bWJlcjtcclxuICBvd25lcklkOiBzdHJpbmc7XHJcbiAgb3duZXJCeUlkPzogc3RyaW5nO1xyXG4gIGRvY3VtZW50SWQ6IG51bWJlcjtcclxuICB2ZXJzaW9uOiBudW1iZXI7XHJcbiAgZm9ybUlkOiBzdHJpbmc7XHJcbiAgc3RhdGVJZDogc3RyaW5nO1xyXG4gIGNvbXBsZXRlZD86IGJvb2xlYW47XHJcbiAgbW9kZWw/OiBUO1xyXG4gIHZpZXdlZD86IERhdGU7XHJcbiAgYXR0YWNobWVudHM6IEF0dGFjaG1lbnRbXTtcclxuICBjb21tZW50czogQ29tbWVudFtdO1xyXG4gIHVucmVhZENvbW1lbnRzOiBudW1iZXI7XHJcbiAgaXNzdWVkPzogRGF0ZTtcclxuICB3b3JrZmxvdz86IFdvcmtmbG93SW5mbztcclxuICByZWNpcGllbnRzOiBSZWNpcGllbnRbXTtcclxuICBjdWJlczogQ3ViZUVudHJ5W107XHJcbiAgZXZlbnRzOiBTY2hlZHVsZWRFdmVudFtdO1xyXG4gIGxvY2F0aW9uczogTWFwUGluW107XHJcbiAgbG9nOiBMb2dbXTtcclxuICBydWxlcz86IHsgW25hbWU6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuICBwYXJlbnQ/OiBDaGFpbjtcclxuICBjaGlsZHJlbj86IENoYWluW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDaGFpbiB7XHJcbiAgY29tcGxldGVkOiBib29sZWFuO1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgZm9ybUlkOiBzdHJpbmc7XHJcbiAgbnVtYmVyPzogc3RyaW5nO1xyXG4gIHN1YmplY3Q/OiBzdHJpbmc7XHJcbiAgc3RhdGVJZDogc3RyaW5nO1xyXG4gIHZhbHVlPzogbnVtYmVyO1xyXG4gIGN1cnJlbmN5Q29kZT86IHN0cmluZztcclxuICBwYXJlbnQ/OiBDaGFpbjtcclxuICBjaGlsZHJlbj86IENoYWluW107XHJcbiAgcmVjaXBpZW50cz86IFJlY2lwaWVudFtdO1xyXG4gIGV2ZW50cz86IFNjaGVkdWxlZEV2ZW50W107XHJcbiAgbG9nOiBMb2dbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFdvcmtmbG93SW5mbyB7XHJcbiAgbm9kZXM6IE5vZGVJbmZvW107XHJcbiAgY29ubmVjdG9yczogQ29ubmVjdG9ySW5mb1tdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVjaXBpZW50TW9kZWw8VCA9IGFueT4gZXh0ZW5kcyBIZWFkZXJNb2RlbDxUPiwgRG9jdW1lbnRNb2RlbDxUPiB7XHJcbiAgZXh0cmE/OiBhbnk7XHJcbiAgYWN0aW9ucz86IHN0cmluZ1tdO1xyXG4gIGZ5aTogYm9vbGVhbjtcclxuICBvcmlnaW5JZD86IG51bWJlcjtcclxuICBlc2NhbGF0ZWQ/OiBib29sZWFuO1xyXG4gIHRhZ3M/OiBzdHJpbmdbXTtcclxuICBieUlkPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdG9ySW5mbyB7XHJcbiAgLy8gcmVjaXBpZW50IGlkXHJcbiAgb3JpZ2luSWQ/OiBudW1iZXI7XHJcbiAgZXN0aW1hdGU6IGJvb2xlYW47XHJcbiAgdGltZT86IERhdGU7XHJcbiAgc291cmNlSWQ6IHN0cmluZztcclxuICB0YXJnZXRJZDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgTm9kZUluZm8ge1xyXG4gIG5vdGU/OiBzdHJpbmc7XHJcbiAgb3JpZ2luSWQ/OiBudW1iZXI7XHJcbiAgaWQ6IHN0cmluZztcclxuICAvKiogbm9kZSAqL1xyXG4gIHR5cGU6IHN0cmluZztcclxuICB0aW1lPzogRGF0ZTtcclxuICBlc3RpbWF0ZTogYm9vbGVhbjtcclxuICAvKiogc2Vjb25kcyAqL1xyXG4gIHN0YW5kYXJkVGltZT86IG51bWJlcjtcclxuICBlcnJvcj86IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIExvZyB7XHJcbiAgcmVjaXBpZW50SWQ/OiBudW1iZXI7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgYnlJZD86IHN0cmluZztcclxuICBvcmlnaW5JZD86IHN0cmluZztcclxuICB0aW1lOiBEYXRlO1xyXG4gIG1vZGVsPzoge307XHJcbiAgdHlwZTogTG9nVHlwZTtcclxuICBub2RlSWQ/OiBzdHJpbmc7XHJcbiAgbm90ZT86IHN0cmluZztcclxuICBzdGF0ZT86IHN0cmluZztcclxuICBhY3Rpb24/OiBzdHJpbmc7XHJcbiAgZXNjYWxhdGVkPzogYm9vbGVhbjtcclxuICBzb3VyY2VJZD86IHN0cmluZztcclxuICB0YXJnZXRJZD86IHN0cmluZztcclxuICBkdXJhdGlvbj86IG51bWJlcjtcclxuICBlc3RpbWF0ZT86IGJvb2xlYW47XHJcbiAgZmlsZUlkPzogbnVtYmVyO1xyXG4gIGVycm9yPzogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgTG9nVHlwZSA9ICdTdWJtaXQnIHwgJ0Rvd25sb2FkJyB8ICdTdGF0ZUNoYW5nZScgfCAnQWN0aW9uVGFrZW4nIHwgJ0NoZWNrSW4nIHwgJ0NoZWNrT3V0JyB8XHJcbiAgJ01vZGVsQ2hhbmdlJyB8ICdOb2RlJyB8ICdWaXJ0dWFsTm9kZScgfCAnTm9kZUp1bXAnIHwgJ0Nvbm5lY3RvcicgfCAnVmlydHVhbENvbm5lY3RvcicgfCAnRXNjYWxhdGlvbic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlY2lwaWVudCB7XHJcbiAgb3JpZ2luSWQ/OiBudW1iZXI7XHJcbiAgc3Vic3RpdHV0ZUlkPzogc3RyaW5nO1xyXG4gIGJ5SWQ/OiBzdHJpbmc7XHJcbiAgbm9kZUlkPzogc3RyaW5nO1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIHBlbmRpbmc6IGJvb2xlYW47XHJcbiAgZm9sZGVySWQ6IHN0cmluZztcclxuICByb2xlPzogc3RyaW5nO1xyXG4gIHJlY2VpdmVkOiBEYXRlO1xyXG4gIHJlcGxpZWQ/OiBEYXRlO1xyXG4gIGVzdGltYXRlPzogYm9vbGVhbjtcclxuICBhY3Rpb24/OiBzdHJpbmc7XHJcbiAgZnlpPzogYm9vbGVhbjtcclxuICBpZDogbnVtYmVyO1xyXG4gIG5vdGU/OiBzdHJpbmc7XHJcbiAgZXNjYWxhdGVkPzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFNjaGVkdWxlZEV2ZW50IHtcclxuICBpZDogbnVtYmVyO1xyXG4gIGRvY3VtZW50SWQ6IG51bWJlcjtcclxuICBzdGFydGluZzogRGF0ZTtcclxuICBlbmRpbmc/OiBEYXRlO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGxvY2F0aW9uPzogTGF0TG5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgTWFwUGluIHtcclxuICBsb2NhdGlvbjogTGF0TG5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExhdExuZyB7XHJcbiAgbGF0OiBudW1iZXI7XHJcbiAgbG5nOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3ViZUVudHJ5IHtcclxuICBjdWJlOiBzdHJpbmc7XHJcbiAgYXhlczogc3RyaW5nW107XHJcbiAgdmFsdWU6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBdHRhY2htZW50IHtcclxuICBpZD86IG51bWJlcjtcclxuICBmaWxlTmFtZTogc3RyaW5nO1xyXG4gIGNvbnRlbnRUeXBlOiBzdHJpbmc7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgYnlJZD86IHN0cmluZztcclxuICB0aW1lOiBEYXRlO1xyXG4gIGRlbGV0ZWQ/OiBib29sZWFuO1xyXG4gIGNoZWNrZWRPdXQ/OiBib29sZWFuO1xyXG4gIHByaXZhdGU/OiBib29sZWFuO1xyXG4gIGhvbGRpbmdJZD86IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbW1lbnQge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgLyoqIGJhc2U2NCAqL1xyXG4gIGltYWdlPzogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgdGltZTogRGF0ZTtcclxuICBwYXJlbnRJZD86IG51bWJlcjtcclxuICB2b3RlZD86IG51bWJlcjtcclxuICB2b3Rlcz86IG51bWJlcjtcclxuICBlZGl0ZWQ/OiBEYXRlO1xyXG4gIGRlbGV0ZWQ/OiBib29sZWFuO1xyXG4gIGJ5SWQ/OiBzdHJpbmc7XHJcbiAgcmVzb3VyY2U/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVm90ZSB7XHJcbiAgYnlJZD86IHN0cmluZztcclxuICB1c2VySWQ6IHN0cmluZztcclxuICB0aW1lOiBEYXRlO1xyXG4gIHZvdGVkPzogbnVtYmVyO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWVudFZlcnNpb24ge1xyXG4gIGJ5SWQ/OiBzdHJpbmc7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgdGltZTogRGF0ZTtcclxuICBpbWFnZT86IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIHJlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbiB7XHJcbiAgbXV0ZWQ/OiBib29sZWFuO1xyXG4gIGRlbGV0ZWQ/OiBib29sZWFuO1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgdHlwZTogTm90aWZpY2F0aW9uVHlwZTtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHJlYWQ/OiBib29sZWFuO1xyXG4gIHNlbnQ6IERhdGU7XHJcbiAgcmVjaXBpZW50SWQ/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgTm90aWZpY2F0aW9uVHlwZSA9XHJcbiAgJ0NvbW1lbnRlZCcgfFxyXG4gICdDdWJlQW5vbWFseScgfFxyXG4gICdFc2NhbGF0ZWQnIHxcclxuICAnTGlrZWQnIHxcclxuICAnU3RhdGVDaGFuZ2VkJyB8XHJcbiAgJ051ZGdlJyB8XHJcbiAgJ1RleHRNZXNzYWdlJyB8XHJcbiAgJ1VwY29taW5nRXZlbnQnIHxcclxuICAnSm9iUHJvZ3Jlc3MnIHxcclxuICAnVGFnZ2VkJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGUge1xyXG4gIHNoYXBlPzogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHBhc3Q/OiBzdHJpbmc7XHJcbiAgZnV0dXJlPzogc3RyaW5nO1xyXG4gIGNvbG9yPzogc3RyaW5nO1xyXG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxufVxyXG5leHBvcnQgdHlwZSBHZW5kZXIgPSAnTWFsZScgfFxyXG4gICdGZW1hbGUnIHwgbnVsbDtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVmlldyB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgb3B0aW9ucz86IGFueTtcclxuICBndWlkZT86IHN0cmluZztcclxuICBjdWJlczogc3RyaW5nW107XHJcbiAgZm9ybXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFByb2ZpbGUge1xyXG4gIGhvbGlkYXlzOiBhbnk7XHJcbiAgdXRpbGl0aWVzOiBVdGlsaXR5W107XHJcbiAgZ3VpZGVzPzogR3VpZGVbXTtcclxuICB2aWV3czogVmlld1tdO1xyXG4gIHBob3RvPzogc3RyaW5nO1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIGJ5SWQ/OiBzdHJpbmc7XHJcbiAgYnlOYW1lPzogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBpbXBlcnNvbmF0aW5nPzogc3RyaW5nO1xyXG4gIGF2YWlsYWJsZT86IEF2YWlsYWJpbGl0eVN0YXRlO1xyXG4gIGdlbmRlcj86IEdlbmRlcjtcclxuICBieUdlbmRlcj86IEdlbmRlcjtcclxuICBzeXN0ZW06IGJvb2xlYW47XHJcbiAgZm9ybXM6IEZvcm1bXTtcclxuICBhY3Rpb25zOiBBY3Rpb25bXTtcclxuICBzdGF0ZXM6IFN0YXRlW107XHJcbiAgZm9sZGVyczogRm9sZGVyW107XHJcbiAgcmVwb3J0czogUmVwb3J0W107XHJcbiAgdHlwZXM6IFR5cGVbXTtcclxuICBjdWJlczogQ3ViZVtdO1xyXG4gIG5vZGVzOiBGbG93Tm9kZVtdO1xyXG4gIHJvbGVzOiBSb2xlW107XHJcbiAgd2lkZ2V0czogV2lkZ2V0W107XHJcbiAgb3B0aW9uczogT3B0aW9ucztcclxuICBpbmJveDogSGVhZGVyTW9kZWxbXTtcclxuICBpbmJveENvdW50PzogbnVtYmVyO1xyXG4gIG5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbltdO1xyXG4gIG5vdGlmaWNhdGlvbnNDb3VudD86IG51bWJlcjtcclxuICByZWNlbnRzPzogSGVhZGVyTW9kZWxbXTtcclxuICBjb250YWN0czogQ29udGFjdFtdO1xyXG4gIGNvbnZlcnNhdGlvbnNDb3VudDogbnVtYmVyO1xyXG4gIGxpY2Vuc2U/OiBMaWNlbnNlO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVHlwZSB7XHJcbiAgYXJndW1lbnRzPzogRmllbGRJbmZvW107XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgYXNzaWduYWJsZT86IGJvb2xlYW47XHJcbiAgY29sdW1ucz86IEZpZWxkSW5mb1tdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUm9sZSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgZGF0YVR5cGU6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFV0aWxpdHkge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgZ3VpZGU/OiBzdHJpbmc7XHJcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgYXJndW1lbnRzPzogRmllbGRJbmZvW107XHJcbiAgb3B0aW9uczogYW55O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFjdCB7XHJcbiAgdmlzaXRlZD86IERhdGU7XHJcbiAgd2F0ZXJtYXJrPzogRGF0ZTtcclxuICBpZDogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgdGltZTogRGF0ZTtcclxuICBhY2NlcHRlZDogYm9vbGVhbjtcclxuICBpbWFnZT86IHN0cmluZztcclxuICBjb3VudDogbnVtYmVyO1xyXG4gIGZvcmdvdHRlbj86IGJvb2xlYW47XHJcbiAgcmVzb3VyY2U/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdCB7XHJcbiAgZGF0ZTogRGF0ZTtcclxuICB1c2VySWQ6IHN0cmluZztcclxuICBjb250YWN0SWQ6IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIHRpbWU6IERhdGU7XHJcbiAgLyoqIGJhc2U2NCAqL1xyXG4gIGltYWdlPzogc3RyaW5nO1xyXG4gIHJlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkSW5mbyB7XHJcbiAgZGVmYXVsdFZhbHVlPzogYW55O1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBsYWJlbD86IHN0cmluZztcclxuICBrZXk/OiBib29sZWFuO1xyXG4gIHR5cGU/OiBGaWVsZFR5cGU7XHJcbiAgdmFsaWRhdGlvbnM/OiBWYWxpZGF0aW9uW107XHJcbiAgZmllbGRzPzogRmllbGRJbmZvW107XHJcbiAgbWF4PzogbnVtYmVyO1xyXG4gIG1pbj86IG51bWJlcjtcclxuICBzb3VyY2U/OiBzdHJpbmc7XHJcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xyXG4gIHBhdHRlcm4/OiBzdHJpbmc7XHJcbiAgaGlkZGVuPzogYm9vbGVhbjtcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBpc0FycmF5PzogYm9vbGVhbjtcclxuICBpc09iamVjdD86IGJvb2xlYW47XHJcbiAgZGlhZ3JhbT86IGJvb2xlYW47XHJcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgaGludD86IHN0cmluZztcclxuICBvcHRpb25zPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRpb24ge1xyXG4gIHR5cGU6IFZhbGlkYXRpb25UeXBlO1xyXG4gIG1lc3NhZ2U6IHN0cmluZztcclxuICBtaW4/OiBudW1iZXI7XHJcbiAgbWF4PzogbnVtYmVyO1xyXG4gIGV4cHJlc3Npb24/OiBhbnk7XHJcbn1cclxuZXhwb3J0IGVudW0gVmFsaWRhdGlvblR5cGUge1xyXG4gIFJlcXVpcmVkID0gJ1JlcXVpcmVkJyxcclxuICBNaW4gPSAnTWluJyxcclxuICBNYXggPSAnTWF4JyxcclxuICBNaW5MZW5ndGggPSAnTWluTGVuZ3RoJyxcclxuICBNYXhMZW5ndGggPSAnTWF4TGVuZ3RoJyxcclxuICBQYXR0ZXJuID0gJ1BhdHRlcm4nLFxyXG4gIFJhbmdlID0gJ1JhbmdlJyxcclxuICBFbWFpbCA9ICdFbWFpbCdcclxufVxyXG5leHBvcnQgZW51bSBGaWVsZFR5cGUge1xyXG4gIFN0cmluZyA9ICdTdHJpbmcnLFxyXG4gIE51bWJlciA9ICdOdW1iZXInLFxyXG4gIFRpbWUgPSAnVGltZScsXHJcbiAgRGF0ZSA9ICdEYXRlJyxcclxuICBEYXRlVGltZSA9ICdEYXRlVGltZScsXHJcbiAgQ2hlY2tib3ggPSAnQ2hlY2tib3gnLFxyXG4gIEN1cnJlbmN5ID0gJ0N1cnJlbmN5JyxcclxuICBTZWxlY3QgPSAnU2VsZWN0JyxcclxuICBFbWFpbEFkZHJlc3MgPSAnRW1haWxBZGRyZXNzJyxcclxuICBIdG1sID0gJ0h0bWwnLFxyXG4gIFRleHQgPSAnVGV4dCcsXHJcbiAgUGFzc3dvcmQgPSAnUGFzc3dvcmQnLFxyXG4gIFBob25lTnVtYmVyID0gJ1Bob25lTnVtYmVyJyxcclxuICBGaWxlID0gJ0ZpbGUnLFxyXG4gIFVybCA9ICdVcmwnLFxyXG4gIFN3aXRjaCA9ICdTd2l0Y2gnLFxyXG4gIEFkZHJlc3MgPSAnQWRkcmVzcycsXHJcbiAgT2JqZWN0ID0gJ09iamVjdCcsXHJcbiAgRXhwcmVzc2lvbiA9ICdFeHByZXNzaW9uJyxcclxuICBEdXJhdGlvbiA9ICdEdXJhdGlvbicsXHJcbiAgQXV0b2NvbXBsZXRlID0gJ0F1dG9jb21wbGV0ZScsXHJcbiAgUGVyY2VudCA9IFwiUGVyY2VudFwiLFxyXG4gIERhdGVSYW5nZSA9IFwiRGF0ZVJhbmdlXCJcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGd1aWRlPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHRlbXBsYXRlOiBzdHJpbmc7XHJcbiAgY29scz86IG51bWJlcjtcclxuICByb3dzPzogbnVtYmVyO1xyXG4gIGFyZ3VtZW50cz86IEZpZWxkSW5mb1tdO1xyXG4gIGFyZ3VtZW50c1RlbXBsYXRlPzogc3RyaW5nO1xyXG4gIG9wdGlvbnM6IGFueTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIExpY2Vuc2Uge1xyXG4gIG1vZGU6IExpY2Vuc2VNb2RlO1xyXG4gIGV4cGlyYXRpb24/OiBEYXRlO1xyXG4gIGNvbXBhbnlOYW1lOiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBGb2xkZXIge1xyXG4gIGZpbHRlcnM/OiB7XHJcbiAgICBjdWJlPzogc3RyaW5nO1xyXG4gICAgYXhlczogc3RyaW5nW107XHJcbiAgfTtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgZ3JvdXA/OiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGNvdW50PzogbnVtYmVyO1xyXG4gIGNvbHVtbnM/OiBGb2xkZXJDb2x1bW5bXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEZvbGRlckNvbHVtbiB7XHJcbiAgbmFtZTogc3RyaW5nIHwgJ251bWJlcicgfCAnc3ViamVjdCcgfCAndmFsdWUnIHwgJ293bmVyJyB8ICdzZW5kZXInIHwgJ3JlY2VpdmVkJyB8ICdyZWNlaXZlZEFnbycgfCAncmVwbGllZCcgfCAnc3RhdGUnIHwgJ2lzc3VlZCcgfCAnaXNzdWVkQWdvJztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHR5cGU/OiAnQm9vbGVhbicgfCAnRGF0ZScgfCAnRGVjaW1hbCcgfCAnU3RyaW5nJztcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgTGljZW5zZU1vZGUgPVxyXG4gICdFdmFsdWF0aW9uJyB8XHJcbiAgJ1ZhbGlkJyB8XHJcbiAgJ0dyYWNlJyB8XHJcbiAgJ0ludmFsaWQnIHxcclxuICAnTGltaXQnIHxcclxuICAnRXhwaXJlZCc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbiB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgdmVyYj86IHN0cmluZztcclxuICB5b3U/OiBzdHJpbmc7XHJcbiAgeW91TWFsZT86IHN0cmluZztcclxuICB5b3VGZW1hbGU/OiBzdHJpbmc7XHJcbiAgcGFzdD86IHN0cmluZztcclxuICBwYXN0TWFsZT86IHN0cmluZztcclxuICBwYXN0RmVtYWxlPzogc3RyaW5nO1xyXG4gIGFkamVjdGl2ZT86IHN0cmluZztcclxuICBsb2dnYWJsZT86IGJvb2xlYW47XHJcbiAgYWRqZWN0aXZlUGx1cmFsPzogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgYXJndW1lbnRzPzogRmllbGRJbmZvW107XHJcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIGdyb3VwPzogbnVtYmVyO1xyXG4gIHNoYXBlPzogc3RyaW5nO1xyXG4gIGNvbG9yPzogc3RyaW5nO1xyXG4gIG9wdGlvbnM/OiBhbnk7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBPcHRpb25zIHtcclxuICBncmFudEFjY2Vzcz86IEdyYW50U2V0dGluZ3M7XHJcbiAgb3V0T2ZPZmZpY2U/OiBPdXRPZk9mZmljZVNldHRpbmdzO1xyXG4gIG5vdGlmaWNhdGlvbnM/OiBOb3RpZmljYXRpb25zU2V0dGluZ3M7XHJcbiAgZW1haWxzPzogRW1haWxTZXR0aW5ncztcclxuICBndWlkZXM/OiBzdHJpbmdbXTtcclxuICBpbmJveFZpZXc/OiBEYXRlO1xyXG4gIG5vdGlmaWNhdGlvbnNWaWV3PzogRGF0ZTtcclxuICB0YWdzPzogc3RyaW5nW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBHcmFudFNldHRpbmdzIHtcclxuICBhY3RpdmU6IGJvb2xlYW47XHJcbiAgdXNlcnM/OiBzdHJpbmdbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEaW1lbnRpb25zIHtcclxuICB3aWR0aDogbnVtYmVyO1xyXG4gIGhlaWdodDogbnVtYmVyO1xyXG59O1xyXG5cclxuZXhwb3J0XHJcbiAgaW50ZXJmYWNlIFJlcG9ydCB7XHJcbiAgb3B0aW9ucz86IGFueTtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGd1aWRlPzogc3RyaW5nO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIGZpZWxkcz86IEZpZWxkSW5mb1tdO1xyXG4gIGl0ZW1UZW1wbGF0ZT86IHN0cmluZztcclxuICBjb2x1bW5zOiBGaWVsZEluZm9bXTtcclxuICBhcmd1bWVudHM/OiBGaWVsZEluZm9bXTtcclxuICBhcmd1bWVudHNUZW1wbGF0ZT86IHN0cmluZztcclxufVxyXG5leHBvcnRcclxuICBpbnRlcmZhY2UgRm9ybSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgY3JlYXRhYmxlOiBib29sZWFuO1xyXG4gIGljb246IHN0cmluZztcclxuICBwb3NpdGlvbj86ICdSZXF1aXJlJyB8ICdBc2snIHwgJ05vbmUnO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIHN0cnVjdHVyZT86IEZpZWxkSW5mb1tdO1xyXG4gIHdvcmtmbG93PzogV29ya2Zsb3c7XHJcbiAgZ3VpZGU/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBXb3JrZmxvdyB7XHJcbiAgdmVyc2lvbjogbnVtYmVyO1xyXG4gIGNvbm5lY3RvcnM6IENvbm5lY3Rvck1vZGVsW107XHJcbiAgbm9kZXM6IE5vZGVNb2RlbFtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgVXNlckluZm8ge1xyXG4gIGlkOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHJvbGU/OiBzdHJpbmc7XHJcbiAgZ2VuZGVyPzogR2VuZGVyO1xyXG4gIHBpY3R1cmVVcmw/OiBzdHJpbmc7XHJcbiAgbmljaz86IHN0cmluZztcclxuICBwaG9uZU51bWJlcj86IHN0cmluZztcclxuICBlbWFpbD86IHN0cmluZztcclxuICBsYXN0QWN0aXZlPzogRGF0ZTtcclxuICBtb2RlPzogQXZhaWxhYmlsaXR5U3RhdGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3VpZGUge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBtb2RlPzogJ01lbnUnIHwgJ0VhZ2VyJyB8ICdQcml2YXRlJztcclxuICBzdGVwczogR3VpZGVTdGVwW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBHdWlkZVN0ZXAge1xyXG4gIGV4ZWN1dGU/OiBib29sZWFuO1xyXG4gIHNlbGVjdG9yPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGNvbnRlbnQ6IHN0cmluZztcclxuICBuYXZpZ2F0ZT86IHN0cmluZztcclxuICBwb3NpdGlvbj86ICdBYm92ZScgfCAnRW5kJyB8ICdTdGFydCcgfCAnQmVsb3cnO1xyXG59XHJcbi8vZW51bSBHdWlkZVN0ZXBQb2xpY3kgeyB9XHJcbmV4cG9ydCBpbnRlcmZhY2UgRmxvd05vZGUge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHN0eWxlPzogc3RyaW5nO1xyXG4gIHBhbGV0dGU/OiBzdHJpbmc7XHJcbiAgc2hhcGU6IFNoYXBlTW9kZWwgfCBGbG93U2hhcGVNb2RlbCB8IEJhc2ljU2hhcGVNb2RlbCB8IEltYWdlTW9kZWwgfCBQYXRoTW9kZWwgfCBUZXh0TW9kZWwgfCBCcG1uU2hhcGVNb2RlbCB8IE5hdGl2ZU1vZGVsO1xyXG4gIHRlbXBsYXRlPzogc3RyaW5nO1xyXG4gIGFyZ3VtZW50cz86IEZpZWxkSW5mb1tdO1xyXG59XHJcbmV4cG9ydCBkZWNsYXJlIHR5cGUgQXZhaWxhYmlsaXR5U3RhdGUgPVxyXG4gICdPZmZsaW5lJyB8XHJcbiAgJ09ubGluZScgfFxyXG4gICdPdXRPZk9mZmljZScgfFxyXG4gICdWYWNhdGlvbicgfCAnV29ya2luZ0hvbWUnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdWJlIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIHlBeGlzPzogWUF4aXM7XHJcbiAgdGVtcGxhdGU/OiBzdHJpbmc7XHJcbiAgY3VycmVuY3lDb2RlPzogc3RyaW5nO1xyXG4gIHZpZXdzOiBDdWJlVmlld1tdO1xyXG4gIGF4ZXM6IEN1YmVBeGlzW107XHJcbiAgaW5kaWNlcz86IEN1YmVJbmRleFtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgWUF4aXMge1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHR5cGU/OiAnTm9uZScgfCAnTnVtYmVyJyB8ICdDdXJyZW5jeSc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDdWJlSW5kZXgge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBhY2N1bXVsYXRlPzogYm9vbGVhbjtcclxuICB0aXRsZTogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3ViZUF4aXMge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGRhdGFUeXBlOiBzdHJpbmc7XHJcbiAgaGlkZGVuPzogYm9vbGVhbjtcclxuICBjb21iaW5hdGlvbj86IGJvb2xlYW47XHJcbiAgc2VsZWN0aW9uTW9kZT86ICdTaW5nbGUnIHwgJ1BhdHRlcm4nIHwgJ011bHRpcGxlJyB8ICdTZWFyY2gnIHwgJ05vbmUnO1xyXG4gIGRlc2NlbmRlbnRPZj86IHN0cmluZztcclxufVxyXG5leHBvcnQgdHlwZSBBeGlzVHlwZSA9IHN0cmluZyB8IG51bWJlciB8IEFycmF5PHN0cmluZyB8IG51bWJlcj47XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF4ZXNNYXAge1xyXG4gIFtheGlzOiBzdHJpbmddOiBBeGlzVHlwZTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEN1YmVWaWV3IHtcclxuICB4QXhpczogc3RyaW5nW107XHJcbiAgc2VyaWVzPzogc3RyaW5nW107XHJcbiAgZmlsdGVycz86IEF4ZXNNYXA7XHJcbiAgaW5kaWNlcz86IHN0cmluZ1tdO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgZ3VpZGU/OiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgdHlwZTogVmlld1R5cGU7XHJcbiAgY2hhcnRUeXBlPzogQ2hhcnRUeXBlO1xyXG4gIGluZGljZXNDaGFydFR5cGU/OiBDaGFydFR5cGU7XHJcbn1cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBWaWV3VHlwZSA9ICdTcHJlYWRzaGVldCcgfFxyXG4gICdDaGFydCcgfCAnUGl2b3QnIHwgJ0dyaWQnO1xyXG5leHBvcnQgZGVjbGFyZSB0eXBlIENoYXJ0VHlwZSA9XHJcbiAgJ1BpZScgfFxyXG4gIC8qKiAgRGVmaW5lIHRoZSBsaW5lIHNlcmllcy4gKi9cclxuICAnTGluZScgfFxyXG4gIC8qKiAgRGVmaW5lIHRoZSBDb2x1bW4gc2VyaWVzLiAqL1xyXG4gICdDb2x1bW4nIHxcclxuICAvKiogIERlZmluZSB0aGUgQXJlYSBzZXJpZXMuICovXHJcbiAgJ0FyZWEnIHxcclxuICAvKiogIERlZmluZSB0aGUgQmFyIHNlcmllcy4gKi9cclxuICAnQmFyJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIFN0YWNraW5nQ29sdW1uIHNlcmllcy4gKi9cclxuICAnU3RhY2tpbmdDb2x1bW4nIHxcclxuICAvKiogIERlZmluZSB0aGUgU3RhY2tpbmdBcmVhIHNlcmllcy4gKi9cclxuICAnU3RhY2tpbmdBcmVhJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIFN0YWNraW5nTGluZSBzZXJpZXMuICovXHJcbiAgJ1N0YWNraW5nTGluZScgfFxyXG4gIC8qKiAgRGVmaW5lIHRoZSBTdGFja2luZ0JhciBzZXJpZXMuICovXHJcbiAgJ1N0YWNraW5nQmFyJyB8XHJcbiAgLyoqICBEZWZpbmUgdGhlIFN0ZXBsaW5lIHNlcmllcy4gKi9cclxuICAnU3RlcExpbmUnIHxcclxuICAvKiogIERlZmluZSB0aGUgU3RlcGFyZWEgc2VyaWVzLiAqL1xyXG4gICdTdGVwQXJlYScgfFxyXG4gIC8qKiAgRGVmaW5lIHRoZSBTdGVwYXJlYSBzZXJpZXMuICovXHJcbiAgJ1NwbGluZUFyZWEnIHxcclxuICAvKiogIERlZmluZSB0aGUgU2NhdHRlciBzZXJpZXMuICovXHJcbiAgJ1NjYXR0ZXInIHxcclxuICAvKiogIERlZmluZSB0aGUgU3BsaW5lIHNlcmllcy4gKi9cclxuICAnU3BsaW5lJyB8XHJcbiAgLyoqIERlZmluZSB0aGUgU3RhY2tpbmdDb2x1bW4xMDAgc2VyaWVzICovXHJcbiAgJ1N0YWNraW5nQ29sdW1uMTAwJyB8XHJcbiAgLyoqIERlZmluZSB0aGUgU3RhY2tpbmdCYXIxMDAgc2VyaWVzICovXHJcbiAgJ1N0YWNraW5nQmFyMTAwJyB8XHJcbiAgLyoqIERlZmluZSB0aGUgU3RhY2tpbmdMaW5lMTAwIHNlcmllcyAqL1xyXG4gICdTdGFja2luZ0xpbmUxMDAnIHxcclxuICAvKiogRGVmaW5lIHRoZSBTdGFja2luZ0FyZWExMDAgc2VyaWVzICovXHJcbiAgJ1N0YWNraW5nQXJlYTEwMCcgfFxyXG4gIC8qKiBEZWZpbmUgdGhlIFJhbmdlQ29sdW1uIFNlcmllcyAqL1xyXG4gICdSYW5nZUNvbHVtbicgfFxyXG4gIC8qKiBEZWZpbmUgdGhlIFdhdGVyZmFsbCBTZXJpZXMgKi9cclxuICAnV2F0ZXJmYWxsJyB8XHJcbiAgLyoqIERlZmluZSB0aGUgUmFuZ2VBcmVhIFNlcmllcyAqL1xyXG4gICdSYW5nZUFyZWEnIHxcclxuICAvKiogRGVmaW5lIHRoZSBCdWJibGUgU2VyaWVzICovXHJcbiAgJ0J1YmJsZScgfFxyXG4gIC8qKiBEZWZpbmUgdGhlIENhbmRsZSBTZXJpZXMgKi9cclxuICAnUG9sYXInIHxcclxuICAvKiogRGVmaW5lIHRoZSByYWRhciBzZXJpZXMgKi9cclxuICAnUmFkYXInIHxcclxuICAvKiogRGVmaW5lIHRoZSBQYXJldG8gc2VyaWVzICovXHJcbiAgJ1BhcmV0bycgfCAnRG91Z2hudXQnIHwgJ0hhbGZEb3VnaG51dCcgfFxyXG4gICdGdW5uZWwnIHwgJ1B5cmFtaWQnIHxcclxuICAnU3RhY2tpbmdTdGVwQXJlYSc7XHJcbmV4cG9ydCBpbnRlcmZhY2UgT3V0T2ZPZmZpY2VTZXR0aW5ncyB7XHJcbiAgZnJvbT86IERhdGU7XHJcbiAgdG8/OiBEYXRlO1xyXG4gIGFjdGl2ZTogYm9vbGVhbjtcclxuICBzdWJzdGl0dWVJZD86IHN0cmluZztcclxufVxyXG5pbnRlcmZhY2UgTm90aWZpY2F0aW9uc1NldHRpbmdzIHtcclxuICBzb3VuZD86IGJvb2xlYW47XHJcbiAgYWN0aXZlPzogYm9vbGVhbjtcclxuICBteVN0YXRlQ2hhbmdlZD86IGJvb2xlYW47XHJcbiAgYW55U3RhdGVDaGFuZ2VkPzogYm9vbGVhbjtcclxuICBhbnlDb21tZW50PzogYm9vbGVhbjtcclxuICBteUNvbW1lbnQ/OiBib29sZWFuO1xyXG4gIGxpa2VkPzogYm9vbGVhbjtcclxuICBjdWJlQW5vbWFseT86IGJvb2xlYW47XHJcbiAgdXBjb21pbmdFdmVudHM/OiBib29sZWFuO1xyXG59XHJcbmludGVyZmFjZSBFbWFpbFNldHRpbmdzIHtcclxuICBhY3RpdmU/OiBib29sZWFuO1xyXG4gIG1haWxzPzogYm9vbGVhbjtcclxuICBjb252ZXJzYXRpb25zPzogYm9vbGVhbjtcclxuICBub3RpZmljYXRpb25zPzogYm9vbGVhbjtcclxuICBldmVudHM/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
@@ -17,13 +17,13 @@ export class NoneComponent {
17
17
  this.isMobile = isMobile();
18
18
  }
19
19
  }
20
- NoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: NoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
- NoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: NoneComponent, selector: "bizdoc-none", inputs: { title: "title", subtitle: "subtitle", icon: "icon" }, ngImport: i0, template: `<div class="none" @none>
20
+ NoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: NoneComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
21
+ NoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: NoneComponent, selector: "bizdoc-none", inputs: { title: "title", subtitle: "subtitle", icon: "icon" }, ngImport: i0, template: `<div class="none" @none>
22
22
  <h4 class="mat-title">{{title|translate}}</h4>
23
23
  <mat-icon class="icon">{{icon}}</mat-icon>
24
24
  <h5 class="mat-body-2" *ngIf='subtitle' [innerHTML]='subtitle|translate|sanitizeHtml'></h5>
25
25
  </div>`, isInline: true, styles: [".none{align-items:center;display:flex;flex-direction:column;opacity:.2;padding-top:2em;cursor:default}.none .icon{font-size:56px;height:auto;width:auto}.none h5{padding:0 8px}.none h5 ::ng-deep i.material-icons{vertical-align:text-bottom;font-size:initial}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i3.TranslatePipe, "sanitizeHtml": i4.SanitizeHtmlPipe }, animations: [noneAnimation] });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: NoneComponent, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: NoneComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{ selector: 'bizdoc-none', template: `<div class="none" @none>
29
29
  <h4 class="mat-title">{{title|translate}}</h4>
@@ -16,9 +16,9 @@ export class ActionPipe {
16
16
  return `_${value}`;
17
17
  }
18
18
  }
19
- ActionPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ActionPipe, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Pipe });
20
- ActionPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ActionPipe, name: "action" });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: ActionPipe, decorators: [{
19
+ ActionPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ActionPipe, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Pipe });
20
+ ActionPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ActionPipe, name: "action" });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ActionPipe, decorators: [{
22
22
  type: Pipe,
23
23
  args: [{ name: 'action' }]
24
24
  }], ctorParameters: function () { return [{ type: i1.SessionService }]; } });
@@ -54,9 +54,9 @@ export class CalendarPipe {
54
54
  CalendarPipe.refs = 0;
55
55
  CalendarPipe.timer = null;
56
56
  CalendarPipe.midnight = null;
57
- CalendarPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CalendarPipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Pipe });
58
- CalendarPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CalendarPipe, name: "amCalendar", pure: false });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: CalendarPipe, decorators: [{
57
+ CalendarPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CalendarPipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Pipe });
58
+ CalendarPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CalendarPipe, name: "amCalendar", pure: false });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CalendarPipe, decorators: [{
60
60
  type: Pipe,
61
61
  args: [{
62
62
  name: 'amCalendar',
@@ -10,9 +10,9 @@ export class DateFormatPipe {
10
10
  return dayjs(value).format(args[0]);
11
11
  }
12
12
  }
13
- DateFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DateFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
14
- DateFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DateFormatPipe, name: "amDateFormat" });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DateFormatPipe, decorators: [{
13
+ DateFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DateFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
14
+ DateFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DateFormatPipe, name: "amDateFormat" });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DateFormatPipe, decorators: [{
16
16
  type: Pipe,
17
17
  args: [{ name: 'amDateFormat' }]
18
18
  }], ctorParameters: function () { return []; } });
@@ -20,9 +20,9 @@ export class AgoPipe {
20
20
  return this._translate.get('YearsAgo', Math.round(months / 12));
21
21
  }
22
22
  }
23
- AgoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: AgoPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
24
- AgoPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: AgoPipe, name: "amMiniAgo" });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: AgoPipe, decorators: [{
23
+ AgoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AgoPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
24
+ AgoPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AgoPipe, name: "amMiniAgo" });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: AgoPipe, decorators: [{
26
26
  type: Pipe,
27
27
  args: [{ name: 'amMiniAgo' }]
28
28
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
@@ -53,9 +53,9 @@ export class DateRangePipe {
53
53
  }
54
54
  }
55
55
  }
56
- DateRangePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DateRangePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
57
- DateRangePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DateRangePipe, name: "dateRange" });
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DateRangePipe, decorators: [{
56
+ DateRangePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DateRangePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
57
+ DateRangePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DateRangePipe, name: "dateRange" });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DateRangePipe, decorators: [{
59
59
  type: Pipe,
60
60
  args: [{ name: 'dateRange' }]
61
61
  }] });
@@ -6,9 +6,9 @@ export class DifferencePipe {
6
6
  return dayjs(value).diff(args[0], args[1]);
7
7
  }
8
8
  }
9
- DifferencePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DifferencePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10
- DifferencePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DifferencePipe, name: "amDifference" });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DifferencePipe, decorators: [{
9
+ DifferencePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DifferencePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
10
+ DifferencePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DifferencePipe, name: "amDifference" });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DifferencePipe, decorators: [{
12
12
  type: Pipe,
13
13
  args: [{ name: 'amDifference' }]
14
14
  }] });
@@ -39,9 +39,9 @@ export class DurationFormatPipe {
39
39
  return this._translate.join(parts, 'NumericJoinAnd');
40
40
  }
41
41
  }
42
- DurationFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DurationFormatPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
43
- DurationFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DurationFormatPipe, name: "amDurationFormat" });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DurationFormatPipe, decorators: [{
42
+ DurationFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DurationFormatPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
43
+ DurationFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DurationFormatPipe, name: "amDurationFormat" });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DurationFormatPipe, decorators: [{
45
45
  type: Pipe,
46
46
  args: [{ name: 'amDurationFormat' }]
47
47
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
@@ -10,9 +10,9 @@ export class DurationPipe {
10
10
  return duration.humanize();
11
11
  }
12
12
  }
13
- DurationPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DurationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
14
- DurationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DurationPipe, name: "amDuration" });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DurationPipe, decorators: [{
13
+ DurationPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DurationPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
14
+ DurationPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DurationPipe, name: "amDuration" });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: DurationPipe, decorators: [{
16
16
  type: Pipe,
17
17
  args: [{ name: 'amDuration' }]
18
18
  }], ctorParameters: function () { return []; } });
@@ -16,9 +16,9 @@ export class FormPipe {
16
16
  return `_${value}`;
17
17
  }
18
18
  }
19
- FormPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FormPipe, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Pipe });
20
- FormPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FormPipe, name: "form" });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: FormPipe, decorators: [{
19
+ FormPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: FormPipe, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Pipe });
20
+ FormPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: FormPipe, name: "form" });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: FormPipe, decorators: [{
22
22
  type: Pipe,
23
23
  args: [{ name: 'form' }]
24
24
  }], ctorParameters: function () { return [{ type: i1.SessionService }]; } });
@@ -9,9 +9,9 @@ export class JoinPipe {
9
9
  return this._translate.join(value);
10
10
  }
11
11
  }
12
- JoinPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: JoinPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
13
- JoinPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: JoinPipe, name: "join" });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: JoinPipe, decorators: [{
12
+ JoinPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: JoinPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
13
+ JoinPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: JoinPipe, name: "join" });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: JoinPipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{ name: 'join' }]
17
17
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
@@ -16,9 +16,9 @@ export class RolePipe {
16
16
  return `_${value}`;
17
17
  }
18
18
  }
19
- RolePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: RolePipe, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Pipe });
20
- RolePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: RolePipe, name: "role" });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: RolePipe, decorators: [{
19
+ RolePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: RolePipe, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Pipe });
20
+ RolePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: RolePipe, name: "role" });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: RolePipe, decorators: [{
22
22
  type: Pipe,
23
23
  args: [{ name: 'role' }]
24
24
  }], ctorParameters: function () { return [{ type: i1.SessionService }]; } });