@bizdoc/core 1.16.3 → 1.16.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bizdoc-core.d.ts.map +1 -0
- package/esm2020/lib/admin/admin-dismiss.service.mjs +6 -6
- package/esm2020/lib/admin/admin-menu.component.mjs +82 -9
- package/esm2020/lib/admin/configuration-designer/cube-axes-filter.component.mjs +248 -0
- package/esm2020/lib/admin/configuration-designer/designer-element.component.mjs +192 -29
- package/esm2020/lib/admin/configuration-designer/designer.base.mjs +37 -25
- package/esm2020/lib/admin/configuration-designer/designer.component.mjs +152 -10
- package/esm2020/lib/admin/configuration-designer/elements/action.component.mjs +107 -10
- package/esm2020/lib/admin/configuration-designer/elements/analysis-view.component.mjs +447 -7
- package/esm2020/lib/admin/configuration-designer/elements/analysis-widget.component.mjs +441 -7
- package/esm2020/lib/admin/configuration-designer/elements/anomaly-rule.component.mjs +25 -7
- package/esm2020/lib/admin/configuration-designer/elements/box-form.component.mjs +25 -7
- package/esm2020/lib/admin/configuration-designer/elements/configuration-datasource.component.mjs +79 -7
- package/esm2020/lib/admin/configuration-designer/elements/cube-index-utility.component.mjs +71 -7
- package/esm2020/lib/admin/configuration-designer/elements/cube-view.component.mjs +98 -7
- package/esm2020/lib/admin/configuration-designer/elements/cube.component.mjs +793 -10
- package/esm2020/lib/admin/configuration-designer/elements/documents-report.component.mjs +52 -7
- package/esm2020/lib/admin/configuration-designer/elements/documents-widget.component.mjs +55 -10
- package/esm2020/lib/admin/configuration-designer/elements/explore-view.component.mjs +73 -7
- package/esm2020/lib/admin/configuration-designer/elements/folder.component.mjs +275 -9
- package/esm2020/lib/admin/configuration-designer/elements/form.component.mjs +96 -10
- package/esm2020/lib/admin/configuration-designer/elements/guide.component.mjs +78 -7
- package/esm2020/lib/admin/configuration-designer/elements/matrix-view.component.mjs +293 -8
- package/esm2020/lib/admin/configuration-designer/elements/parallel-view.component.mjs +210 -8
- package/esm2020/lib/admin/configuration-designer/elements/performance-widget.component.mjs +74 -7
- package/esm2020/lib/admin/configuration-designer/elements/pivot-view.component.mjs +162 -8
- package/esm2020/lib/admin/configuration-designer/elements/report.component.mjs +58 -7
- package/esm2020/lib/admin/configuration-designer/elements/return-to-role-action.component.mjs +40 -7
- package/esm2020/lib/admin/configuration-designer/elements/role.component.mjs +70 -8
- package/esm2020/lib/admin/configuration-designer/elements/rule.component.mjs +20 -7
- package/esm2020/lib/admin/configuration-designer/elements/state.component.mjs +63 -11
- package/esm2020/lib/admin/configuration-designer/elements/sum-view.component.mjs +132 -8
- package/esm2020/lib/admin/configuration-designer/elements/tasks-report.component.mjs +101 -7
- package/esm2020/lib/admin/configuration-designer/elements/type.component.mjs +25 -7
- package/esm2020/lib/admin/configuration-designer/elements/usage-report.component.mjs +205 -8
- package/esm2020/lib/admin/configuration-designer/elements/utility.component.mjs +24 -7
- package/esm2020/lib/admin/configuration-designer/elements/view.component.mjs +22 -7
- package/esm2020/lib/admin/configuration-designer/elements/widget.component.mjs +54 -7
- package/esm2020/lib/admin/configuration-designer/icon-picker.component.mjs +79 -30
- package/esm2020/lib/admin/core/ace.input.mjs +35 -29
- package/esm2020/lib/admin/core/color-picker.input.mjs +89 -36
- package/esm2020/lib/admin/core/search.input.mjs +23 -13
- package/esm2020/lib/admin/diff/configuration-diff.component.mjs +90 -15
- package/esm2020/lib/admin/document-trace/document-trace.component.mjs +296 -30
- package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +63 -10
- package/esm2020/lib/admin/document-trace/trace-element.component.mjs +238 -7
- package/esm2020/lib/admin/form/designer/designer.component.mjs +492 -10
- package/esm2020/lib/admin/form/form.resolve.service.mjs +6 -6
- package/esm2020/lib/admin/form/workflow/node.component.mjs +86 -15
- package/esm2020/lib/admin/form/workflow/role-node.component.mjs +152 -13
- package/esm2020/lib/admin/form/workflow/workflow.component.mjs +219 -18
- package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +160 -13
- package/esm2020/lib/admin/patterns/patterns.component.mjs +280 -19
- package/esm2020/lib/admin/permissions/permissions.component.mjs +129 -13
- package/esm2020/lib/admin/positions/positions-popup.component.mjs +77 -13
- package/esm2020/lib/admin/positions/positions.component.mjs +605 -31
- package/esm2020/lib/admin/profiler/outofoffice.component.mjs +184 -16
- package/esm2020/lib/admin/profiler/profiler.component.mjs +268 -21
- package/esm2020/lib/admin/system.service.mjs +6 -6
- package/esm2020/lib/admin/utility-wrapper.component.mjs +9 -9
- package/esm2020/lib/admin/utility.pane.component.mjs +23 -15
- package/esm2020/lib/app.component.mjs +19 -19
- package/esm2020/lib/bizdoc.module.mjs +30 -29
- package/esm2020/lib/browse/browse-items.component.mjs +629 -40
- package/esm2020/lib/browse/browse.mobile.component.mjs +218 -13
- package/esm2020/lib/browse/browse.pane.component.mjs +214 -18
- package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +161 -11
- package/esm2020/lib/browse/filter/filter.component.mjs +184 -27
- package/esm2020/lib/browse/folders-menu.component.mjs +74 -11
- package/esm2020/lib/chat/chat-info.mjs +10 -10
- package/esm2020/lib/chat/chat.mobile.component.mjs +32 -11
- package/esm2020/lib/chat/chat.service.mjs +7 -7
- package/esm2020/lib/chat/contacts.component.mjs +134 -15
- package/esm2020/lib/chat/contacts.pane.component.mjs +16 -12
- package/esm2020/lib/chat/conversation.component.mjs +128 -21
- package/esm2020/lib/chat/conversation.pane.component.mjs +13 -9
- package/esm2020/lib/compose/action/action-picker.component.mjs +107 -14
- package/esm2020/lib/compose/action/action.dialog.mjs +78 -13
- package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +58 -12
- package/esm2020/lib/compose/action/assign-action.component.mjs +93 -10
- package/esm2020/lib/compose/action/moveto-action.component.mjs +110 -10
- package/esm2020/lib/compose/action/return-action.component.mjs +55 -7
- package/esm2020/lib/compose/attachments/attachments.component.mjs +140 -13
- package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +147 -58
- package/esm2020/lib/compose/attachments/progress-button.directive.mjs +9 -9
- package/esm2020/lib/compose/box/box.component.mjs +160 -7
- package/esm2020/lib/compose/can-deactivate-changes.service.mjs +6 -6
- package/esm2020/lib/compose/comments/comment.component.mjs +189 -26
- package/esm2020/lib/compose/comments/comments.component.mjs +111 -22
- package/esm2020/lib/compose/comments/comments.pane.component.mjs +21 -12
- package/esm2020/lib/compose/comments/edit-comment.component.mjs +16 -10
- package/esm2020/lib/compose/comments/edits.component.mjs +47 -10
- package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +37 -10
- package/esm2020/lib/compose/comments/votes.component.mjs +45 -10
- package/esm2020/lib/compose/compose-resolve.service.mjs +11 -11
- package/esm2020/lib/compose/compose.mobile.component.mjs +297 -19
- package/esm2020/lib/compose/compose.pane.component.mjs +336 -36
- package/esm2020/lib/compose/copy/copy.dialog.mjs +58 -7
- package/esm2020/lib/compose/dismiss.service.mjs +6 -6
- package/esm2020/lib/compose/document-resolver.service.mjs +6 -6
- package/esm2020/lib/compose/document.component.mjs +28 -12
- package/esm2020/lib/compose/document.mobile.component.mjs +13 -9
- package/esm2020/lib/compose/document.pane.component.mjs +13 -9
- package/esm2020/lib/compose/events/events.component.mjs +33 -9
- package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +40 -7
- package/esm2020/lib/compose/form.component.mjs +119 -40
- package/esm2020/lib/compose/new-menu.component.mjs +45 -9
- package/esm2020/lib/compose/privilage.directive.mjs +31 -31
- package/esm2020/lib/compose/recipient-resolver.service.mjs +6 -6
- package/esm2020/lib/compose/state.component.mjs +9 -9
- package/esm2020/lib/compose/tag/tags.component.mjs +73 -16
- package/esm2020/lib/compose/trace/flow.component.mjs +13 -13
- package/esm2020/lib/compose/trace/people.component.mjs +23 -13
- package/esm2020/lib/compose/trace/trace.base.mjs +6 -6
- package/esm2020/lib/compose/trace/trace.component.mjs +306 -11
- package/esm2020/lib/compose/trace/trace.pane.component.mjs +31 -15
- package/esm2020/lib/compose/version-compare/version-compare.component.mjs +14 -14
- package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +64 -64
- package/esm2020/lib/compose/version-compare/version.pane.component.mjs +66 -9
- package/esm2020/lib/core/NgComponentOutlet.mjs +18 -18
- package/esm2020/lib/core/account.service.mjs +7 -7
- package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +7 -7
- package/esm2020/lib/core/avatar/avatar.component.mjs +43 -16
- package/esm2020/lib/core/component-factory-resolver.mjs +6 -6
- package/esm2020/lib/core/controls/address.input.mjs +74 -45
- package/esm2020/lib/core/controls/auto-complete.input.mjs +129 -65
- package/esm2020/lib/core/controls/combination-picker-body.mjs +156 -20
- package/esm2020/lib/core/controls/combination-picker.mjs +71 -52
- package/esm2020/lib/core/controls/combination-pool.mjs +76 -20
- package/esm2020/lib/core/controls/file.input.mjs +316 -51
- package/esm2020/lib/core/controls/select.input.mjs +115 -59
- package/esm2020/lib/core/controls/time-picker.mjs +49 -25
- package/esm2020/lib/core/controls/timespan.input.mjs +59 -37
- package/esm2020/lib/core/datasource.service.mjs +7 -7
- package/esm2020/lib/core/guide/guide.component.mjs +88 -19
- package/esm2020/lib/core/guide/guide.service.mjs +10 -10
- package/esm2020/lib/core/guide/help-tip.component.mjs +36 -14
- package/esm2020/lib/core/http.interceptor.mjs +12 -12
- package/esm2020/lib/core/hub.service.mjs +9 -9
- package/esm2020/lib/core/identity/identity.component.mjs +38 -16
- package/esm2020/lib/core/info/attachment-info.service.mjs +6 -6
- package/esm2020/lib/core/info/document-info.service.mjs +6 -6
- package/esm2020/lib/core/info/location-info.component.mjs +12 -12
- package/esm2020/lib/core/info/map-info.mjs +6 -6
- package/esm2020/lib/core/layout/autocomplete.field.mjs +66 -22
- package/esm2020/lib/core/layout/checkbox.field.mjs +56 -18
- package/esm2020/lib/core/layout/checkbox.mjs +33 -19
- package/esm2020/lib/core/layout/date-range.field.mjs +47 -22
- package/esm2020/lib/core/layout/date.field.mjs +67 -23
- package/esm2020/lib/core/layout/expression.field.mjs +66 -24
- package/esm2020/lib/core/layout/file.field.mjs +64 -20
- package/esm2020/lib/core/layout/html.field.mjs +60 -18
- package/esm2020/lib/core/layout/input.base.mjs +6 -6
- package/esm2020/lib/core/layout/input.field.mjs +64 -20
- package/esm2020/lib/core/layout/layout.component.mjs +34 -26
- package/esm2020/lib/core/layout/numeric.field.mjs +72 -21
- package/esm2020/lib/core/layout/select.field.mjs +100 -33
- package/esm2020/lib/core/layout/switch.field.mjs +56 -18
- package/esm2020/lib/core/layout/textarea.field.mjs +60 -18
- package/esm2020/lib/core/layout/timespan.field.mjs +67 -22
- package/esm2020/lib/core/lottie-animation.mjs +22 -20
- package/esm2020/lib/core/mailbox.service.mjs +7 -7
- package/esm2020/lib/core/models.mjs +1 -1
- package/esm2020/lib/core/none.component.mjs +39 -17
- package/esm2020/lib/core/pipes/action.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/calendar.pipe.mjs +10 -10
- package/esm2020/lib/core/pipes/date-format.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/daterange.pipe.mjs +13 -13
- package/esm2020/lib/core/pipes/difference.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/duration-format.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/duration.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/form.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/join.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/role.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/sort.pipe.mjs +17 -17
- package/esm2020/lib/core/pipes/state.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/time-ago.pipe.mjs +10 -10
- package/esm2020/lib/core/pipes/type-value.pipe.mjs +9 -9
- package/esm2020/lib/core/pipes/user-name.pipe.mjs +7 -7
- package/esm2020/lib/core/popup/popup.component.mjs +26 -13
- package/esm2020/lib/core/popup/popup.service.mjs +7 -7
- package/esm2020/lib/core/popup/tooltip.directive.mjs +34 -34
- package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +34 -10
- package/esm2020/lib/core/prompt/mask/mask.component.mjs +18 -10
- package/esm2020/lib/core/prompt.service.mjs +7 -7
- package/esm2020/lib/core/router.mjs +11 -11
- package/esm2020/lib/core/save-changes.dialog.mjs +43 -7
- package/esm2020/lib/core/session.service.mjs +10 -10
- package/esm2020/lib/core/slots/router.directive.mjs +29 -27
- package/esm2020/lib/core/slots/router.service.mjs +7 -7
- package/esm2020/lib/core/slots/slots.component.mjs +296 -41
- package/esm2020/lib/core/tagging/documents.component.mjs +33 -7
- package/esm2020/lib/core/tagging/edit-input.component.mjs +141 -38
- package/esm2020/lib/core/tagging/emoji.component.mjs +15 -12
- package/esm2020/lib/core/tagging/tagging-item.directive.mjs +31 -23
- package/esm2020/lib/core/tagging/tagging.component-base.mjs +14 -9
- package/esm2020/lib/core/tagging/tagging.directive.mjs +23 -21
- package/esm2020/lib/core/tagging/tagging.pipe.mjs +7 -7
- package/esm2020/lib/core/tagging/users.component.mjs +37 -7
- package/esm2020/lib/core/translate.service.mjs +7 -7
- package/esm2020/lib/core/translations.mjs +4 -1
- package/esm2020/lib/core/window-title.service.mjs +10 -10
- package/esm2020/lib/cube/accum/accum.component.mjs +41 -39
- package/esm2020/lib/cube/chart/chart.component.mjs +47 -45
- package/esm2020/lib/cube/cube-info.service.mjs +6 -6
- package/esm2020/lib/cube/cube-menu.component.mjs +70 -11
- package/esm2020/lib/cube/cube-view.component.mjs +34 -32
- package/esm2020/lib/cube/cube.service.mjs +10 -10
- package/esm2020/lib/cube/explore/document-item.component.mjs +15 -11
- package/esm2020/lib/cube/explore/explore-item.component.mjs +11 -11
- package/esm2020/lib/cube/explore/explore-items.component.mjs +167 -37
- package/esm2020/lib/cube/explore/explore.pane.component.mjs +65 -12
- package/esm2020/lib/cube/explore/item-resolver.service.mjs +11 -11
- package/esm2020/lib/cube/explore/item.pane.component.mjs +13 -9
- package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +59 -15
- package/esm2020/lib/cube/filter/filter.component.mjs +153 -17
- package/esm2020/lib/cube/grid/grid.component.mjs +33 -31
- package/esm2020/lib/cube/grid/spreadsheet.component.mjs +39 -37
- package/esm2020/lib/cube/matrix/matrix.base.mjs +6 -6
- package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +112 -10
- package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +123 -12
- package/esm2020/lib/cube/matrix/popup.component.mjs +120 -16
- package/esm2020/lib/cube/matrix/table.component.mjs +178 -45
- package/esm2020/lib/cube/parallel/parallel.component.mjs +57 -28
- package/esm2020/lib/cube/pivot/pivot.component.mjs +43 -40
- package/esm2020/lib/cube/sum/sum.component.mjs +238 -32
- package/esm2020/lib/cube/view-base.mjs +6 -6
- package/esm2020/lib/cube/view.mobile.component.mjs +177 -19
- package/esm2020/lib/cube/view.pane.component.mjs +109 -15
- package/esm2020/lib/dashboard/actions/actions.widget.mjs +28 -21
- package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +17 -15
- package/esm2020/lib/dashboard/cube/compare.widget.mjs +25 -18
- package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +6 -6
- package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +10 -10
- package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +17 -15
- package/esm2020/lib/dashboard/cube/documents.widget.mjs +114 -19
- package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +13 -7
- package/esm2020/lib/dashboard/dashboard.component.mjs +90 -12
- package/esm2020/lib/dashboard/dashboard.pane.component.mjs +9 -7
- package/esm2020/lib/dashboard/recents/recents.widget.mjs +164 -19
- package/esm2020/lib/dashboard/score/activity.widget.mjs +18 -13
- package/esm2020/lib/dashboard/score/compare-groups.widget.mjs +25 -18
- package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +26 -19
- package/esm2020/lib/dashboard/score/pending-results.widget.mjs +143 -19
- package/esm2020/lib/dashboard/score/personal-score.widget.mjs +23 -18
- package/esm2020/lib/dashboard/widget-item.component.mjs +17 -15
- package/esm2020/lib/desktop.module.mjs +58 -57
- package/esm2020/lib/home/about/about.dialog.mjs +97 -7
- package/esm2020/lib/home/home-base.component.mjs +6 -6
- package/esm2020/lib/home/home.desktop.component.mjs +336 -16
- package/esm2020/lib/home/home.mobile.component.mjs +310 -16
- package/esm2020/lib/home/notifications/notifications.component.mjs +78 -7
- package/esm2020/lib/home/options/options.component.mjs +171 -7
- package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +40 -10
- package/esm2020/lib/home/search.service.mjs +6 -6
- package/esm2020/lib/home/sign/sign.component.mjs +32 -7
- package/esm2020/lib/home/tools.component.mjs +87 -13
- package/esm2020/lib/impersonate/impersonate.component.mjs +61 -7
- package/esm2020/lib/mobile.module.mjs +34 -33
- package/esm2020/lib/modules/chart.module.mjs +22 -21
- package/esm2020/lib/modules/circular-gauge.module.mjs +13 -12
- package/esm2020/lib/modules/datepicker.intl.mjs +6 -6
- package/esm2020/lib/modules/dayjs.module.mjs +11 -11
- package/esm2020/lib/modules/diagram.module.mjs +24 -23
- package/esm2020/lib/modules/gantt.module.mjs +13 -12
- package/esm2020/lib/modules/grid.module.mjs +16 -15
- package/esm2020/lib/modules/material.module.mjs +87 -86
- package/esm2020/lib/modules/paginator.intl.mjs +6 -6
- package/esm2020/lib/modules/pivot.module.mjs +17 -16
- package/esm2020/lib/modules/schedule.module.mjs +15 -14
- package/esm2020/lib/modules/spreadsheet.module.mjs +21 -20
- package/esm2020/lib/modules/stepper.intl.mjs +6 -6
- package/esm2020/lib/modules/texteditor.module.mjs +19 -18
- package/esm2020/lib/notifications/filter.component.mjs +22 -7
- package/esm2020/lib/notifications/notifications-table.component.mjs +214 -10
- package/esm2020/lib/notifications/notifications.mobile.component.mjs +11 -9
- package/esm2020/lib/notifications/notifications.pane.component.mjs +14 -12
- package/esm2020/lib/notifications/notifications.service.mjs +6 -6
- package/esm2020/lib/notifications/types/commented.notification.mjs +42 -15
- package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +25 -15
- package/esm2020/lib/notifications/types/escalated.notification.mjs +24 -12
- package/esm2020/lib/notifications/types/liked.notification.mjs +42 -15
- package/esm2020/lib/notifications/types/long-running-task.notification.mjs +17 -13
- package/esm2020/lib/notifications/types/notification-base.mjs +11 -9
- package/esm2020/lib/notifications/types/nudge.notification.mjs +18 -12
- package/esm2020/lib/notifications/types/state-changed.notification.mjs +18 -10
- package/esm2020/lib/notifications/types/tagged.notification.mjs +26 -14
- package/esm2020/lib/notifications/types/text.notification.mjs +14 -10
- package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +24 -15
- package/esm2020/lib/options/options.component.mjs +350 -25
- package/esm2020/lib/options/options.service.mjs +6 -6
- package/esm2020/lib/reports/arguments-component.mjs +20 -20
- package/esm2020/lib/reports/cube/documents.component.mjs +9 -9
- package/esm2020/lib/reports/cube/grid-documents.component.mjs +77 -10
- package/esm2020/lib/reports/cube/table-documents.component.mjs +175 -13
- package/esm2020/lib/reports/cube/usage-args.component.mjs +13 -7
- package/esm2020/lib/reports/cube/usage-base.mjs +6 -6
- package/esm2020/lib/reports/cube/usage-chart.component.mjs +15 -13
- package/esm2020/lib/reports/cube/usage-pivot.component.mjs +21 -14
- package/esm2020/lib/reports/cube/usage.component.mjs +9 -9
- package/esm2020/lib/reports/report-viewer.component.mjs +36 -20
- package/esm2020/lib/reports/report.mobile.component.mjs +105 -13
- package/esm2020/lib/reports/report.pane.component.mjs +92 -15
- package/esm2020/lib/reports/reports-menu.component.mjs +40 -11
- package/esm2020/lib/reports/substitution/substitution.component.mjs +157 -10
- package/esm2020/lib/reports/table/table-view.component.mjs +74 -16
- package/esm2020/lib/reports/tasks/tasks.component.mjs +38 -10
- package/esm2020/lib/scheduler/schedule.component.mjs +110 -14
- package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +15 -9
- package/esm2020/lib/scheduler/scheduler.pane.component.mjs +19 -12
- package/esm2020/lib/shared.module.mjs +197 -196
- package/esm2020/lib/system.module.mjs +64 -62
- package/esm2020/lib/views/cube/chart.component.mjs +45 -7
- package/esm2020/lib/views/cube/cube-base.mjs +6 -6
- package/esm2020/lib/views/cube/explore.component.mjs +128 -7
- package/esm2020/lib/views/cube/matrix.component.mjs +164 -10
- package/esm2020/lib/views/cube/parallel.component.mjs +20 -7
- package/esm2020/lib/views/cube/pivot.component.mjs +20 -7
- package/esm2020/lib/views/cube/sum.component.mjs +116 -7
- package/esm2020/lib/views/cube/view.component.mjs +137 -10
- package/esm2020/lib/views/timeline/timeline.component.exp.mjs +14 -12
- package/esm2020/lib/views/view-item.component.mjs +20 -18
- package/esm2020/lib/views/views.component.mjs +31 -12
- package/esm2020/lib/views/views.mobile.component.mjs +11 -7
- package/esm2020/lib/views/views.pane.component.mjs +19 -10
- package/fesm2015/bizdoc-core.mjs +25737 -2457
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +24051 -5129
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/index.d.ts +1 -0
- package/lib/admin/admin-dismiss.service.d.ts +1 -0
- package/lib/admin/admin-dismiss.service.d.ts.map +1 -0
- package/lib/admin/admin-menu.component.d.ts +1 -0
- package/lib/admin/admin-menu.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/cube-axes-filter.component.d.ts +36 -0
- package/lib/admin/configuration-designer/cube-axes-filter.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/designer-element.component.d.ts +6 -2
- package/lib/admin/configuration-designer/designer-element.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/designer.base.d.ts +25 -3
- package/lib/admin/configuration-designer/designer.base.d.ts.map +1 -0
- package/lib/admin/configuration-designer/designer.component.d.ts +1 -0
- package/lib/admin/configuration-designer/designer.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/action.component.d.ts +16 -1
- package/lib/admin/configuration-designer/elements/action.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/analysis-view.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/analysis-view.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/analysis-widget.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/analysis-widget.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/anomaly-rule.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/anomaly-rule.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/box-form.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/box-form.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/configuration-datasource.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/configuration-datasource.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/cube-index-utility.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/cube-index-utility.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/cube-view.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/cube-view.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/cube.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/cube.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/documents-report.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/documents-report.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/documents-widget.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/documents-widget.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/explore-view.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/explore-view.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/folder.component.d.ts +13 -1
- package/lib/admin/configuration-designer/elements/folder.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/form.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/form.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/guide.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/guide.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/matrix-view.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/matrix-view.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/parallel-view.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/parallel-view.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/performance-widget.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/performance-widget.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/pivot-view.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/pivot-view.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/report.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/report.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/return-to-role-action.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/return-to-role-action.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/role.component.d.ts +3 -0
- package/lib/admin/configuration-designer/elements/role.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/rule.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/rule.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/state.component.d.ts +5 -0
- package/lib/admin/configuration-designer/elements/state.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/sum-view.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/sum-view.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/tasks-report.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/tasks-report.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/type.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/type.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/usage-report.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/usage-report.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/utility.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/utility.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/view.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/view.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/elements/widget.component.d.ts +1 -0
- package/lib/admin/configuration-designer/elements/widget.component.d.ts.map +1 -0
- package/lib/admin/configuration-designer/icon-picker.component.d.ts +1 -0
- package/lib/admin/configuration-designer/icon-picker.component.d.ts.map +1 -0
- package/lib/admin/core/ace.input.d.ts +1 -0
- package/lib/admin/core/ace.input.d.ts.map +1 -0
- package/lib/admin/core/color-picker.input.d.ts +1 -0
- package/lib/admin/core/color-picker.input.d.ts.map +1 -0
- package/lib/admin/core/search.input.d.ts +1 -0
- package/lib/admin/core/search.input.d.ts.map +1 -0
- package/lib/admin/diff/configuration-diff.component.d.ts +1 -0
- package/lib/admin/diff/configuration-diff.component.d.ts.map +1 -0
- package/lib/admin/document-trace/document-trace.component.d.ts +1 -0
- package/lib/admin/document-trace/document-trace.component.d.ts.map +1 -0
- package/lib/admin/document-trace/reassign.dialog.d.ts +1 -0
- package/lib/admin/document-trace/reassign.dialog.d.ts.map +1 -0
- package/lib/admin/document-trace/timeline.d.ts +1 -0
- package/lib/admin/document-trace/timeline.d.ts.map +1 -0
- package/lib/admin/document-trace/trace-element.component.d.ts +1 -0
- package/lib/admin/document-trace/trace-element.component.d.ts.map +1 -0
- package/lib/admin/form/designer/designer.component.d.ts +1 -0
- package/lib/admin/form/designer/designer.component.d.ts.map +1 -0
- package/lib/admin/form/form.resolve.service.d.ts +1 -0
- package/lib/admin/form/form.resolve.service.d.ts.map +1 -0
- package/lib/admin/form/workflow/node-ref.d.ts +1 -0
- package/lib/admin/form/workflow/node-ref.d.ts.map +1 -0
- package/lib/admin/form/workflow/node.component.d.ts +1 -0
- package/lib/admin/form/workflow/node.component.d.ts.map +1 -0
- package/lib/admin/form/workflow/role-node.component.d.ts +1 -0
- package/lib/admin/form/workflow/role-node.component.d.ts.map +1 -0
- package/lib/admin/form/workflow/workflow.component.d.ts +1 -0
- package/lib/admin/form/workflow/workflow.component.d.ts.map +1 -0
- package/lib/admin/indices/manage-cube-index.component.d.ts +1 -0
- package/lib/admin/indices/manage-cube-index.component.d.ts.map +1 -0
- package/lib/admin/patterns/patterns.component.d.ts +1 -0
- package/lib/admin/patterns/patterns.component.d.ts.map +1 -0
- package/lib/admin/permissions/permissions.component.d.ts +1 -0
- package/lib/admin/permissions/permissions.component.d.ts.map +1 -0
- package/lib/admin/positions/positions-popup.component.d.ts +1 -0
- package/lib/admin/positions/positions-popup.component.d.ts.map +1 -0
- package/lib/admin/positions/positions.component.d.ts +1 -0
- package/lib/admin/positions/positions.component.d.ts.map +1 -0
- package/lib/admin/profiler/outofoffice.component.d.ts +1 -0
- package/lib/admin/profiler/outofoffice.component.d.ts.map +1 -0
- package/lib/admin/profiler/profiler.component.d.ts +1 -0
- package/lib/admin/profiler/profiler.component.d.ts.map +1 -0
- package/lib/admin/system.service.d.ts +1 -0
- package/lib/admin/system.service.d.ts.map +1 -0
- package/lib/admin/utility-ref.d.ts +1 -0
- package/lib/admin/utility-ref.d.ts.map +1 -0
- package/lib/admin/utility-wrapper.component.d.ts +1 -0
- package/lib/admin/utility-wrapper.component.d.ts.map +1 -0
- package/lib/admin/utility.pane.component.d.ts +1 -0
- package/lib/admin/utility.pane.component.d.ts.map +1 -0
- package/lib/app.component.d.ts +1 -0
- package/lib/app.component.d.ts.map +1 -0
- package/lib/bizdoc.module.d.ts +1 -0
- package/lib/bizdoc.module.d.ts.map +1 -0
- package/lib/browse/browse-items.component.d.ts +1 -0
- package/lib/browse/browse-items.component.d.ts.map +1 -0
- package/lib/browse/browse.mobile.component.d.ts +1 -0
- package/lib/browse/browse.mobile.component.d.ts.map +1 -0
- package/lib/browse/browse.pane.component.d.ts +1 -0
- package/lib/browse/browse.pane.component.d.ts.map +1 -0
- package/lib/browse/expanded-item/expanded-item.component.d.ts +1 -0
- package/lib/browse/expanded-item/expanded-item.component.d.ts.map +1 -0
- package/lib/browse/filter/filter.component.d.ts +1 -0
- package/lib/browse/filter/filter.component.d.ts.map +1 -0
- package/lib/browse/folders-menu.component.d.ts +1 -0
- package/lib/browse/folders-menu.component.d.ts.map +1 -0
- package/lib/chat/chat-info.d.ts +1 -0
- package/lib/chat/chat-info.d.ts.map +1 -0
- package/lib/chat/chat.mobile.component.d.ts +1 -0
- package/lib/chat/chat.mobile.component.d.ts.map +1 -0
- package/lib/chat/chat.service.d.ts +1 -0
- package/lib/chat/chat.service.d.ts.map +1 -0
- package/lib/chat/contacts.component.d.ts +1 -0
- package/lib/chat/contacts.component.d.ts.map +1 -0
- package/lib/chat/contacts.pane.component.d.ts +1 -0
- package/lib/chat/contacts.pane.component.d.ts.map +1 -0
- package/lib/chat/conversation.component.d.ts +1 -0
- package/lib/chat/conversation.component.d.ts.map +1 -0
- package/lib/chat/conversation.pane.component.d.ts +1 -0
- package/lib/chat/conversation.pane.component.d.ts.map +1 -0
- package/lib/compose/action/action-picker.component.d.ts +1 -0
- package/lib/compose/action/action-picker.component.d.ts.map +1 -0
- package/lib/compose/action/action-ref.d.ts +1 -0
- package/lib/compose/action/action-ref.d.ts.map +1 -0
- package/lib/compose/action/action.base.d.ts +1 -0
- package/lib/compose/action/action.base.d.ts.map +1 -0
- package/lib/compose/action/action.dialog.d.ts +1 -0
- package/lib/compose/action/action.dialog.d.ts.map +1 -0
- package/lib/compose/action/action.pane.dialog.exp.d.ts +1 -0
- package/lib/compose/action/action.pane.dialog.exp.d.ts.map +1 -0
- package/lib/compose/action/assign-action.component.d.ts +1 -0
- package/lib/compose/action/assign-action.component.d.ts.map +1 -0
- package/lib/compose/action/moveto-action.component.d.ts +1 -0
- package/lib/compose/action/moveto-action.component.d.ts.map +1 -0
- package/lib/compose/action/return-action.component.d.ts +1 -0
- package/lib/compose/action/return-action.component.d.ts.map +1 -0
- package/lib/compose/attachments/attachments.component.d.ts +1 -0
- package/lib/compose/attachments/attachments.component.d.ts.map +1 -0
- package/lib/compose/attachments/preview/attachment-preview.component.d.ts +1 -0
- package/lib/compose/attachments/preview/attachment-preview.component.d.ts.map +1 -0
- package/lib/compose/attachments/progress-button.directive.d.ts +1 -0
- package/lib/compose/attachments/progress-button.directive.d.ts.map +1 -0
- package/lib/compose/box/box.component.d.ts +1 -0
- package/lib/compose/box/box.component.d.ts.map +1 -0
- package/lib/compose/can-deactivate-changes.service.d.ts +1 -0
- package/lib/compose/can-deactivate-changes.service.d.ts.map +1 -0
- package/lib/compose/comments/comment.component.d.ts +1 -0
- package/lib/compose/comments/comment.component.d.ts.map +1 -0
- package/lib/compose/comments/comments.component.d.ts +1 -0
- package/lib/compose/comments/comments.component.d.ts.map +1 -0
- package/lib/compose/comments/comments.pane.component.d.ts +1 -0
- package/lib/compose/comments/comments.pane.component.d.ts.map +1 -0
- package/lib/compose/comments/edit-comment.component.d.ts +1 -0
- package/lib/compose/comments/edit-comment.component.d.ts.map +1 -0
- package/lib/compose/comments/edits.component.d.ts +1 -0
- package/lib/compose/comments/edits.component.d.ts.map +1 -0
- package/lib/compose/comments/quick-comment.component.exp.d.ts +1 -0
- package/lib/compose/comments/quick-comment.component.exp.d.ts.map +1 -0
- package/lib/compose/comments/votes.component.d.ts +1 -0
- package/lib/compose/comments/votes.component.d.ts.map +1 -0
- package/lib/compose/compose-resolve.service.d.ts +1 -0
- package/lib/compose/compose-resolve.service.d.ts.map +1 -0
- package/lib/compose/compose.mobile.component.d.ts +1 -0
- package/lib/compose/compose.mobile.component.d.ts.map +1 -0
- package/lib/compose/compose.pane.component.d.ts +1 -0
- package/lib/compose/compose.pane.component.d.ts.map +1 -0
- package/lib/compose/copy/copy.dialog.d.ts +1 -0
- package/lib/compose/copy/copy.dialog.d.ts.map +1 -0
- package/lib/compose/dismiss.service.d.ts +1 -0
- package/lib/compose/dismiss.service.d.ts.map +1 -0
- package/lib/compose/document-resolver.service.d.ts +1 -0
- package/lib/compose/document-resolver.service.d.ts.map +1 -0
- package/lib/compose/document.component.d.ts +1 -0
- package/lib/compose/document.component.d.ts.map +1 -0
- package/lib/compose/document.mobile.component.d.ts +1 -0
- package/lib/compose/document.mobile.component.d.ts.map +1 -0
- package/lib/compose/document.pane.component.d.ts +1 -0
- package/lib/compose/document.pane.component.d.ts.map +1 -0
- package/lib/compose/events/events.component.d.ts +1 -0
- package/lib/compose/events/events.component.d.ts.map +1 -0
- package/lib/compose/form-ref.d.ts +1 -0
- package/lib/compose/form-ref.d.ts.map +1 -0
- package/lib/compose/form-selector/form-selector.sheet.d.ts +1 -0
- package/lib/compose/form-selector/form-selector.sheet.d.ts.map +1 -0
- package/lib/compose/form.component.d.ts +1 -0
- package/lib/compose/form.component.d.ts.map +1 -0
- package/lib/compose/new-menu.component.d.ts +1 -0
- package/lib/compose/new-menu.component.d.ts.map +1 -0
- package/lib/compose/privilage.directive.d.ts +1 -0
- package/lib/compose/privilage.directive.d.ts.map +1 -0
- package/lib/compose/recipient-resolver.service.d.ts +1 -0
- package/lib/compose/recipient-resolver.service.d.ts.map +1 -0
- package/lib/compose/state.component.d.ts +1 -0
- package/lib/compose/state.component.d.ts.map +1 -0
- package/lib/compose/tag/tags.component.d.ts +1 -0
- package/lib/compose/tag/tags.component.d.ts.map +1 -0
- package/lib/compose/trace/flow.component.d.ts +1 -0
- package/lib/compose/trace/flow.component.d.ts.map +1 -0
- package/lib/compose/trace/people.component.d.ts +1 -0
- package/lib/compose/trace/people.component.d.ts.map +1 -0
- package/lib/compose/trace/trace.base.d.ts +1 -0
- package/lib/compose/trace/trace.base.d.ts.map +1 -0
- package/lib/compose/trace/trace.component.d.ts +1 -0
- package/lib/compose/trace/trace.component.d.ts.map +1 -0
- package/lib/compose/trace/trace.pane.component.d.ts +1 -0
- package/lib/compose/trace/trace.pane.component.d.ts.map +1 -0
- package/lib/compose/version-compare/version-compare.component.d.ts +1 -0
- package/lib/compose/version-compare/version-compare.component.d.ts.map +1 -0
- package/lib/compose/version-compare/version-compare.directive.d.ts +1 -0
- package/lib/compose/version-compare/version-compare.directive.d.ts.map +1 -0
- package/lib/compose/version-compare/version.pane.component.d.ts +1 -0
- package/lib/compose/version-compare/version.pane.component.d.ts.map +1 -0
- package/lib/core/NgComponentOutlet.d.ts +1 -0
- package/lib/core/NgComponentOutlet.d.ts.map +1 -0
- package/lib/core/account.service.d.ts +1 -0
- package/lib/core/account.service.d.ts.map +1 -0
- package/lib/core/animated-icon/animated-icon.directive.d.ts +1 -0
- package/lib/core/animated-icon/animated-icon.directive.d.ts.map +1 -0
- package/lib/core/animations.d.ts +1 -0
- package/lib/core/animations.d.ts.map +1 -0
- package/lib/core/authentication.d.ts +1 -0
- package/lib/core/authentication.d.ts.map +1 -0
- package/lib/core/avatar/avatar.component.d.ts +1 -0
- package/lib/core/avatar/avatar.component.d.ts.map +1 -0
- package/lib/core/base.d.ts +1 -0
- package/lib/core/base.d.ts.map +1 -0
- package/lib/core/colors.d.ts +1 -0
- package/lib/core/colors.d.ts.map +1 -0
- package/lib/core/component-factory-resolver.d.ts +1 -0
- package/lib/core/component-factory-resolver.d.ts.map +1 -0
- package/lib/core/configuration.d.ts +1 -0
- package/lib/core/configuration.d.ts.map +1 -0
- package/lib/core/controls/address.input.d.ts +1 -0
- package/lib/core/controls/address.input.d.ts.map +1 -0
- package/lib/core/controls/auto-complete.input.d.ts +1 -0
- package/lib/core/controls/auto-complete.input.d.ts.map +1 -0
- package/lib/core/controls/combination-picker-body.d.ts +1 -0
- package/lib/core/controls/combination-picker-body.d.ts.map +1 -0
- package/lib/core/controls/combination-picker.d.ts +1 -0
- package/lib/core/controls/combination-picker.d.ts.map +1 -0
- package/lib/core/controls/combination-pool.d.ts +1 -0
- package/lib/core/controls/combination-pool.d.ts.map +1 -0
- package/lib/core/controls/file.input.d.ts +1 -0
- package/lib/core/controls/file.input.d.ts.map +1 -0
- package/lib/core/controls/select.input.d.ts +1 -0
- package/lib/core/controls/select.input.d.ts.map +1 -0
- package/lib/core/controls/time-picker.d.ts +1 -0
- package/lib/core/controls/time-picker.d.ts.map +1 -0
- package/lib/core/controls/timespan.input.d.ts +1 -0
- package/lib/core/controls/timespan.input.d.ts.map +1 -0
- package/lib/core/datasource.service.d.ts +1 -0
- package/lib/core/datasource.service.d.ts.map +1 -0
- package/lib/core/decorators.d.ts +1 -0
- package/lib/core/decorators.d.ts.map +1 -0
- package/lib/core/firebase.service.d.ts +1 -0
- package/lib/core/firebase.service.d.ts.map +1 -0
- package/lib/core/functions.d.ts +1 -0
- package/lib/core/functions.d.ts.map +1 -0
- package/lib/core/guide/guide.component.d.ts +1 -0
- package/lib/core/guide/guide.component.d.ts.map +1 -0
- package/lib/core/guide/guide.service.d.ts +1 -0
- package/lib/core/guide/guide.service.d.ts.map +1 -0
- package/lib/core/guide/help-tip.component.d.ts +1 -0
- package/lib/core/guide/help-tip.component.d.ts.map +1 -0
- package/lib/core/http.interceptor.d.ts +1 -0
- package/lib/core/http.interceptor.d.ts.map +1 -0
- package/lib/core/hub.service.d.ts +1 -0
- package/lib/core/hub.service.d.ts.map +1 -0
- package/lib/core/identity/identity.component.d.ts +1 -0
- package/lib/core/identity/identity.component.d.ts.map +1 -0
- package/lib/core/info/attachment-info.service.d.ts +1 -0
- package/lib/core/info/attachment-info.service.d.ts.map +1 -0
- package/lib/core/info/document-info.service.d.ts +1 -0
- package/lib/core/info/document-info.service.d.ts.map +1 -0
- package/lib/core/info/location-info.component.d.ts +1 -0
- package/lib/core/info/location-info.component.d.ts.map +1 -0
- package/lib/core/info/map-info.d.ts +1 -0
- package/lib/core/info/map-info.d.ts.map +1 -0
- package/lib/core/layout/autocomplete.field.d.ts +1 -0
- package/lib/core/layout/autocomplete.field.d.ts.map +1 -0
- package/lib/core/layout/checkbox.d.ts +1 -0
- package/lib/core/layout/checkbox.d.ts.map +1 -0
- package/lib/core/layout/checkbox.field.d.ts +1 -0
- package/lib/core/layout/checkbox.field.d.ts.map +1 -0
- package/lib/core/layout/date-range.field.d.ts +1 -0
- package/lib/core/layout/date-range.field.d.ts.map +1 -0
- package/lib/core/layout/date.field.d.ts +1 -0
- package/lib/core/layout/date.field.d.ts.map +1 -0
- package/lib/core/layout/expression.field.d.ts +1 -0
- package/lib/core/layout/expression.field.d.ts.map +1 -0
- package/lib/core/layout/file.field.d.ts +1 -0
- package/lib/core/layout/file.field.d.ts.map +1 -0
- package/lib/core/layout/html.field.d.ts +1 -0
- package/lib/core/layout/html.field.d.ts.map +1 -0
- package/lib/core/layout/input.base.d.ts +1 -0
- package/lib/core/layout/input.base.d.ts.map +1 -0
- package/lib/core/layout/input.field.d.ts +1 -0
- package/lib/core/layout/input.field.d.ts.map +1 -0
- package/lib/core/layout/layout.component.d.ts +1 -0
- package/lib/core/layout/layout.component.d.ts.map +1 -0
- package/lib/core/layout/numeric.field.d.ts +1 -0
- package/lib/core/layout/numeric.field.d.ts.map +1 -0
- package/lib/core/layout/select.field.d.ts +1 -0
- package/lib/core/layout/select.field.d.ts.map +1 -0
- package/lib/core/layout/switch.field.d.ts +1 -0
- package/lib/core/layout/switch.field.d.ts.map +1 -0
- package/lib/core/layout/textarea.field.d.ts +1 -0
- package/lib/core/layout/textarea.field.d.ts.map +1 -0
- package/lib/core/layout/timespan.field.d.ts +1 -0
- package/lib/core/layout/timespan.field.d.ts.map +1 -0
- package/lib/core/lottie-animation.d.ts +1 -0
- package/lib/core/lottie-animation.d.ts.map +1 -0
- package/lib/core/mailbox.service.d.ts +1 -0
- package/lib/core/mailbox.service.d.ts.map +1 -0
- package/lib/core/models.d.ts +6 -4
- package/lib/core/models.d.ts.map +1 -0
- package/lib/core/none.component.d.ts +1 -0
- package/lib/core/none.component.d.ts.map +1 -0
- package/lib/core/pipes/action.pipe.d.ts +1 -0
- package/lib/core/pipes/action.pipe.d.ts.map +1 -0
- package/lib/core/pipes/calendar.pipe.d.ts +1 -0
- package/lib/core/pipes/calendar.pipe.d.ts.map +1 -0
- package/lib/core/pipes/date-format.pipe.d.ts +1 -0
- package/lib/core/pipes/date-format.pipe.d.ts.map +1 -0
- package/lib/core/pipes/daterange.pipe.d.ts +1 -0
- package/lib/core/pipes/daterange.pipe.d.ts.map +1 -0
- package/lib/core/pipes/difference.pipe.d.ts +1 -0
- package/lib/core/pipes/difference.pipe.d.ts.map +1 -0
- package/lib/core/pipes/duration-format.pipe.d.ts +1 -0
- package/lib/core/pipes/duration-format.pipe.d.ts.map +1 -0
- package/lib/core/pipes/duration.pipe.d.ts +1 -0
- package/lib/core/pipes/duration.pipe.d.ts.map +1 -0
- package/lib/core/pipes/form.pipe.d.ts +1 -0
- package/lib/core/pipes/form.pipe.d.ts.map +1 -0
- package/lib/core/pipes/join.pipe.d.ts +1 -0
- package/lib/core/pipes/join.pipe.d.ts.map +1 -0
- package/lib/core/pipes/role.pipe.d.ts +1 -0
- package/lib/core/pipes/role.pipe.d.ts.map +1 -0
- package/lib/core/pipes/sanitize-html.pipe.d.ts.map +1 -0
- package/lib/core/pipes/sort.pipe.d.ts +1 -0
- package/lib/core/pipes/sort.pipe.d.ts.map +1 -0
- package/lib/core/pipes/state.pipe.d.ts +1 -0
- package/lib/core/pipes/state.pipe.d.ts.map +1 -0
- package/lib/core/pipes/time-ago.pipe.d.ts +1 -0
- package/lib/core/pipes/time-ago.pipe.d.ts.map +1 -0
- package/lib/core/pipes/translate.pipe.d.ts.map +1 -0
- package/lib/core/pipes/type-value.pipe.d.ts +1 -0
- package/lib/core/pipes/type-value.pipe.d.ts.map +1 -0
- package/lib/core/pipes/user-name.pipe.d.ts +1 -0
- package/lib/core/pipes/user-name.pipe.d.ts.map +1 -0
- package/lib/core/popup/popup-ref.d.ts +1 -0
- package/lib/core/popup/popup-ref.d.ts.map +1 -0
- package/lib/core/popup/popup.component.d.ts +1 -0
- package/lib/core/popup/popup.component.d.ts.map +1 -0
- package/lib/core/popup/popup.service.d.ts +1 -0
- package/lib/core/popup/popup.service.d.ts.map +1 -0
- package/lib/core/popup/tooltip.directive.d.ts +1 -0
- package/lib/core/popup/tooltip.directive.d.ts.map +1 -0
- package/lib/core/prompt/ask/ask.dialog.d.ts +1 -0
- package/lib/core/prompt/ask/ask.dialog.d.ts.map +1 -0
- package/lib/core/prompt/mask/mask.component.d.ts +1 -0
- package/lib/core/prompt/mask/mask.component.d.ts.map +1 -0
- package/lib/core/prompt.service.d.ts +1 -0
- package/lib/core/prompt.service.d.ts.map +1 -0
- package/lib/core/router.d.ts +1 -0
- package/lib/core/router.d.ts.map +1 -0
- package/lib/core/save-changes.dialog.d.ts +1 -0
- package/lib/core/save-changes.dialog.d.ts.map +1 -0
- package/lib/core/session.service.d.ts +1 -0
- package/lib/core/session.service.d.ts.map +1 -0
- package/lib/core/slots/pane-ref.d.ts +1 -0
- package/lib/core/slots/pane-ref.d.ts.map +1 -0
- package/lib/core/slots/router.directive.d.ts +1 -0
- package/lib/core/slots/router.directive.d.ts.map +1 -0
- package/lib/core/slots/router.service.d.ts +1 -0
- package/lib/core/slots/router.service.d.ts.map +1 -0
- package/lib/core/slots/slots.component.d.ts +1 -0
- package/lib/core/slots/slots.component.d.ts.map +1 -0
- package/lib/core/tagging/documents.component.d.ts +1 -0
- package/lib/core/tagging/documents.component.d.ts.map +1 -0
- package/lib/core/tagging/edit-input.component.d.ts +1 -0
- package/lib/core/tagging/edit-input.component.d.ts.map +1 -0
- package/lib/core/tagging/emoji.component.d.ts +1 -0
- package/lib/core/tagging/emoji.component.d.ts.map +1 -0
- package/lib/core/tagging/tagging-item.directive.d.ts +1 -0
- package/lib/core/tagging/tagging-item.directive.d.ts.map +1 -0
- package/lib/core/tagging/tagging.component-base.d.ts +1 -0
- package/lib/core/tagging/tagging.component-base.d.ts.map +1 -0
- package/lib/core/tagging/tagging.directive.d.ts +1 -0
- package/lib/core/tagging/tagging.directive.d.ts.map +1 -0
- package/lib/core/tagging/tagging.pipe.d.ts +1 -0
- package/lib/core/tagging/tagging.pipe.d.ts.map +1 -0
- package/lib/core/tagging/users.component.d.ts +1 -0
- package/lib/core/tagging/users.component.d.ts.map +1 -0
- package/lib/core/translate.service.d.ts +1 -0
- package/lib/core/translate.service.d.ts.map +1 -0
- package/lib/core/translations.d.ts +4 -0
- package/lib/core/translations.d.ts.map +1 -0
- package/lib/core/window-title.service.d.ts +1 -0
- package/lib/core/window-title.service.d.ts.map +1 -0
- package/lib/cube/accum/accum.component.d.ts +1 -0
- package/lib/cube/accum/accum.component.d.ts.map +1 -0
- package/lib/cube/chart/chart.component.d.ts +1 -0
- package/lib/cube/chart/chart.component.d.ts.map +1 -0
- package/lib/cube/cube-info.service.d.ts +1 -0
- package/lib/cube/cube-info.service.d.ts.map +1 -0
- package/lib/cube/cube-menu.component.d.ts +1 -0
- package/lib/cube/cube-menu.component.d.ts.map +1 -0
- package/lib/cube/cube-view.component.d.ts +1 -0
- package/lib/cube/cube-view.component.d.ts.map +1 -0
- package/lib/cube/cube.service.d.ts +1 -0
- package/lib/cube/cube.service.d.ts.map +1 -0
- package/lib/cube/declarations.d.ts +1 -0
- package/lib/cube/declarations.d.ts.map +1 -0
- package/lib/cube/explore/document-item.component.d.ts +1 -0
- package/lib/cube/explore/document-item.component.d.ts.map +1 -0
- package/lib/cube/explore/explore-item.component.d.ts +1 -0
- package/lib/cube/explore/explore-item.component.d.ts.map +1 -0
- package/lib/cube/explore/explore-items.component.d.ts +1 -0
- package/lib/cube/explore/explore-items.component.d.ts.map +1 -0
- package/lib/cube/explore/explore.pane.component.d.ts +1 -0
- package/lib/cube/explore/explore.pane.component.d.ts.map +1 -0
- package/lib/cube/explore/item-resolver.service.d.ts +1 -0
- package/lib/cube/explore/item-resolver.service.d.ts.map +1 -0
- package/lib/cube/explore/item.pane.component.d.ts +1 -0
- package/lib/cube/explore/item.pane.component.d.ts.map +1 -0
- package/lib/cube/filter/filter-tags.component.exp.d.ts +1 -0
- package/lib/cube/filter/filter-tags.component.exp.d.ts.map +1 -0
- package/lib/cube/filter/filter.component.d.ts +1 -0
- package/lib/cube/filter/filter.component.d.ts.map +1 -0
- package/lib/cube/grid/grid.component.d.ts +1 -0
- package/lib/cube/grid/grid.component.d.ts.map +1 -0
- package/lib/cube/grid/spreadsheet.component.d.ts +1 -0
- package/lib/cube/grid/spreadsheet.component.d.ts.map +1 -0
- package/lib/cube/matrix/matrix.base.d.ts +1 -0
- package/lib/cube/matrix/matrix.base.d.ts.map +1 -0
- package/lib/cube/matrix/matrix.mobile.component.d.ts +1 -0
- package/lib/cube/matrix/matrix.mobile.component.d.ts.map +1 -0
- package/lib/cube/matrix/matrix.pane.component.d.ts +1 -0
- package/lib/cube/matrix/matrix.pane.component.d.ts.map +1 -0
- package/lib/cube/matrix/popup.component.d.ts +1 -0
- package/lib/cube/matrix/popup.component.d.ts.map +1 -0
- package/lib/cube/matrix/table.component.d.ts +1 -0
- package/lib/cube/matrix/table.component.d.ts.map +1 -0
- package/lib/cube/parallel/item.d.ts +1 -0
- package/lib/cube/parallel/item.d.ts.map +1 -0
- package/lib/cube/parallel/parallel.component.d.ts +1 -0
- package/lib/cube/parallel/parallel.component.d.ts.map +1 -0
- package/lib/cube/pivot/pivot.component.d.ts +1 -0
- package/lib/cube/pivot/pivot.component.d.ts.map +1 -0
- package/lib/cube/sum/sum.component.d.ts +1 -0
- package/lib/cube/sum/sum.component.d.ts.map +1 -0
- package/lib/cube/view-base.d.ts +1 -0
- package/lib/cube/view-base.d.ts.map +1 -0
- package/lib/cube/view.mobile.component.d.ts +1 -0
- package/lib/cube/view.mobile.component.d.ts.map +1 -0
- package/lib/cube/view.pane.component.d.ts +1 -0
- package/lib/cube/view.pane.component.d.ts.map +1 -0
- package/lib/dashboard/actions/actions.widget.d.ts +1 -0
- package/lib/dashboard/actions/actions.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/accum-cube.widget.d.ts +1 -0
- package/lib/dashboard/cube/accum-cube.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/compare.widget.d.ts +1 -0
- package/lib/dashboard/cube/compare.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/cube-analysis.base.d.ts +1 -0
- package/lib/dashboard/cube/cube-analysis.base.d.ts.map +1 -0
- package/lib/dashboard/cube/cube-analysis.widget.d.ts +1 -0
- package/lib/dashboard/cube/cube-analysis.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/cube-chart.widget.d.ts +1 -0
- package/lib/dashboard/cube/cube-chart.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/documents.widget.d.ts +1 -0
- package/lib/dashboard/cube/documents.widget.d.ts.map +1 -0
- package/lib/dashboard/cube/filter/filter.component.d.ts +1 -0
- package/lib/dashboard/cube/filter/filter.component.d.ts.map +1 -0
- package/lib/dashboard/dashboard.component.d.ts +1 -0
- package/lib/dashboard/dashboard.component.d.ts.map +1 -0
- package/lib/dashboard/dashboard.pane.component.d.ts +1 -0
- package/lib/dashboard/dashboard.pane.component.d.ts.map +1 -0
- package/lib/dashboard/recents/recents.widget.d.ts +1 -0
- package/lib/dashboard/recents/recents.widget.d.ts.map +1 -0
- package/lib/dashboard/score/activity.widget.d.ts +1 -0
- package/lib/dashboard/score/activity.widget.d.ts.map +1 -0
- package/lib/dashboard/score/compare-groups.widget.d.ts +1 -0
- package/lib/dashboard/score/compare-groups.widget.d.ts.map +1 -0
- package/lib/dashboard/score/peers-performance.widget.d.ts +1 -0
- package/lib/dashboard/score/peers-performance.widget.d.ts.map +1 -0
- package/lib/dashboard/score/pending-results.widget.d.ts +1 -0
- package/lib/dashboard/score/pending-results.widget.d.ts.map +1 -0
- package/lib/dashboard/score/personal-score.widget.d.ts +1 -0
- package/lib/dashboard/score/personal-score.widget.d.ts.map +1 -0
- package/lib/dashboard/widget-item.component.d.ts +1 -0
- package/lib/dashboard/widget-item.component.d.ts.map +1 -0
- package/lib/dashboard/widget-ref.d.ts +1 -0
- package/lib/dashboard/widget-ref.d.ts.map +1 -0
- package/lib/desktop.module.d.ts +1 -0
- package/lib/desktop.module.d.ts.map +1 -0
- package/lib/home/about/about.dialog.d.ts +1 -0
- package/lib/home/about/about.dialog.d.ts.map +1 -0
- package/lib/home/home-base.component.d.ts +1 -0
- package/lib/home/home-base.component.d.ts.map +1 -0
- package/lib/home/home.desktop.component.d.ts +1 -0
- package/lib/home/home.desktop.component.d.ts.map +1 -0
- package/lib/home/home.mobile.component.d.ts +1 -0
- package/lib/home/home.mobile.component.d.ts.map +1 -0
- package/lib/home/notifications/notifications.component.d.ts +1 -0
- package/lib/home/notifications/notifications.component.d.ts.map +1 -0
- package/lib/home/options/options.component.d.ts +1 -0
- package/lib/home/options/options.component.d.ts.map +1 -0
- package/lib/home/outofoffice/outofoffice.component.d.ts +1 -0
- package/lib/home/outofoffice/outofoffice.component.d.ts.map +1 -0
- package/lib/home/search.service.d.ts +1 -0
- package/lib/home/search.service.d.ts.map +1 -0
- package/lib/home/sign/sign.component.d.ts +1 -0
- package/lib/home/sign/sign.component.d.ts.map +1 -0
- package/lib/home/tools.component.d.ts +1 -0
- package/lib/home/tools.component.d.ts.map +1 -0
- package/lib/impersonate/impersonate.component.d.ts +1 -0
- package/lib/impersonate/impersonate.component.d.ts.map +1 -0
- package/lib/mobile.module.d.ts +1 -0
- package/lib/mobile.module.d.ts.map +1 -0
- package/lib/modules/chart.module.d.ts +1 -0
- package/lib/modules/chart.module.d.ts.map +1 -0
- package/lib/modules/circular-gauge.module.d.ts +1 -0
- package/lib/modules/circular-gauge.module.d.ts.map +1 -0
- package/lib/modules/date.adapter.d.ts +1 -0
- package/lib/modules/date.adapter.d.ts.map +1 -0
- package/lib/modules/datepicker.intl.d.ts +1 -0
- package/lib/modules/datepicker.intl.d.ts.map +1 -0
- package/lib/modules/dayjs.module.d.ts +1 -0
- package/lib/modules/dayjs.module.d.ts.map +1 -0
- package/lib/modules/diagram.module.d.ts +1 -0
- package/lib/modules/diagram.module.d.ts.map +1 -0
- package/lib/modules/gantt.module.d.ts +1 -0
- package/lib/modules/gantt.module.d.ts.map +1 -0
- package/lib/modules/grid.module.d.ts +1 -0
- package/lib/modules/grid.module.d.ts.map +1 -0
- package/lib/modules/material.module.d.ts +1 -0
- package/lib/modules/material.module.d.ts.map +1 -0
- package/lib/modules/paginator.intl.d.ts +1 -0
- package/lib/modules/paginator.intl.d.ts.map +1 -0
- package/lib/modules/pivot.module.d.ts +1 -0
- package/lib/modules/pivot.module.d.ts.map +1 -0
- package/lib/modules/schedule.module.d.ts +1 -0
- package/lib/modules/schedule.module.d.ts.map +1 -0
- package/lib/modules/spreadsheet.module.d.ts +1 -0
- package/lib/modules/spreadsheet.module.d.ts.map +1 -0
- package/lib/modules/stepper.intl.d.ts +1 -0
- package/lib/modules/stepper.intl.d.ts.map +1 -0
- package/lib/modules/texteditor.module.d.ts +1 -0
- package/lib/modules/texteditor.module.d.ts.map +1 -0
- package/lib/notifications/filter.component.d.ts +1 -0
- package/lib/notifications/filter.component.d.ts.map +1 -0
- package/lib/notifications/notifications-table.component.d.ts +1 -0
- package/lib/notifications/notifications-table.component.d.ts.map +1 -0
- package/lib/notifications/notifications.component-base.d.ts +1 -0
- package/lib/notifications/notifications.component-base.d.ts.map +1 -0
- package/lib/notifications/notifications.mobile.component.d.ts +1 -0
- package/lib/notifications/notifications.mobile.component.d.ts.map +1 -0
- package/lib/notifications/notifications.pane.component.d.ts +1 -0
- package/lib/notifications/notifications.pane.component.d.ts.map +1 -0
- package/lib/notifications/notifications.service.d.ts +1 -0
- package/lib/notifications/notifications.service.d.ts.map +1 -0
- package/lib/notifications/types/commented.notification.d.ts +1 -0
- package/lib/notifications/types/commented.notification.d.ts.map +1 -0
- package/lib/notifications/types/cube-anomaly.notification.d.ts +1 -0
- package/lib/notifications/types/cube-anomaly.notification.d.ts.map +1 -0
- package/lib/notifications/types/escalated.notification.d.ts +1 -0
- package/lib/notifications/types/escalated.notification.d.ts.map +1 -0
- package/lib/notifications/types/liked.notification.d.ts +1 -0
- package/lib/notifications/types/liked.notification.d.ts.map +1 -0
- package/lib/notifications/types/long-running-task.notification.d.ts +1 -0
- package/lib/notifications/types/long-running-task.notification.d.ts.map +1 -0
- package/lib/notifications/types/notification-base.d.ts +1 -0
- package/lib/notifications/types/notification-base.d.ts.map +1 -0
- package/lib/notifications/types/nudge.notification.d.ts +1 -0
- package/lib/notifications/types/nudge.notification.d.ts.map +1 -0
- package/lib/notifications/types/state-changed.notification.d.ts +1 -0
- package/lib/notifications/types/state-changed.notification.d.ts.map +1 -0
- package/lib/notifications/types/tagged.notification.d.ts +1 -0
- package/lib/notifications/types/tagged.notification.d.ts.map +1 -0
- package/lib/notifications/types/text.notification.d.ts +1 -0
- package/lib/notifications/types/text.notification.d.ts.map +1 -0
- package/lib/notifications/types/upcoming-event.notification.d.ts +1 -0
- package/lib/notifications/types/upcoming-event.notification.d.ts.map +1 -0
- package/lib/options/options.component.d.ts +1 -0
- package/lib/options/options.component.d.ts.map +1 -0
- package/lib/options/options.service.d.ts +1 -0
- package/lib/options/options.service.d.ts.map +1 -0
- package/lib/reports/arguments-component.d.ts +1 -0
- package/lib/reports/arguments-component.d.ts.map +1 -0
- package/lib/reports/cube/documents.component.d.ts +1 -0
- package/lib/reports/cube/documents.component.d.ts.map +1 -0
- package/lib/reports/cube/grid-documents.component.d.ts +1 -0
- package/lib/reports/cube/grid-documents.component.d.ts.map +1 -0
- package/lib/reports/cube/table-documents.component.d.ts +1 -0
- package/lib/reports/cube/table-documents.component.d.ts.map +1 -0
- package/lib/reports/cube/usage-args.component.d.ts +1 -0
- package/lib/reports/cube/usage-args.component.d.ts.map +1 -0
- package/lib/reports/cube/usage-base.d.ts +1 -0
- package/lib/reports/cube/usage-base.d.ts.map +1 -0
- package/lib/reports/cube/usage-chart.component.d.ts +1 -0
- package/lib/reports/cube/usage-chart.component.d.ts.map +1 -0
- package/lib/reports/cube/usage-pivot.component.d.ts +1 -0
- package/lib/reports/cube/usage-pivot.component.d.ts.map +1 -0
- package/lib/reports/cube/usage.component.d.ts +1 -0
- package/lib/reports/cube/usage.component.d.ts.map +1 -0
- package/lib/reports/report-ref.d.ts +1 -0
- package/lib/reports/report-ref.d.ts.map +1 -0
- package/lib/reports/report-viewer.component.d.ts +1 -0
- package/lib/reports/report-viewer.component.d.ts.map +1 -0
- package/lib/reports/report.mobile.component.d.ts +1 -0
- package/lib/reports/report.mobile.component.d.ts.map +1 -0
- package/lib/reports/report.pane.component.d.ts +1 -0
- package/lib/reports/report.pane.component.d.ts.map +1 -0
- package/lib/reports/reports-menu.component.d.ts +1 -0
- package/lib/reports/reports-menu.component.d.ts.map +1 -0
- package/lib/reports/substitution/substitution.component.d.ts +1 -0
- package/lib/reports/substitution/substitution.component.d.ts.map +1 -0
- package/lib/reports/table/table-view.component.d.ts +1 -0
- package/lib/reports/table/table-view.component.d.ts.map +1 -0
- package/lib/reports/tasks/tasks.component.d.ts +1 -0
- package/lib/reports/tasks/tasks.component.d.ts.map +1 -0
- package/lib/routes.desktop.d.ts +1 -0
- package/lib/routes.desktop.d.ts.map +1 -0
- package/lib/routes.mobile.d.ts +1 -0
- package/lib/routes.mobile.d.ts.map +1 -0
- package/lib/scheduler/schedule.component.d.ts +1 -0
- package/lib/scheduler/schedule.component.d.ts.map +1 -0
- package/lib/scheduler/scheduler.mobile.component.d.ts +1 -0
- package/lib/scheduler/scheduler.mobile.component.d.ts.map +1 -0
- package/lib/scheduler/scheduler.pane.component.d.ts +1 -0
- package/lib/scheduler/scheduler.pane.component.d.ts.map +1 -0
- package/lib/shared.module.d.ts +1 -0
- package/lib/shared.module.d.ts.map +1 -0
- package/lib/system.module.d.ts +51 -49
- package/lib/system.module.d.ts.map +1 -0
- package/lib/views/cube/chart.component.d.ts +1 -0
- package/lib/views/cube/chart.component.d.ts.map +1 -0
- package/lib/views/cube/cube-base.d.ts +1 -0
- package/lib/views/cube/cube-base.d.ts.map +1 -0
- package/lib/views/cube/explore.component.d.ts +1 -0
- package/lib/views/cube/explore.component.d.ts.map +1 -0
- package/lib/views/cube/matrix.component.d.ts +1 -0
- package/lib/views/cube/matrix.component.d.ts.map +1 -0
- package/lib/views/cube/parallel.component.d.ts +1 -0
- package/lib/views/cube/parallel.component.d.ts.map +1 -0
- package/lib/views/cube/pivot.component.d.ts +1 -0
- package/lib/views/cube/pivot.component.d.ts.map +1 -0
- package/lib/views/cube/sum.component.d.ts +4 -3
- package/lib/views/cube/sum.component.d.ts.map +1 -0
- package/lib/views/cube/view.component.d.ts +1 -0
- package/lib/views/cube/view.component.d.ts.map +1 -0
- package/lib/views/document-view-ref.d.ts +1 -0
- package/lib/views/document-view-ref.d.ts.map +1 -0
- package/lib/views/timeline/timeline.component.exp.d.ts +1 -0
- package/lib/views/timeline/timeline.component.exp.d.ts.map +1 -0
- package/lib/views/view-item.component.d.ts +1 -0
- package/lib/views/view-item.component.d.ts.map +1 -0
- package/lib/views/views.component.d.ts +1 -0
- package/lib/views/views.component.d.ts.map +1 -0
- package/lib/views/views.mobile.component.d.ts +1 -0
- package/lib/views/views.mobile.component.d.ts.map +1 -0
- package/lib/views/views.pane.component.d.ts +1 -0
- package/lib/views/views.pane.component.d.ts.map +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/public-api.d.ts.map +1 -0
@@ -39,6 +39,501 @@ import * as i26 from "../core/popup/tooltip.directive";
|
|
39
39
|
import * as i27 from "../core/pipes/calendar.pipe";
|
40
40
|
import * as i28 from "../core/pipes/time-ago.pipe";
|
41
41
|
import * as i29 from "../core/pipes/translate.pipe";
|
42
|
+
function BrowseItemsComponent_bizdoc_none_1_Template(rf, ctx) { if (rf & 1) {
|
43
|
+
i0.ɵɵelement(0, "bizdoc-none", 34);
|
44
|
+
} if (rf & 2) {
|
45
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
46
|
+
i0.ɵɵproperty("subtitle", !ctx_r0.isMobile && ctx_r0.folderId === ctx_r0.DRAFT ? "AltN" : null);
|
47
|
+
} }
|
48
|
+
function BrowseItemsComponent_mat_header_cell_4_Template(rf, ctx) { if (rf & 1) {
|
49
|
+
const _r36 = i0.ɵɵgetCurrentView();
|
50
|
+
i0.ɵɵelementStart(0, "mat-header-cell");
|
51
|
+
i0.ɵɵelement(1, "div", 35);
|
52
|
+
i0.ɵɵelementStart(2, "mat-checkbox", 36);
|
53
|
+
i0.ɵɵlistener("change", function BrowseItemsComponent_mat_header_cell_4_Template_mat_checkbox_change_2_listener($event) { i0.ɵɵrestoreView(_r36); const ctx_r35 = i0.ɵɵnextContext(); return i0.ɵɵresetView($event ? ctx_r35.masterToggle() : null); });
|
54
|
+
i0.ɵɵpipe(3, "translate");
|
55
|
+
i0.ɵɵelementEnd()();
|
56
|
+
} if (rf & 2) {
|
57
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
58
|
+
i0.ɵɵadvance(2);
|
59
|
+
i0.ɵɵproperty("aria-label", i0.ɵɵpipeBind1(3, 3, "Check"))("checked", ctx_r1.selection.hasValue() && ctx_r1.isAllSelected())("indeterminate", ctx_r1.selection.hasValue() && !ctx_r1.isAllSelected());
|
60
|
+
} }
|
61
|
+
function BrowseItemsComponent_mat_cell_5_Template(rf, ctx) { if (rf & 1) {
|
62
|
+
const _r40 = i0.ɵɵgetCurrentView();
|
63
|
+
i0.ɵɵelementStart(0, "mat-cell")(1, "mat-checkbox", 37);
|
64
|
+
i0.ɵɵlistener("click", function BrowseItemsComponent_mat_cell_5_Template_mat_checkbox_click_1_listener($event) { return $event.stopPropagation(); })("change", function BrowseItemsComponent_mat_cell_5_Template_mat_checkbox_change_1_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r40); const item_r37 = restoredCtx.$implicit; const ctx_r39 = i0.ɵɵnextContext(); return i0.ɵɵresetView($event ? ctx_r39.selection.toggle(item_r37) : null); });
|
65
|
+
i0.ɵɵpipe(2, "translate");
|
66
|
+
i0.ɵɵelementEnd();
|
67
|
+
i0.ɵɵelementStart(3, "button", 38);
|
68
|
+
i0.ɵɵlistener("click", function BrowseItemsComponent_mat_cell_5_Template_button_click_3_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r40); const item_r37 = restoredCtx.$implicit; const ctx_r41 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r41.toggleExpanded(item_r37, $event)); });
|
69
|
+
i0.ɵɵpipe(4, "translate");
|
70
|
+
i0.ɵɵpipe(5, "translate");
|
71
|
+
i0.ɵɵelementStart(6, "mat-icon");
|
72
|
+
i0.ɵɵtext(7);
|
73
|
+
i0.ɵɵelementEnd()()();
|
74
|
+
} if (rf & 2) {
|
75
|
+
const item_r37 = ctx.$implicit;
|
76
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
77
|
+
i0.ɵɵadvance(1);
|
78
|
+
i0.ɵɵproperty("aria-label", i0.ɵɵpipeBind1(2, 5, "Check"))("checked", ctx_r2.selection.isSelected(item_r37));
|
79
|
+
i0.ɵɵadvance(2);
|
80
|
+
i0.ɵɵproperty("bizdocTooltip", i0.ɵɵpipeBind1(4, 7, "Details"));
|
81
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(5, 9, "Details"));
|
82
|
+
i0.ɵɵadvance(4);
|
83
|
+
i0.ɵɵtextInterpolate(item_r37 == ctx_r2.expandedElement ? "unfold_less" : "unfold_more");
|
84
|
+
} }
|
85
|
+
function BrowseItemsComponent_mat_header_cell_7_Template(rf, ctx) { if (rf & 1) {
|
86
|
+
i0.ɵɵelementStart(0, "mat-header-cell", 39);
|
87
|
+
i0.ɵɵtext(1);
|
88
|
+
i0.ɵɵpipe(2, "translate");
|
89
|
+
i0.ɵɵelementEnd();
|
90
|
+
} if (rf & 2) {
|
91
|
+
i0.ɵɵadvance(1);
|
92
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "Number"));
|
93
|
+
} }
|
94
|
+
function BrowseItemsComponent_mat_cell_8_Template(rf, ctx) { if (rf & 1) {
|
95
|
+
i0.ɵɵelementStart(0, "mat-cell", 40);
|
96
|
+
i0.ɵɵtext(1);
|
97
|
+
i0.ɵɵelementEnd();
|
98
|
+
} if (rf & 2) {
|
99
|
+
const item_r42 = ctx.$implicit;
|
100
|
+
i0.ɵɵadvance(1);
|
101
|
+
i0.ɵɵtextInterpolate1(" ", item_r42.number, " ");
|
102
|
+
} }
|
103
|
+
function BrowseItemsComponent_mat_header_cell_10_Template(rf, ctx) { if (rf & 1) {
|
104
|
+
i0.ɵɵelementStart(0, "mat-header-cell", 39);
|
105
|
+
i0.ɵɵtext(1);
|
106
|
+
i0.ɵɵpipe(2, "translate");
|
107
|
+
i0.ɵɵelementEnd();
|
108
|
+
} if (rf & 2) {
|
109
|
+
i0.ɵɵadvance(1);
|
110
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "Subject"));
|
111
|
+
} }
|
112
|
+
function BrowseItemsComponent_mat_cell_11_Template(rf, ctx) { if (rf & 1) {
|
113
|
+
i0.ɵɵelementStart(0, "mat-cell", 40);
|
114
|
+
i0.ɵɵtext(1);
|
115
|
+
i0.ɵɵelementEnd();
|
116
|
+
} if (rf & 2) {
|
117
|
+
const item_r43 = ctx.$implicit;
|
118
|
+
i0.ɵɵadvance(1);
|
119
|
+
i0.ɵɵtextInterpolate1(" ", item_r43.subject, " ");
|
120
|
+
} }
|
121
|
+
function BrowseItemsComponent_mat_header_cell_13_Template(rf, ctx) { if (rf & 1) {
|
122
|
+
i0.ɵɵelementStart(0, "mat-header-cell", 39);
|
123
|
+
i0.ɵɵtext(1);
|
124
|
+
i0.ɵɵpipe(2, "translate");
|
125
|
+
i0.ɵɵelementEnd();
|
126
|
+
} if (rf & 2) {
|
127
|
+
i0.ɵɵadvance(1);
|
128
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "Owner"));
|
129
|
+
} }
|
130
|
+
function BrowseItemsComponent_mat_cell_14_bizdoc_identity_name_1_Template(rf, ctx) { if (rf & 1) {
|
131
|
+
i0.ɵɵelement(0, "bizdoc-identity-name", 42);
|
132
|
+
} if (rf & 2) {
|
133
|
+
const item_r44 = i0.ɵɵnextContext().$implicit;
|
134
|
+
i0.ɵɵproperty("identity", item_r44.ownerId)("by", item_r44.ownerById);
|
135
|
+
} }
|
136
|
+
function BrowseItemsComponent_mat_cell_14_Template(rf, ctx) { if (rf & 1) {
|
137
|
+
i0.ɵɵelementStart(0, "mat-cell", 40);
|
138
|
+
i0.ɵɵtemplate(1, BrowseItemsComponent_mat_cell_14_bizdoc_identity_name_1_Template, 1, 2, "bizdoc-identity-name", 41);
|
139
|
+
i0.ɵɵelementEnd();
|
140
|
+
} if (rf & 2) {
|
141
|
+
const item_r44 = ctx.$implicit;
|
142
|
+
i0.ɵɵadvance(1);
|
143
|
+
i0.ɵɵproperty("ngIf", item_r44.ownerId);
|
144
|
+
} }
|
145
|
+
function BrowseItemsComponent_mat_header_cell_16_Template(rf, ctx) { if (rf & 1) {
|
146
|
+
i0.ɵɵelementStart(0, "mat-header-cell", 39);
|
147
|
+
i0.ɵɵtext(1);
|
148
|
+
i0.ɵɵpipe(2, "translate");
|
149
|
+
i0.ɵɵelementEnd();
|
150
|
+
} if (rf & 2) {
|
151
|
+
i0.ɵɵadvance(1);
|
152
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "Sender"));
|
153
|
+
} }
|
154
|
+
function BrowseItemsComponent_mat_cell_17_bizdoc_identity_name_1_Template(rf, ctx) { if (rf & 1) {
|
155
|
+
i0.ɵɵelement(0, "bizdoc-identity-name", 42);
|
156
|
+
} if (rf & 2) {
|
157
|
+
const item_r47 = i0.ɵɵnextContext().$implicit;
|
158
|
+
i0.ɵɵproperty("identity", item_r47.senderId)("by", item_r47.byId);
|
159
|
+
} }
|
160
|
+
function BrowseItemsComponent_mat_cell_17_Template(rf, ctx) { if (rf & 1) {
|
161
|
+
i0.ɵɵelementStart(0, "mat-cell", 40);
|
162
|
+
i0.ɵɵtemplate(1, BrowseItemsComponent_mat_cell_17_bizdoc_identity_name_1_Template, 1, 2, "bizdoc-identity-name", 41);
|
163
|
+
i0.ɵɵelementEnd();
|
164
|
+
} if (rf & 2) {
|
165
|
+
const item_r47 = ctx.$implicit;
|
166
|
+
i0.ɵɵadvance(1);
|
167
|
+
i0.ɵɵproperty("ngIf", item_r47.senderId);
|
168
|
+
} }
|
169
|
+
function BrowseItemsComponent_mat_header_cell_19_Template(rf, ctx) { if (rf & 1) {
|
170
|
+
i0.ɵɵelementStart(0, "mat-header-cell", 39);
|
171
|
+
i0.ɵɵtext(1);
|
172
|
+
i0.ɵɵpipe(2, "translate");
|
173
|
+
i0.ɵɵelementEnd();
|
174
|
+
} if (rf & 2) {
|
175
|
+
i0.ɵɵadvance(1);
|
176
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "Received"));
|
177
|
+
} }
|
178
|
+
function BrowseItemsComponent_mat_cell_20_Template(rf, ctx) { if (rf & 1) {
|
179
|
+
i0.ɵɵelementStart(0, "mat-cell", 40);
|
180
|
+
i0.ɵɵtext(1);
|
181
|
+
i0.ɵɵpipe(2, "amCalendar");
|
182
|
+
i0.ɵɵelementEnd();
|
183
|
+
} if (rf & 2) {
|
184
|
+
const item_r50 = ctx.$implicit;
|
185
|
+
i0.ɵɵadvance(1);
|
186
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, item_r50.received), " ");
|
187
|
+
} }
|
188
|
+
function BrowseItemsComponent_mat_header_cell_22_Template(rf, ctx) { if (rf & 1) {
|
189
|
+
i0.ɵɵelementStart(0, "mat-header-cell", 43);
|
190
|
+
i0.ɵɵtext(1);
|
191
|
+
i0.ɵɵpipe(2, "translate");
|
192
|
+
i0.ɵɵelementEnd();
|
193
|
+
} if (rf & 2) {
|
194
|
+
i0.ɵɵadvance(1);
|
195
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "Received"));
|
196
|
+
} }
|
197
|
+
function BrowseItemsComponent_mat_cell_23_Template(rf, ctx) { if (rf & 1) {
|
198
|
+
i0.ɵɵelementStart(0, "mat-cell", 44);
|
199
|
+
i0.ɵɵpipe(1, "amCalendar");
|
200
|
+
i0.ɵɵtext(2);
|
201
|
+
i0.ɵɵpipe(3, "amTimeAgo");
|
202
|
+
i0.ɵɵelementEnd();
|
203
|
+
} if (rf & 2) {
|
204
|
+
const item_r51 = ctx.$implicit;
|
205
|
+
i0.ɵɵproperty("bizdocTooltip", i0.ɵɵpipeBind1(1, 2, item_r51.received));
|
206
|
+
i0.ɵɵadvance(2);
|
207
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 4, item_r51.received));
|
208
|
+
} }
|
209
|
+
function BrowseItemsComponent_mat_header_cell_25_Template(rf, ctx) { if (rf & 1) {
|
210
|
+
i0.ɵɵelementStart(0, "mat-header-cell", 39);
|
211
|
+
i0.ɵɵtext(1);
|
212
|
+
i0.ɵɵpipe(2, "translate");
|
213
|
+
i0.ɵɵelementEnd();
|
214
|
+
} if (rf & 2) {
|
215
|
+
i0.ɵɵadvance(1);
|
216
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "Replied"));
|
217
|
+
} }
|
218
|
+
function BrowseItemsComponent_mat_cell_26_Template(rf, ctx) { if (rf & 1) {
|
219
|
+
i0.ɵɵelementStart(0, "mat-cell", 40);
|
220
|
+
i0.ɵɵtext(1);
|
221
|
+
i0.ɵɵpipe(2, "amCalendar");
|
222
|
+
i0.ɵɵelementEnd();
|
223
|
+
} if (rf & 2) {
|
224
|
+
const item_r52 = ctx.$implicit;
|
225
|
+
i0.ɵɵadvance(1);
|
226
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, item_r52.replied), " ");
|
227
|
+
} }
|
228
|
+
function BrowseItemsComponent_mat_header_cell_28_Template(rf, ctx) { if (rf & 1) {
|
229
|
+
i0.ɵɵelementStart(0, "mat-header-cell", 39);
|
230
|
+
i0.ɵɵtext(1);
|
231
|
+
i0.ɵɵpipe(2, "translate");
|
232
|
+
i0.ɵɵelementEnd();
|
233
|
+
} if (rf & 2) {
|
234
|
+
i0.ɵɵadvance(1);
|
235
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "Issued"));
|
236
|
+
} }
|
237
|
+
function BrowseItemsComponent_mat_cell_29_Template(rf, ctx) { if (rf & 1) {
|
238
|
+
i0.ɵɵelementStart(0, "mat-cell", 40);
|
239
|
+
i0.ɵɵtext(1);
|
240
|
+
i0.ɵɵpipe(2, "amCalendar");
|
241
|
+
i0.ɵɵelementEnd();
|
242
|
+
} if (rf & 2) {
|
243
|
+
const item_r53 = ctx.$implicit;
|
244
|
+
i0.ɵɵadvance(1);
|
245
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, item_r53.issued), " ");
|
246
|
+
} }
|
247
|
+
function BrowseItemsComponent_mat_header_cell_31_Template(rf, ctx) { if (rf & 1) {
|
248
|
+
i0.ɵɵelementStart(0, "mat-header-cell", 45);
|
249
|
+
i0.ɵɵtext(1);
|
250
|
+
i0.ɵɵpipe(2, "translate");
|
251
|
+
i0.ɵɵelementEnd();
|
252
|
+
} if (rf & 2) {
|
253
|
+
i0.ɵɵadvance(1);
|
254
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "Issued"));
|
255
|
+
} }
|
256
|
+
function BrowseItemsComponent_mat_cell_32_Template(rf, ctx) { if (rf & 1) {
|
257
|
+
i0.ɵɵelementStart(0, "mat-cell", 44);
|
258
|
+
i0.ɵɵpipe(1, "amCalendar");
|
259
|
+
i0.ɵɵtext(2);
|
260
|
+
i0.ɵɵpipe(3, "amTimeAgo");
|
261
|
+
i0.ɵɵelementEnd();
|
262
|
+
} if (rf & 2) {
|
263
|
+
const item_r54 = ctx.$implicit;
|
264
|
+
i0.ɵɵproperty("bizdocTooltip", i0.ɵɵpipeBind1(1, 2, item_r54.issued));
|
265
|
+
i0.ɵɵadvance(2);
|
266
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 4, item_r54.issued), " ");
|
267
|
+
} }
|
268
|
+
function BrowseItemsComponent_mat_header_cell_34_Template(rf, ctx) { if (rf & 1) {
|
269
|
+
i0.ɵɵelementStart(0, "mat-header-cell", 46);
|
270
|
+
i0.ɵɵtext(1);
|
271
|
+
i0.ɵɵpipe(2, "translate");
|
272
|
+
i0.ɵɵelementEnd();
|
273
|
+
} if (rf & 2) {
|
274
|
+
i0.ɵɵadvance(1);
|
275
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "Status"));
|
276
|
+
} }
|
277
|
+
function BrowseItemsComponent_mat_cell_35_Template(rf, ctx) { if (rf & 1) {
|
278
|
+
i0.ɵɵelementStart(0, "mat-cell", 40);
|
279
|
+
i0.ɵɵelement(1, "bizdoc-status", 47);
|
280
|
+
i0.ɵɵelementEnd();
|
281
|
+
} if (rf & 2) {
|
282
|
+
const item_r55 = ctx.$implicit;
|
283
|
+
i0.ɵɵadvance(1);
|
284
|
+
i0.ɵɵproperty("stateId", item_r55.stateId);
|
285
|
+
} }
|
286
|
+
function BrowseItemsComponent_ng_container_36_ng_container_1_mat_header_cell_1_Template(rf, ctx) { if (rf & 1) {
|
287
|
+
i0.ɵɵelementStart(0, "mat-header-cell", 39);
|
288
|
+
i0.ɵɵtext(1);
|
289
|
+
i0.ɵɵelementEnd();
|
290
|
+
} if (rf & 2) {
|
291
|
+
const c_r57 = i0.ɵɵnextContext().$implicit;
|
292
|
+
i0.ɵɵadvance(1);
|
293
|
+
i0.ɵɵtextInterpolate1(" ", c_r57.title, " ");
|
294
|
+
} }
|
295
|
+
function BrowseItemsComponent_ng_container_36_ng_container_1_mat_cell_2_span_2_Template(rf, ctx) { if (rf & 1) {
|
296
|
+
i0.ɵɵelementStart(0, "span");
|
297
|
+
i0.ɵɵtext(1);
|
298
|
+
i0.ɵɵpipe(2, "amCalendar");
|
299
|
+
i0.ɵɵelementEnd();
|
300
|
+
} if (rf & 2) {
|
301
|
+
const item_r61 = i0.ɵɵnextContext().$implicit;
|
302
|
+
const c_r57 = i0.ɵɵnextContext().$implicit;
|
303
|
+
i0.ɵɵadvance(1);
|
304
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, item_r61.model[c_r57.name]), " ");
|
305
|
+
} }
|
306
|
+
function BrowseItemsComponent_ng_container_36_ng_container_1_mat_cell_2_span_3_Template(rf, ctx) { if (rf & 1) {
|
307
|
+
i0.ɵɵelementStart(0, "span");
|
308
|
+
i0.ɵɵtext(1);
|
309
|
+
i0.ɵɵpipe(2, "number");
|
310
|
+
i0.ɵɵelementEnd();
|
311
|
+
} if (rf & 2) {
|
312
|
+
const item_r61 = i0.ɵɵnextContext().$implicit;
|
313
|
+
const c_r57 = i0.ɵɵnextContext().$implicit;
|
314
|
+
i0.ɵɵadvance(1);
|
315
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(2, 1, item_r61.model[c_r57.name]), " ");
|
316
|
+
} }
|
317
|
+
function BrowseItemsComponent_ng_container_36_ng_container_1_mat_cell_2_span_4_Template(rf, ctx) { if (rf & 1) {
|
318
|
+
i0.ɵɵelementStart(0, "span");
|
319
|
+
i0.ɵɵelement(1, "mat-checkbox", 53);
|
320
|
+
i0.ɵɵelementEnd();
|
321
|
+
} if (rf & 2) {
|
322
|
+
const item_r61 = i0.ɵɵnextContext().$implicit;
|
323
|
+
const c_r57 = i0.ɵɵnextContext().$implicit;
|
324
|
+
i0.ɵɵadvance(1);
|
325
|
+
i0.ɵɵproperty("checked", item_r61.model[c_r57.name])("disabled", true);
|
326
|
+
} }
|
327
|
+
function BrowseItemsComponent_ng_container_36_ng_container_1_mat_cell_2_span_5_Template(rf, ctx) { if (rf & 1) {
|
328
|
+
i0.ɵɵelementStart(0, "span");
|
329
|
+
i0.ɵɵtext(1);
|
330
|
+
i0.ɵɵelementEnd();
|
331
|
+
} if (rf & 2) {
|
332
|
+
const item_r61 = i0.ɵɵnextContext().$implicit;
|
333
|
+
const c_r57 = i0.ɵɵnextContext().$implicit;
|
334
|
+
i0.ɵɵadvance(1);
|
335
|
+
i0.ɵɵtextInterpolate1(" ", item_r61.model[c_r57.name], "z ");
|
336
|
+
} }
|
337
|
+
function BrowseItemsComponent_ng_container_36_ng_container_1_mat_cell_2_Template(rf, ctx) { if (rf & 1) {
|
338
|
+
i0.ɵɵelementStart(0, "mat-cell", 40);
|
339
|
+
i0.ɵɵelementContainerStart(1, 50);
|
340
|
+
i0.ɵɵtemplate(2, BrowseItemsComponent_ng_container_36_ng_container_1_mat_cell_2_span_2_Template, 3, 3, "span", 51);
|
341
|
+
i0.ɵɵtemplate(3, BrowseItemsComponent_ng_container_36_ng_container_1_mat_cell_2_span_3_Template, 3, 3, "span", 51);
|
342
|
+
i0.ɵɵtemplate(4, BrowseItemsComponent_ng_container_36_ng_container_1_mat_cell_2_span_4_Template, 2, 2, "span", 51);
|
343
|
+
i0.ɵɵtemplate(5, BrowseItemsComponent_ng_container_36_ng_container_1_mat_cell_2_span_5_Template, 2, 1, "span", 52);
|
344
|
+
i0.ɵɵelementContainerEnd();
|
345
|
+
i0.ɵɵelementEnd();
|
346
|
+
} if (rf & 2) {
|
347
|
+
const c_r57 = i0.ɵɵnextContext().$implicit;
|
348
|
+
i0.ɵɵadvance(1);
|
349
|
+
i0.ɵɵproperty("ngSwitch", c_r57.type);
|
350
|
+
i0.ɵɵadvance(1);
|
351
|
+
i0.ɵɵproperty("ngSwitchCase", "Date");
|
352
|
+
i0.ɵɵadvance(1);
|
353
|
+
i0.ɵɵproperty("ngSwitchCase", "Decimal");
|
354
|
+
i0.ɵɵadvance(1);
|
355
|
+
i0.ɵɵproperty("ngSwitchCase", "Boolean");
|
356
|
+
} }
|
357
|
+
function BrowseItemsComponent_ng_container_36_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
358
|
+
i0.ɵɵelementContainerStart(0, 49);
|
359
|
+
i0.ɵɵtemplate(1, BrowseItemsComponent_ng_container_36_ng_container_1_mat_header_cell_1_Template, 2, 1, "mat-header-cell", 7);
|
360
|
+
i0.ɵɵtemplate(2, BrowseItemsComponent_ng_container_36_ng_container_1_mat_cell_2_Template, 6, 4, "mat-cell", 8);
|
361
|
+
i0.ɵɵelementContainerEnd();
|
362
|
+
} if (rf & 2) {
|
363
|
+
const c_r57 = ctx.$implicit;
|
364
|
+
i0.ɵɵproperty("matColumnDef", c_r57.name);
|
365
|
+
} }
|
366
|
+
function BrowseItemsComponent_ng_container_36_Template(rf, ctx) { if (rf & 1) {
|
367
|
+
i0.ɵɵelementContainerStart(0);
|
368
|
+
i0.ɵɵtemplate(1, BrowseItemsComponent_ng_container_36_ng_container_1_Template, 3, 1, "ng-container", 48);
|
369
|
+
i0.ɵɵelementContainerEnd();
|
370
|
+
} if (rf & 2) {
|
371
|
+
const ctx_r23 = i0.ɵɵnextContext();
|
372
|
+
i0.ɵɵadvance(1);
|
373
|
+
i0.ɵɵproperty("ngForOf", ctx_r23.customColumns);
|
374
|
+
} }
|
375
|
+
function BrowseItemsComponent_mat_header_cell_38_Template(rf, ctx) { if (rf & 1) {
|
376
|
+
i0.ɵɵelementStart(0, "mat-header-cell", 39);
|
377
|
+
i0.ɵɵtext(1);
|
378
|
+
i0.ɵɵpipe(2, "translate");
|
379
|
+
i0.ɵɵelementEnd();
|
380
|
+
} if (rf & 2) {
|
381
|
+
i0.ɵɵadvance(1);
|
382
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "Amount"));
|
383
|
+
} }
|
384
|
+
function BrowseItemsComponent_mat_cell_39_Template(rf, ctx) { if (rf & 1) {
|
385
|
+
i0.ɵɵelementStart(0, "mat-cell", 40);
|
386
|
+
i0.ɵɵtext(1);
|
387
|
+
i0.ɵɵpipe(2, "currency");
|
388
|
+
i0.ɵɵelementEnd();
|
389
|
+
} if (rf & 2) {
|
390
|
+
const item_r75 = ctx.$implicit;
|
391
|
+
const ctx_r25 = i0.ɵɵnextContext();
|
392
|
+
i0.ɵɵadvance(1);
|
393
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind4(2, 1, item_r75.value, item_r75.currencyCode, "symbol", ctx_r25.currencyFormat), " ");
|
394
|
+
} }
|
395
|
+
function BrowseItemsComponent_mat_header_cell_41_Template(rf, ctx) { if (rf & 1) {
|
396
|
+
i0.ɵɵelement(0, "mat-header-cell");
|
397
|
+
} }
|
398
|
+
function BrowseItemsComponent_mat_cell_42_button_6_Template(rf, ctx) { if (rf & 1) {
|
399
|
+
const _r80 = i0.ɵɵgetCurrentView();
|
400
|
+
i0.ɵɵelementStart(0, "button", 38);
|
401
|
+
i0.ɵɵlistener("click", function BrowseItemsComponent_mat_cell_42_button_6_Template_button_click_0_listener($event) { i0.ɵɵrestoreView(_r80); const item_r76 = i0.ɵɵnextContext().$implicit; const ctx_r78 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r78.view(item_r76, $event)); });
|
402
|
+
i0.ɵɵpipe(1, "translate");
|
403
|
+
i0.ɵɵpipe(2, "translate");
|
404
|
+
i0.ɵɵelementStart(3, "mat-icon");
|
405
|
+
i0.ɵɵtext(4, "data_usage");
|
406
|
+
i0.ɵɵelementEnd()();
|
407
|
+
} if (rf & 2) {
|
408
|
+
i0.ɵɵproperty("bizdocTooltip", i0.ɵɵpipeBind1(1, 2, "View"));
|
409
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(2, 4, "View"));
|
410
|
+
} }
|
411
|
+
const _c0 = function (a0) { return { item: a0 }; };
|
412
|
+
function BrowseItemsComponent_mat_cell_42_Template(rf, ctx) { if (rf & 1) {
|
413
|
+
const _r82 = i0.ɵɵgetCurrentView();
|
414
|
+
i0.ɵɵelementStart(0, "mat-cell")(1, "button", 38);
|
415
|
+
i0.ɵɵlistener("click", function BrowseItemsComponent_mat_cell_42_Template_button_click_1_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r82); const item_r76 = restoredCtx.$implicit; const ctx_r81 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r81.flag(item_r76, $event)); });
|
416
|
+
i0.ɵɵpipe(2, "translate");
|
417
|
+
i0.ɵɵpipe(3, "translate");
|
418
|
+
i0.ɵɵelementStart(4, "mat-icon");
|
419
|
+
i0.ɵɵtext(5);
|
420
|
+
i0.ɵɵelementEnd()();
|
421
|
+
i0.ɵɵtemplate(6, BrowseItemsComponent_mat_cell_42_button_6_Template, 5, 6, "button", 54);
|
422
|
+
i0.ɵɵelementStart(7, "button", 55);
|
423
|
+
i0.ɵɵlistener("click", function BrowseItemsComponent_mat_cell_42_Template_button_click_7_listener($event) { return $event.stopPropagation(); });
|
424
|
+
i0.ɵɵpipe(8, "translate");
|
425
|
+
i0.ɵɵpipe(9, "translate");
|
426
|
+
i0.ɵɵelementStart(10, "mat-icon");
|
427
|
+
i0.ɵɵtext(11, "more_vert");
|
428
|
+
i0.ɵɵelementEnd()()();
|
429
|
+
} if (rf & 2) {
|
430
|
+
const item_r76 = ctx.$implicit;
|
431
|
+
const ctx_r27 = i0.ɵɵnextContext();
|
432
|
+
const _r33 = i0.ɵɵreference(51);
|
433
|
+
i0.ɵɵadvance(1);
|
434
|
+
i0.ɵɵproperty("bizdocTooltip", i0.ɵɵpipeBind1(2, 10, "Flagged"));
|
435
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(3, 12, "ToggleFlagged"));
|
436
|
+
i0.ɵɵadvance(3);
|
437
|
+
i0.ɵɵclassProp("document-flag", item_r76.flag);
|
438
|
+
i0.ɵɵadvance(1);
|
439
|
+
i0.ɵɵtextInterpolate(item_r76.flag ? "star" : "star_border");
|
440
|
+
i0.ɵɵadvance(1);
|
441
|
+
i0.ɵɵproperty("ngIf", ctx_r27.enableAnalysis);
|
442
|
+
i0.ɵɵadvance(1);
|
443
|
+
i0.ɵɵproperty("matMenuTriggerFor", _r33)("matMenuTriggerData", i0.ɵɵpureFunction1(18, _c0, item_r76))("bizdocTooltip", i0.ɵɵpipeBind1(8, 14, "Options"));
|
444
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(9, 16, "Options"));
|
445
|
+
} }
|
446
|
+
function BrowseItemsComponent_mat_cell_44_bizdoc_expanded_item_2_Template(rf, ctx) { if (rf & 1) {
|
447
|
+
i0.ɵɵelement(0, "bizdoc-expanded-item", 58);
|
448
|
+
} if (rf & 2) {
|
449
|
+
const item_r84 = i0.ɵɵnextContext().$implicit;
|
450
|
+
i0.ɵɵproperty("model", item_r84);
|
451
|
+
} }
|
452
|
+
function BrowseItemsComponent_mat_cell_44_Template(rf, ctx) { if (rf & 1) {
|
453
|
+
i0.ɵɵelementStart(0, "mat-cell")(1, "div", 56);
|
454
|
+
i0.ɵɵtemplate(2, BrowseItemsComponent_mat_cell_44_bizdoc_expanded_item_2_Template, 1, 1, "bizdoc-expanded-item", 57);
|
455
|
+
i0.ɵɵelementEnd()();
|
456
|
+
} if (rf & 2) {
|
457
|
+
const item_r84 = ctx.$implicit;
|
458
|
+
const ctx_r28 = i0.ɵɵnextContext();
|
459
|
+
i0.ɵɵclassProp("read-row", item_r84.read);
|
460
|
+
i0.ɵɵproperty("@updated", item_r84 == ctx_r28.updatedElement);
|
461
|
+
i0.ɵɵattribute("colspan", ctx_r28.displayedColumns.length);
|
462
|
+
i0.ɵɵadvance(1);
|
463
|
+
i0.ɵɵproperty("@detailExpand", item_r84 == ctx_r28.expandedElement ? "expanded" : "collapsed");
|
464
|
+
i0.ɵɵadvance(1);
|
465
|
+
i0.ɵɵproperty("ngIf", item_r84 == ctx_r28.expandedElement);
|
466
|
+
} }
|
467
|
+
function BrowseItemsComponent_mat_header_row_45_Template(rf, ctx) { if (rf & 1) {
|
468
|
+
i0.ɵɵelement(0, "mat-header-row");
|
469
|
+
} }
|
470
|
+
function BrowseItemsComponent_mat_row_46_div_1_Template(rf, ctx) { if (rf & 1) {
|
471
|
+
i0.ɵɵelementStart(0, "div")(1, "button", 62)(2, "mat-icon");
|
472
|
+
i0.ɵɵtext(3, "drag_indicator");
|
473
|
+
i0.ɵɵelementEnd()();
|
474
|
+
i0.ɵɵelementStart(4, "span");
|
475
|
+
i0.ɵɵtext(5);
|
476
|
+
i0.ɵɵelementEnd()();
|
477
|
+
} if (rf & 2) {
|
478
|
+
const item_r87 = i0.ɵɵnextContext().$implicit;
|
479
|
+
i0.ɵɵadvance(5);
|
480
|
+
i0.ɵɵtextInterpolate1("#", item_r87.number, "");
|
481
|
+
} }
|
482
|
+
function BrowseItemsComponent_mat_row_46_div_2_Template(rf, ctx) { if (rf & 1) {
|
483
|
+
i0.ɵɵelement(0, "div");
|
484
|
+
} }
|
485
|
+
const _c1 = function (a0, a1, a2, a3) { return { "selecteded-row": a0, "expanded-row": a1, "odd-row": a2, "read-row": a3 }; };
|
486
|
+
function BrowseItemsComponent_mat_row_46_Template(rf, ctx) { if (rf & 1) {
|
487
|
+
const _r93 = i0.ɵɵgetCurrentView();
|
488
|
+
i0.ɵɵelementStart(0, "mat-row", 59);
|
489
|
+
i0.ɵɵlistener("cdkDragReleased", function BrowseItemsComponent_mat_row_46_Template_mat_row_cdkDragReleased_0_listener() { i0.ɵɵrestoreView(_r93); const ctx_r92 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r92.dragDisabled = true); })("click", function BrowseItemsComponent_mat_row_46_Template_mat_row_click_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r93); const item_r87 = restoredCtx.$implicit; const ctx_r94 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r94.open(item_r87, $event)); });
|
490
|
+
i0.ɵɵtemplate(1, BrowseItemsComponent_mat_row_46_div_1_Template, 6, 1, "div", 60);
|
491
|
+
i0.ɵɵtemplate(2, BrowseItemsComponent_mat_row_46_div_2_Template, 1, 0, "div", 61);
|
492
|
+
i0.ɵɵelementEnd();
|
493
|
+
} if (rf & 2) {
|
494
|
+
const item_r87 = ctx.$implicit;
|
495
|
+
const dataIndex_r88 = ctx.dataIndex;
|
496
|
+
const ctx_r30 = i0.ɵɵnextContext();
|
497
|
+
i0.ɵɵproperty("@item", undefined)("@updated", item_r87 == ctx_r30.updatedElement)("cdkDragData", item_r87)("cdkDragDisabled", ctx_r30.dragDisabled)("ngClass", i0.ɵɵpureFunction4(5, _c1, ctx_r30.selectedElement === item_r87, ctx_r30.expandedElement === item_r87, dataIndex_r88 % 2, item_r87.read));
|
498
|
+
} }
|
499
|
+
const _c2 = function (a0, a1) { return { "selecteded-row": a0, "odd-row": a1 }; };
|
500
|
+
function BrowseItemsComponent_mat_row_47_Template(rf, ctx) { if (rf & 1) {
|
501
|
+
i0.ɵɵelement(0, "mat-row", 63);
|
502
|
+
} if (rf & 2) {
|
503
|
+
const item_r95 = ctx.$implicit;
|
504
|
+
const dataIndex_r96 = ctx.dataIndex;
|
505
|
+
const ctx_r31 = i0.ɵɵnextContext();
|
506
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(1, _c2, ctx_r31.selectedElement === item_r95, dataIndex_r96 % 2));
|
507
|
+
} }
|
508
|
+
function BrowseItemsComponent_ng_template_52_Template(rf, ctx) { if (rf & 1) {
|
509
|
+
const _r99 = i0.ɵɵgetCurrentView();
|
510
|
+
i0.ɵɵelementStart(0, "button", 64);
|
511
|
+
i0.ɵɵlistener("click", function BrowseItemsComponent_ng_template_52_Template_button_click_0_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r99); const item_r97 = restoredCtx.item; const ctx_r98 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r98.open(item_r97, $event)); });
|
512
|
+
i0.ɵɵtext(1);
|
513
|
+
i0.ɵɵpipe(2, "translate");
|
514
|
+
i0.ɵɵelementEnd();
|
515
|
+
i0.ɵɵelement(3, "mat-divider");
|
516
|
+
i0.ɵɵelementStart(4, "button", 64);
|
517
|
+
i0.ɵɵlistener("click", function BrowseItemsComponent_ng_template_52_Template_button_click_4_listener() { const restoredCtx = i0.ɵɵrestoreView(_r99); const item_r97 = restoredCtx.item; const ctx_r100 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r100.toggleRead(item_r97)); });
|
518
|
+
i0.ɵɵtext(5);
|
519
|
+
i0.ɵɵpipe(6, "translate");
|
520
|
+
i0.ɵɵelementEnd();
|
521
|
+
i0.ɵɵelement(7, "mat-divider");
|
522
|
+
i0.ɵɵelementStart(8, "button", 64);
|
523
|
+
i0.ɵɵlistener("click", function BrowseItemsComponent_ng_template_52_Template_button_click_8_listener() { const restoredCtx = i0.ɵɵrestoreView(_r99); const item_r97 = restoredCtx.item; const ctx_r101 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r101.copy(item_r97)); });
|
524
|
+
i0.ɵɵtext(9);
|
525
|
+
i0.ɵɵpipe(10, "translate");
|
526
|
+
i0.ɵɵelementEnd();
|
527
|
+
} if (rf & 2) {
|
528
|
+
const item_r97 = ctx.item;
|
529
|
+
i0.ɵɵadvance(1);
|
530
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 3, "Open"));
|
531
|
+
i0.ɵɵadvance(4);
|
532
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 5, item_r97.read ? "MarkAsUnread" : "MarkAsRead"));
|
533
|
+
i0.ɵɵadvance(4);
|
534
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 7, "Copy"));
|
535
|
+
} }
|
536
|
+
const _c3 = function () { return ["expandedDetail"]; };
|
42
537
|
export const TAKE = 200, SIZE = 20, HEADER_COLUMN_NAMES = ['number', 'subject', 'value', 'owner', 'sender', 'received', 'receivedAgo', 'replied', 'state', 'issued', 'issuedAgo'];
|
43
538
|
/** browse items component*/
|
44
539
|
export class BrowseItemsComponent {
|
@@ -436,46 +931,140 @@ export class BrowseItemsComponent {
|
|
436
931
|
this._destroy.complete();
|
437
932
|
}
|
438
933
|
}
|
439
|
-
BrowseItemsComponent.ɵfac =
|
440
|
-
BrowseItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: BrowseItemsComponent, selector: "bizdoc-browse-items", inputs: { folderId: "folderId", filterType: "filterType", filters: "filters" }, outputs: { onopen: "open", onview: "view" }, host: { classAttribute: "bizdoc-browse-items" }, viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-none *ngIf=\"dataSource?.data.length === 0\" title=\"NoMessages\" [subtitle]=\"!isMobile && folderId === DRAFT ? 'AltN' : null\" icon=\"mail_outline\"></bizdoc-none>\r\n<mat-table cdkDropList class=\"data-table\"\r\n [cdkDropListDisabled]=\"isMobile\"\r\n [cdkDropListData]=\"dataSource?.data\"\r\n cdkDropListConnectedTo=\"folders\"\r\n cdkDropListSortingDisabled\r\n [dataSource]=\"dataSource\" matSort multiTemplateDataRows (matSortChange)=\"sortData()\"\r\n id=\"browse-table\" [@list]=\"dataSource\" [style.display]=\"dataSource?.data.length ?'':'none'\">\r\n <ng-container matColumnDef=\"select\">\r\n <mat-header-cell *matHeaderCellDef>\r\n <div class=\"\"></div>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [aria-label]=\"'Check'|translate\"\r\n [checked]=\"selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\" [aria-label]=\"'Check'|translate\"\r\n (change)=\"$event ? selection.toggle(item) : null\"\r\n [checked]=\"selection.isSelected(item)\">\r\n </mat-checkbox>\r\n <!-- drag -->\r\n <!--<button mat-icon-button cdkDragHandle\r\n (mousedown)=\"dragDisabled = false\"\r\n (mouseup)=\"dragDisabled = true\"\r\n (touchstart)=\"dragDisabled = false\"\r\n (touchend)=\"dragDisabled = true\"\r\n class=\"drag\" aria-disabled=\"true\" fxHide.xs>\r\n <mat-icon>drag_indicator</mat-icon>\r\n </button>-->\r\n <button mat-icon-button (click)=\"toggleExpanded(item, $event)\" [bizdocTooltip]=\"'Details' | translate\" [attr.aria-label]=\"'Details' | translate\" class=\"tool\"><mat-icon>{{item == expandedElement ? 'unfold_less' : 'unfold_more'}}</mat-icon></button>\r\n </mat-cell>\r\n </ng-container>\r\n <!-- Number column -->\r\n <ng-container matColumnDef=\"number\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\r\n </ng-container>\r\n\r\n <!-- Subject column -->\r\n <ng-container matColumnDef=\"subject\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"owner\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Owner' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-identity-name *ngIf=\"item.ownerId\" [identity]=\"item.ownerId\" [by]=\"item.ownerById\"></bizdoc-identity-name>\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sender\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Sender' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-identity-name *ngIf=\"item.senderId\" [identity]=\"item.senderId\" [by]=\"item.byId\"></bizdoc-identity-name>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"received\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Received' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.received | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"receivedAgo\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"received\">{{'Received' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.received | amCalendar\">{{item.received | amTimeAgo}}</mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"replied\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Replied' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.replied | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"issued\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Issued' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.issued | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"issuedAgo\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"issued\">{{'Issued' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.issued | amCalendar\"> {{item.issued | amTimeAgo}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"state\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"customColumns\">\r\n <ng-container *ngFor=\"let c of customColumns\" [matColumnDef]=\"c.name\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header> {{c.title}} </mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <ng-container [ngSwitch]=\"c.type\">\r\n <span *ngSwitchCase=\"'Date'\">\r\n {{item.model[c.name] | amCalendar }}\r\n </span>\r\n <span *ngSwitchCase=\"'Decimal'\">\r\n {{item.model[c.name] | number }}\r\n </span>\r\n <span *ngSwitchCase=\"'Boolean'\">\r\n <mat-checkbox [checked]=\"item.model[c.name]\" [disabled]=\"true\"></mat-checkbox>\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{item.model[c.name]}}z\r\n </span>\r\n </ng-container>\r\n </mat-cell>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Value column -->\r\n <ng-container matColumnDef=\"value\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Amount' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.value | currency : item.currencyCode : 'symbol' : currencyFormat}} </mat-cell>\r\n </ng-container>\r\n\r\n <!-- options column -->\r\n <ng-container matColumnDef=\"options\">\r\n <mat-header-cell *matHeaderCellDef></mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\">\r\n <button mat-icon-button (click)=\"flag(item, $event)\" [bizdocTooltip]=\"'Flagged'| translate\" [attr.aria-label]=\"'ToggleFlagged' | translate\" class=\"tool\"><mat-icon [class.document-flag]=\"item.flag\">{{item.flag ? 'star' : 'star_border'}}</mat-icon></button>\r\n <button mat-icon-button (click)=\"view(item, $event)\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\" *ngIf=\"enableAnalysis\"><mat-icon>data_usage</mat-icon></button>\r\n <button mat-icon-button (click)=\"$event.stopPropagation()\" [matMenuTriggerFor]=\"menu\" fxHide.xs [matMenuTriggerData]=\"{item: item}\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\" class=\"tool\"><mat-icon>more_vert</mat-icon></button>\r\n </mat-cell>\r\n </ng-container>\r\n <!-- Expanded Content Column -->\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <mat-cell *matCellDef=\"let item\" [attr.colspan]=\"displayedColumns.length\" [@updated]=\"item == updatedElement\"\r\n [class.read-row]=\"item.read\">\r\n <div [@detailExpand]=\"item == expandedElement ? 'expanded' : 'collapsed'\" style=\"width: 100%\">\r\n <bizdoc-expanded-item [model]=\"item\" *ngIf=\"item == expandedElement\"></bizdoc-expanded-item>\r\n </div>\r\n </mat-cell>\r\n </ng-container>\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\r\n <mat-row @item [@updated]=\"item == updatedElement\"\r\n *matRowDef=\"let item; let dataIndex = dataIndex; columns: displayedColumns;\" class=\"element-row\"\r\n cdkDrag [cdkDragData]=\"item\"\r\n [cdkDragDisabled]=\"dragDisabled\"\r\n (cdkDragReleased)=\"dragDisabled = true\"\r\n [ngClass]=\"{'selecteded-row': selectedElement === item,\r\n 'expanded-row': expandedElement === item,\r\n 'odd-row': dataIndex % 2,\r\n 'read-row': item.read}\" matRipple\r\n (click)=\"open(item, $event)\">\r\n <div *cdkDragPreview>\r\n <button mat-icon-button aria-disabled=\"true\"><mat-icon>drag_indicator</mat-icon></button> <span>#{{item.number}}</span>\r\n </div>\r\n <div *cdkDragPlaceholder>\r\n <!-- none -->\r\n </div>\r\n </mat-row>\r\n <mat-row *matRowDef=\"let item; ; let dataIndex = dataIndex; columns: ['expandedDetail']\"\r\n class=\"detail-row\" matRipple\r\n [ngClass]=\"{ 'selecteded-row': selectedElement === item,\r\n 'odd-row': dataIndex % 2\r\n }\"></mat-row>\r\n</mat-table>\r\n<mat-paginator #paginator [hidePageSize]=\"true\" [pageSize]=\"PAGE_SIZE\" [style.display]=\"!isMobile && dataSource?.data.length>PAGE_SIZE ? '':'none'\"></mat-paginator>\r\n<mat-menu #menu=\"matMenu\">\r\n <ng-template matMenuContent let-item=\"item\">\r\n <button mat-menu-item (click)=\"open(item, $event)\">{{'Open'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"toggleRead(item)\">{{(item.read ?'MarkAsUnread':'MarkAsRead')|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"copy(item)\">{{'Copy'| translate}}</button>\r\n </ng-template>\r\n</mat-menu>\r\n", styles: ["#browse-table{width:100%}#browse-table .detail-row{min-height:0}#browse-table .element-row{cursor:pointer}#browse-table .element-row .drag{cursor:move}#browse-table .read-row{font-weight:100}@media screen and (min-width: 600px){.mat-row .tool{opacity:.05}.mat-row:hover .tool{opacity:1}}::ng-deep .mat-column-options{justify-content:end;padding-inline-end:8px}::ng-deep .mat-column-value{justify-content:right}::ng-deep .mat-column-select{white-space:nowrap}::ng-deep .mat-column-number{white-space:nowrap}\n"], dependencies: [{ kind: "directive", type: i9.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i9.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i9.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i10.DefaultShowHideDirective, selector: " [fxShow], [fxShow.print], [fxShow.xs], [fxShow.sm], [fxShow.md], [fxShow.lg], [fxShow.xl], [fxShow.lt-sm], [fxShow.lt-md], [fxShow.lt-lg], [fxShow.lt-xl], [fxShow.gt-xs], [fxShow.gt-sm], [fxShow.gt-md], [fxShow.gt-lg], [fxHide], [fxHide.print], [fxHide.xs], [fxHide.sm], [fxHide.md], [fxHide.lg], [fxHide.xl], [fxHide.lt-sm], [fxHide.lt-md], [fxHide.lt-lg], [fxHide.lt-xl], [fxHide.gt-xs], [fxHide.gt-sm], [fxHide.gt-md], [fxHide.gt-lg]", inputs: ["fxShow", "fxShow.print", "fxShow.xs", "fxShow.sm", "fxShow.md", "fxShow.lg", "fxShow.xl", "fxShow.lt-sm", "fxShow.lt-md", "fxShow.lt-lg", "fxShow.lt-xl", "fxShow.gt-xs", "fxShow.gt-sm", "fxShow.gt-md", "fxShow.gt-lg", "fxHide", "fxHide.print", "fxHide.xs", "fxHide.sm", "fxHide.md", "fxHide.lg", "fxHide.xl", "fxHide.lt-sm", "fxHide.lt-md", "fxHide.lt-lg", "fxHide.lt-xl", "fxHide.gt-xs", "fxHide.gt-sm", "fxHide.gt-md", "fxHide.gt-lg"] }, { kind: "directive", type: i10.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "directive", type: i11.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i11.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i11.CdkDragPreview, selector: "ng-template[cdkDragPreview]", inputs: ["data", "matchSize"] }, { kind: "directive", type: i11.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "directive", type: i12.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i13.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i13.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i13.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i13.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i13.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i13.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i13.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i13.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i13.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i13.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i14.MatSort, selector: "[matSort]", inputs: ["matSortDisabled", "matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i14.MatSortHeader, selector: "[mat-sort-header]", inputs: ["disabled", "mat-sort-header", "arrowPosition", "start", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i15.MatPaginator, selector: "mat-paginator", inputs: ["disabled"], exportAs: ["matPaginator"] }, { kind: "component", type: i16.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i17.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i18.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i19.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i20.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i21.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i21.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i21.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i21.MatMenuContent, selector: "ng-template[matMenuContent]" }, { kind: "directive", type: i22.StateDirective, selector: "bizdoc-status", inputs: ["stateId"] }, { kind: "component", type: i23.IdentityName, selector: "bizdoc-identity-name", inputs: ["identity", "by", "chating"] }, { kind: "component", type: i24.NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "component", type: i25.ExpandedItemComponent, selector: "bizdoc-expanded-item", inputs: ["model"], outputs: ["sent"] }, { kind: "directive", type: i26.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i9.DecimalPipe, name: "number" }, { kind: "pipe", type: i9.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i27.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i28.TimeAgoPipe, name: "amTimeAgo" }, { kind: "pipe", type: i29.TranslatePipe, name: "translate" }], animations: [
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
i0.ɵɵ
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
}, template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-none *ngIf=\"dataSource?.data.length === 0\" title=\"NoMessages\" [subtitle]=\"!isMobile && folderId === DRAFT ? 'AltN' : null\" icon=\"mail_outline\"></bizdoc-none>\r\n<mat-table cdkDropList class=\"data-table\"\r\n [cdkDropListDisabled]=\"isMobile\"\r\n [cdkDropListData]=\"dataSource?.data\"\r\n cdkDropListConnectedTo=\"folders\"\r\n cdkDropListSortingDisabled\r\n [dataSource]=\"dataSource\" matSort multiTemplateDataRows (matSortChange)=\"sortData()\"\r\n id=\"browse-table\" [@list]=\"dataSource\" [style.display]=\"dataSource?.data.length ?'':'none'\">\r\n <ng-container matColumnDef=\"select\">\r\n <mat-header-cell *matHeaderCellDef>\r\n <div class=\"\"></div>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [aria-label]=\"'Check'|translate\"\r\n [checked]=\"selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\" [aria-label]=\"'Check'|translate\"\r\n (change)=\"$event ? selection.toggle(item) : null\"\r\n [checked]=\"selection.isSelected(item)\">\r\n </mat-checkbox>\r\n <!-- drag -->\r\n <!--<button mat-icon-button cdkDragHandle\r\n (mousedown)=\"dragDisabled = false\"\r\n (mouseup)=\"dragDisabled = true\"\r\n (touchstart)=\"dragDisabled = false\"\r\n (touchend)=\"dragDisabled = true\"\r\n class=\"drag\" aria-disabled=\"true\" fxHide.xs>\r\n <mat-icon>drag_indicator</mat-icon>\r\n </button>-->\r\n <button mat-icon-button (click)=\"toggleExpanded(item, $event)\" [bizdocTooltip]=\"'Details' | translate\" [attr.aria-label]=\"'Details' | translate\" class=\"tool\"><mat-icon>{{item == expandedElement ? 'unfold_less' : 'unfold_more'}}</mat-icon></button>\r\n </mat-cell>\r\n </ng-container>\r\n <!-- Number column -->\r\n <ng-container matColumnDef=\"number\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\r\n </ng-container>\r\n\r\n <!-- Subject column -->\r\n <ng-container matColumnDef=\"subject\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"owner\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Owner' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-identity-name *ngIf=\"item.ownerId\" [identity]=\"item.ownerId\" [by]=\"item.ownerById\"></bizdoc-identity-name>\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sender\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Sender' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-identity-name *ngIf=\"item.senderId\" [identity]=\"item.senderId\" [by]=\"item.byId\"></bizdoc-identity-name>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"received\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Received' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.received | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"receivedAgo\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"received\">{{'Received' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.received | amCalendar\">{{item.received | amTimeAgo}}</mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"replied\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Replied' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.replied | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"issued\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Issued' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.issued | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"issuedAgo\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"issued\">{{'Issued' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.issued | amCalendar\"> {{item.issued | amTimeAgo}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"state\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"customColumns\">\r\n <ng-container *ngFor=\"let c of customColumns\" [matColumnDef]=\"c.name\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header> {{c.title}} </mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <ng-container [ngSwitch]=\"c.type\">\r\n <span *ngSwitchCase=\"'Date'\">\r\n {{item.model[c.name] | amCalendar }}\r\n </span>\r\n <span *ngSwitchCase=\"'Decimal'\">\r\n {{item.model[c.name] | number }}\r\n </span>\r\n <span *ngSwitchCase=\"'Boolean'\">\r\n <mat-checkbox [checked]=\"item.model[c.name]\" [disabled]=\"true\"></mat-checkbox>\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{item.model[c.name]}}z\r\n </span>\r\n </ng-container>\r\n </mat-cell>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Value column -->\r\n <ng-container matColumnDef=\"value\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Amount' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.value | currency : item.currencyCode : 'symbol' : currencyFormat}} </mat-cell>\r\n </ng-container>\r\n\r\n <!-- options column -->\r\n <ng-container matColumnDef=\"options\">\r\n <mat-header-cell *matHeaderCellDef></mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\">\r\n <button mat-icon-button (click)=\"flag(item, $event)\" [bizdocTooltip]=\"'Flagged'| translate\" [attr.aria-label]=\"'ToggleFlagged' | translate\" class=\"tool\"><mat-icon [class.document-flag]=\"item.flag\">{{item.flag ? 'star' : 'star_border'}}</mat-icon></button>\r\n <button mat-icon-button (click)=\"view(item, $event)\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\" *ngIf=\"enableAnalysis\"><mat-icon>data_usage</mat-icon></button>\r\n <button mat-icon-button (click)=\"$event.stopPropagation()\" [matMenuTriggerFor]=\"menu\" fxHide.xs [matMenuTriggerData]=\"{item: item}\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\" class=\"tool\"><mat-icon>more_vert</mat-icon></button>\r\n </mat-cell>\r\n </ng-container>\r\n <!-- Expanded Content Column -->\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <mat-cell *matCellDef=\"let item\" [attr.colspan]=\"displayedColumns.length\" [@updated]=\"item == updatedElement\"\r\n [class.read-row]=\"item.read\">\r\n <div [@detailExpand]=\"item == expandedElement ? 'expanded' : 'collapsed'\" style=\"width: 100%\">\r\n <bizdoc-expanded-item [model]=\"item\" *ngIf=\"item == expandedElement\"></bizdoc-expanded-item>\r\n </div>\r\n </mat-cell>\r\n </ng-container>\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\r\n <mat-row @item [@updated]=\"item == updatedElement\"\r\n *matRowDef=\"let item; let dataIndex = dataIndex; columns: displayedColumns;\" class=\"element-row\"\r\n cdkDrag [cdkDragData]=\"item\"\r\n [cdkDragDisabled]=\"dragDisabled\"\r\n (cdkDragReleased)=\"dragDisabled = true\"\r\n [ngClass]=\"{'selecteded-row': selectedElement === item,\r\n 'expanded-row': expandedElement === item,\r\n 'odd-row': dataIndex % 2,\r\n 'read-row': item.read}\" matRipple\r\n (click)=\"open(item, $event)\">\r\n <div *cdkDragPreview>\r\n <button mat-icon-button aria-disabled=\"true\"><mat-icon>drag_indicator</mat-icon></button> <span>#{{item.number}}</span>\r\n </div>\r\n <div *cdkDragPlaceholder>\r\n <!-- none -->\r\n </div>\r\n </mat-row>\r\n <mat-row *matRowDef=\"let item; ; let dataIndex = dataIndex; columns: ['expandedDetail']\"\r\n class=\"detail-row\" matRipple\r\n [ngClass]=\"{ 'selecteded-row': selectedElement === item,\r\n 'odd-row': dataIndex % 2\r\n }\"></mat-row>\r\n</mat-table>\r\n<mat-paginator #paginator [hidePageSize]=\"true\" [pageSize]=\"PAGE_SIZE\" [style.display]=\"!isMobile && dataSource?.data.length>PAGE_SIZE ? '':'none'\"></mat-paginator>\r\n<mat-menu #menu=\"matMenu\">\r\n <ng-template matMenuContent let-item=\"item\">\r\n <button mat-menu-item (click)=\"open(item, $event)\">{{'Open'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"toggleRead(item)\">{{(item.read ?'MarkAsUnread':'MarkAsRead')|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"copy(item)\">{{'Copy'| translate}}</button>\r\n </ng-template>\r\n</mat-menu>\r\n", styles: ["#browse-table{width:100%}#browse-table .detail-row{min-height:0}#browse-table .element-row{cursor:pointer}#browse-table .element-row .drag{cursor:move}#browse-table .read-row{font-weight:100}@media screen and (min-width: 600px){.mat-row .tool{opacity:.05}.mat-row:hover .tool{opacity:1}}::ng-deep .mat-column-options{justify-content:end;padding-inline-end:8px}::ng-deep .mat-column-value{justify-content:right}::ng-deep .mat-column-select{white-space:nowrap}::ng-deep .mat-column-number{white-space:nowrap}\n"] }]
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
934
|
+
BrowseItemsComponent.ɵfac = function BrowseItemsComponent_Factory(t) { return new (t || BrowseItemsComponent)(i0.ɵɵdirectiveInject(i1.MailboxService), i0.ɵɵdirectiveInject(i2.AccountService), i0.ɵɵdirectiveInject(i3.CubeService), i0.ɵɵdirectiveInject(i4.SessionService), i0.ɵɵdirectiveInject(i5.PromptService), i0.ɵɵdirectiveInject(i6.TranslateService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i7.RouterImpl), i0.ɵɵdirectiveInject(i8.HubService), i0.ɵɵdirectiveInject(BIZDOC_CONFIG)); };
|
935
|
+
BrowseItemsComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BrowseItemsComponent, selectors: [["bizdoc-browse-items"]], viewQuery: function BrowseItemsComponent_Query(rf, ctx) { if (rf & 1) {
|
936
|
+
i0.ɵɵviewQuery(MatSort, 7);
|
937
|
+
i0.ɵɵviewQuery(MatPaginator, 7);
|
938
|
+
} if (rf & 2) {
|
939
|
+
let _t;
|
940
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.sort = _t.first);
|
941
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.paginator = _t.first);
|
942
|
+
} }, hostAttrs: [1, "bizdoc-browse-items"], inputs: { folderId: "folderId", filterType: "filterType", filters: "filters" }, outputs: { onopen: "open", onview: "view" }, features: [i0.ɵɵNgOnChangesFeature], decls: 53, vars: 19, consts: [["mode", "query"], ["title", "NoMessages", "icon", "mail_outline", 3, "subtitle", 4, "ngIf"], ["cdkDropList", "", "cdkDropListConnectedTo", "folders", "cdkDropListSortingDisabled", "", "matSort", "", "multiTemplateDataRows", "", "id", "browse-table", 1, "data-table", 3, "cdkDropListDisabled", "cdkDropListData", "dataSource", "matSortChange"], ["matColumnDef", "select"], [4, "matHeaderCellDef"], [4, "matCellDef"], ["matColumnDef", "number"], ["mat-sort-header", "", 4, "matHeaderCellDef"], ["class", "data-column", 4, "matCellDef"], ["matColumnDef", "subject"], ["matColumnDef", "owner"], ["matColumnDef", "sender"], ["matColumnDef", "received"], ["matColumnDef", "receivedAgo"], ["mat-sort-header", "received", 4, "matHeaderCellDef"], ["class", "data-column", 3, "bizdocTooltip", 4, "matCellDef"], ["matColumnDef", "replied"], ["matColumnDef", "issued"], ["matColumnDef", "issuedAgo"], ["mat-sort-header", "issued", 4, "matHeaderCellDef"], ["matColumnDef", "state"], ["mat-sort-header", "stateId", 4, "matHeaderCellDef"], [4, "ngIf"], ["matColumnDef", "value"], ["matColumnDef", "options"], ["matColumnDef", "expandedDetail"], [3, "read-row", 4, "matCellDef"], [4, "matHeaderRowDef", "matHeaderRowDefSticky"], ["class", "element-row", "cdkDrag", "", "matRipple", "", 3, "cdkDragData", "cdkDragDisabled", "ngClass", "cdkDragReleased", "click", 4, "matRowDef", "matRowDefColumns"], ["class", "detail-row", "matRipple", "", 3, "ngClass", 4, "matRowDef", "matRowDefColumns"], [3, "hidePageSize", "pageSize"], ["paginator", ""], ["menu", "matMenu"], ["matMenuContent", ""], ["title", "NoMessages", "icon", "mail_outline", 3, "subtitle"], [1, ""], [3, "aria-label", "checked", "indeterminate", "change"], [3, "aria-label", "checked", "click", "change"], ["mat-icon-button", "", 1, "tool", 3, "bizdocTooltip", "click"], ["mat-sort-header", ""], [1, "data-column"], [3, "identity", "by", 4, "ngIf"], [3, "identity", "by"], ["mat-sort-header", "received"], [1, "data-column", 3, "bizdocTooltip"], ["mat-sort-header", "issued"], ["mat-sort-header", "stateId"], [3, "stateId"], [3, "matColumnDef", 4, "ngFor", "ngForOf"], [3, "matColumnDef"], [3, "ngSwitch"], [4, "ngSwitchCase"], [4, "ngSwitchDefault"], [3, "checked", "disabled"], ["mat-icon-button", "", "class", "tool", 3, "bizdocTooltip", "click", 4, "ngIf"], ["mat-icon-button", "", "fxHide.xs", "", 1, "tool", 3, "matMenuTriggerFor", "matMenuTriggerData", "bizdocTooltip", "click"], [2, "width", "100%"], [3, "model", 4, "ngIf"], [3, "model"], ["cdkDrag", "", "matRipple", "", 1, "element-row", 3, "cdkDragData", "cdkDragDisabled", "ngClass", "cdkDragReleased", "click"], [4, "cdkDragPreview"], [4, "cdkDragPlaceholder"], ["mat-icon-button", "", "aria-disabled", "true"], ["matRipple", "", 1, "detail-row", 3, "ngClass"], ["mat-menu-item", "", 3, "click"]], template: function BrowseItemsComponent_Template(rf, ctx) { if (rf & 1) {
|
943
|
+
i0.ɵɵelement(0, "mat-progress-bar", 0);
|
944
|
+
i0.ɵɵtemplate(1, BrowseItemsComponent_bizdoc_none_1_Template, 1, 1, "bizdoc-none", 1);
|
945
|
+
i0.ɵɵelementStart(2, "mat-table", 2);
|
946
|
+
i0.ɵɵlistener("matSortChange", function BrowseItemsComponent_Template_mat_table_matSortChange_2_listener() { return ctx.sortData(); });
|
947
|
+
i0.ɵɵelementContainerStart(3, 3);
|
948
|
+
i0.ɵɵtemplate(4, BrowseItemsComponent_mat_header_cell_4_Template, 4, 5, "mat-header-cell", 4);
|
949
|
+
i0.ɵɵtemplate(5, BrowseItemsComponent_mat_cell_5_Template, 8, 11, "mat-cell", 5);
|
950
|
+
i0.ɵɵelementContainerEnd();
|
951
|
+
i0.ɵɵelementContainerStart(6, 6);
|
952
|
+
i0.ɵɵtemplate(7, BrowseItemsComponent_mat_header_cell_7_Template, 3, 3, "mat-header-cell", 7);
|
953
|
+
i0.ɵɵtemplate(8, BrowseItemsComponent_mat_cell_8_Template, 2, 1, "mat-cell", 8);
|
954
|
+
i0.ɵɵelementContainerEnd();
|
955
|
+
i0.ɵɵelementContainerStart(9, 9);
|
956
|
+
i0.ɵɵtemplate(10, BrowseItemsComponent_mat_header_cell_10_Template, 3, 3, "mat-header-cell", 7);
|
957
|
+
i0.ɵɵtemplate(11, BrowseItemsComponent_mat_cell_11_Template, 2, 1, "mat-cell", 8);
|
958
|
+
i0.ɵɵelementContainerEnd();
|
959
|
+
i0.ɵɵelementContainerStart(12, 10);
|
960
|
+
i0.ɵɵtemplate(13, BrowseItemsComponent_mat_header_cell_13_Template, 3, 3, "mat-header-cell", 7);
|
961
|
+
i0.ɵɵtemplate(14, BrowseItemsComponent_mat_cell_14_Template, 2, 1, "mat-cell", 8);
|
962
|
+
i0.ɵɵelementContainerEnd();
|
963
|
+
i0.ɵɵelementContainerStart(15, 11);
|
964
|
+
i0.ɵɵtemplate(16, BrowseItemsComponent_mat_header_cell_16_Template, 3, 3, "mat-header-cell", 7);
|
965
|
+
i0.ɵɵtemplate(17, BrowseItemsComponent_mat_cell_17_Template, 2, 1, "mat-cell", 8);
|
966
|
+
i0.ɵɵelementContainerEnd();
|
967
|
+
i0.ɵɵelementContainerStart(18, 12);
|
968
|
+
i0.ɵɵtemplate(19, BrowseItemsComponent_mat_header_cell_19_Template, 3, 3, "mat-header-cell", 7);
|
969
|
+
i0.ɵɵtemplate(20, BrowseItemsComponent_mat_cell_20_Template, 3, 3, "mat-cell", 8);
|
970
|
+
i0.ɵɵelementContainerEnd();
|
971
|
+
i0.ɵɵelementContainerStart(21, 13);
|
972
|
+
i0.ɵɵtemplate(22, BrowseItemsComponent_mat_header_cell_22_Template, 3, 3, "mat-header-cell", 14);
|
973
|
+
i0.ɵɵtemplate(23, BrowseItemsComponent_mat_cell_23_Template, 4, 6, "mat-cell", 15);
|
974
|
+
i0.ɵɵelementContainerEnd();
|
975
|
+
i0.ɵɵelementContainerStart(24, 16);
|
976
|
+
i0.ɵɵtemplate(25, BrowseItemsComponent_mat_header_cell_25_Template, 3, 3, "mat-header-cell", 7);
|
977
|
+
i0.ɵɵtemplate(26, BrowseItemsComponent_mat_cell_26_Template, 3, 3, "mat-cell", 8);
|
978
|
+
i0.ɵɵelementContainerEnd();
|
979
|
+
i0.ɵɵelementContainerStart(27, 17);
|
980
|
+
i0.ɵɵtemplate(28, BrowseItemsComponent_mat_header_cell_28_Template, 3, 3, "mat-header-cell", 7);
|
981
|
+
i0.ɵɵtemplate(29, BrowseItemsComponent_mat_cell_29_Template, 3, 3, "mat-cell", 8);
|
982
|
+
i0.ɵɵelementContainerEnd();
|
983
|
+
i0.ɵɵelementContainerStart(30, 18);
|
984
|
+
i0.ɵɵtemplate(31, BrowseItemsComponent_mat_header_cell_31_Template, 3, 3, "mat-header-cell", 19);
|
985
|
+
i0.ɵɵtemplate(32, BrowseItemsComponent_mat_cell_32_Template, 4, 6, "mat-cell", 15);
|
986
|
+
i0.ɵɵelementContainerEnd();
|
987
|
+
i0.ɵɵelementContainerStart(33, 20);
|
988
|
+
i0.ɵɵtemplate(34, BrowseItemsComponent_mat_header_cell_34_Template, 3, 3, "mat-header-cell", 21);
|
989
|
+
i0.ɵɵtemplate(35, BrowseItemsComponent_mat_cell_35_Template, 2, 1, "mat-cell", 8);
|
990
|
+
i0.ɵɵelementContainerEnd();
|
991
|
+
i0.ɵɵtemplate(36, BrowseItemsComponent_ng_container_36_Template, 2, 1, "ng-container", 22);
|
992
|
+
i0.ɵɵelementContainerStart(37, 23);
|
993
|
+
i0.ɵɵtemplate(38, BrowseItemsComponent_mat_header_cell_38_Template, 3, 3, "mat-header-cell", 7);
|
994
|
+
i0.ɵɵtemplate(39, BrowseItemsComponent_mat_cell_39_Template, 3, 6, "mat-cell", 8);
|
995
|
+
i0.ɵɵelementContainerEnd();
|
996
|
+
i0.ɵɵelementContainerStart(40, 24);
|
997
|
+
i0.ɵɵtemplate(41, BrowseItemsComponent_mat_header_cell_41_Template, 1, 0, "mat-header-cell", 4);
|
998
|
+
i0.ɵɵtemplate(42, BrowseItemsComponent_mat_cell_42_Template, 12, 20, "mat-cell", 5);
|
999
|
+
i0.ɵɵelementContainerEnd();
|
1000
|
+
i0.ɵɵelementContainerStart(43, 25);
|
1001
|
+
i0.ɵɵtemplate(44, BrowseItemsComponent_mat_cell_44_Template, 3, 6, "mat-cell", 26);
|
1002
|
+
i0.ɵɵelementContainerEnd();
|
1003
|
+
i0.ɵɵtemplate(45, BrowseItemsComponent_mat_header_row_45_Template, 1, 0, "mat-header-row", 27);
|
1004
|
+
i0.ɵɵtemplate(46, BrowseItemsComponent_mat_row_46_Template, 3, 10, "mat-row", 28);
|
1005
|
+
i0.ɵɵtemplate(47, BrowseItemsComponent_mat_row_47_Template, 1, 4, "mat-row", 29);
|
1006
|
+
i0.ɵɵelementEnd();
|
1007
|
+
i0.ɵɵelement(48, "mat-paginator", 30, 31);
|
1008
|
+
i0.ɵɵelementStart(50, "mat-menu", null, 32);
|
1009
|
+
i0.ɵɵtemplate(52, BrowseItemsComponent_ng_template_52_Template, 11, 9, "ng-template", 33);
|
1010
|
+
i0.ɵɵelementEnd();
|
1011
|
+
} if (rf & 2) {
|
1012
|
+
i0.ɵɵstyleProp("visibility", ctx.loading ? "visible" : "hidden");
|
1013
|
+
i0.ɵɵadvance(1);
|
1014
|
+
i0.ɵɵproperty("ngIf", (ctx.dataSource == null ? null : ctx.dataSource.data.length) === 0);
|
1015
|
+
i0.ɵɵadvance(1);
|
1016
|
+
i0.ɵɵstyleProp("display", (ctx.dataSource == null ? null : ctx.dataSource.data.length) ? "" : "none");
|
1017
|
+
i0.ɵɵproperty("cdkDropListDisabled", ctx.isMobile)("cdkDropListData", ctx.dataSource == null ? null : ctx.dataSource.data)("dataSource", ctx.dataSource)("@list", ctx.dataSource);
|
1018
|
+
i0.ɵɵadvance(34);
|
1019
|
+
i0.ɵɵproperty("ngIf", ctx.customColumns);
|
1020
|
+
i0.ɵɵadvance(9);
|
1021
|
+
i0.ɵɵproperty("matHeaderRowDef", ctx.displayedColumns)("matHeaderRowDefSticky", true);
|
1022
|
+
i0.ɵɵadvance(1);
|
1023
|
+
i0.ɵɵproperty("matRowDefColumns", ctx.displayedColumns);
|
1024
|
+
i0.ɵɵadvance(1);
|
1025
|
+
i0.ɵɵproperty("matRowDefColumns", i0.ɵɵpureFunction0(18, _c3));
|
1026
|
+
i0.ɵɵadvance(1);
|
1027
|
+
i0.ɵɵstyleProp("display", !ctx.isMobile && (ctx.dataSource == null ? null : ctx.dataSource.data.length) > ctx.PAGE_SIZE ? "" : "none");
|
1028
|
+
i0.ɵɵproperty("hidePageSize", true)("pageSize", ctx.PAGE_SIZE);
|
1029
|
+
} }, dependencies: [i9.NgClass, i9.NgForOf, i9.NgIf, i9.NgSwitch, i9.NgSwitchCase, i9.NgSwitchDefault, i10.DefaultShowHideDirective, i10.DefaultClassDirective, i11.CdkDropList, i11.CdkDrag, i11.CdkDragPreview, i11.CdkDragPlaceholder, i12.MatRipple, i13.MatTable, i13.MatHeaderCellDef, i13.MatHeaderRowDef, i13.MatColumnDef, i13.MatCellDef, i13.MatRowDef, i13.MatHeaderCell, i13.MatCell, i13.MatHeaderRow, i13.MatRow, i14.MatSort, i14.MatSortHeader, i15.MatPaginator, i16.MatProgressBar, i17.MatDivider, i18.MatButton, i19.MatCheckbox, i20.MatIcon, i21.MatMenu, i21.MatMenuItem, i21.MatMenuTrigger, i21.MatMenuContent, i22.StateDirective, i23.IdentityName, i24.NoneComponent, i25.ExpandedItemComponent, i26.TooltipDirective, i9.DecimalPipe, i9.CurrencyPipe, i27.CalendarPipe, i28.TimeAgoPipe, i29.TranslatePipe], styles: ["#browse-table[_ngcontent-%COMP%]{width:100%}#browse-table[_ngcontent-%COMP%] .detail-row[_ngcontent-%COMP%]{min-height:0}#browse-table[_ngcontent-%COMP%] .element-row[_ngcontent-%COMP%]{cursor:pointer}#browse-table[_ngcontent-%COMP%] .element-row[_ngcontent-%COMP%] .drag[_ngcontent-%COMP%]{cursor:move}#browse-table[_ngcontent-%COMP%] .read-row[_ngcontent-%COMP%]{font-weight:100}@media screen and (min-width: 600px){.mat-row[_ngcontent-%COMP%] .tool[_ngcontent-%COMP%]{opacity:.05}.mat-row[_ngcontent-%COMP%]:hover .tool[_ngcontent-%COMP%]{opacity:1}} .mat-column-options{justify-content:end;padding-inline-end:8px} .mat-column-value{justify-content:right} .mat-column-select{white-space:nowrap} .mat-column-number{white-space:nowrap}"], data: { animation: [
|
1030
|
+
listAnimation,
|
1031
|
+
itemAnimation,
|
1032
|
+
expandListItemAnimation,
|
1033
|
+
listItemUpdatedAnimation
|
1034
|
+
] } });
|
1035
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BrowseItemsComponent, [{
|
1036
|
+
type: Component,
|
1037
|
+
args: [{ selector: 'bizdoc-browse-items', animations: [
|
1038
|
+
listAnimation,
|
1039
|
+
itemAnimation,
|
1040
|
+
expandListItemAnimation,
|
1041
|
+
listItemUpdatedAnimation
|
1042
|
+
], host: {
|
1043
|
+
class: 'bizdoc-browse-items'
|
1044
|
+
}, template: "<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-none *ngIf=\"dataSource?.data.length === 0\" title=\"NoMessages\" [subtitle]=\"!isMobile && folderId === DRAFT ? 'AltN' : null\" icon=\"mail_outline\"></bizdoc-none>\r\n<mat-table cdkDropList class=\"data-table\"\r\n [cdkDropListDisabled]=\"isMobile\"\r\n [cdkDropListData]=\"dataSource?.data\"\r\n cdkDropListConnectedTo=\"folders\"\r\n cdkDropListSortingDisabled\r\n [dataSource]=\"dataSource\" matSort multiTemplateDataRows (matSortChange)=\"sortData()\"\r\n id=\"browse-table\" [@list]=\"dataSource\" [style.display]=\"dataSource?.data.length ?'':'none'\">\r\n <ng-container matColumnDef=\"select\">\r\n <mat-header-cell *matHeaderCellDef>\r\n <div class=\"\"></div>\r\n <mat-checkbox (change)=\"$event ? masterToggle() : null\" [aria-label]=\"'Check'|translate\"\r\n [checked]=\"selection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"selection.hasValue() && !isAllSelected()\">\r\n </mat-checkbox>\r\n </mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\">\r\n <mat-checkbox (click)=\"$event.stopPropagation()\" [aria-label]=\"'Check'|translate\"\r\n (change)=\"$event ? selection.toggle(item) : null\"\r\n [checked]=\"selection.isSelected(item)\">\r\n </mat-checkbox>\r\n <!-- drag -->\r\n <!--<button mat-icon-button cdkDragHandle\r\n (mousedown)=\"dragDisabled = false\"\r\n (mouseup)=\"dragDisabled = true\"\r\n (touchstart)=\"dragDisabled = false\"\r\n (touchend)=\"dragDisabled = true\"\r\n class=\"drag\" aria-disabled=\"true\" fxHide.xs>\r\n <mat-icon>drag_indicator</mat-icon>\r\n </button>-->\r\n <button mat-icon-button (click)=\"toggleExpanded(item, $event)\" [bizdocTooltip]=\"'Details' | translate\" [attr.aria-label]=\"'Details' | translate\" class=\"tool\"><mat-icon>{{item == expandedElement ? 'unfold_less' : 'unfold_more'}}</mat-icon></button>\r\n </mat-cell>\r\n </ng-container>\r\n <!-- Number column -->\r\n <ng-container matColumnDef=\"number\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Number' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.number}} </mat-cell>\r\n </ng-container>\r\n\r\n <!-- Subject column -->\r\n <ng-container matColumnDef=\"subject\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Subject' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.subject}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"owner\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Owner' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-identity-name *ngIf=\"item.ownerId\" [identity]=\"item.ownerId\" [by]=\"item.ownerById\"></bizdoc-identity-name>\r\n </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"sender\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Sender' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-identity-name *ngIf=\"item.senderId\" [identity]=\"item.senderId\" [by]=\"item.byId\"></bizdoc-identity-name>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"received\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Received' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.received | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"receivedAgo\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"received\">{{'Received' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.received | amCalendar\">{{item.received | amTimeAgo}}</mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"replied\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Replied' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.replied | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"issued\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Issued' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.issued | amCalendar}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"issuedAgo\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"issued\">{{'Issued' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\" [bizdocTooltip]=\"item.issued | amCalendar\"> {{item.issued | amTimeAgo}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"state\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header=\"stateId\">{{'Status' | translate }}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <bizdoc-status [stateId]=\"item.stateId\"></bizdoc-status>\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"customColumns\">\r\n <ng-container *ngFor=\"let c of customColumns\" [matColumnDef]=\"c.name\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header> {{c.title}} </mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\">\r\n <ng-container [ngSwitch]=\"c.type\">\r\n <span *ngSwitchCase=\"'Date'\">\r\n {{item.model[c.name] | amCalendar }}\r\n </span>\r\n <span *ngSwitchCase=\"'Decimal'\">\r\n {{item.model[c.name] | number }}\r\n </span>\r\n <span *ngSwitchCase=\"'Boolean'\">\r\n <mat-checkbox [checked]=\"item.model[c.name]\" [disabled]=\"true\"></mat-checkbox>\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{item.model[c.name]}}z\r\n </span>\r\n </ng-container>\r\n </mat-cell>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- Value column -->\r\n <ng-container matColumnDef=\"value\">\r\n <mat-header-cell *matHeaderCellDef mat-sort-header>{{'Amount' | translate}}</mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\" class=\"data-column\"> {{item.value | currency : item.currencyCode : 'symbol' : currencyFormat}} </mat-cell>\r\n </ng-container>\r\n\r\n <!-- options column -->\r\n <ng-container matColumnDef=\"options\">\r\n <mat-header-cell *matHeaderCellDef></mat-header-cell>\r\n <mat-cell *matCellDef=\"let item\">\r\n <button mat-icon-button (click)=\"flag(item, $event)\" [bizdocTooltip]=\"'Flagged'| translate\" [attr.aria-label]=\"'ToggleFlagged' | translate\" class=\"tool\"><mat-icon [class.document-flag]=\"item.flag\">{{item.flag ? 'star' : 'star_border'}}</mat-icon></button>\r\n <button mat-icon-button (click)=\"view(item, $event)\" [bizdocTooltip]=\"'View' | translate\" [attr.aria-label]=\"'View' | translate\" class=\"tool\" *ngIf=\"enableAnalysis\"><mat-icon>data_usage</mat-icon></button>\r\n <button mat-icon-button (click)=\"$event.stopPropagation()\" [matMenuTriggerFor]=\"menu\" fxHide.xs [matMenuTriggerData]=\"{item: item}\" [bizdocTooltip]=\"'Options' | translate\" [attr.aria-label]=\"'Options' | translate\" class=\"tool\"><mat-icon>more_vert</mat-icon></button>\r\n </mat-cell>\r\n </ng-container>\r\n <!-- Expanded Content Column -->\r\n <ng-container matColumnDef=\"expandedDetail\">\r\n <mat-cell *matCellDef=\"let item\" [attr.colspan]=\"displayedColumns.length\" [@updated]=\"item == updatedElement\"\r\n [class.read-row]=\"item.read\">\r\n <div [@detailExpand]=\"item == expandedElement ? 'expanded' : 'collapsed'\" style=\"width: 100%\">\r\n <bizdoc-expanded-item [model]=\"item\" *ngIf=\"item == expandedElement\"></bizdoc-expanded-item>\r\n </div>\r\n </mat-cell>\r\n </ng-container>\r\n <mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></mat-header-row>\r\n <mat-row @item [@updated]=\"item == updatedElement\"\r\n *matRowDef=\"let item; let dataIndex = dataIndex; columns: displayedColumns;\" class=\"element-row\"\r\n cdkDrag [cdkDragData]=\"item\"\r\n [cdkDragDisabled]=\"dragDisabled\"\r\n (cdkDragReleased)=\"dragDisabled = true\"\r\n [ngClass]=\"{'selecteded-row': selectedElement === item,\r\n 'expanded-row': expandedElement === item,\r\n 'odd-row': dataIndex % 2,\r\n 'read-row': item.read}\" matRipple\r\n (click)=\"open(item, $event)\">\r\n <div *cdkDragPreview>\r\n <button mat-icon-button aria-disabled=\"true\"><mat-icon>drag_indicator</mat-icon></button> <span>#{{item.number}}</span>\r\n </div>\r\n <div *cdkDragPlaceholder>\r\n <!-- none -->\r\n </div>\r\n </mat-row>\r\n <mat-row *matRowDef=\"let item; ; let dataIndex = dataIndex; columns: ['expandedDetail']\"\r\n class=\"detail-row\" matRipple\r\n [ngClass]=\"{ 'selecteded-row': selectedElement === item,\r\n 'odd-row': dataIndex % 2\r\n }\"></mat-row>\r\n</mat-table>\r\n<mat-paginator #paginator [hidePageSize]=\"true\" [pageSize]=\"PAGE_SIZE\" [style.display]=\"!isMobile && dataSource?.data.length>PAGE_SIZE ? '':'none'\"></mat-paginator>\r\n<mat-menu #menu=\"matMenu\">\r\n <ng-template matMenuContent let-item=\"item\">\r\n <button mat-menu-item (click)=\"open(item, $event)\">{{'Open'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"toggleRead(item)\">{{(item.read ?'MarkAsUnread':'MarkAsRead')|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"copy(item)\">{{'Copy'| translate}}</button>\r\n </ng-template>\r\n</mat-menu>\r\n", styles: ["#browse-table{width:100%}#browse-table .detail-row{min-height:0}#browse-table .element-row{cursor:pointer}#browse-table .element-row .drag{cursor:move}#browse-table .read-row{font-weight:100}@media screen and (min-width: 600px){.mat-row .tool{opacity:.05}.mat-row:hover .tool{opacity:1}}::ng-deep .mat-column-options{justify-content:end;padding-inline-end:8px}::ng-deep .mat-column-value{justify-content:right}::ng-deep .mat-column-select{white-space:nowrap}::ng-deep .mat-column-number{white-space:nowrap}\n"] }]
|
1045
|
+
}], function () { return [{ type: i1.MailboxService }, { type: i2.AccountService }, { type: i3.CubeService }, { type: i4.SessionService }, { type: i5.PromptService }, { type: i6.TranslateService }, { type: i0.ChangeDetectorRef }, { type: i7.RouterImpl }, { type: i8.HubService }, { type: undefined, decorators: [{
|
1046
|
+
type: Inject,
|
1047
|
+
args: [BIZDOC_CONFIG]
|
1048
|
+
}] }]; }, { onopen: [{
|
1049
|
+
type: Output,
|
1050
|
+
args: ['open']
|
1051
|
+
}], onview: [{
|
1052
|
+
type: Output,
|
1053
|
+
args: ['view']
|
1054
|
+
}], folderId: [{
|
1055
|
+
type: Input
|
1056
|
+
}], filterType: [{
|
1057
|
+
type: Input
|
1058
|
+
}], filters: [{
|
1059
|
+
type: Input
|
1060
|
+
}], sort: [{
|
1061
|
+
type: ViewChild,
|
1062
|
+
args: [MatSort, { static: true }]
|
1063
|
+
}], paginator: [{
|
1064
|
+
type: ViewChild,
|
1065
|
+
args: [MatPaginator, { static: true }]
|
1066
|
+
}] }); })();
|
478
1067
|
function assign(model1, model2) {
|
479
1068
|
Object.assign(model1, model2);
|
480
1069
|
}
|
481
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3NlLWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYnJvd3NlL2Jyb3dzZS1pdGVtcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2Jyb3dzZS9icm93c2UtaXRlbXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBK0MsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUosT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0QsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBYyxRQUFRLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUE2RCxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRyxPQUFPLEVBQWMsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFTckgsT0FBTyxFQUFnQixhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVC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QztRQUNILElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ25FLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzNELElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDcEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0QsSUFBSSxJQUFJLElBQUssSUFBdUIsQ0FBQyxRQUFRO2dCQUMxQyxJQUE0QixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDakUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDM0QsSUFBSSxJQUFJLElBQUssSUFBdUIsQ0FBQyxRQUFRLEVBQUU7Z0JBQzdDLE1BQU0sT0FBTyxHQUFJLElBQTRCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN2RixPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUMxQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbEIsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsV0FBVyxDQUFDLENBQWdCO1FBQzFCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFDRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPO2dCQUMzQixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2pELENBQUM7SUFDRCwwQ0FBMEM7SUFDMUMsNENBQTRDO0lBQzVDLGdEQUFnRDtJQUNoRCxHQUFHO0lBQ0gsV0FBVyxDQUFDLEtBQVU7SUFDdEIsQ0FBQztJQUNELFVBQVUsQ0FBQyxJQUFvQjtRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDbkUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUNELE1BQU0sQ0FBQyxFQUFVO1FBQ2YsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsS0FBSyxFQUFFO2dCQUFFLE9BQU87WUFDbkUsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ3BFO0lBQ0gsQ0FBQztJQUNELEdBQUcsQ0FBQyxZQUFvQixFQUFFLEdBQVc7UUFDbkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUNwRSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFDdkcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDcEMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFBRSxPQUFPO1lBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtvQkFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7O29CQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUMxQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELElBQUksQ0FBQyxJQUF5QixFQUFFLEdBQVU7UUFDeEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsSUFBSSxDQUFDLElBQXlCLEVBQUUsR0FBVTtRQUN4QyxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQ2xDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUMvRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDM0IsQ0FBQztZQUNGLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQWdCLENBQUM7WUFDeEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNqQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQzNDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzdELENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FDTixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUNqQixDQUFDO0lBQ04sQ0FBQztJQUNPLE1BQU0sQ0FBQyxJQUFtQjtRQUNoQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztnQkFDdkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDOztnQkFDdkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQW1CLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUNELE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSTtJQUNmLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFDRCxhQUFhO1FBQ1gsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ25ELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM1QyxPQUFPLFdBQVcsS0FBSyxPQUFPLENBQUM7SUFDakMsQ0FBQztJQUNELFlBQVk7UUFDVixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFDRCxJQUFJLENBQUMsSUFBaUIsRUFBRSxHQUFVO1FBQ2hDLE1BQU0sS0FBSyxHQUFHLElBQWlCLENBQUM7UUFDaEMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JELElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxPQUFPO1FBQ1QsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFhO1FBQ3ZCLFlBQVksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFDRCxJQUFJLFNBQVM7UUFDWCxPQUFPLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFrQixJQUFJLE1BQU0sQ0FBQztJQUN0RSxDQUFDO0lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBb0I7UUFDaEMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELFNBQVM7UUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDO1lBQzlILFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FDNUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQzdCLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsVUFBVTtRQUNSLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUU7WUFDcEMsS0FBSyxFQUFFLE1BQU07WUFDYixFQUFFLEVBQUUsU0FBUztTQUNkLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDdkgsQ0FBQztJQUNELGNBQWMsQ0FBQyxJQUFpQixFQUFFLEtBQVk7UUFDNUMsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksRUFBRTtZQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2xDLG9DQUFvQztnQkFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDOUIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUM1Qjs7WUFFQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM5QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNEOzs7T0FHRztJQUNLLFNBQVMsQ0FBQyxJQUFpQjtRQUNqQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ2hDO1lBQ0YsSUFBa0IsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDbEYsUUFBUSxDQUFDLEdBQUcsRUFBRTtvQkFDWCxJQUFrQixDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUM3QixDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUNPLGNBQWM7UUFDcEIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ25ELElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUF3QixFQUFFLEVBQUU7Z0JBQ25HLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztvQkFDZixPQUFPO2dCQUNULE1BQU0sT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3JDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUNqQyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTzt3QkFDZixPQUFPO29CQUNULEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO3dCQUN2QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7NEJBQ3RDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3FCQUN4QjtpQkFDRjtnQkFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2pLLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztTQUNmOztZQUVDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLENBQUMsSUFBb0I7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNoRCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFO2dCQUNwRCxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFO2dCQUNsQixNQUFNLEVBQUUsVUFBVSxDQUFDLEtBQUs7YUFDekIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUMzQixTQUFTLFNBQVMsQ0FBQyxJQUFJO1lBQ3JCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDO1lBQ3BFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDO0lBQ0gsQ0FBQztJQUNEOzs7O0tBSUM7SUFDTyxRQUFRLENBQUMsRUFBMEMsRUFBRSxLQUFhO1FBQ3hFLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzlDLE1BQU0sTUFBTSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDckMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtRQUNwRCxDQUFDLEVBQUUsQ0FBQyxDQUFvQixFQUFFLEVBQUU7WUFDMUIsSUFBSSxPQUFlLENBQUM7WUFDcEIsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFO2dCQUNoQixLQUFLLEdBQUc7b0JBQ04sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNyQyxNQUFNO2dCQUNSLEtBQUssR0FBRztvQkFDTixPQUFPLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztvQkFDbEIsTUFBTTtnQkFDUixLQUFLLEdBQUc7b0JBQ04sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3RELE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNuQixNQUFNO2dCQUNSO29CQUNFLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN4QztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFFLENBQWUsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELE9BQU8sUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ3RDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBWSxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ08sSUFBSSxDQUFDLENBQXNCO1FBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRU8sT0FBTyxDQUFDLElBQWlCO1FBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sUUFBUTtRQUNkLE1BQU0sT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTztZQUNwQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQy9DLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ3JCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQ3pFLElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPO2dCQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7aUJBQzFDO2dCQUNILE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO29CQUNsQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2lCQUN6QjtnQkFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3ZCO1NBQ0Y7YUFDSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU87WUFDM0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDeEQ7WUFDSCxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNsQixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3pCO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUN2QjtRQUNELE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEIsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVPLGNBQWMsQ0FBQyxNQUFzQixFQUFFLE9BQWlCO1FBQzlELElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDakIsSUFBSSxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDMUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7O2dCQUVyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBYyxFQUFFLElBQVM7UUFDL0IsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDakcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsQ0FBQyxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVE7Z0JBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2xFLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDO1lBQ2pCLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNaLElBQUksQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDO2dCQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUM5RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7aUJBQ2xDO2dCQUNILE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ25FLElBQUksTUFBTSxDQUFDLE1BQU07b0JBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUM3RCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7O29CQUU5RSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7YUFDbkM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDTyxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsTUFBZ0I7UUFDckQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDeEUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BILENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O2lIQWphVSxvQkFBb0IseVJBc0NyQixhQUFhO3FHQXRDWixvQkFBb0IsK1FBT3BCLE9BQU8sMEZBQ1AsWUFBWSxtRkM5Q3pCLDYyVEEyS0EsNHpQRGhKYztRQUNWLGFBQWE7UUFDYixhQUFhO1FBQ2IsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtLQUN6QjsyRkFNVSxvQkFBb0I7a0JBZmhDLFNBQVM7K0JBQ0UscUJBQXFCLGNBR25CO3dCQUNWLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLHdCQUF3QjtxQkFDekIsUUFDSzt3QkFDSixLQUFLLEVBQUUscUJBQXFCO3FCQUM3Qjs7MEJBeUNFLE1BQU07MkJBQUMsYUFBYTs0Q0FyQ0UsTUFBTTtzQkFBOUIsTUFBTTt1QkFBQyxNQUFNO2dCQUNXLE1BQU07c0JBQTlCLE1BQU07dUJBQUMsTUFBTTtnQkFDTCxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUVnQyxJQUFJO3NCQUF6QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ08sU0FBUztzQkFBbkQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFOztBQTJaM0MsU0FBUyxNQUFNLENBQUMsTUFBbUIsRUFBRSxNQUFtQjtJQUN0RCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95LCBWaWV3Q2hpbGQsIENoYW5nZURldGVjdG9yUmVmLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE91dHB1dCwgSW5wdXQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBNYXRTb3J0LCBTb3J0RGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZm9ya0pvaW4sIG9mLCBTdWJqZWN0LCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsLCB0YXAsIHNoYXJlUmVwbGF5LCBmaW5hbGl6ZSwgbWFwLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRm9sZGVyLCBIZWFkZXJNb2RlbCwgUmVjaXBpZW50TW9kZWwsIEFjdGlvbiwgRm9sZGVyQ29sdW1uLCBEUkFGVCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgZGVlcEFzc2lnbiwgaXNNb2JpbGUsIHF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBleHBhbmRMaXN0SXRlbUFuaW1hdGlvbiwgaXRlbUFuaW1hdGlvbiwgbGlzdEFuaW1hdGlvbiwgbGlzdEl0ZW1VcGRhdGVkQW5pbWF0aW9uIH0gZnJvbSAnLi4vY29yZS9hbmltYXRpb25zJztcclxuaW1wb3J0IHsgRmlsdGVyVHlwZSwgSXRlbUV4dHJhLCBNYWlsYm94U2VydmljZSB9IGZyb20gJy4uL2NvcmUvbWFpbGJveC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4uL2NvcmUvaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdWJlU2VydmljZSB9IGZyb20gJy4uL2N1YmUvY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCcm93c2VGaWx0ZXJBcmdzIH0gZnJvbSAnLi9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJvdXRlckltcGwgfSBmcm9tICcuLi9jb3JlL3JvdXRlcic7XHJcbmltcG9ydCB7IEJpekRvY0NvbmZpZywgQklaRE9DX0NPTkZJRywgT3BlblBvbGljeSB9IGZyb20gJy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFRBS0UgPSAyMDAsIFNJWkUgPSAyMCwgSEVBREVSX0NPTFVNTl9OQU1FUyA9IFsnbnVtYmVyJywgJ3N1YmplY3QnLCAndmFsdWUnLCAnb3duZXInLCAnc2VuZGVyJywgJ3JlY2VpdmVkJywgJ3JlY2VpdmVkQWdvJywgJ3JlcGxpZWQnLCAnc3RhdGUnLCAnaXNzdWVkJywgJ2lzc3VlZEFnbyddO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1icm93c2UtaXRlbXMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9icm93c2UtaXRlbXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Jyb3dzZS1pdGVtcy5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIGxpc3RBbmltYXRpb24sXHJcbiAgICBpdGVtQW5pbWF0aW9uLFxyXG4gICAgZXhwYW5kTGlzdEl0ZW1BbmltYXRpb24sXHJcbiAgICBsaXN0SXRlbVVwZGF0ZWRBbmltYXRpb25cclxuICBdLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAnYml6ZG9jLWJyb3dzZS1pdGVtcydcclxuICB9XHJcbn0pXHJcbi8qKiBicm93c2UgaXRlbXMgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIEJyb3dzZUl0ZW1zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQE91dHB1dCgnb3BlbicpIHJlYWRvbmx5IG9ub3BlbiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjaXBpZW50TW9kZWw+KCk7XHJcbiAgQE91dHB1dCgndmlldycpIHJlYWRvbmx5IG9udmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8UmVjaXBpZW50TW9kZWw+KCk7XHJcbiAgQElucHV0KCkgZm9sZGVySWQ6IHN0cmluZyA9IG51bGw7XHJcbiAgQElucHV0KCkgZmlsdGVyVHlwZTogRmlsdGVyVHlwZSA9IG51bGw7XHJcbiAgQElucHV0KCkgZmlsdGVyczogQnJvd3NlRmlsdGVyQXJncztcclxuXHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KSBzb3J0OiBNYXRTb3J0O1xyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yLCB7IHN0YXRpYzogdHJ1ZSB9KSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuICBkYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8SGVhZGVyTW9kZWw+O1xyXG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdO1xyXG4gIGN1c3RvbUNvbHVtbnM/OiBGb2xkZXJDb2x1bW5bXTtcclxuICBleHBhbmRlZEVsZW1lbnQ/OiBIZWFkZXJNb2RlbDtcclxuICB1cGRhdGVkRWxlbWVudD86IEhlYWRlck1vZGVsO1xyXG4gIHNlbGVjdGVkRWxlbWVudD86IEhlYWRlck1vZGVsO1xyXG4gIHNoYXJlZEFjdGlvbnM6IEFjdGlvbltdID0gW107XHJcbiAgZHJhZ0Rpc2FibGVkID0gdHJ1ZTtcclxuICByZWFkb25seSBQQUdFX1NJWkUgPSBTSVpFO1xyXG4gIHJlYWRvbmx5IERSQUZUID0gRFJBRlQ7XHJcbiAgcmVhZG9ubHkgY3VycmVuY3lGb3JtYXQgPSB0aGlzLl9jdWJlLmRpZ2l0c0luZm87XHJcbiAgcmVhZG9ubHkgaXNNb2JpbGUgPSBpc01vYmlsZSgpO1xyXG4gIHJlYWRvbmx5IHNlbGVjdGlvbiA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxIZWFkZXJNb2RlbD4odHJ1ZSwgW10pO1xyXG4gIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfcGVuZGluZ0l0ZW1zOiB7IFtpZDogc3RyaW5nXTogT2JzZXJ2YWJsZTxSZWNpcGllbnRNb2RlbDxhbnk+PjsgfSA9IHt9O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvYWRpbmckID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBlbmFibGVBbmFseXNpczogYm9vbGVhbjtcclxuICAvKiogYnJvd3NlIGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX21haWxib3g6IE1haWxib3hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfYWNjb3VudHM6IEFjY291bnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY3ViZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgcHJpdmF0ZSBfbWVzc2FnaW5nOiBIdWJTZXJ2aWNlLFxyXG4gICAgQEluamVjdChCSVpET0NfQ09ORklHKSBwcml2YXRlIF9jb25maWc6IEJpekRvY0NvbmZpZykge1xyXG4gICAgdGhpcy5lbmFibGVBbmFseXNpcyA9IF9zZXNzaW9uLnByb2ZpbGUudmlld3MubGVuZ3RoID4gMDtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGlvbi5jaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fc2hhcmVkQWN0aW9ucygpKTtcclxuICAgIHRoaXMuX21haWxib3guY2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKG0gPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSlcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5maW5kKGMgPT4gYy5pZCA9PT0gbS5pZCk7XHJcbiAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgY29uc3QgZXh0cmEgPSBpdGVtIGFzIEl0ZW1FeHRyYTtcclxuICAgICAgICBpZiAoIWV4dHJhLndvcmtpbmcpIHtcclxuICAgICAgICAgIGlmIChtLmZvbGRlcklkICYmIG0uZm9sZGVySWQgIT09IHRoaXMuZm9sZGVySWQpXHJcbiAgICAgICAgICAgIHRoaXMuX3JlbW92ZShpdGVtKTtcclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBhc3NpZ24oaXRlbSwgbSk7XHJcbiAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIG0ubW9kZWwgJiZcclxuICAgICAgICB0aGlzLl9hZGQobSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21haWxib3guZGVsZXRlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGlkID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmRhdGFTb3VyY2UpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5kYXRhU291cmNlLmRhdGEuZmluZChjID0+IGMuaWQgPT09IGlkKTtcclxuICAgICAgaXRlbSAmJlxyXG4gICAgICAgIHRoaXMuX3JlbW92ZShpdGVtKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLm5ldyQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShtID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmRhdGFTb3VyY2UgfHwgbS51c2VySWQgIT09IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS51c2VySWQpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5kYXRhU291cmNlLmRhdGEuZmluZChjID0+IGMuaWQgPT09IG0ubW9kZWwuaWQpO1xyXG4gICAgICBpZiAoIWl0ZW0gJiYgdGhpcy5mb2xkZXJJZCA9PT0gbS5tb2RlbC5mb2xkZXJJZCkge1xyXG4gICAgICAgIHRoaXMuX3BlbmRpbmdJdGVtc1ttLm1vZGVsLmlkXSA9IG9mKG0ubW9kZWwgYXMgUmVjaXBpZW50TW9kZWwpO1xyXG4gICAgICAgIHRoaXMuX2FkZChtLm1vZGVsKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcudXBkYXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKG0gPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSlcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5maW5kKGMgPT4gYy5pZCA9PT0gbS5tb2RlbC5pZCk7XHJcbiAgICAgIGlmIChpdGVtKSB7XHJcbiAgICAgICAgaWYgKGl0ZW0uZm9sZGVySWQgPT09IG0ubW9kZWwuZm9sZGVySWQpIHtcclxuICAgICAgICAgIGFzc2lnbihpdGVtLCBtLm1vZGVsKTtcclxuICAgICAgICAgIHRoaXMuX3BlbmRpbmdJdGVtc1ttLm1vZGVsLmlkXSA9IG9mKGl0ZW0gYXMgUmVjaXBpZW50TW9kZWwpO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVkRWxlbWVudCA9IGl0ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuX3JlbW92ZShpdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcuZGVsZXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKG0gPT4ge1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5kYXRhU291cmNlLmRhdGEuZmluZChjID0+IGMuaWQgPT09IG0uaWQpO1xyXG4gICAgICBpdGVtICYmIHRoaXMuX3JlbW92ZShpdGVtKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLmNvbW1lbnQkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5maW5kKGkgPT4gaS5pZCA9PT0gYy5pZCk7XHJcbiAgICAgIGlmIChpdGVtICYmIChpdGVtIGFzIFJlY2lwaWVudE1vZGVsKS5jb21tZW50cylcclxuICAgICAgICAoaXRlbSBhcyBSZWNpcGllbnRNb2RlbDxhbnk+KS5jb21tZW50cy5wdXNoKGMubW9kZWwpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tZXNzYWdpbmcudm90ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmZpbmQoYyA9PiBjLmlkID09PSB2LmlkKTtcclxuICAgICAgaWYgKGl0ZW0gJiYgKGl0ZW0gYXMgUmVjaXBpZW50TW9kZWwpLmNvbW1lbnRzKSB7XHJcbiAgICAgICAgY29uc3QgY29tbWVudCA9IChpdGVtIGFzIFJlY2lwaWVudE1vZGVsPGFueT4pLmNvbW1lbnRzLmZpbmQoYyA9PiBjLmlkID09PSB2LmNvbW1lbnRJZCk7XHJcbiAgICAgICAgY29tbWVudC52b3RlcyA9IHYudm90ZXM7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fc2Vzc2lvbi5sb2FkZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLlxyXG4gICAgICBzdWJzY3JpYmUoKCkgPT4gdGhpcy5yZWZyZXNoKCkpO1xyXG4gICAgdGhpcy5fbG9hZGluZyQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSksXHJcbiAgICAgIGRlYm91bmNlVGltZSgxMDApKS5cclxuICAgICAgc3Vic2NyaWJlKGUgPT4gdGhpcy5sb2FkaW5nID0gZSk7XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKF86IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucyA9IHRoaXMuX2NvbHVtbnMoKTtcclxuICAgIHRoaXMucmVmcmVzaCgpO1xyXG4gIH1cclxuICBnZXQgZm9sZGVyKCk6IEZvbGRlciB7XHJcbiAgICByZXR1cm4gdGhpcy5mb2xkZXJJZCA/XHJcbiAgICAgIHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5mb2xkZXJzLlxyXG4gICAgICAgIGZpbmQoZiA9PiBmLm5hbWUgPT09IHRoaXMuZm9sZGVySWQpIDogbnVsbDtcclxuICB9XHJcbiAgLy9kcm9wKGV2dDogQ2RrRHJhZ0Ryb3A8c3RyaW5nLCBzdHJpbmc+KSB7XHJcbiAgLy8gIChldnQucHJldmlvdXNDb250YWluZXIuaWQgPT09ICd0YWdzJykgJiZcclxuICAvLyAgICB0aGlzLnRhZyhldnQuY3VycmVudEluZGV4LCBldnQuaXRlbS5kYXRhKTtcclxuICAvL31cclxuICBkcmFnU3RhcnRlZChldmVudDogYW55KSB7XHJcbiAgfVxyXG4gIHRvZ2dsZVJlYWQoaXRlbTogUmVjaXBpZW50TW9kZWwpIHtcclxuICAgIHRoaXMuX21haWxib3gucmVhZChpdGVtLmlkLCAhaXRlbS5yZWFkLCBpdGVtLmZvbGRlcklkLCBpdGVtLnJlY2VpdmVkKS5cclxuICAgICAgc3Vic2NyaWJlKCgpID0+IGl0ZW0ucmVhZCA9ICFpdGVtLnJlYWQpXHJcbiAgfVxyXG4gIHNlbGVjdChpZDogbnVtYmVyKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhU291cmNlKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkRWxlbWVudCAmJiB0aGlzLnNlbGVjdGVkRWxlbWVudC5pZCA9PT0gaWQpIHJldHVybjtcclxuICAgICAgdGhpcy5zZWxlY3RlZEVsZW1lbnQgPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5maW5kKGkgPT4gaS5pZCA9PT0gaWQpO1xyXG4gICAgfVxyXG4gIH1cclxuICB0YWcoY3VycmVudEluZGV4OiBudW1iZXIsIHRhZzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBkYXRhID0gdGhpcy5kYXRhU291cmNlLnNvcnREYXRhKHRoaXMuZGF0YVNvdXJjZS5kYXRhLCB0aGlzLnNvcnQpLFxyXG4gICAgICBtYWlsID0gZGF0YVt0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yLnBhZ2VJbmRleCAqIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IucGFnZVNpemUgKyBjdXJyZW50SW5kZXhdO1xyXG4gICAgdGhpcy5fcmV0cmlldmUobWFpbCkuc3Vic2NyaWJlKGl0ZW0gPT4ge1xyXG4gICAgICBpZiAoaXRlbS50YWdzICYmIGl0ZW0udGFncy5pbmRleE9mKHRhZykgPiAtMSkgcmV0dXJuO1xyXG4gICAgICB0aGlzLl9tYWlsYm94LnRhZ3MobWFpbC5pZCwgaXRlbS50YWdzKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGlmICghaXRlbS50YWdzKSBpdGVtLnRhZ3MgPSBbdGFnXTtcclxuICAgICAgICBlbHNlIGl0ZW0udGFncy5wdXNoKHRhZylcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgb3BlbihpdGVtOiBSZWNpcGllbnRNb2RlbDxhbnk+LCBldnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLl9yZXRyaWV2ZShpdGVtKS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgdGhpcy5vbm9wZW4ubmV4dChpdGVtKSwgKCkgPT4gdGhpcy5fc2IuZXJyb3IoKSk7XHJcbiAgfVxyXG4gIHZpZXcoaXRlbTogUmVjaXBpZW50TW9kZWw8YW55PiwgZXZ0OiBFdmVudCkge1xyXG4gICAgZXZ0LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5fcmV0cmlldmUoaXRlbSkuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgIHRoaXMub252aWV3Lm5leHQoaXRlbSksICgpID0+IHRoaXMuX3NiLmVycm9yKCkpO1xyXG4gIH1cclxuICByZWZyZXNoKCkge1xyXG4gICAgdGhpcy5fcGVuZGluZ0l0ZW1zID0ge307XHJcbiAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KHRydWUpO1xyXG4gICAgcmV0dXJuIHRoaXMuX21haWxib3guZmluZEFsbCh7IC4uLnRoaXMuZmlsdGVycywgZm9sZGVySWQ6IHRoaXMuZm9sZGVySWQsIHR5cGU6IHRoaXMuZmlsdGVyVHlwZSB9LCB7IHRha2U6IFRBS0UgfSkuXHJcbiAgICAgIHBpcGUoZmluYWxpemUoKCkgPT5cclxuICAgICAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KGZhbHNlKVxyXG4gICAgICApKS5cclxuICAgICAgc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShyKTtcclxuICAgICAgICB0aGlzLnNvcnQuYWN0aXZlID0gdGhpcy5zb3J0aW5nO1xyXG4gICAgICAgIHRoaXMuc29ydC5zdGFydCA9IHRoaXMuZGlyZWN0aW9uIGFzIGFueTtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0b3IucGFnZUluZGV4ID4gMCAmJiB0aGlzLnBhZ2luYXRvci5maXJzdFBhZ2UoKTtcclxuICAgICAgfSwgKCkgPT5cclxuICAgICAgICB0aGlzLl9zYi5lcnJvcigpXHJcbiAgICAgICk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2dyb3VwKGRhdGE6IEhlYWRlck1vZGVsW10pIHtcclxuICAgIGNvbnN0IGdyb3VwcyA9IHt9O1xyXG4gICAgZGF0YS5mb3JFYWNoKGkgPT4ge1xyXG4gICAgICBpZiAoIWdyb3Vwc1tpLmRvY3VtZW50SWRdKVxyXG4gICAgICAgIGdyb3Vwc1tpLmRvY3VtZW50SWRdID0gW2ldO1xyXG4gICAgICBlbHNlIChncm91cHNbaS5kb2N1bWVudElkXSBhcyBIZWFkZXJNb2RlbFtdKS5wdXNoKGkpO1xyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuICBpc0dyb3VwKF8sIGl0ZW0pIHtcclxuICB9XHJcbiAgc29ydERhdGEoKSB7XHJcbiAgICB0aGlzLnNvcnRpbmcgPSB0aGlzLnNvcnQuYWN0aXZlO1xyXG4gICAgdGhpcy5kaXJlY3Rpb24gPSB0aGlzLnNvcnQuZGlyZWN0aW9uO1xyXG4gIH1cclxuICBpc0FsbERyYWZ0KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLmxlbmd0aCAmJiB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5ldmVyeShtID0+IG0uZHJhZnQpO1xyXG4gIH1cclxuICBpc0FsbFNlbGVjdGVkKCkge1xyXG4gICAgY29uc3QgbnVtU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGg7XHJcbiAgICBjb25zdCBudW1Sb3dzID0gdGhpcy5kYXRhU291cmNlLmRhdGEubGVuZ3RoO1xyXG4gICAgcmV0dXJuIG51bVNlbGVjdGVkID09PSBudW1Sb3dzO1xyXG4gIH1cclxuICBtYXN0ZXJUb2dnbGUoKSB7XHJcbiAgICB0aGlzLmlzQWxsU2VsZWN0ZWQoKSA/XHJcbiAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCkgOlxyXG4gICAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3QoLi4udGhpcy5kYXRhU291cmNlLmRhdGEpO1xyXG4gIH1cclxuICBmbGFnKGl0ZW06IEhlYWRlck1vZGVsLCBldnQ6IEV2ZW50KSB7XHJcbiAgICBjb25zdCBleHRyYSA9IGl0ZW0gYXMgSXRlbUV4dHJhO1xyXG4gICAgZXh0cmEud29ya2luZyA9IHRydWU7XHJcbiAgICB0aGlzLl9tYWlsYm94LmZsYWcoaXRlbS5pZCwgIWl0ZW0uZmxhZykuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaXRlbS5mbGFnID0gIWl0ZW0uZmxhZztcclxuICAgICAgZXh0cmEud29ya2luZyA9IGZhbHNlO1xyXG4gICAgfSwgKCkgPT4gZXh0cmEud29ya2luZyA9IGZhbHNlKTtcclxuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcbiAgZ2V0IHNvcnRpbmcoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnc29ydGluZycpO1xyXG4gIH1cclxuICBzZXQgc29ydGluZyh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnc29ydGluZycsIHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IGRpcmVjdGlvbigpOiBTb3J0RGlyZWN0aW9uIHtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnZGlyZWN0aW9uJykgYXMgU29ydERpcmVjdGlvbiB8fCAnZGVzYyc7XHJcbiAgfVxyXG4gIHNldCBkaXJlY3Rpb24odmFsdWU6IFNvcnREaXJlY3Rpb24pIHtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdkaXJlY3Rpb24nLCB2YWx1ZSk7XHJcbiAgfVxyXG4gIHN1Ym1pdEFsbCgpIHtcclxuICAgIHRoaXMuX2ZvckVhY2goaSA9PiB0aGlzLl9tYWlsYm94LnN1Ym1pdChpLmlkLCBpLnZlcnNpb24sIGkuZm9ybUlkKS5waXBlKHRhcCgoKSA9PiB0aGlzLmRhdGFTb3VyY2UuZGF0YS5yZW1vdmUoaSkpKSwgJ1N1Ym1pdEVycicpLlxyXG4gICAgICBzdWJzY3JpYmUoaXMgPT4gaXMubGVuZ3RoID4gMSA/IHRoaXMuX3NiLnRvYXN0KFxyXG4gICAgICAgICdTdWJtaXR0ZWRNYW55JywgaXMubGVuZ3RoKSA6XHJcbiAgICAgICAgdGhpcy5fc2IudG9hc3QoJ1N1Ym1pdHRlZCcsIGlzWzBdLm51bWJlcikpO1xyXG4gIH1cclxuICBkaXNjYXJkQWxsKCkge1xyXG4gICAgdGhpcy5fc2IuYXNrKCdEaXNjYXJkQXNrJywgJ0Rpc2NhcmQnLCB7XHJcbiAgICAgIGNvbG9yOiAnd2FybicsXHJcbiAgICAgIG9rOiAnRGlzY2FyZCdcclxuICAgIH0pLnN1YnNjcmliZShvayA9PiBvayAmJlxyXG4gICAgICB0aGlzLl9mb3JFYWNoKGkgPT4gdGhpcy5fbWFpbGJveC5kZWxldGUoaS5pZCkucGlwZSh0YXAoKCkgPT4gdGhpcy5kYXRhU291cmNlLmRhdGEucmVtb3ZlKGkpKSksICdFcnInKS5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG4gIHRvZ2dsZUV4cGFuZGVkKGl0ZW06IEhlYWRlck1vZGVsLCBldmVudDogRXZlbnQpIHtcclxuICAgIGlmICh0aGlzLmV4cGFuZGVkRWxlbWVudCAhPSBpdGVtKSB7XHJcbiAgICAgIHRoaXMuX3JldHJpZXZlKGl0ZW0pLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgLy9wbGF5QXVkaW8oJ25hdmlnYXRpb25faG92ZXItdGFwJyk7XHJcbiAgICAgICAgdGhpcy5leHBhbmRlZEVsZW1lbnQgPSBpdGVtO1xyXG4gICAgICB9LCAoKSA9PiB0aGlzLl9zYi5lcnJvcigpKTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5leHBhbmRlZEVsZW1lbnQgPSBudWxsO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGdldCBmdWxsIG1lc2FnZSBib2R5IGVpdGhlciBmcm9tIGNhY2hlIG9yIG5ldHdvcmtcclxuICAgKiBAcGFyYW0gaXRlbVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3JldHJpZXZlKGl0ZW06IEhlYWRlck1vZGVsKTogT2JzZXJ2YWJsZTxSZWNpcGllbnRNb2RlbDxhbnk+PiB7XHJcbiAgICBpZiAodGhpcy5fcGVuZGluZ0l0ZW1zW2l0ZW0uaWRdKVxyXG4gICAgICByZXR1cm4gdGhpcy5fcGVuZGluZ0l0ZW1zW2l0ZW0uaWRdO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIChpdGVtIGFzIEl0ZW1FeHRyYSkubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuX2xvYWRpbmckLm5leHQodHJ1ZSk7XHJcbiAgICAgIHJldHVybiB0aGlzLl9wZW5kaW5nSXRlbXNbaXRlbS5pZF0gPVxyXG4gICAgICAgIHRoaXMuX21haWxib3guZ2V0KGl0ZW0uaWQsIGl0ZW0ucmVhZCkucGlwZShmaXJzdCgpLCBtYXAobSA9PiBPYmplY3QuYXNzaWduKGl0ZW0sIG0pKSxcclxuICAgICAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAgICAgKGl0ZW0gYXMgSXRlbUV4dHJhKS5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvYWRpbmckLm5leHQoZmFsc2UpO1xyXG4gICAgICAgICAgfSksIHNoYXJlUmVwbGF5KCkpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9zaGFyZWRBY3Rpb25zKCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgIXRoaXMuaXNBbGxEcmFmdCgpKSB7XHJcbiAgICAgIHRoaXMuc2hhcmVkQWN0aW9ucyA9IFtdO1xyXG4gICAgICBmb3JrSm9pbih0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5tYXAoaSA9PiB0aGlzLl9yZXRyaWV2ZShpKSkpLnN1YnNjcmliZSgobTogUmVjaXBpZW50TW9kZWw8YW55PltdKSA9PiB7XHJcbiAgICAgICAgaWYgKCFtWzBdLmFjdGlvbnMpXHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgY29uc3QgYWN0aW9ucyA9IG1bMF0uYWN0aW9ucy5zbGljZSgpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgbS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgbGV0IGl0ZW0gPSBtW2ldO1xyXG4gICAgICAgICAgaWYgKCFpdGVtLmFjdGlvbnMpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwgYWN0aW9ucy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICBpZiAoaXRlbS5hY3Rpb25zLmluZGV4T2YoYWN0aW9uc1tqXSkgPCAwKVxyXG4gICAgICAgICAgICAgIGFjdGlvbnMuc3BsaWNlKGosIDEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNoYXJlZEFjdGlvbnMgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucy5maWx0ZXIoYSA9PiBhY3Rpb25zLmluZGV4T2YoYS5uYW1lKSA+IC0xICYmICh0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGggPT09IDEgfHwgYS5tdWx0aXBsZSAhPT0gZmFsc2UpKTtcclxuICAgICAgfSwgdW5kZWZpbmVkKTtcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zaGFyZWRBY3Rpb25zID0gW107XHJcbiAgfVxyXG4gIGNvcHkoaXRlbTogUmVjaXBpZW50TW9kZWwpIHtcclxuICAgIHRoaXMuX21haWxib3guY29weShpdGVtLmRvY3VtZW50SWQpLnN1YnNjcmliZShpID0+IHtcclxuICAgICAgdGhpcy5fc2IudG9hc3QoJ0NvcGllZCcsIGkubnVtYmVyIHx8IGZvcm1UaXRsZShpdGVtLmZvcm1JZCkpO1xyXG4gICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2knLCBpLmlkLmVuY29kZUlkKCldLCB7XHJcbiAgICAgICAgc3RhdGU6IHsgaXRlbTogaSB9LFxyXG4gICAgICAgIHBvbGljeTogT3BlblBvbGljeS5DbGVhclxyXG4gICAgICB9KTtcclxuICAgIH0sICgpID0+IHRoaXMuX3NiLmVycm9yKCkpO1xyXG4gICAgZnVuY3Rpb24gZm9ybVRpdGxlKG5hbWUpIHtcclxuICAgICAgY29uc3QgZm9ybSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5mb3Jtcy5maW5kKGYgPT4gZi5uYW1lID09PSBuYW1lKTtcclxuICAgICAgcmV0dXJuIGZvcm0udGl0bGU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8qKlxyXG4gKiBleGVjdXRlIGZ1bmN0aW9uIHBlciBzZWxlY3RlZCBpdGVtXHJcbiAqIEBwYXJhbSBmblxyXG4gKiBAcGFyYW0gZXJyb3JcclxuICovXHJcbiAgcHJpdmF0ZSBfZm9yRWFjaChmbjogKGl0ZW06IEhlYWRlck1vZGVsKSA9PiBPYnNlcnZhYmxlPGFueT4sIGVycm9yOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFJlY2lwaWVudE1vZGVsW10+IHtcclxuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQuc2xpY2UoKTtcclxuICAgIGNvbnN0IGVycm9ycyA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICAgIGVycm9ycy5waXBlKCkuc3Vic2NyaWJlKG0gPT4gdGhpcy5fc2IuZXJyb3JTdHJpbmcobSkpO1xyXG4gICAgY29uc3QgcHJvbWlzZXMgPSBpdGVtcy5tYXAobSA9PiBmbihtKS5waXBlKHRhcCgoKSA9PiB7XHJcbiAgICB9LCAoZTogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgbGV0IG1lc3NhZ2U6IHN0cmluZztcclxuICAgICAgc3dpdGNoIChlLnN0YXR1cykge1xyXG4gICAgICAgIGNhc2UgNDA0OlxyXG4gICAgICAgICAgbWVzc2FnZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0VycicpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSA0MDY6XHJcbiAgICAgICAgICBtZXNzYWdlID0gZS5lcnJvcjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgNDA5OlxyXG4gICAgICAgICAgbWVzc2FnZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1ZlcnNpb25FcnInLCBtLm51bWJlcik7XHJcbiAgICAgICAgICBhc3NpZ24obSwgZS5lcnJvcik7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgbWVzc2FnZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoZXJyb3IpO1xyXG4gICAgICB9XHJcbiAgICAgIGVycm9ycy5uZXh0KG1lc3NhZ2UpO1xyXG4gICAgfSksIGZpbmFsaXplKCgpID0+IChtIGFzIEl0ZW1FeHRyYSkud29ya2luZyA9IGZhbHNlKSkpO1xyXG4gICAgcmV0dXJuIGZvcmtKb2luKHByb21pc2VzKS5waXBlKHRhcCgoKSA9PiB7XHJcbiAgICAgIGVycm9ycy51bnN1YnNjcmliZSgpO1xyXG4gICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xyXG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gJyc7XHJcbiAgICB9KSwgbWFwKCgpID0+IGl0ZW1zIGFzIGFueSkpO1xyXG4gIH1cclxuICBwcml2YXRlIF9hZGQobTogUmVjaXBpZW50TW9kZWw8YW55Pikge1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmRhdGEuc3BsaWNlKDAsIDAsIG0pO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9ICcnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcmVtb3ZlKGl0ZW06IEhlYWRlck1vZGVsKSB7XHJcbiAgICB0aGlzLnNlbGVjdGlvbi5kZXNlbGVjdChpdGVtKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLnJlbW92ZShpdGVtKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIgPSAnJztcclxuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY29sdW1ucygpOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCBjb2x1bW5zID0gWydzZWxlY3QnXTtcclxuICAgIGlmICh0aGlzLmZvbGRlciAmJiB0aGlzLmZvbGRlci5jb2x1bW5zKVxyXG4gICAgICB0aGlzLl9hcHBlbmRjb2x1bW5zKHRoaXMuZm9sZGVyLmNvbHVtbnMsIGNvbHVtbnMpO1xyXG4gICAgZWxzZSBpZiAoIXRoaXMuZm9sZGVyKSB7XHJcbiAgICAgIGNvbnN0IGZvbGRlciA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5mb2xkZXJzLmZpbmQoZiA9PiBmLm5hbWUgPT09ICdmYXYnKTtcclxuICAgICAgaWYgKGZvbGRlciAmJiBmb2xkZXIuY29sdW1ucylcclxuICAgICAgICB0aGlzLl9hcHBlbmRjb2x1bW5zKGZvbGRlci5jb2x1bW5zLCBjb2x1bW5zKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29sdW1ucy5wdXNoKCdudW1iZXInKTtcclxuICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHtcclxuICAgICAgICAgIGNvbHVtbnMucHVzaCgnc3ViamVjdCcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2x1bW5zLnB1c2goJ3ZhbHVlJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuX2NvbmZpZy5mb2xkZXJzICYmIHRoaXMuX2NvbmZpZy5mb2xkZXJzLmNvbHVtbnMpXHJcbiAgICAgIHRoaXMuX2FwcGVuZGNvbHVtbnModGhpcy5fY29uZmlnLmZvbGRlcnMuY29sdW1ucywgY29sdW1ucyk7XHJcbiAgICBlbHNlIHtcclxuICAgICAgY29sdW1ucy5wdXNoKCdudW1iZXInKTtcclxuICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XHJcbiAgICAgICAgY29sdW1ucy5wdXNoKCdzdWJqZWN0Jyk7XHJcbiAgICAgIH1cclxuICAgICAgY29sdW1ucy5wdXNoKCd2YWx1ZScpO1xyXG4gICAgfVxyXG4gICAgY29sdW1ucy5wdXNoKCdvcHRpb25zJyk7XHJcbiAgICByZXR1cm4gY29sdW1ucztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2FwcGVuZGNvbHVtbnMoc291cmNlOiBGb2xkZXJDb2x1bW5bXSwgY29sdW1uczogc3RyaW5nW10pIHtcclxuICAgIHRoaXMuY3VzdG9tQ29sdW1ucyA9IFtdO1xyXG4gICAgc291cmNlLmZvckVhY2goYyA9PiB7XHJcbiAgICAgIGlmIChIRUFERVJfQ09MVU1OX05BTUVTLmluZGV4T2YoYy5uYW1lKSA+IC0xKVxyXG4gICAgICAgIGNvbHVtbnMucHVzaChjLm5hbWUpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5jdXN0b21Db2x1bW5zLnB1c2goYyk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNlbmRBbGwoYWN0aW9uOiBzdHJpbmcsIGFyZ3M6IGFueSkge1xyXG4gICAgY29uc3QgcGFyYW1zID0gcXVlcnlQYXJhbXMoYXJncyk7XHJcbiAgICB0aGlzLl9mb3JFYWNoKGkgPT5cclxuICAgICAgdGhpcy5fbWFpbGJveC5zZW5kKGkuaWQsIGkudmVyc2lvbiwgaS5mb3JtSWQsIG51bGwsIGFjdGlvbiwgcGFyYW1zLCBpLnJlYWQsIGkuZm9sZGVySWQsIGkucmVjZWl2ZWQpLlxyXG4gICAgICAgIHBpcGUodGFwKCgpID0+IHtcclxuICAgICAgICAgIGlmIChpLmZvbGRlcklkICE9PSB0aGlzLmZvbGRlcklkKSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5yZW1vdmUoaSlcclxuICAgICAgICB9KSksICdTZW5kRXJyJykuXHJcbiAgICAgIHN1YnNjcmliZShlID0+IHtcclxuICAgICAgICBpZiAoZS5sZW5ndGggPiAxKSB0aGlzLl9zYi50b2FzdCgnU2VudE1hbnknLCBlLmxlbmd0aC50b1N0cmluZygpLFxyXG4gICAgICAgICAgdGhpcy5fYWN0aW9uQWRqZWN0aXZlKGFjdGlvbiwgdHJ1ZSkpO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc3Qgb3JpZ2luID0gZVswXS5yZWNpcGllbnRzLmZpbHRlcihyID0+IHIub3JpZ2luSWQgPT09IGVbMF0uaWQpO1xyXG4gICAgICAgICAgaWYgKG9yaWdpbi5sZW5ndGgpXHJcbiAgICAgICAgICAgIHRoaXMuX2FjY291bnRzLmdldEFsbChvcmlnaW4ubWFwKHIgPT4gci51c2VySWQpKS5zdWJzY3JpYmUodSA9PlxyXG4gICAgICAgICAgICAgIHRoaXMuX3NiLnRvYXN0KCdTZW50VG8nLCBlWzBdLm51bWJlcixcclxuICAgICAgICAgICAgICAgIHRoaXMuX2FjdGlvbkFkamVjdGl2ZShhY3Rpb24pLCB0aGlzLl90cmFuc2xhdGUuam9pbih1Lm1hcCh1ID0+IHUubmFtZSkpKSk7XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHRoaXMuX3NiLnRvYXN0KCdTZW50JywgZVswXS5udW1iZXIsXHJcbiAgICAgICAgICAgICAgdGhpcy5fYWN0aW9uQWRqZWN0aXZlKGFjdGlvbikpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfYWN0aW9uQWRqZWN0aXZlKG5hbWU6IHN0cmluZywgcGx1cmFsPzogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgICBjb25zdCBhY3Rpb24gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucy5maW5kKGEgPT4gYS5uYW1lID09PSBuYW1lKTtcclxuICAgIHJldHVybiAoKHBsdXJhbCA/IChhY3Rpb24uYWRqZWN0aXZlUGx1cmFsIHx8IGFjdGlvbi5hZGplY3RpdmUpIDogYWN0aW9uLmFkamVjdGl2ZSkgfHwgYWN0aW9uLnRpdGxlKS50b0xvd2VyQ2FzZSgpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG5mdW5jdGlvbiBhc3NpZ24obW9kZWwxOiBIZWFkZXJNb2RlbCwgbW9kZWwyOiBIZWFkZXJNb2RlbCkge1xyXG4gIE9iamVjdC5hc3NpZ24obW9kZWwxLCBtb2RlbDIpO1xyXG59XHJcbiIsIjxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJxdWVyeVwiIFtzdHlsZS52aXNpYmlsaXR5XT1cImxvYWRpbmcgPyAndmlzaWJsZSc6J2hpZGRlbidcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbjxiaXpkb2Mtbm9uZSAqbmdJZj1cImRhdGFTb3VyY2U/LmRhdGEubGVuZ3RoID09PSAwXCIgdGl0bGU9XCJOb01lc3NhZ2VzXCIgW3N1YnRpdGxlXT1cIiFpc01vYmlsZSAmJiBmb2xkZXJJZCA9PT0gRFJBRlQgPyAnQWx0TicgOiBudWxsXCIgaWNvbj1cIm1haWxfb3V0bGluZVwiPjwvYml6ZG9jLW5vbmU+XHJcbjxtYXQtdGFibGUgY2RrRHJvcExpc3QgY2xhc3M9XCJkYXRhLXRhYmxlXCJcclxuICAgICAgICAgICBbY2RrRHJvcExpc3REaXNhYmxlZF09XCJpc01vYmlsZVwiXHJcbiAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGF0YV09XCJkYXRhU291cmNlPy5kYXRhXCJcclxuICAgICAgICAgICBjZGtEcm9wTGlzdENvbm5lY3RlZFRvPVwiZm9sZGVyc1wiXHJcbiAgICAgICAgICAgY2RrRHJvcExpc3RTb3J0aW5nRGlzYWJsZWRcclxuICAgICAgICAgICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCIgbWF0U29ydCBtdWx0aVRlbXBsYXRlRGF0YVJvd3MgKG1hdFNvcnRDaGFuZ2UpPVwic29ydERhdGEoKVwiXHJcbiAgICAgICAgICAgaWQ9XCJicm93c2UtdGFibGVcIiBbQGxpc3RdPVwiZGF0YVNvdXJjZVwiIFtzdHlsZS5kaXNwbGF5XT1cImRhdGFTb3VyY2U/LmRhdGEubGVuZ3RoID8nJzonbm9uZSdcIj5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInNlbGVjdFwiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cclxuICAgICAgPGRpdiBjbGFzcz1cIlwiPjwvZGl2PlxyXG4gICAgICA8bWF0LWNoZWNrYm94IChjaGFuZ2UpPVwiJGV2ZW50ID8gbWFzdGVyVG9nZ2xlKCkgOiBudWxsXCIgW2FyaWEtbGFiZWxdPVwiJ0NoZWNrJ3x0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmIGlzQWxsU2VsZWN0ZWQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2luZGV0ZXJtaW5hdGVdPVwic2VsZWN0aW9uLmhhc1ZhbHVlKCkgJiYgIWlzQWxsU2VsZWN0ZWQoKVwiPlxyXG4gICAgICA8L21hdC1jaGVja2JveD5cclxuICAgIDwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj5cclxuICAgICAgPG1hdC1jaGVja2JveCAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgW2FyaWEtbGFiZWxdPVwiJ0NoZWNrJ3x0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiJGV2ZW50ID8gc2VsZWN0aW9uLnRvZ2dsZShpdGVtKSA6IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cInNlbGVjdGlvbi5pc1NlbGVjdGVkKGl0ZW0pXCI+XHJcbiAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICA8IS0tIGRyYWcgLS0+XHJcbiAgICAgIDwhLS08YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjZGtEcmFnSGFuZGxlXHJcbiAgICAgICAgICAgICAgKG1vdXNlZG93bik9XCJkcmFnRGlzYWJsZWQgPSBmYWxzZVwiXHJcbiAgICAgICAgICAgICAgKG1vdXNldXApPVwiZHJhZ0Rpc2FibGVkID0gdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgKHRvdWNoc3RhcnQpPVwiZHJhZ0Rpc2FibGVkID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICh0b3VjaGVuZCk9XCJkcmFnRGlzYWJsZWQgPSB0cnVlXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImRyYWdcIiBhcmlhLWRpc2FibGVkPVwidHJ1ZVwiIGZ4SGlkZS54cz5cclxuICAgICAgICA8bWF0LWljb24+ZHJhZ19pbmRpY2F0b3I8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj4tLT5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInRvZ2dsZUV4cGFuZGVkKGl0ZW0sICRldmVudClcIiBbYml6ZG9jVG9vbHRpcF09XCInRGV0YWlscycgfCB0cmFuc2xhdGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidEZXRhaWxzJyB8IHRyYW5zbGF0ZVwiIGNsYXNzPVwidG9vbFwiPjxtYXQtaWNvbj57e2l0ZW0gPT0gZXhwYW5kZWRFbGVtZW50ID8gJ3VuZm9sZF9sZXNzJyA6ICd1bmZvbGRfbW9yZSd9fTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDwhLS0gTnVtYmVyIGNvbHVtbiAtLT5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm51bWJlclwiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snTnVtYmVyJyB8IHRyYW5zbGF0ZX19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIGNsYXNzPVwiZGF0YS1jb2x1bW5cIj4ge3tpdGVtLm51bWJlcn19IDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDwhLS0gU3ViamVjdCBjb2x1bW4gLS0+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzdWJqZWN0XCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydTdWJqZWN0JyB8IHRyYW5zbGF0ZX19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIGNsYXNzPVwiZGF0YS1jb2x1bW5cIj4ge3tpdGVtLnN1YmplY3R9fSA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm93bmVyXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydPd25lcicgfCB0cmFuc2xhdGV9fTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBjbGFzcz1cImRhdGEtY29sdW1uXCI+XHJcbiAgICAgIDxiaXpkb2MtaWRlbnRpdHktbmFtZSAqbmdJZj1cIml0ZW0ub3duZXJJZFwiIFtpZGVudGl0eV09XCJpdGVtLm93bmVySWRcIiBbYnldPVwiaXRlbS5vd25lckJ5SWRcIj48L2JpemRvYy1pZGVudGl0eS1uYW1lPlxyXG4gICAgPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInNlbmRlclwiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snU2VuZGVyJyB8IHRyYW5zbGF0ZX19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIGNsYXNzPVwiZGF0YS1jb2x1bW5cIj5cclxuICAgICAgPGJpemRvYy1pZGVudGl0eS1uYW1lICpuZ0lmPVwiaXRlbS5zZW5kZXJJZFwiIFtpZGVudGl0eV09XCJpdGVtLnNlbmRlcklkXCIgW2J5XT1cIml0ZW0uYnlJZFwiPjwvYml6ZG9jLWlkZW50aXR5LW5hbWU+XHJcbiAgICA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInJlY2VpdmVkXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydSZWNlaXZlZCcgfCB0cmFuc2xhdGV9fTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBjbGFzcz1cImRhdGEtY29sdW1uXCI+IHt7aXRlbS5yZWNlaXZlZCB8IGFtQ2FsZW5kYXJ9fSA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInJlY2VpdmVkQWdvXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj1cInJlY2VpdmVkXCI+e3snUmVjZWl2ZWQnIHwgdHJhbnNsYXRlfX08L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiIFtiaXpkb2NUb29sdGlwXT1cIml0ZW0ucmVjZWl2ZWQgfCBhbUNhbGVuZGFyXCI+e3tpdGVtLnJlY2VpdmVkIHwgYW1UaW1lQWdvfX08L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInJlcGxpZWRcIj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J1JlcGxpZWQnIHwgdHJhbnNsYXRlfX08L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiPiB7e2l0ZW0ucmVwbGllZCB8IGFtQ2FsZW5kYXJ9fSA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImlzc3VlZFwiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snSXNzdWVkJyB8IHRyYW5zbGF0ZX19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIGNsYXNzPVwiZGF0YS1jb2x1bW5cIj4ge3tpdGVtLmlzc3VlZCB8IGFtQ2FsZW5kYXJ9fSA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImlzc3VlZEFnb1wiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI9XCJpc3N1ZWRcIj57eydJc3N1ZWQnIHwgdHJhbnNsYXRlfX08L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiIFtiaXpkb2NUb29sdGlwXT1cIml0ZW0uaXNzdWVkIHwgYW1DYWxlbmRhclwiPiB7e2l0ZW0uaXNzdWVkIHwgYW1UaW1lQWdvfX0gPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzdGF0ZVwiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI9XCJzdGF0ZUlkXCI+e3snU3RhdHVzJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBjbGFzcz1cImRhdGEtY29sdW1uXCI+XHJcbiAgICAgIDxiaXpkb2Mtc3RhdHVzIFtzdGF0ZUlkXT1cIml0ZW0uc3RhdGVJZFwiPjwvYml6ZG9jLXN0YXR1cz5cclxuICAgIDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXN0b21Db2x1bW5zXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjIG9mIGN1c3RvbUNvbHVtbnNcIiBbbWF0Q29sdW1uRGVmXT1cImMubmFtZVwiPlxyXG4gICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj4ge3tjLnRpdGxlfX0gPC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImMudHlwZVwiPlxyXG4gICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidEYXRlJ1wiPlxyXG4gICAgICAgICAgICB7e2l0ZW0ubW9kZWxbYy5uYW1lXSB8IGFtQ2FsZW5kYXIgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInRGVjaW1hbCdcIj5cclxuICAgICAgICAgICAge3tpdGVtLm1vZGVsW2MubmFtZV0gfCBudW1iZXIgfX1cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInQm9vbGVhbidcIj5cclxuICAgICAgICAgICAgPG1hdC1jaGVja2JveCBbY2hlY2tlZF09XCJpdGVtLm1vZGVsW2MubmFtZV1cIiBbZGlzYWJsZWRdPVwidHJ1ZVwiPjwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgICAge3tpdGVtLm1vZGVsW2MubmFtZV19fXpcclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9tYXQtY2VsbD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8IS0tIFZhbHVlIGNvbHVtbiAtLT5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInZhbHVlXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydBbW91bnQnIHwgdHJhbnNsYXRlfX08L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiPiB7e2l0ZW0udmFsdWUgfCBjdXJyZW5jeSA6IGl0ZW0uY3VycmVuY3lDb2RlIDogJ3N5bWJvbCcgOiBjdXJyZW5jeUZvcm1hdH19IDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDwhLS0gb3B0aW9ucyBjb2x1bW4gLS0+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJvcHRpb25zXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPjwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImZsYWcoaXRlbSwgJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidGbGFnZ2VkJ3wgdHJhbnNsYXRlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInVG9nZ2xlRmxhZ2dlZCcgfCB0cmFuc2xhdGVcIiBjbGFzcz1cInRvb2xcIj48bWF0LWljb24gW2NsYXNzLmRvY3VtZW50LWZsYWddPVwiaXRlbS5mbGFnXCI+e3tpdGVtLmZsYWcgPyAnc3RhcicgOiAnc3Rhcl9ib3JkZXInfX08L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidmlldyhpdGVtLCAkZXZlbnQpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1ZpZXcnIHwgdHJhbnNsYXRlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInVmlldycgfCB0cmFuc2xhdGVcIiBjbGFzcz1cInRvb2xcIiAqbmdJZj1cImVuYWJsZUFuYWx5c2lzXCI+PG1hdC1pY29uPmRhdGFfdXNhZ2U8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBmeEhpZGUueHMgW21hdE1lbnVUcmlnZ2VyRGF0YV09XCJ7aXRlbTogaXRlbX1cIiBbYml6ZG9jVG9vbHRpcF09XCInT3B0aW9ucycgfCB0cmFuc2xhdGVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidPcHRpb25zJyB8IHRyYW5zbGF0ZVwiIGNsYXNzPVwidG9vbFwiPjxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8IS0tIEV4cGFuZGVkIENvbnRlbnQgQ29sdW1uIC0tPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZXhwYW5kZWREZXRhaWxcIj5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgW2F0dHIuY29sc3Bhbl09XCJkaXNwbGF5ZWRDb2x1bW5zLmxlbmd0aFwiIFtAdXBkYXRlZF09XCJpdGVtID09IHVwZGF0ZWRFbGVtZW50XCJcclxuICAgICAgICAgICAgICBbY2xhc3MucmVhZC1yb3ddPVwiaXRlbS5yZWFkXCI+XHJcbiAgICAgIDxkaXYgW0BkZXRhaWxFeHBhbmRdPVwiaXRlbSA9PSBleHBhbmRlZEVsZW1lbnQgPyAnZXhwYW5kZWQnIDogJ2NvbGxhcHNlZCdcIiBzdHlsZT1cIndpZHRoOiAxMDAlXCI+XHJcbiAgICAgICAgPGJpemRvYy1leHBhbmRlZC1pdGVtIFttb2RlbF09XCJpdGVtXCIgKm5nSWY9XCJpdGVtID09IGV4cGFuZGVkRWxlbWVudFwiPjwvYml6ZG9jLWV4cGFuZGVkLWl0ZW0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnM7IHN0aWNreTogdHJ1ZVwiPjwvbWF0LWhlYWRlci1yb3c+XHJcbiAgPG1hdC1yb3cgQGl0ZW0gW0B1cGRhdGVkXT1cIml0ZW0gPT0gdXBkYXRlZEVsZW1lbnRcIlxyXG4gICAgICAgICAgICptYXRSb3dEZWY9XCJsZXQgaXRlbTsgbGV0IGRhdGFJbmRleCA9IGRhdGFJbmRleDsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIiBjbGFzcz1cImVsZW1lbnQtcm93XCJcclxuICAgICAgICAgICBjZGtEcmFnIFtjZGtEcmFnRGF0YV09XCJpdGVtXCJcclxuICAgICAgICAgICBbY2RrRHJhZ0Rpc2FibGVkXT1cImRyYWdEaXNhYmxlZFwiXHJcbiAgICAgICAgICAgKGNka0RyYWdSZWxlYXNlZCk9XCJkcmFnRGlzYWJsZWQgPSB0cnVlXCJcclxuICAgICAgICAgICBbbmdDbGFzc109XCJ7J3NlbGVjdGVkZWQtcm93Jzogc2VsZWN0ZWRFbGVtZW50ID09PSBpdGVtLFxyXG4gICAgICAnZXhwYW5kZWQtcm93JzogZXhwYW5kZWRFbGVtZW50ID09PSBpdGVtLFxyXG4gICAgICAgICAgICdvZGQtcm93JzogZGF0YUluZGV4ICUgMixcclxuICAgICAgJ3JlYWQtcm93JzogaXRlbS5yZWFkfVwiIG1hdFJpcHBsZVxyXG4gICAgICAgICAgIChjbGljayk9XCJvcGVuKGl0ZW0sICRldmVudClcIj5cclxuICAgIDxkaXYgKmNka0RyYWdQcmV2aWV3PlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBhcmlhLWRpc2FibGVkPVwidHJ1ZVwiPjxtYXQtaWNvbj5kcmFnX2luZGljYXRvcjwvbWF0LWljb24+PC9idXR0b24+IDxzcGFuPiN7e2l0ZW0ubnVtYmVyfX08L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKmNka0RyYWdQbGFjZWhvbGRlcj5cclxuICAgICAgPCEtLSBub25lIC0tPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYXQtcm93PlxyXG4gIDxtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgaXRlbTsgOyBsZXQgZGF0YUluZGV4ID0gZGF0YUluZGV4OyBjb2x1bW5zOiBbJ2V4cGFuZGVkRGV0YWlsJ11cIlxyXG4gICAgICAgICAgIGNsYXNzPVwiZGV0YWlsLXJvd1wiIG1hdFJpcHBsZVxyXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3NlbGVjdGVkZWQtcm93Jzogc2VsZWN0ZWRFbGVtZW50ID09PSBpdGVtLFxyXG4gICAgICAgICAgICdvZGQtcm93JzogZGF0YUluZGV4ICUgMlxyXG4gICAgICAgICAgIH1cIj48L21hdC1yb3c+XHJcbjwvbWF0LXRhYmxlPlxyXG48bWF0LXBhZ2luYXRvciAjcGFnaW5hdG9yIFtoaWRlUGFnZVNpemVdPVwidHJ1ZVwiIFtwYWdlU2l6ZV09XCJQQUdFX1NJWkVcIiBbc3R5bGUuZGlzcGxheV09XCIhaXNNb2JpbGUgJiYgZGF0YVNvdXJjZT8uZGF0YS5sZW5ndGg+UEFHRV9TSVpFID8gJyc6J25vbmUnXCI+PC9tYXQtcGFnaW5hdG9yPlxyXG48bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XHJcbiAgPG5nLXRlbXBsYXRlIG1hdE1lbnVDb250ZW50IGxldC1pdGVtPVwiaXRlbVwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJvcGVuKGl0ZW0sICRldmVudClcIj57eydPcGVuJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInRvZ2dsZVJlYWQoaXRlbSlcIj57eyhpdGVtLnJlYWQgPydNYXJrQXNVbnJlYWQnOidNYXJrQXNSZWFkJyl8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJjb3B5KGl0ZW0pXCI+e3snQ29weSd8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9tYXQtbWVudT5cclxuIl19
|
1070
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3NlLWl0ZW1zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYnJvd3NlL2Jyb3dzZS1pdGVtcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2Jyb3dzZS9icm93c2UtaXRlbXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQXFCLFNBQVMsRUFBK0MsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUosT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0QsT0FBTyxFQUFFLE9BQU8sRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBYyxRQUFRLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkYsT0FBTyxFQUE2RCxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRyxPQUFPLEVBQWMsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFTckgsT0FBTyxFQUFnQixhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVC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Q2IsdUJBQXVCO29CQUN2Qix3QkFBd0I7aUJBQ3pCLFFBQ0s7b0JBQ0osS0FBSyxFQUFFLHFCQUFxQjtpQkFDN0I7O3NCQXlDRSxNQUFNO3VCQUFDLGFBQWE7d0JBckNFLE1BQU07a0JBQTlCLE1BQU07bUJBQUMsTUFBTTtZQUNXLE1BQU07a0JBQTlCLE1BQU07bUJBQUMsTUFBTTtZQUNMLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBRWdDLElBQUk7a0JBQXpDLFNBQVM7bUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUNPLFNBQVM7a0JBQW5ELFNBQVM7bUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs7QUEyWjNDLFNBQVMsTUFBTSxDQUFDLE1BQW1CLEVBQUUsTUFBbUI7SUFDdEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBDaGFuZ2VEZXRlY3RvclJlZiwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBPdXRwdXQsIElucHV0LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgTWF0U29ydCwgU29ydERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NvcnQnO1xyXG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luLCBvZiwgU3ViamVjdCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgdGFwLCBzaGFyZVJlcGxheSwgZmluYWxpemUsIG1hcCwgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEZvbGRlciwgSGVhZGVyTW9kZWwsIFJlY2lwaWVudE1vZGVsLCBBY3Rpb24sIEZvbGRlckNvbHVtbiwgRFJBRlQgfSBmcm9tICcuLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IGRlZXBBc3NpZ24sIGlzTW9iaWxlLCBxdWVyeVBhcmFtcyB9IGZyb20gJy4uL2NvcmUvZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgZXhwYW5kTGlzdEl0ZW1BbmltYXRpb24sIGl0ZW1BbmltYXRpb24sIGxpc3RBbmltYXRpb24sIGxpc3RJdGVtVXBkYXRlZEFuaW1hdGlvbiB9IGZyb20gJy4uL2NvcmUvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IEZpbHRlclR5cGUsIEl0ZW1FeHRyYSwgTWFpbGJveFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tICcuLi9jdWJlL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQnJvd3NlRmlsdGVyQXJncyB9IGZyb20gJy4vZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBSb3V0ZXJJbXBsIH0gZnJvbSAnLi4vY29yZS9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcsIE9wZW5Qb2xpY3kgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjb25zdCBUQUtFID0gMjAwLCBTSVpFID0gMjAsIEhFQURFUl9DT0xVTU5fTkFNRVMgPSBbJ251bWJlcicsICdzdWJqZWN0JywgJ3ZhbHVlJywgJ293bmVyJywgJ3NlbmRlcicsICdyZWNlaXZlZCcsICdyZWNlaXZlZEFnbycsICdyZXBsaWVkJywgJ3N0YXRlJywgJ2lzc3VlZCcsICdpc3N1ZWRBZ28nXTtcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtYnJvd3NlLWl0ZW1zJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnJvd3NlLWl0ZW1zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9icm93c2UtaXRlbXMuY29tcG9uZW50LnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICBsaXN0QW5pbWF0aW9uLFxyXG4gICAgaXRlbUFuaW1hdGlvbixcclxuICAgIGV4cGFuZExpc3RJdGVtQW5pbWF0aW9uLFxyXG4gICAgbGlzdEl0ZW1VcGRhdGVkQW5pbWF0aW9uXHJcbiAgXSxcclxuICBob3N0OiB7XHJcbiAgICBjbGFzczogJ2JpemRvYy1icm93c2UtaXRlbXMnXHJcbiAgfVxyXG59KVxyXG4vKiogYnJvd3NlIGl0ZW1zIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBCcm93c2VJdGVtc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBPdXRwdXQoJ29wZW4nKSByZWFkb25seSBvbm9wZW4gPSBuZXcgRXZlbnRFbWl0dGVyPFJlY2lwaWVudE1vZGVsPigpO1xyXG4gIEBPdXRwdXQoJ3ZpZXcnKSByZWFkb25seSBvbnZpZXcgPSBuZXcgRXZlbnRFbWl0dGVyPFJlY2lwaWVudE1vZGVsPigpO1xyXG4gIEBJbnB1dCgpIGZvbGRlcklkOiBzdHJpbmcgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGZpbHRlclR5cGU6IEZpbHRlclR5cGUgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGZpbHRlcnM6IEJyb3dzZUZpbHRlckFyZ3M7XHJcblxyXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCwgeyBzdGF0aWM6IHRydWUgfSkgc29ydDogTWF0U29ydDtcclxuICBAVmlld0NoaWxkKE1hdFBhZ2luYXRvciwgeyBzdGF0aWM6IHRydWUgfSkgcGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XHJcbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPEhlYWRlck1vZGVsPjtcclxuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXTtcclxuICBjdXN0b21Db2x1bW5zPzogRm9sZGVyQ29sdW1uW107XHJcbiAgZXhwYW5kZWRFbGVtZW50PzogSGVhZGVyTW9kZWw7XHJcbiAgdXBkYXRlZEVsZW1lbnQ/OiBIZWFkZXJNb2RlbDtcclxuICBzZWxlY3RlZEVsZW1lbnQ/OiBIZWFkZXJNb2RlbDtcclxuICBzaGFyZWRBY3Rpb25zOiBBY3Rpb25bXSA9IFtdO1xyXG4gIGRyYWdEaXNhYmxlZCA9IHRydWU7XHJcbiAgcmVhZG9ubHkgUEFHRV9TSVpFID0gU0laRTtcclxuICByZWFkb25seSBEUkFGVCA9IERSQUZUO1xyXG4gIHJlYWRvbmx5IGN1cnJlbmN5Rm9ybWF0ID0gdGhpcy5fY3ViZS5kaWdpdHNJbmZvO1xyXG4gIHJlYWRvbmx5IGlzTW9iaWxlID0gaXNNb2JpbGUoKTtcclxuICByZWFkb25seSBzZWxlY3Rpb24gPSBuZXcgU2VsZWN0aW9uTW9kZWw8SGVhZGVyTW9kZWw+KHRydWUsIFtdKTtcclxuICBsb2FkaW5nOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX3BlbmRpbmdJdGVtczogeyBbaWQ6IHN0cmluZ106IE9ic2VydmFibGU8UmVjaXBpZW50TW9kZWw8YW55Pj47IH0gPSB7fTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9sb2FkaW5nJCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgZW5hYmxlQW5hbHlzaXM6IGJvb2xlYW47XHJcbiAgLyoqIGJyb3dzZSBjdG9yICovXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9tYWlsYm94OiBNYWlsYm94U2VydmljZSxcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX2N1YmU6IEN1YmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX3RyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVySW1wbCxcclxuICAgIHByaXZhdGUgX21lc3NhZ2luZzogSHViU2VydmljZSxcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBCaXpEb2NDb25maWcpIHtcclxuICAgIHRoaXMuZW5hYmxlQW5hbHlzaXMgPSBfc2Vzc2lvbi5wcm9maWxlLnZpZXdzLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3Rpb24uY2hhbmdlZC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3NoYXJlZEFjdGlvbnMoKSk7XHJcbiAgICB0aGlzLl9tYWlsYm94LmNoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShtID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmRhdGFTb3VyY2UpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5kYXRhU291cmNlLmRhdGEuZmluZChjID0+IGMuaWQgPT09IG0uaWQpO1xyXG4gICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgIGNvbnN0IGV4dHJhID0gaXRlbSBhcyBJdGVtRXh0cmE7XHJcbiAgICAgICAgaWYgKCFleHRyYS53b3JraW5nKSB7XHJcbiAgICAgICAgICBpZiAobS5mb2xkZXJJZCAmJiBtLmZvbGRlcklkICE9PSB0aGlzLmZvbGRlcklkKVxyXG4gICAgICAgICAgICB0aGlzLl9yZW1vdmUoaXRlbSk7XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgYXNzaWduKGl0ZW0sIG0pO1xyXG4gICAgICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBtLm1vZGVsICYmXHJcbiAgICAgICAgdGhpcy5fYWRkKG0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9tYWlsYm94LmRlbGV0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShpZCA9PiB7XHJcbiAgICAgIGlmICghdGhpcy5kYXRhU291cmNlKVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmZpbmQoYyA9PiBjLmlkID09PSBpZCk7XHJcbiAgICAgIGl0ZW0gJiZcclxuICAgICAgICB0aGlzLl9yZW1vdmUoaXRlbSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5uZXckLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUobSA9PiB7XHJcbiAgICAgIGlmICghdGhpcy5kYXRhU291cmNlIHx8IG0udXNlcklkICE9PSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUudXNlcklkKVxyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmZpbmQoYyA9PiBjLmlkID09PSBtLm1vZGVsLmlkKTtcclxuICAgICAgaWYgKCFpdGVtICYmIHRoaXMuZm9sZGVySWQgPT09IG0ubW9kZWwuZm9sZGVySWQpIHtcclxuICAgICAgICB0aGlzLl9wZW5kaW5nSXRlbXNbbS5tb2RlbC5pZF0gPSBvZihtLm1vZGVsIGFzIFJlY2lwaWVudE1vZGVsKTtcclxuICAgICAgICB0aGlzLl9hZGQobS5tb2RlbCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLnVwZGF0ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShtID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmRhdGFTb3VyY2UpXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5kYXRhU291cmNlLmRhdGEuZmluZChjID0+IGMuaWQgPT09IG0ubW9kZWwuaWQpO1xyXG4gICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgIGlmIChpdGVtLmZvbGRlcklkID09PSBtLm1vZGVsLmZvbGRlcklkKSB7XHJcbiAgICAgICAgICBhc3NpZ24oaXRlbSwgbS5tb2RlbCk7XHJcbiAgICAgICAgICB0aGlzLl9wZW5kaW5nSXRlbXNbbS5tb2RlbC5pZF0gPSBvZihpdGVtIGFzIFJlY2lwaWVudE1vZGVsKTtcclxuICAgICAgICAgIHRoaXMudXBkYXRlZEVsZW1lbnQgPSBpdGVtO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICB0aGlzLl9yZW1vdmUoaXRlbSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLmRlbGV0ZSQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZShtID0+IHtcclxuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmZpbmQoYyA9PiBjLmlkID09PSBtLmlkKTtcclxuICAgICAgaXRlbSAmJiB0aGlzLl9yZW1vdmUoaXRlbSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX21lc3NhZ2luZy5jb21tZW50JC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGMgPT4ge1xyXG4gICAgICBjb25zdCBpdGVtID0gdGhpcy5kYXRhU291cmNlLmRhdGEuZmluZChpID0+IGkuaWQgPT09IGMuaWQpO1xyXG4gICAgICBpZiAoaXRlbSAmJiAoaXRlbSBhcyBSZWNpcGllbnRNb2RlbCkuY29tbWVudHMpXHJcbiAgICAgICAgKGl0ZW0gYXMgUmVjaXBpZW50TW9kZWw8YW55PikuY29tbWVudHMucHVzaChjLm1vZGVsKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fbWVzc2FnaW5nLnZvdGUkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUodiA9PiB7XHJcbiAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmRhdGFTb3VyY2UuZGF0YS5maW5kKGMgPT4gYy5pZCA9PT0gdi5pZCk7XHJcbiAgICAgIGlmIChpdGVtICYmIChpdGVtIGFzIFJlY2lwaWVudE1vZGVsKS5jb21tZW50cykge1xyXG4gICAgICAgIGNvbnN0IGNvbW1lbnQgPSAoaXRlbSBhcyBSZWNpcGllbnRNb2RlbDxhbnk+KS5jb21tZW50cy5maW5kKGMgPT4gYy5pZCA9PT0gdi5jb21tZW50SWQpO1xyXG4gICAgICAgIGNvbW1lbnQudm90ZXMgPSB2LnZvdGVzO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX3Nlc3Npb24ubG9hZGVkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKCgpID0+IHRoaXMucmVmcmVzaCgpKTtcclxuICAgIHRoaXMuX2xvYWRpbmckLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLFxyXG4gICAgICBkZWJvdW5jZVRpbWUoMTAwKSkuXHJcbiAgICAgIHN1YnNjcmliZShlID0+IHRoaXMubG9hZGluZyA9IGUpO1xyXG4gIH1cclxuICBuZ09uQ2hhbmdlcyhfOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMgPSB0aGlzLl9jb2x1bW5zKCk7XHJcbiAgICB0aGlzLnJlZnJlc2goKTtcclxuICB9XHJcbiAgZ2V0IGZvbGRlcigpOiBGb2xkZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9sZGVySWQgP1xyXG4gICAgICB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9sZGVycy5cclxuICAgICAgICBmaW5kKGYgPT4gZi5uYW1lID09PSB0aGlzLmZvbGRlcklkKSA6IG51bGw7XHJcbiAgfVxyXG4gIC8vZHJvcChldnQ6IENka0RyYWdEcm9wPHN0cmluZywgc3RyaW5nPikge1xyXG4gIC8vICAoZXZ0LnByZXZpb3VzQ29udGFpbmVyLmlkID09PSAndGFncycpICYmXHJcbiAgLy8gICAgdGhpcy50YWcoZXZ0LmN1cnJlbnRJbmRleCwgZXZ0Lml0ZW0uZGF0YSk7XHJcbiAgLy99XHJcbiAgZHJhZ1N0YXJ0ZWQoZXZlbnQ6IGFueSkge1xyXG4gIH1cclxuICB0b2dnbGVSZWFkKGl0ZW06IFJlY2lwaWVudE1vZGVsKSB7XHJcbiAgICB0aGlzLl9tYWlsYm94LnJlYWQoaXRlbS5pZCwgIWl0ZW0ucmVhZCwgaXRlbS5mb2xkZXJJZCwgaXRlbS5yZWNlaXZlZCkuXHJcbiAgICAgIHN1YnNjcmliZSgoKSA9PiBpdGVtLnJlYWQgPSAhaXRlbS5yZWFkKVxyXG4gIH1cclxuICBzZWxlY3QoaWQ6IG51bWJlcikge1xyXG4gICAgaWYgKHRoaXMuZGF0YVNvdXJjZSkge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZEVsZW1lbnQgJiYgdGhpcy5zZWxlY3RlZEVsZW1lbnQuaWQgPT09IGlkKSByZXR1cm47XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRFbGVtZW50ID0gdGhpcy5kYXRhU291cmNlLmRhdGEuZmluZChpID0+IGkuaWQgPT09IGlkKTtcclxuICAgIH1cclxuICB9XHJcbiAgdGFnKGN1cnJlbnRJbmRleDogbnVtYmVyLCB0YWc6IHN0cmluZykge1xyXG4gICAgY29uc3QgZGF0YSA9IHRoaXMuZGF0YVNvdXJjZS5zb3J0RGF0YSh0aGlzLmRhdGFTb3VyY2UuZGF0YSwgdGhpcy5zb3J0KSxcclxuICAgICAgbWFpbCA9IGRhdGFbdGhpcy5kYXRhU291cmNlLnBhZ2luYXRvci5wYWdlSW5kZXggKiB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yLnBhZ2VTaXplICsgY3VycmVudEluZGV4XTtcclxuICAgIHRoaXMuX3JldHJpZXZlKG1haWwpLnN1YnNjcmliZShpdGVtID0+IHtcclxuICAgICAgaWYgKGl0ZW0udGFncyAmJiBpdGVtLnRhZ3MuaW5kZXhPZih0YWcpID4gLTEpIHJldHVybjtcclxuICAgICAgdGhpcy5fbWFpbGJveC50YWdzKG1haWwuaWQsIGl0ZW0udGFncykuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAoIWl0ZW0udGFncykgaXRlbS50YWdzID0gW3RhZ107XHJcbiAgICAgICAgZWxzZSBpdGVtLnRhZ3MucHVzaCh0YWcpXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG9wZW4oaXRlbTogUmVjaXBpZW50TW9kZWw8YW55PiwgZXZ0OiBFdmVudCkge1xyXG4gICAgdGhpcy5fcmV0cmlldmUoaXRlbSkuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgIHRoaXMub25vcGVuLm5leHQoaXRlbSksICgpID0+IHRoaXMuX3NiLmVycm9yKCkpO1xyXG4gIH1cclxuICB2aWV3KGl0ZW06IFJlY2lwaWVudE1vZGVsPGFueT4sIGV2dDogRXZlbnQpIHtcclxuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMuX3JldHJpZXZlKGl0ZW0pLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgICB0aGlzLm9udmlldy5uZXh0KGl0ZW0pLCAoKSA9PiB0aGlzLl9zYi5lcnJvcigpKTtcclxuICB9XHJcbiAgcmVmcmVzaCgpIHtcclxuICAgIHRoaXMuX3BlbmRpbmdJdGVtcyA9IHt9O1xyXG4gICAgdGhpcy5fbG9hZGluZyQubmV4dCh0cnVlKTtcclxuICAgIHJldHVybiB0aGlzLl9tYWlsYm94LmZpbmRBbGwoeyAuLi50aGlzLmZpbHRlcnMsIGZvbGRlcklkOiB0aGlzLmZvbGRlcklkLCB0eXBlOiB0aGlzLmZpbHRlclR5cGUgfSwgeyB0YWtlOiBUQUtFIH0pLlxyXG4gICAgICBwaXBlKGZpbmFsaXplKCgpID0+XHJcbiAgICAgICAgdGhpcy5fbG9hZGluZyQubmV4dChmYWxzZSlcclxuICAgICAgKSkuXHJcbiAgICAgIHN1YnNjcmliZShyID0+IHtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2Uocik7XHJcbiAgICAgICAgdGhpcy5zb3J0LmFjdGl2ZSA9IHRoaXMuc29ydGluZztcclxuICAgICAgICB0aGlzLnNvcnQuc3RhcnQgPSB0aGlzLmRpcmVjdGlvbiBhcyBhbnk7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLnBhZ2luYXRvciA9IHRoaXMucGFnaW5hdG9yO1xyXG4gICAgICAgIHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCA+IDAgJiYgdGhpcy5wYWdpbmF0b3IuZmlyc3RQYWdlKCk7XHJcbiAgICAgIH0sICgpID0+XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoKVxyXG4gICAgICApO1xyXG4gIH1cclxuICBwcml2YXRlIF9ncm91cChkYXRhOiBIZWFkZXJNb2RlbFtdKSB7XHJcbiAgICBjb25zdCBncm91cHMgPSB7fTtcclxuICAgIGRhdGEuZm9yRWFjaChpID0+IHtcclxuICAgICAgaWYgKCFncm91cHNbaS5kb2N1bWVudElkXSlcclxuICAgICAgICBncm91cHNbaS5kb2N1bWVudElkXSA9IFtpXTtcclxuICAgICAgZWxzZSAoZ3JvdXBzW2kuZG9jdW1lbnRJZF0gYXMgSGVhZGVyTW9kZWxbXSkucHVzaChpKTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcbiAgaXNHcm91cChfLCBpdGVtKSB7XHJcbiAgfVxyXG4gIHNvcnREYXRhKCkge1xyXG4gICAgdGhpcy5zb3J0aW5nID0gdGhpcy5zb3J0LmFjdGl2ZTtcclxuICAgIHRoaXMuZGlyZWN0aW9uID0gdGhpcy5zb3J0LmRpcmVjdGlvbjtcclxuICB9XHJcbiAgaXNBbGxEcmFmdCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZC5sZW5ndGggJiYgdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQuZXZlcnkobSA9PiBtLmRyYWZ0KTtcclxuICB9XHJcbiAgaXNBbGxTZWxlY3RlZCgpIHtcclxuICAgIGNvbnN0IG51bVNlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoO1xyXG4gICAgY29uc3QgbnVtUm93cyA9IHRoaXMuZGF0YVNvdXJjZS5kYXRhLmxlbmd0aDtcclxuICAgIHJldHVybiBudW1TZWxlY3RlZCA9PT0gbnVtUm93cztcclxuICB9XHJcbiAgbWFzdGVyVG9nZ2xlKCkge1xyXG4gICAgdGhpcy5pc0FsbFNlbGVjdGVkKCkgP1xyXG4gICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpIDpcclxuICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0KC4uLnRoaXMuZGF0YVNvdXJjZS5kYXRhKTtcclxuICB9XHJcbiAgZmxhZyhpdGVtOiBIZWFkZXJNb2RlbCwgZXZ0OiBFdmVudCkge1xyXG4gICAgY29uc3QgZXh0cmEgPSBpdGVtIGFzIEl0ZW1FeHRyYTtcclxuICAgIGV4dHJhLndvcmtpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5fbWFpbGJveC5mbGFnKGl0ZW0uaWQsICFpdGVtLmZsYWcpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIGl0ZW0uZmxhZyA9ICFpdGVtLmZsYWc7XHJcbiAgICAgIGV4dHJhLndvcmtpbmcgPSBmYWxzZTtcclxuICAgIH0sICgpID0+IGV4dHJhLndvcmtpbmcgPSBmYWxzZSk7XHJcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG4gIGdldCBzb3J0aW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3NvcnRpbmcnKTtcclxuICB9XHJcbiAgc2V0IHNvcnRpbmcodmFsdWU6IHN0cmluZykge1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3NvcnRpbmcnLCB2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBkaXJlY3Rpb24oKTogU29ydERpcmVjdGlvbiB7XHJcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2RpcmVjdGlvbicpIGFzIFNvcnREaXJlY3Rpb24gfHwgJ2Rlc2MnO1xyXG4gIH1cclxuICBzZXQgZGlyZWN0aW9uKHZhbHVlOiBTb3J0RGlyZWN0aW9uKSB7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnZGlyZWN0aW9uJywgdmFsdWUpO1xyXG4gIH1cclxuICBzdWJtaXRBbGwoKSB7XHJcbiAgICB0aGlzLl9mb3JFYWNoKGkgPT4gdGhpcy5fbWFpbGJveC5zdWJtaXQoaS5pZCwgaS52ZXJzaW9uLCBpLmZvcm1JZCkucGlwZSh0YXAoKCkgPT4gdGhpcy5kYXRhU291cmNlLmRhdGEucmVtb3ZlKGkpKSksICdTdWJtaXRFcnInKS5cclxuICAgICAgc3Vic2NyaWJlKGlzID0+IGlzLmxlbmd0aCA+IDEgPyB0aGlzLl9zYi50b2FzdChcclxuICAgICAgICAnU3VibWl0dGVkTWFueScsIGlzLmxlbmd0aCkgOlxyXG4gICAgICAgIHRoaXMuX3NiLnRvYXN0KCdTdWJtaXR0ZWQnLCBpc1swXS5udW1iZXIpKTtcclxuICB9XHJcbiAgZGlzY2FyZEFsbCgpIHtcclxuICAgIHRoaXMuX3NiLmFzaygnRGlzY2FyZEFzaycsICdEaXNjYXJkJywge1xyXG4gICAgICBjb2xvcjogJ3dhcm4nLFxyXG4gICAgICBvazogJ0Rpc2NhcmQnXHJcbiAgICB9KS5zdWJzY3JpYmUob2sgPT4gb2sgJiZcclxuICAgICAgdGhpcy5fZm9yRWFjaChpID0+IHRoaXMuX21haWxib3guZGVsZXRlKGkuaWQpLnBpcGUodGFwKCgpID0+IHRoaXMuZGF0YVNvdXJjZS5kYXRhLnJlbW92ZShpKSkpLCAnRXJyJykuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuICB0b2dnbGVFeHBhbmRlZChpdGVtOiBIZWFkZXJNb2RlbCwgZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5leHBhbmRlZEVsZW1lbnQgIT0gaXRlbSkge1xyXG4gICAgICB0aGlzLl9yZXRyaWV2ZShpdGVtKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIC8vcGxheUF1ZGlvKCduYXZpZ2F0aW9uX2hvdmVyLXRhcCcpO1xyXG4gICAgICAgIHRoaXMuZXhwYW5kZWRFbGVtZW50ID0gaXRlbTtcclxuICAgICAgfSwgKCkgPT4gdGhpcy5fc2IuZXJyb3IoKSk7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuZXhwYW5kZWRFbGVtZW50ID0gbnVsbDtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBnZXQgZnVsbCBtZXNhZ2UgYm9keSBlaXRoZXIgZnJvbSBjYWNoZSBvciBuZXR3b3JrXHJcbiAgICogQHBhcmFtIGl0ZW1cclxuICAgKi9cclxuICBwcml2YXRlIF9yZXRyaWV2ZShpdGVtOiBIZWFkZXJNb2RlbCk6IE9ic2VydmFibGU8UmVjaXBpZW50TW9kZWw8YW55Pj4ge1xyXG4gICAgaWYgKHRoaXMuX3BlbmRpbmdJdGVtc1tpdGVtLmlkXSlcclxuICAgICAgcmV0dXJuIHRoaXMuX3BlbmRpbmdJdGVtc1tpdGVtLmlkXTtcclxuICAgIGVsc2Uge1xyXG4gICAgICAoaXRlbSBhcyBJdGVtRXh0cmEpLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KHRydWUpO1xyXG4gICAgICByZXR1cm4gdGhpcy5fcGVuZGluZ0l0ZW1zW2l0ZW0uaWRdID1cclxuICAgICAgICB0aGlzLl9tYWlsYm94LmdldChpdGVtLmlkLCBpdGVtLnJlYWQpLnBpcGUoZmlyc3QoKSwgbWFwKG0gPT4gT2JqZWN0LmFzc2lnbihpdGVtLCBtKSksXHJcbiAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIChpdGVtIGFzIEl0ZW1FeHRyYSkubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgIH0pLCBzaGFyZVJlcGxheSgpKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHJpdmF0ZSBfc2hhcmVkQWN0aW9ucygpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmICF0aGlzLmlzQWxsRHJhZnQoKSkge1xyXG4gICAgICB0aGlzLnNoYXJlZEFjdGlvbnMgPSBbXTtcclxuICAgICAgZm9ya0pvaW4odGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubWFwKGkgPT4gdGhpcy5fcmV0cmlldmUoaSkpKS5zdWJzY3JpYmUoKG06IFJlY2lwaWVudE1vZGVsPGFueT5bXSkgPT4ge1xyXG4gICAgICAgIGlmICghbVswXS5hY3Rpb25zKVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIGNvbnN0IGFjdGlvbnMgPSBtWzBdLmFjdGlvbnMuc2xpY2UoKTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IG0ubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGxldCBpdGVtID0gbVtpXTtcclxuICAgICAgICAgIGlmICghaXRlbS5hY3Rpb25zKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGFjdGlvbnMubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0uYWN0aW9ucy5pbmRleE9mKGFjdGlvbnNbal0pIDwgMClcclxuICAgICAgICAgICAgICBhY3Rpb25zLnNwbGljZShqLCAxKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zaGFyZWRBY3Rpb25zID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuZmlsdGVyKGEgPT4gYWN0aW9ucy5pbmRleE9mKGEubmFtZSkgPiAtMSAmJiAodGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoID09PSAxIHx8IGEubXVsdGlwbGUgIT09IGZhbHNlKSk7XHJcbiAgICAgIH0sIHVuZGVmaW5lZCk7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuc2hhcmVkQWN0aW9ucyA9IFtdO1xyXG4gIH1cclxuICBjb3B5KGl0ZW06IFJlY2lwaWVudE1vZGVsKSB7XHJcbiAgICB0aGlzLl9tYWlsYm94LmNvcHkoaXRlbS5kb2N1bWVudElkKS5zdWJzY3JpYmUoaSA9PiB7XHJcbiAgICAgIHRoaXMuX3NiLnRvYXN0KCdDb3BpZWQnLCBpLm51bWJlciB8fCBmb3JtVGl0bGUoaXRlbS5mb3JtSWQpKTtcclxuICAgICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnbWFpbGJveC9pJywgaS5pZC5lbmNvZGVJZCgpXSwge1xyXG4gICAgICAgIHN0YXRlOiB7IGl0ZW06IGkgfSxcclxuICAgICAgICBwb2xpY3k6IE9wZW5Qb2xpY3kuQ2xlYXJcclxuICAgICAgfSk7XHJcbiAgICB9LCAoKSA9PiB0aGlzLl9zYi5lcnJvcigpKTtcclxuICAgIGZ1bmN0aW9uIGZvcm1UaXRsZShuYW1lKSB7XHJcbiAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmluZChmID0+IGYubmFtZSA9PT0gbmFtZSk7XHJcbiAgICAgIHJldHVybiBmb3JtLnRpdGxlO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICogZXhlY3V0ZSBmdW5jdGlvbiBwZXIgc2VsZWN0ZWQgaXRlbVxyXG4gKiBAcGFyYW0gZm5cclxuICogQHBhcmFtIGVycm9yXHJcbiAqL1xyXG4gIHByaXZhdGUgX2ZvckVhY2goZm46IChpdGVtOiBIZWFkZXJNb2RlbCkgPT4gT2JzZXJ2YWJsZTxhbnk+LCBlcnJvcjogc3RyaW5nKTogT2JzZXJ2YWJsZTxSZWNpcGllbnRNb2RlbFtdPiB7XHJcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuc2VsZWN0aW9uLnNlbGVjdGVkLnNsaWNlKCk7XHJcbiAgICBjb25zdCBlcnJvcnMgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgICBlcnJvcnMucGlwZSgpLnN1YnNjcmliZShtID0+IHRoaXMuX3NiLmVycm9yU3RyaW5nKG0pKTtcclxuICAgIGNvbnN0IHByb21pc2VzID0gaXRlbXMubWFwKG0gPT4gZm4obSkucGlwZSh0YXAoKCkgPT4ge1xyXG4gICAgfSwgKGU6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGxldCBtZXNzYWdlOiBzdHJpbmc7XHJcbiAgICAgIHN3aXRjaCAoZS5zdGF0dXMpIHtcclxuICAgICAgICBjYXNlIDQwNDpcclxuICAgICAgICAgIG1lc3NhZ2UgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdFcnInKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgNDA2OlxyXG4gICAgICAgICAgbWVzc2FnZSA9IGUuZXJyb3I7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIDQwOTpcclxuICAgICAgICAgIG1lc3NhZ2UgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdWZXJzaW9uRXJyJywgbS5udW1iZXIpO1xyXG4gICAgICAgICAgYXNzaWduKG0sIGUuZXJyb3IpO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIG1lc3NhZ2UgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KGVycm9yKTtcclxuICAgICAgfVxyXG4gICAgICBlcnJvcnMubmV4dChtZXNzYWdlKTtcclxuICAgIH0pLCBmaW5hbGl6ZSgoKSA9PiAobSBhcyBJdGVtRXh0cmEpLndvcmtpbmcgPSBmYWxzZSkpKTtcclxuICAgIHJldHVybiBmb3JrSm9pbihwcm9taXNlcykucGlwZSh0YXAoKCkgPT4ge1xyXG4gICAgICBlcnJvcnMudW5zdWJzY3JpYmUoKTtcclxuICAgICAgdGhpcy5zZWxlY3Rpb24uY2xlYXIoKTtcclxuICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9ICcnO1xyXG4gICAgfSksIG1hcCgoKSA9PiBpdGVtcyBhcyBhbnkpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfYWRkKG06IFJlY2lwaWVudE1vZGVsPGFueT4pIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLnNwbGljZSgwLCAwLCBtKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIgPSAnJztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlbW92ZShpdGVtOiBIZWFkZXJNb2RlbCkge1xyXG4gICAgdGhpcy5zZWxlY3Rpb24uZGVzZWxlY3QoaXRlbSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YS5yZW1vdmUoaXRlbSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gJyc7XHJcbiAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NvbHVtbnMoKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgY29sdW1ucyA9IFsnc2VsZWN0J107XHJcbiAgICBpZiAodGhpcy5mb2xkZXIgJiYgdGhpcy5mb2xkZXIuY29sdW1ucylcclxuICAgICAgdGhpcy5fYXBwZW5kY29sdW1ucyh0aGlzLmZvbGRlci5jb2x1bW5zLCBjb2x1bW5zKTtcclxuICAgIGVsc2UgaWYgKCF0aGlzLmZvbGRlcikge1xyXG4gICAgICBjb25zdCBmb2xkZXIgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9sZGVycy5maW5kKGYgPT4gZi5uYW1lID09PSAnZmF2Jyk7XHJcbiAgICAgIGlmIChmb2xkZXIgJiYgZm9sZGVyLmNvbHVtbnMpXHJcbiAgICAgICAgdGhpcy5fYXBwZW5kY29sdW1ucyhmb2xkZXIuY29sdW1ucywgY29sdW1ucyk7XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbHVtbnMucHVzaCgnbnVtYmVyJyk7XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzTW9iaWxlKSB7XHJcbiAgICAgICAgICBjb2x1bW5zLnB1c2goJ3N1YmplY3QnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sdW1ucy5wdXNoKCd2YWx1ZScpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLl9jb25maWcuZm9sZGVycyAmJiB0aGlzLl9jb25maWcuZm9sZGVycy5jb2x1bW5zKVxyXG4gICAgICB0aGlzLl9hcHBlbmRjb2x1bW5zKHRoaXMuX2NvbmZpZy5mb2xkZXJzLmNvbHVtbnMsIGNvbHVtbnMpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbHVtbnMucHVzaCgnbnVtYmVyJyk7XHJcbiAgICAgIGlmICghdGhpcy5pc01vYmlsZSkge1xyXG4gICAgICAgIGNvbHVtbnMucHVzaCgnc3ViamVjdCcpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbHVtbnMucHVzaCgndmFsdWUnKTtcclxuICAgIH1cclxuICAgIGNvbHVtbnMucHVzaCgnb3B0aW9ucycpO1xyXG4gICAgcmV0dXJuIGNvbHVtbnM7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hcHBlbmRjb2x1bW5zKHNvdXJjZTogRm9sZGVyQ29sdW1uW10sIGNvbHVtbnM6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLmN1c3RvbUNvbHVtbnMgPSBbXTtcclxuICAgIHNvdXJjZS5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICBpZiAoSEVBREVSX0NPTFVNTl9OQU1FUy5pbmRleE9mKGMubmFtZSkgPiAtMSlcclxuICAgICAgICBjb2x1bW5zLnB1c2goYy5uYW1lKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuY3VzdG9tQ29sdW1ucy5wdXNoKGMpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZW5kQWxsKGFjdGlvbjogc3RyaW5nLCBhcmdzOiBhbnkpIHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHF1ZXJ5UGFyYW1zKGFyZ3MpO1xyXG4gICAgdGhpcy5fZm9yRWFjaChpID0+XHJcbiAgICAgIHRoaXMuX21haWxib3guc2VuZChpLmlkLCBpLnZlcnNpb24sIGkuZm9ybUlkLCBudWxsLCBhY3Rpb24sIHBhcmFtcywgaS5yZWFkLCBpLmZvbGRlcklkLCBpLnJlY2VpdmVkKS5cclxuICAgICAgICBwaXBlKHRhcCgoKSA9PiB7XHJcbiAgICAgICAgICBpZiAoaS5mb2xkZXJJZCAhPT0gdGhpcy5mb2xkZXJJZCkgdGhpcy5kYXRhU291cmNlLmRhdGEucmVtb3ZlKGkpXHJcbiAgICAgICAgfSkpLCAnU2VuZEVycicpLlxyXG4gICAgICBzdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgaWYgKGUubGVuZ3RoID4gMSkgdGhpcy5fc2IudG9hc3QoJ1NlbnRNYW55JywgZS5sZW5ndGgudG9TdHJpbmcoKSxcclxuICAgICAgICAgIHRoaXMuX2FjdGlvbkFkamVjdGl2ZShhY3Rpb24sIHRydWUpKTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IG9yaWdpbiA9IGVbMF0ucmVjaXBpZW50cy5maWx0ZXIociA9PiByLm9yaWdpbklkID09PSBlWzBdLmlkKTtcclxuICAgICAgICAgIGlmIChvcmlnaW4ubGVuZ3RoKVxyXG4gICAgICAgICAgICB0aGlzLl9hY2NvdW50cy5nZXRBbGwob3JpZ2luLm1hcChyID0+IHIudXNlcklkKSkuc3Vic2NyaWJlKHUgPT5cclxuICAgICAgICAgICAgICB0aGlzLl9zYi50b2FzdCgnU2VudFRvJywgZVswXS5udW1iZXIsXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9hY3Rpb25BZGplY3RpdmUoYWN0aW9uKSwgdGhpcy5fdHJhbnNsYXRlLmpvaW4odS5tYXAodSA9PiB1Lm5hbWUpKSkpO1xyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLl9zYi50b2FzdCgnU2VudCcsIGVbMF0ubnVtYmVyLFxyXG4gICAgICAgICAgICAgIHRoaXMuX2FjdGlvbkFkamVjdGl2ZShhY3Rpb24pKVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2FjdGlvbkFkamVjdGl2ZShuYW1lOiBzdHJpbmcsIHBsdXJhbD86IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gICAgY29uc3QgYWN0aW9uID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmFjdGlvbnMuZmluZChhID0+IGEubmFtZSA9PT0gbmFtZSk7XHJcbiAgICByZXR1cm4gKChwbHVyYWwgPyAoYWN0aW9uLmFkamVjdGl2ZVBsdXJhbCB8fCBhY3Rpb24uYWRqZWN0aXZlKSA6IGFjdGlvbi5hZGplY3RpdmUpIHx8IGFjdGlvbi50aXRsZSkudG9Mb3dlckNhc2UoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuZnVuY3Rpb24gYXNzaWduKG1vZGVsMTogSGVhZGVyTW9kZWwsIG1vZGVsMjogSGVhZGVyTW9kZWwpIHtcclxuICBPYmplY3QuYXNzaWduKG1vZGVsMSwgbW9kZWwyKTtcclxufVxyXG4iLCI8bWF0LXByb2dyZXNzLWJhciBtb2RlPVwicXVlcnlcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJsb2FkaW5nID8gJ3Zpc2libGUnOidoaWRkZW4nXCI+PC9tYXQtcHJvZ3Jlc3MtYmFyPlxyXG48Yml6ZG9jLW5vbmUgKm5nSWY9XCJkYXRhU291cmNlPy5kYXRhLmxlbmd0aCA9PT0gMFwiIHRpdGxlPVwiTm9NZXNzYWdlc1wiIFtzdWJ0aXRsZV09XCIhaXNNb2JpbGUgJiYgZm9sZGVySWQgPT09IERSQUZUID8gJ0FsdE4nIDogbnVsbFwiIGljb249XCJtYWlsX291dGxpbmVcIj48L2JpemRvYy1ub25lPlxyXG48bWF0LXRhYmxlIGNka0Ryb3BMaXN0IGNsYXNzPVwiZGF0YS10YWJsZVwiXHJcbiAgICAgICAgICAgW2Nka0Ryb3BMaXN0RGlzYWJsZWRdPVwiaXNNb2JpbGVcIlxyXG4gICAgICAgICAgIFtjZGtEcm9wTGlzdERhdGFdPVwiZGF0YVNvdXJjZT8uZGF0YVwiXHJcbiAgICAgICAgICAgY2RrRHJvcExpc3RDb25uZWN0ZWRUbz1cImZvbGRlcnNcIlxyXG4gICAgICAgICAgIGNka0Ryb3BMaXN0U29ydGluZ0Rpc2FibGVkXHJcbiAgICAgICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIG1hdFNvcnQgbXVsdGlUZW1wbGF0ZURhdGFSb3dzIChtYXRTb3J0Q2hhbmdlKT1cInNvcnREYXRhKClcIlxyXG4gICAgICAgICAgIGlkPVwiYnJvd3NlLXRhYmxlXCIgW0BsaXN0XT1cImRhdGFTb3VyY2VcIiBbc3R5bGUuZGlzcGxheV09XCJkYXRhU291cmNlPy5kYXRhLmxlbmd0aCA/Jyc6J25vbmUnXCI+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzZWxlY3RcIj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJcIj48L2Rpdj5cclxuICAgICAgPG1hdC1jaGVja2JveCAoY2hhbmdlKT1cIiRldmVudCA/IG1hc3RlclRvZ2dsZSgpIDogbnVsbFwiIFthcmlhLWxhYmVsXT1cIidDaGVjayd8dHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiBpc0FsbFNlbGVjdGVkKClcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtpbmRldGVybWluYXRlXT1cInNlbGVjdGlvbi5oYXNWYWx1ZSgpICYmICFpc0FsbFNlbGVjdGVkKClcIj5cclxuICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICA8L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+XHJcbiAgICAgIDxtYXQtY2hlY2tib3ggKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIFthcmlhLWxhYmVsXT1cIidDaGVjayd8dHJhbnNsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIiRldmVudCA/IHNlbGVjdGlvbi50b2dnbGUoaXRlbSkgOiBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJzZWxlY3Rpb24uaXNTZWxlY3RlZChpdGVtKVwiPlxyXG4gICAgICA8L21hdC1jaGVja2JveD5cclxuICAgICAgPCEtLSBkcmFnIC0tPlxyXG4gICAgICA8IS0tPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY2RrRHJhZ0hhbmRsZVxyXG4gICAgICAgICAgICAgIChtb3VzZWRvd24pPVwiZHJhZ0Rpc2FibGVkID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgIChtb3VzZXVwKT1cImRyYWdEaXNhYmxlZCA9IHRydWVcIlxyXG4gICAgICAgICAgICAgICh0b3VjaHN0YXJ0KT1cImRyYWdEaXNhYmxlZCA9IGZhbHNlXCJcclxuICAgICAgICAgICAgICAodG91Y2hlbmQpPVwiZHJhZ0Rpc2FibGVkID0gdHJ1ZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJkcmFnXCIgYXJpYS1kaXNhYmxlZD1cInRydWVcIiBmeEhpZGUueHM+XHJcbiAgICAgICAgPG1hdC1pY29uPmRyYWdfaW5kaWNhdG9yPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+LS0+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJ0b2dnbGVFeHBhbmRlZChpdGVtLCAkZXZlbnQpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0RldGFpbHMnIHwgdHJhbnNsYXRlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInRGV0YWlscycgfCB0cmFuc2xhdGVcIiBjbGFzcz1cInRvb2xcIj48bWF0LWljb24+e3tpdGVtID09IGV4cGFuZGVkRWxlbWVudCA/ICd1bmZvbGRfbGVzcycgOiAndW5mb2xkX21vcmUnfX08L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8IS0tIE51bWJlciBjb2x1bW4gLS0+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJudW1iZXJcIj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J051bWJlcicgfCB0cmFuc2xhdGV9fTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBjbGFzcz1cImRhdGEtY29sdW1uXCI+IHt7aXRlbS5udW1iZXJ9fSA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8IS0tIFN1YmplY3QgY29sdW1uIC0tPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic3ViamVjdFwiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snU3ViamVjdCcgfCB0cmFuc2xhdGV9fTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBjbGFzcz1cImRhdGEtY29sdW1uXCI+IHt7aXRlbS5zdWJqZWN0fX0gPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJvd25lclwiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snT3duZXInIHwgdHJhbnNsYXRlfX08L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiPlxyXG4gICAgICA8Yml6ZG9jLWlkZW50aXR5LW5hbWUgKm5nSWY9XCJpdGVtLm93bmVySWRcIiBbaWRlbnRpdHldPVwiaXRlbS5vd25lcklkXCIgW2J5XT1cIml0ZW0ub3duZXJCeUlkXCI+PC9iaXpkb2MtaWRlbnRpdHktbmFtZT5cclxuICAgIDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJzZW5kZXJcIj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J1NlbmRlcicgfCB0cmFuc2xhdGV9fTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBjbGFzcz1cImRhdGEtY29sdW1uXCI+XHJcbiAgICAgIDxiaXpkb2MtaWRlbnRpdHktbmFtZSAqbmdJZj1cIml0ZW0uc2VuZGVySWRcIiBbaWRlbnRpdHldPVwiaXRlbS5zZW5kZXJJZFwiIFtieV09XCJpdGVtLmJ5SWRcIj48L2JpemRvYy1pZGVudGl0eS1uYW1lPlxyXG4gICAgPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJyZWNlaXZlZFwiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snUmVjZWl2ZWQnIHwgdHJhbnNsYXRlfX08L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiPiB7e2l0ZW0ucmVjZWl2ZWQgfCBhbUNhbGVuZGFyfX0gPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJyZWNlaXZlZEFnb1wiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI9XCJyZWNlaXZlZFwiPnt7J1JlY2VpdmVkJyB8IHRyYW5zbGF0ZX19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIGNsYXNzPVwiZGF0YS1jb2x1bW5cIiBbYml6ZG9jVG9vbHRpcF09XCJpdGVtLnJlY2VpdmVkIHwgYW1DYWxlbmRhclwiPnt7aXRlbS5yZWNlaXZlZCB8IGFtVGltZUFnb319PC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJyZXBsaWVkXCI+XHJcbiAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydSZXBsaWVkJyB8IHRyYW5zbGF0ZX19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIGNsYXNzPVwiZGF0YS1jb2x1bW5cIj4ge3tpdGVtLnJlcGxpZWQgfCBhbUNhbGVuZGFyfX0gPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJpc3N1ZWRcIj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J0lzc3VlZCcgfCB0cmFuc2xhdGV9fTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBjbGFzcz1cImRhdGEtY29sdW1uXCI+IHt7aXRlbS5pc3N1ZWQgfCBhbUNhbGVuZGFyfX0gPC9tYXQtY2VsbD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJpc3N1ZWRBZ29cIj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPVwiaXNzdWVkXCI+e3snSXNzdWVkJyB8IHRyYW5zbGF0ZX19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIGNsYXNzPVwiZGF0YS1jb2x1bW5cIiBbYml6ZG9jVG9vbHRpcF09XCJpdGVtLmlzc3VlZCB8IGFtQ2FsZW5kYXJcIj4ge3tpdGVtLmlzc3VlZCB8IGFtVGltZUFnb319IDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic3RhdGVcIj5cclxuICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPVwic3RhdGVJZFwiPnt7J1N0YXR1cycgfCB0cmFuc2xhdGUgfX08L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCIgY2xhc3M9XCJkYXRhLWNvbHVtblwiPlxyXG4gICAgICA8Yml6ZG9jLXN0YXR1cyBbc3RhdGVJZF09XCJpdGVtLnN0YXRlSWRcIj48L2JpemRvYy1zdGF0dXM+XHJcbiAgICA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tQ29sdW1uc1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYyBvZiBjdXN0b21Db2x1bW5zXCIgW21hdENvbHVtbkRlZl09XCJjLm5hbWVcIj5cclxuICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+IHt7Yy50aXRsZX19IDwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIGNsYXNzPVwiZGF0YS1jb2x1bW5cIj5cclxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJjLnR5cGVcIj5cclxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInRGF0ZSdcIj5cclxuICAgICAgICAgICAge3tpdGVtLm1vZGVsW2MubmFtZV0gfCBhbUNhbGVuZGFyIH19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ0RlY2ltYWwnXCI+XHJcbiAgICAgICAgICAgIHt7aXRlbS5tb2RlbFtjLm5hbWVdIHwgbnVtYmVyIH19XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ0Jvb2xlYW4nXCI+XHJcbiAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwiaXRlbS5tb2RlbFtjLm5hbWVdXCIgW2Rpc2FibGVkXT1cInRydWVcIj48L21hdC1jaGVja2JveD5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgICAgICAgIHt7aXRlbS5tb2RlbFtjLm5hbWVdfX16XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbWF0LWNlbGw+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgPCEtLSBWYWx1ZSBjb2x1bW4gLS0+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ2YWx1ZVwiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snQW1vdW50JyB8IHRyYW5zbGF0ZX19PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIGNsYXNzPVwiZGF0YS1jb2x1bW5cIj4ge3tpdGVtLnZhbHVlIHwgY3VycmVuY3kgOiBpdGVtLmN1cnJlbmN5Q29kZSA6ICdzeW1ib2wnIDogY3VycmVuY3lGb3JtYXR9fSA8L21hdC1jZWxsPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8IS0tIG9wdGlvbnMgY29sdW1uIC0tPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwib3B0aW9uc1wiPlxyXG4gICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj48L21hdC1oZWFkZXItY2VsbD5cclxuICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJmbGFnKGl0ZW0sICRldmVudClcIiBbYml6ZG9jVG9vbHRpcF09XCInRmxhZ2dlZCd8IHRyYW5zbGF0ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1RvZ2dsZUZsYWdnZWQnIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJ0b29sXCI+PG1hdC1pY29uIFtjbGFzcy5kb2N1bWVudC1mbGFnXT1cIml0ZW0uZmxhZ1wiPnt7aXRlbS5mbGFnID8gJ3N0YXInIDogJ3N0YXJfYm9yZGVyJ319PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInZpZXcoaXRlbSwgJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidWaWV3JyB8IHRyYW5zbGF0ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1ZpZXcnIHwgdHJhbnNsYXRlXCIgY2xhc3M9XCJ0b29sXCIgKm5nSWY9XCJlbmFibGVBbmFseXNpc1wiPjxtYXQtaWNvbj5kYXRhX3VzYWdlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgZnhIaWRlLnhzIFttYXRNZW51VHJpZ2dlckRhdGFdPVwie2l0ZW06IGl0ZW19XCIgW2JpemRvY1Rvb2x0aXBdPVwiJ09wdGlvbnMnIHwgdHJhbnNsYXRlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInT3B0aW9ucycgfCB0cmFuc2xhdGVcIiBjbGFzcz1cInRvb2xcIj48bWF0LWljb24+bW9yZV92ZXJ0PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPCEtLSBFeHBhbmRlZCBDb250ZW50IENvbHVtbiAtLT5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImV4cGFuZGVkRGV0YWlsXCI+XHJcbiAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIFthdHRyLmNvbHNwYW5dPVwiZGlzcGxheWVkQ29sdW1ucy5sZW5ndGhcIiBbQHVwZGF0ZWRdPVwiaXRlbSA9PSB1cGRhdGVkRWxlbWVudFwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLnJlYWQtcm93XT1cIml0ZW0ucmVhZFwiPlxyXG4gICAgICA8ZGl2IFtAZGV0YWlsRXhwYW5kXT1cIml0ZW0gPT0gZXhwYW5kZWRFbGVtZW50ID8gJ2V4cGFuZGVkJyA6ICdjb2xsYXBzZWQnXCIgc3R5bGU9XCJ3aWR0aDogMTAwJVwiPlxyXG4gICAgICAgIDxiaXpkb2MtZXhwYW5kZWQtaXRlbSBbbW9kZWxdPVwiaXRlbVwiICpuZ0lmPVwiaXRlbSA9PSBleHBhbmRlZEVsZW1lbnRcIj48L2JpemRvYy1leHBhbmRlZC1pdGVtPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbWF0LWNlbGw+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWVcIj48L21hdC1oZWFkZXItcm93PlxyXG4gIDxtYXQtcm93IEBpdGVtIFtAdXBkYXRlZF09XCJpdGVtID09IHVwZGF0ZWRFbGVtZW50XCJcclxuICAgICAgICAgICAqbWF0Um93RGVmPVwibGV0IGl0ZW07IGxldCBkYXRhSW5kZXggPSBkYXRhSW5kZXg7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCIgY2xhc3M9XCJlbGVtZW50LXJvd1wiXHJcbiAgICAgICAgICAgY2RrRHJhZyBbY2RrRHJhZ0RhdGFdPVwiaXRlbVwiXHJcbiAgICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCJkcmFnRGlzYWJsZWRcIlxyXG4gICAgICAgICAgIChjZGtEcmFnUmVsZWFzZWQpPVwiZHJhZ0Rpc2FibGVkID0gdHJ1ZVwiXHJcbiAgICAgICAgICAgW25nQ2xhc3NdPVwieydzZWxlY3RlZGVkLXJvdyc6IHNlbGVjdGVkRWxlbWVudCA9PT0gaXRlbSxcclxuICAgICAgJ2V4cGFuZGVkLXJvdyc6IGV4cGFuZGVkRWxlbWVudCA9PT0gaXRlbSxcclxuICAgICAgICAgICAnb2RkLXJvdyc6IGRhdGFJbmRleCAlIDIsXHJcbiAgICAgICdyZWFkLXJvdyc6IGl0ZW0ucmVhZH1cIiBtYXRSaXBwbGVcclxuICAgICAgICAgICAoY2xpY2spPVwib3BlbihpdGVtLCAkZXZlbnQpXCI+XHJcbiAgICA8ZGl2ICpjZGtEcmFnUHJldmlldz5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gYXJpYS1kaXNhYmxlZD1cInRydWVcIj48bWF0LWljb24+ZHJhZ19pbmRpY2F0b3I8L21hdC1pY29uPjwvYnV0dG9uPiA8c3Bhbj4je3tpdGVtLm51bWJlcn19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpjZGtEcmFnUGxhY2Vob2xkZXI+XHJcbiAgICAgIDwhLS0gbm9uZSAtLT5cclxuICAgIDwvZGl2PlxyXG4gIDwvbWF0LXJvdz5cclxuICA8bWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IGl0ZW07IDsgbGV0IGRhdGFJbmRleCA9IGRhdGFJbmRleDsgY29sdW1uczogWydleHBhbmRlZERldGFpbCddXCJcclxuICAgICAgICAgICBjbGFzcz1cImRldGFpbC1yb3dcIiBtYXRSaXBwbGVcclxuICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdzZWxlY3RlZGVkLXJvdyc6IHNlbGVjdGVkRWxlbWVudCA9PT0gaXRlbSxcclxuICAgICAgICAgICAnb2RkLXJvdyc6IGRhdGFJbmRleCAlIDJcclxuICAgICAgICAgICB9XCI+PC9tYXQtcm93PlxyXG48L21hdC10YWJsZT5cclxuPG1hdC1wYWdpbmF0b3IgI3BhZ2luYXRvciBbaGlkZVBhZ2VTaXplXT1cInRydWVcIiBbcGFnZVNpemVdPVwiUEFHRV9TSVpFXCIgW3N0eWxlLmRpc3BsYXldPVwiIWlzTW9iaWxlICYmIGRhdGFTb3VyY2U/LmRhdGEubGVuZ3RoPlBBR0VfU0laRSA/ICcnOidub25lJ1wiPjwvbWF0LXBhZ2luYXRvcj5cclxuPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSBtYXRNZW51Q29udGVudCBsZXQtaXRlbT1cIml0ZW1cIj5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwib3BlbihpdGVtLCAkZXZlbnQpXCI+e3snT3Blbid8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJ0b2dnbGVSZWFkKGl0ZW0pXCI+e3soaXRlbS5yZWFkID8nTWFya0FzVW5yZWFkJzonTWFya0FzUmVhZCcpfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiY29weShpdGVtKVwiPnt7J0NvcHknfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvbWF0LW1lbnU+XHJcbiJdfQ==
|