@bizdoc/core 1.14.12 → 1.14.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/themes/brown.min.css +6 -6
- package/assets/themes/dark.min.css +6 -6
- package/assets/themes/deep-purple-light-blue.min.css +7 -7
- package/assets/themes/deep-purple-teal.min.css +7 -7
- package/assets/themes/default.min.css +7 -7
- package/assets/themes/green.min.css +6 -6
- package/assets/themes/indigo.min.css +6 -6
- package/esm2020/lib/admin/admin-dismiss.service.mjs +3 -3
- package/esm2020/lib/admin/admin-menu.component.mjs +3 -3
- package/esm2020/lib/admin/core/ace.input.mjs +3 -3
- package/esm2020/lib/admin/core/color-picker.input.mjs +3 -3
- package/esm2020/lib/admin/core/search.input.mjs +3 -3
- package/esm2020/lib/admin/diff/configuration-diff.component.mjs +3 -3
- package/esm2020/lib/admin/document-trace/document-trace.component.mjs +3 -3
- package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +3 -3
- package/esm2020/lib/admin/document-trace/trace-element.component.mjs +3 -3
- package/esm2020/lib/admin/form/form.resolve.service.mjs +3 -3
- package/esm2020/lib/admin/form/form.service.mjs +3 -3
- package/esm2020/lib/admin/form/workflow/node.component.mjs +3 -3
- package/esm2020/lib/admin/form/workflow/role-node.component.mjs +3 -3
- package/esm2020/lib/admin/form/workflow/workflow.component.mjs +3 -3
- package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +3 -3
- package/esm2020/lib/admin/patterns/patterns.component.mjs +3 -3
- package/esm2020/lib/admin/permissions/permissions.component.mjs +3 -3
- package/esm2020/lib/admin/positions/positions-popup.component.mjs +3 -3
- package/esm2020/lib/admin/positions/positions.component.mjs +3 -3
- package/esm2020/lib/admin/profiler/outofoffice.component.mjs +3 -3
- package/esm2020/lib/admin/profiler/profiler.component.mjs +10 -9
- package/esm2020/lib/admin/utility-wrapper.component.mjs +3 -3
- package/esm2020/lib/admin/utility.pane.component.mjs +3 -3
- package/esm2020/lib/app.component.mjs +9 -16
- package/esm2020/lib/bizdoc.module.mjs +15 -11
- package/esm2020/lib/browse/browse-items.component.mjs +3 -3
- package/esm2020/lib/browse/browse.mobile.component.mjs +3 -3
- package/esm2020/lib/browse/browse.pane.component.mjs +3 -3
- package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
- package/esm2020/lib/browse/filter/filter.component.mjs +3 -3
- package/esm2020/lib/browse/folders-menu.component.mjs +3 -3
- package/esm2020/lib/chat/chat-info.mjs +3 -3
- package/esm2020/lib/chat/chat.mobile.component.mjs +3 -3
- package/esm2020/lib/chat/chat.service.mjs +3 -3
- package/esm2020/lib/chat/contacts.component.mjs +6 -6
- package/esm2020/lib/chat/contacts.pane.component.mjs +3 -3
- package/esm2020/lib/chat/conversation.component.mjs +3 -3
- package/esm2020/lib/chat/conversation.pane.component.mjs +3 -3
- package/esm2020/lib/compose/action/action-picker.component.mjs +3 -3
- package/esm2020/lib/compose/action/action.dialog.mjs +3 -3
- package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +3 -3
- package/esm2020/lib/compose/action/assign-action.component.mjs +3 -3
- package/esm2020/lib/compose/action/moveto-action.component.mjs +3 -3
- package/esm2020/lib/compose/action/return-action.component.mjs +3 -3
- package/esm2020/lib/compose/attachments/attachments.component.mjs +3 -3
- package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +3 -3
- package/esm2020/lib/compose/attachments/progress-button.directive.mjs +3 -3
- package/esm2020/lib/compose/can-deactivate-changes.service.mjs +3 -3
- package/esm2020/lib/compose/comments/Comments.pane.component.mjs +3 -3
- package/esm2020/lib/compose/comments/comment.component.mjs +3 -3
- package/esm2020/lib/compose/comments/comments.component.mjs +3 -3
- package/esm2020/lib/compose/comments/edit-comment.component.mjs +3 -3
- package/esm2020/lib/compose/comments/edits.component.mjs +3 -3
- package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
- package/esm2020/lib/compose/comments/votes.component.mjs +3 -3
- package/esm2020/lib/compose/compose-resolve.service.mjs +6 -6
- package/esm2020/lib/compose/compose.mobile.component.mjs +3 -3
- package/esm2020/lib/compose/compose.pane.component.mjs +3 -3
- package/esm2020/lib/compose/copy/copy.dialog.mjs +3 -3
- package/esm2020/lib/compose/dismiss.service.mjs +3 -3
- package/esm2020/lib/compose/document-resolver.service.mjs +3 -3
- package/esm2020/lib/compose/document.component.mjs +3 -3
- package/esm2020/lib/compose/document.mobile.component.mjs +3 -3
- package/esm2020/lib/compose/document.pane.component.mjs +3 -3
- package/esm2020/lib/compose/events/events.component.mjs +3 -3
- package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
- package/esm2020/lib/compose/form.component.mjs +5 -5
- package/esm2020/lib/compose/new-menu.component.mjs +3 -3
- package/esm2020/lib/compose/privilage.directive.mjs +6 -6
- package/esm2020/lib/compose/recipient-resolver.service.mjs +3 -3
- package/esm2020/lib/compose/save-changes.dialog.mjs +3 -3
- package/esm2020/lib/compose/state.component.mjs +3 -3
- package/esm2020/lib/compose/tag/tags.component.mjs +3 -3
- package/esm2020/lib/compose/trace/flow.component.mjs +5 -4
- package/esm2020/lib/compose/trace/people.component.mjs +3 -3
- package/esm2020/lib/compose/trace/trace.base.mjs +3 -3
- package/esm2020/lib/compose/trace/trace.component.mjs +3 -3
- package/esm2020/lib/compose/trace/trace.pane.component.mjs +3 -3
- package/esm2020/lib/compose/version-compare/version-compare.component.mjs +3 -3
- package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +9 -9
- package/esm2020/lib/compose/version-compare/version.pane.component.mjs +3 -3
- package/esm2020/lib/core/NgComponentOutlet.mjs +3 -3
- package/esm2020/lib/core/account.service.mjs +3 -3
- package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
- package/esm2020/lib/core/avatar/avatar.component.mjs +3 -3
- package/esm2020/lib/core/component-factory-resolver.mjs +3 -3
- package/esm2020/lib/core/controls/address.input.mjs +3 -3
- package/esm2020/lib/core/controls/auto-complete.input.mjs +3 -3
- package/esm2020/lib/core/controls/combination-picker-body.mjs +3 -3
- package/esm2020/lib/core/controls/combination-picker.mjs +3 -3
- package/esm2020/lib/core/controls/combination-pool.mjs +3 -3
- package/esm2020/lib/core/controls/file.input.mjs +3 -3
- package/esm2020/lib/core/controls/select.input.mjs +3 -3
- package/esm2020/lib/core/controls/time-picker.mjs +3 -3
- package/esm2020/lib/core/controls/timespan.input.mjs +3 -3
- package/esm2020/lib/core/datasource.service.mjs +3 -3
- package/esm2020/lib/core/guide/guide.component.mjs +3 -3
- package/esm2020/lib/core/guide/guide.service.mjs +3 -3
- package/esm2020/lib/core/guide/help-tip.component.mjs +14 -14
- package/esm2020/lib/core/http.interceptor.mjs +3 -3
- package/esm2020/lib/core/hub.service.mjs +3 -3
- package/esm2020/lib/core/identity/identity.component.mjs +3 -3
- package/esm2020/lib/core/info/attachment-info.service.mjs +3 -3
- package/esm2020/lib/core/info/document-info.service.mjs +3 -3
- package/esm2020/lib/core/info/location-info.component.mjs +3 -3
- package/esm2020/lib/core/info/map-info.mjs +3 -3
- package/esm2020/lib/core/layout/autocomplete.field.mjs +3 -3
- package/esm2020/lib/core/layout/checkbox.field.mjs +3 -3
- package/esm2020/lib/core/layout/checkbox.mjs +3 -3
- package/esm2020/lib/core/layout/date-range.field.mjs +3 -3
- package/esm2020/lib/core/layout/date.field.mjs +3 -3
- package/esm2020/lib/core/layout/expression.field.mjs +3 -3
- package/esm2020/lib/core/layout/file.field.mjs +3 -3
- package/esm2020/lib/core/layout/html.field.mjs +3 -3
- package/esm2020/lib/core/layout/input.base.mjs +3 -3
- package/esm2020/lib/core/layout/input.field.mjs +3 -3
- package/esm2020/lib/core/layout/layout.component.mjs +3 -3
- package/esm2020/lib/core/layout/numeric.field.mjs +3 -3
- package/esm2020/lib/core/layout/select.field.mjs +3 -3
- package/esm2020/lib/core/layout/switch.field.mjs +3 -3
- package/esm2020/lib/core/layout/textarea.field.mjs +3 -3
- package/esm2020/lib/core/layout/timespan.field.mjs +3 -3
- package/esm2020/lib/core/lottie-animation.mjs +3 -3
- package/esm2020/lib/core/mailbox.service.mjs +36 -42
- package/esm2020/lib/core/none.component.mjs +3 -3
- package/esm2020/lib/core/pipes/action.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/calendar.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/date-format.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/daterange.pipe.mjs +6 -6
- package/esm2020/lib/core/pipes/difference.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/duration-format.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/duration.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/form.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/join.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/role.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/sort.pipe.mjs +6 -6
- package/esm2020/lib/core/pipes/state.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/time-ago.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/translate.pipe.mjs +6 -6
- package/esm2020/lib/core/pipes/type-value.pipe.mjs +3 -3
- package/esm2020/lib/core/pipes/user-name.pipe.mjs +3 -3
- package/esm2020/lib/core/popup/popup.component.mjs +3 -3
- package/esm2020/lib/core/popup/popup.service.mjs +3 -3
- package/esm2020/lib/core/popup/tooltip.directive.mjs +6 -6
- package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +3 -3
- package/esm2020/lib/core/prompt/mask/mask.component.mjs +3 -3
- package/esm2020/lib/core/prompt.service.mjs +3 -3
- package/esm2020/lib/core/router.mjs +6 -6
- package/esm2020/lib/core/session.service.mjs +13 -6
- package/esm2020/lib/core/slots/router.directive.mjs +3 -3
- package/esm2020/lib/core/slots/router.service.mjs +3 -3
- package/esm2020/lib/core/slots/slots.component.mjs +3 -3
- package/esm2020/lib/core/tagging/documents.component.mjs +3 -3
- package/esm2020/lib/core/tagging/edit-input.component.mjs +3 -3
- package/esm2020/lib/core/tagging/emoji.component.mjs +3 -3
- package/esm2020/lib/core/tagging/tagging-item.directive.mjs +3 -3
- package/esm2020/lib/core/tagging/tagging.component-base.mjs +3 -3
- package/esm2020/lib/core/tagging/tagging.directive.mjs +3 -3
- package/esm2020/lib/core/tagging/tagging.pipe.mjs +3 -3
- package/esm2020/lib/core/tagging/users.component.mjs +3 -3
- package/esm2020/lib/core/translate.service.mjs +3 -3
- package/esm2020/lib/core/translations.mjs +4 -4
- package/esm2020/lib/core/window-title.service.mjs +3 -3
- package/esm2020/lib/cube/accum/accum.component.mjs +5 -5
- package/esm2020/lib/cube/chart/chart.component.mjs +5 -5
- package/esm2020/lib/cube/cube-info.service.mjs +3 -3
- package/esm2020/lib/cube/cube-menu.component.mjs +3 -3
- package/esm2020/lib/cube/cube-view.component.mjs +3 -3
- package/esm2020/lib/cube/cube.service.mjs +3 -3
- package/esm2020/lib/cube/explore/document-item.component.mjs +3 -3
- package/esm2020/lib/cube/explore/explore-item.component.mjs +3 -3
- package/esm2020/lib/cube/explore/explore-items.component.mjs +3 -3
- package/esm2020/lib/cube/explore/explore.pane.component.mjs +3 -3
- package/esm2020/lib/cube/explore/item-resolver.service.mjs +6 -6
- package/esm2020/lib/cube/explore/item.pane.component.mjs +3 -3
- package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
- package/esm2020/lib/cube/filter/filter.component.mjs +3 -3
- package/esm2020/lib/cube/grid/grid.component.mjs +3 -3
- package/esm2020/lib/cube/grid/spreadsheet.component.mjs +3 -3
- package/esm2020/lib/cube/matrix/matrix.base.mjs +3 -3
- package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
- package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +3 -3
- package/esm2020/lib/cube/matrix/popup.component.mjs +3 -3
- package/esm2020/lib/cube/matrix/table.component.mjs +3 -3
- package/esm2020/lib/cube/parallel/parallel.component.mjs +3 -3
- package/esm2020/lib/cube/pivot/pivot.component.mjs +25 -7
- package/esm2020/lib/cube/sum/sum.component.mjs +3 -3
- package/esm2020/lib/cube/view-base.mjs +3 -3
- package/esm2020/lib/cube/view.mobile.component.mjs +3 -3
- package/esm2020/lib/cube/view.pane.component.mjs +3 -3
- package/esm2020/lib/dashboard/actions/actions.widget.mjs +3 -3
- package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
- package/esm2020/lib/dashboard/cube/compare.widget.mjs +3 -3
- package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
- package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
- package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +3 -3
- package/esm2020/lib/dashboard/cube/documents.widget.mjs +3 -3
- package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +3 -3
- package/esm2020/lib/dashboard/dashboard.component.mjs +3 -3
- package/esm2020/lib/dashboard/dashboard.pane.component.mjs +3 -3
- package/esm2020/lib/dashboard/recents/recents.widget.mjs +3 -3
- package/esm2020/lib/dashboard/score/activity.widget.mjs +3 -3
- package/esm2020/lib/dashboard/score/compare-groups.widget.mjs +3 -3
- package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +3 -3
- package/esm2020/lib/dashboard/score/pending-results.widget.mjs +3 -3
- package/esm2020/lib/dashboard/score/personal-score.widget.mjs +3 -3
- package/esm2020/lib/dashboard/widget-item.component.mjs +3 -3
- package/esm2020/lib/desktop.module.mjs +7 -6
- package/esm2020/lib/home/about/about.dialog.mjs +3 -3
- package/esm2020/lib/home/home-base.component.mjs +3 -3
- package/esm2020/lib/home/home.desktop.component.mjs +3 -3
- package/esm2020/lib/home/home.mobile.component.mjs +3 -3
- package/esm2020/lib/home/notifications/notifications.component.mjs +3 -3
- package/esm2020/lib/home/options/options.component.mjs +3 -3
- package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +3 -3
- package/esm2020/lib/home/search.service.mjs +8 -8
- package/esm2020/lib/home/sign/sign.component.mjs +3 -3
- package/esm2020/lib/home/tools.component.mjs +28 -21
- package/esm2020/lib/impersonate/impersonate.component.mjs +3 -3
- package/esm2020/lib/mobile.module.mjs +15 -5
- package/esm2020/lib/modules/chart.module.mjs +4 -4
- package/esm2020/lib/modules/circular-gauge.module.mjs +4 -4
- package/esm2020/lib/modules/datepicker.intl.mjs +3 -3
- package/esm2020/lib/modules/dayjs.module.mjs +4 -4
- package/esm2020/lib/modules/diagram.module.mjs +4 -4
- package/esm2020/lib/modules/gantt.module.mjs +4 -4
- package/esm2020/lib/modules/grid.module.mjs +4 -4
- package/esm2020/lib/modules/material.module.mjs +4 -4
- package/esm2020/lib/modules/paginator.intl.mjs +3 -3
- package/esm2020/lib/modules/pivot.module.mjs +4 -4
- package/esm2020/lib/modules/schedule.module.mjs +4 -4
- package/esm2020/lib/modules/spreadsheet.module.mjs +4 -4
- package/esm2020/lib/modules/stepper.intl.mjs +3 -3
- package/esm2020/lib/modules/texteditor.module.mjs +4 -4
- package/esm2020/lib/notifications/filter.component.mjs +3 -3
- package/esm2020/lib/notifications/notifications-table.component.mjs +3 -3
- package/esm2020/lib/notifications/notifications.mobile.component.mjs +3 -3
- package/esm2020/lib/notifications/notifications.pane.component.mjs +3 -3
- package/esm2020/lib/notifications/notifications.service.mjs +3 -3
- package/esm2020/lib/notifications/types/commented.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/escalated.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/liked.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/long-running-task.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/notification-base.mjs +3 -3
- package/esm2020/lib/notifications/types/nudge.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/state-changed.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/tagged.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/text.notification.mjs +3 -3
- package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +3 -3
- package/esm2020/lib/options/options.component.mjs +3 -3
- package/esm2020/lib/options/options.service.mjs +3 -3
- package/esm2020/lib/reports/arguments-component.mjs +3 -3
- package/esm2020/lib/reports/cube/documents.component.mjs +3 -3
- package/esm2020/lib/reports/cube/grid-documents.component.mjs +3 -3
- package/esm2020/lib/reports/cube/table-documents.component.mjs +3 -3
- package/esm2020/lib/reports/cube/usage-args.component.mjs +3 -3
- package/esm2020/lib/reports/cube/usage-base.mjs +3 -3
- package/esm2020/lib/reports/cube/usage-chart.component.mjs +3 -3
- package/esm2020/lib/reports/cube/usage-pivot.component.mjs +3 -3
- package/esm2020/lib/reports/cube/usage.component.mjs +3 -3
- package/esm2020/lib/reports/report-viewer.component.mjs +3 -3
- package/esm2020/lib/reports/report.mobile.component.mjs +3 -3
- package/esm2020/lib/reports/report.pane.component.mjs +3 -3
- package/esm2020/lib/reports/reports-menu.component.mjs +3 -3
- package/esm2020/lib/reports/substitution/substitution.component.mjs +3 -3
- package/esm2020/lib/reports/table/table-view.component.mjs +3 -3
- package/esm2020/lib/reports/tasks/tasks.component.mjs +3 -3
- package/esm2020/lib/routes.desktop.mjs +1 -8
- package/esm2020/lib/scheduler/schedule.component.mjs +3 -3
- package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +3 -3
- package/esm2020/lib/scheduler/scheduler.pane.component.mjs +3 -3
- package/esm2020/lib/shared.module.mjs +178 -125
- package/esm2020/lib/system.module.mjs +13 -9
- package/esm2020/lib/views/cube/chart.component.mjs +4 -4
- package/esm2020/lib/views/cube/cube-base.mjs +3 -3
- package/esm2020/lib/views/cube/explore.component.mjs +3 -3
- package/esm2020/lib/views/cube/matrix.component.mjs +3 -3
- package/esm2020/lib/views/cube/parallel.component.mjs +3 -3
- package/esm2020/lib/views/cube/pivot.component.mjs +3 -3
- package/esm2020/lib/views/cube/sum.component.mjs +3 -3
- package/esm2020/lib/views/cube/view.component.mjs +3 -3
- package/esm2020/lib/views/timeline/timeline.component.exp.mjs +3 -3
- package/esm2020/lib/views/view-item.component.mjs +3 -3
- package/esm2020/lib/views/views.component.mjs +3 -3
- package/esm2020/lib/views/views.mobile.component.mjs +3 -3
- package/esm2020/lib/views/views.pane.component.mjs +3 -3
- package/esm2020/public-api.mjs +2 -2
- package/fesm2015/bizdoc-core.mjs +1489 -1403
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +1488 -1402
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/profiler/profiler.component.d.ts +1 -0
- package/lib/app.component.d.ts +1 -3
- package/lib/bizdoc.module.d.ts +10 -9
- package/lib/core/session.service.d.ts +3 -1
- package/lib/cube/pivot/pivot.component.d.ts +2 -0
- package/lib/home/search.service.d.ts +1 -0
- package/lib/home/tools.component.d.ts +4 -3
- package/lib/shared.module.d.ts +162 -162
- package/lib/system.module.d.ts +1 -1
- package/package.json +17 -17
- package/public-api.d.ts +1 -1
@@ -249,7 +249,7 @@ export class CubePivotComponent {
|
|
249
249
|
caption: this._getAxisTitle(s)
|
250
250
|
};
|
251
251
|
}),
|
252
|
-
valueSortSettings: { headerDelimiter: PIVOT_HEADER_DELIMITER },
|
252
|
+
valueSortSettings: { headerDelimiter: PIVOT_HEADER_DELIMITER, },
|
253
253
|
values: this.values,
|
254
254
|
sortSettings: xAxis.map(x => {
|
255
255
|
return {
|
@@ -267,6 +267,23 @@ export class CubePivotComponent {
|
|
267
267
|
formatSettings: this.formatSettings
|
268
268
|
};
|
269
269
|
}
|
270
|
+
multiLevelLabelClick(evt) {
|
271
|
+
const { columnHeaders, rowHeaders, actualValue, axis, valueSort, actualText, isGrandSum } = evt.cell;
|
272
|
+
if (actualValue === 0)
|
273
|
+
return;
|
274
|
+
let axes, index;
|
275
|
+
if (columnHeaders || rowHeaders)
|
276
|
+
axes = this._parseAxes(columnHeaders, rowHeaders);
|
277
|
+
else if (axis === 'row')
|
278
|
+
axes = this._parseAxes('', valueSort.levelName);
|
279
|
+
else if (axis === 'column')
|
280
|
+
axes = this._parseAxes(valueSort.levelName, '');
|
281
|
+
else if (isGrandSum)
|
282
|
+
return;
|
283
|
+
if (actualText !== 'value')
|
284
|
+
index = actualText;
|
285
|
+
this.explore.emit({ axes, index });
|
286
|
+
}
|
270
287
|
/**
|
271
288
|
*
|
272
289
|
* @param evt
|
@@ -421,13 +438,14 @@ export class CubePivotComponent {
|
|
421
438
|
dataSourceSettings: this.dataSource,
|
422
439
|
width: this.width,
|
423
440
|
height: '100%',
|
424
|
-
enableValueSorting:
|
441
|
+
enableValueSorting: false,
|
425
442
|
showTooltip: false,
|
426
443
|
allowConditionalFormatting: true,
|
427
444
|
allowExcelExport: true,
|
428
445
|
gridSettings: this.gridSettings,
|
429
446
|
cellClick: this.cellClick.bind(this),
|
430
447
|
currencyCode: this.currencyCode,
|
448
|
+
multiLevelLabelClick: this.multiLevelLabelClick.bind(this),
|
431
449
|
dataBound: this.dataBound.bind(this)
|
432
450
|
}, this._elementRef.nativeElement);
|
433
451
|
}
|
@@ -460,14 +478,14 @@ export class CubePivotComponent {
|
|
460
478
|
}
|
461
479
|
}
|
462
480
|
CubePivotComponent.nextId = 0;
|
463
|
-
CubePivotComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
464
|
-
CubePivotComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
465
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
481
|
+
CubePivotComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubePivotComponent, deps: [{ token: i1.CubeService }, { token: i2.SessionService }, { token: i3.TranslateService }, { token: i4.PromptService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
482
|
+
CubePivotComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: CubePivotComponent, selector: "bizdoc-cube-pivot", inputs: { width: "width", height: "height", cube: "cube", xAxis: "xAxis", yAxis: "yAxis", series: "series", indices: "indices", filters: "filters", chartType: "chartType", indicesChartType: "indicesChartType", palettes: "palettes", loading: "loading" }, outputs: { explore: "explore", loadingChange: "loadingChange" }, host: { properties: { "style.direction": "dir", "id": "this.id" }, classAttribute: "cube-view" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true, styles: [":host ::ng-deep .e-cellvalue{cursor:pointer}\n"] });
|
483
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubePivotComponent, decorators: [{
|
466
484
|
type: Component,
|
467
485
|
args: [{
|
468
486
|
selector: 'bizdoc-cube-pivot',
|
469
487
|
template: '',
|
470
|
-
styles: ['::ng-deep .e-cellvalue { cursor: pointer }'],
|
488
|
+
styles: [':host ::ng-deep .e-cellvalue { cursor: pointer }'],
|
471
489
|
host: {
|
472
490
|
class: 'cube-view',
|
473
491
|
'[style.direction]': 'dir'
|
@@ -504,4 +522,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
504
522
|
}], id: [{
|
505
523
|
type: HostBinding
|
506
524
|
}] } });
|
507
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL3Bpdm90L3Bpdm90LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBYSxNQUFNLEVBQXlCLFdBQVcsRUFBRSxLQUFLLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBRzdJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBc0IsU0FBUyxFQUFvRCxNQUFNLDJCQUEyQixDQUFDO0FBSzVILE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQTBCLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR2hELE9BQU8sRUFBZSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUt6RixNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztBQVduQyxxQkFBcUI7QUFDckIsTUFBTSxPQUFPLGtCQUFrQjtJQWtGN0IsaUJBQWlCO0lBQ2pCLFlBQW9CLFFBQXFCLEVBQy9CLFFBQXdCLEVBQ3hCLFVBQTRCLEVBQzVCLEdBQWtCLEVBQ2xCLFdBQXVCO1FBSmIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUMvQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFr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b3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgT3V0cHV0LCBPbkRlc3Ryb3ksIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBEaXNwbGF5T3B0aW9uTW9kZWwsIFBpdm90VmlldywgQ2hhcnRTZXJpZXNUeXBlLCBDZWxsQ2xpY2tFdmVudEFyZ3MsIEV4Y2VsRXhwb3J0IH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLXBpdm90dmlldyc7XHJcbmltcG9ydCB7IENoYXJ0U2V0dGluZ3NNb2RlbCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1waXZvdHZpZXcvc3JjL3Bpdm90dmlldy9tb2RlbC9jaGFydHNldHRpbmdzLW1vZGVsJztcclxuaW1wb3J0IHsgQ29uZGl0aW9uYWxGb3JtYXRTZXR0aW5nc01vZGVsLCBEYXRhU291cmNlU2V0dGluZ3NNb2RlbCwgRmllbGRPcHRpb25zTW9kZWwsIEZvcm1hdFNldHRpbmdzTW9kZWwsIFNvcnRNb2RlbCB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItcGl2b3R2aWV3L3NyYy9waXZvdHZpZXcvbW9kZWwvZGF0YXNvdXJjZXNldHRpbmdzLW1vZGVsXCI7XHJcbmltcG9ydCB7IEdyaWRTZXR0aW5nc01vZGVsIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1waXZvdHZpZXcvc3JjL3Bpdm90dmlldy9tb2RlbC9ncmlkc2V0dGluZ3MtbW9kZWxcIjtcclxuaW1wb3J0IHsgQ2hhcnQsIElQb2ludEV2ZW50QXJncyB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWNoYXJ0cyc7XHJcbmltcG9ydCB7IEludGVybmF0aW9uYWxpemF0aW9uIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWJhc2UnO1xyXG5pbXBvcnQgeyBXb3JrYm9vaywgV29ya3NoZWV0LCBSb3csIENvbHVtbiB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1leGNlbC1leHBvcnQnO1xyXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLXBvcHVwcyc7XHJcbmltcG9ydCB7IGdldFdhcm4sIGlzQXJyYXkgfSBmcm9tICcuLi8uLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEZPTlRfRkFNSUxZIH0gZnJvbSAnLi4vLi4vY29yZS9jb2xvcnMnO1xyXG5pbXBvcnQgeyBBeGVzTWFwLCBDaGFydFR5cGUsIEN1YmUsIFlBeGlzIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBBeGlzQ2xpY2tFdmVudCwgQ3ViZVZpZXdlckNvbXBvbmVudCB9IGZyb20gXCIuLi9kZWNsYXJhdGlvbnNcIjtcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UsIERFRkFVTFRfQ1VSUkVOQ1ksIENMRFJfRklMRVMsIGVyclJlc291cmNlIH0gZnJvbSAnLi4vY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5cclxuY29uc3QgUElWT1RfSEVBREVSX0RFTElNSVRFUiA9ICd8JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWN1YmUtcGl2b3QnLFxyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBzdHlsZXM6IFsnOjpuZy1kZWVwIC5lLWNlbGx2YWx1ZSB7IGN1cnNvcjogcG9pbnRlciB9J10sXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdjdWJlLXZpZXcnLFxyXG4gICAgJ1tzdHlsZS5kaXJlY3Rpb25dJzogJ2RpcidcclxuICB9XHJcbn0pXHJcbi8qKiBwaXZvdCBjb21wb25lbnQqL1xyXG5leHBvcnQgY2xhc3MgQ3ViZVBpdm90Q29tcG9uZW50IGltcGxlbWVudHMgQ3ViZVZpZXdlckNvbXBvbmVudCwgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KClcclxuICB3aWR0aDogc3RyaW5nIHwgbnVtYmVyO1xyXG4gIEBJbnB1dCgpXHJcbiAgaGVpZ2h0OiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBjdWJlOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfeEF4aXM6IHN0cmluZ1tdO1xyXG4gIHRvb2x0aXA6IFRvb2x0aXA7XHJcbiAgcHVibGljIGdldCB4QXhpcygpOiBzdHJpbmdbXSB8IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5feEF4aXM7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCB4QXhpcyh2YWx1ZTogc3RyaW5nW10gfCBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3hBeGlzID0gaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgeUF4aXM/OiBZQXhpcztcclxuICBwcml2YXRlIF9zZXJpZXM/OiBzdHJpbmdbXTtcclxuICBwdWJsaWMgZ2V0IHNlcmllcygpOiBzdHJpbmdbXSB8IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VyaWVzO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgc2VyaWVzKHZhbHVlOiBzdHJpbmdbXSB8IHN0cmluZykge1xyXG4gICAgaWYgKHZhbHVlKSB0aGlzLl9zZXJpZXMgPSBpc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaW5kaWNlcz86IHN0cmluZ1tdO1xyXG4gIHB1YmxpYyBnZXQgaW5kaWNlcygpOiBzdHJpbmdbXSB8IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5kaWNlcztcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGluZGljZXModmFsdWU6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsdWUpIHRoaXMuX2luZGljZXMgPSBpc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBmaWx0ZXJzPzogQXhlc01hcDtcclxuICBASW5wdXQoKVxyXG4gIGNoYXJ0VHlwZT86IENoYXJ0VHlwZTtcclxuICBASW5wdXQoKVxyXG4gIGluZGljZXNDaGFydFR5cGU/OiBDaGFydFR5cGU7XHJcbiAgY3VycmVuY3lDb2RlOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfcGFsZXR0ZXMgPSB0aGlzLl9zZXNzaW9uLmFjY2VudFBhbGV0dGU7XHJcbiAgcHVibGljIGdldCBwYWxldHRlcygpIHtcclxuICAgIHJldHVybiB0aGlzLl9wYWxldHRlcztcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHBhbGV0dGVzKHZhbHVlKSB7XHJcbiAgICB0aGlzLl9wYWxldHRlcyA9IHZhbHVlO1xyXG4gIH1cclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgZXhwbG9yZSA9IG5ldyBFdmVudEVtaXR0ZXI8QXhpc0NsaWNrRXZlbnQ+KCk7XHJcbiAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgbG9hZGluZ0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBzdGF0aWMgbmV4dElkID0gMDtcclxuICBASG9zdEJpbmRpbmcoKVxyXG4gIHJlYWRvbmx5IGlkID0gYGN1YmUtcGl2b3R2aWV3LSR7Q3ViZVBpdm90Q29tcG9uZW50Lm5leHRJZCsrfWA7XHJcbiAgcGl2b3Q6IFBpdm90VmlldztcclxuICBkaXNwbGF5T3B0aW9uOiBEaXNwbGF5T3B0aW9uTW9kZWw7XHJcbiAgY2hhcnRTZXR0aW5nczogQ2hhcnRTZXR0aW5nc01vZGVsO1xyXG4gIGRhdGFTb3VyY2U6IERhdGFTb3VyY2VTZXR0aW5nc01vZGVsO1xyXG5cclxuICByZWFkb25seSBmb3JtYXRTZXR0aW5nczogRm9ybWF0U2V0dGluZ3NNb2RlbFtdID0gW3tcclxuICAgIG5hbWU6ICd2YWx1ZScsXHJcbiAgfV07XHJcbiAgdmFsdWVzOiBGaWVsZE9wdGlvbnNNb2RlbFtdO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZGl0aW9uYWxGb3JtYXRTZXR0aW5nczogQ29uZGl0aW9uYWxGb3JtYXRTZXR0aW5nc01vZGVsW10gPSBbe1xyXG4gICAgY29uZGl0aW9uczogJ0xlc3NUaGFuJyxcclxuICAgIHZhbHVlMTogMCxcclxuICAgIG1lYXN1cmU6ICd2YWx1ZScsXHJcbiAgICBhcHBseUdyYW5kVG90YWxzOiB0cnVlLFxyXG4gICAgc3R5bGU6IHsgY29sb3I6IGdldFdhcm4oKSB9XHJcbiAgfV07XHJcbiAgcmVhZG9ubHkgZ3JpZFNldHRpbmdzOiBHcmlkU2V0dGluZ3NNb2RlbCA9IHtcclxuICAgIHJvd0hlaWdodDogMzYsXHJcbiAgICBhbGxvd1NlbGVjdGlvbjogZmFsc2VcclxuICB9O1xyXG4gIGRpcjogRGlyZWN0aW9uO1xyXG4gIHByaXZhdGUgX2N1YmU6IEN1YmU7XHJcbiAgcHJpdmF0ZSBfZGF0YToge31bXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9pbnRsOiBJbnRlcm5hdGlvbmFsaXphdGlvbiA9IG5ldyBJbnRlcm5hdGlvbmFsaXphdGlvbigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZW1wdHlDZWxsc1RleHRDb250ZW50ID0gdGhpcy5faW50bC5mb3JtYXROdW1iZXIoMCwge30pO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICAvKiogcGl2b3QgY3RvciAqL1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcclxuICAgIHRoaXMuX3Nlc3Npb24udGhlbWVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgaWYgKHRoaXMucGl2b3QuY2hhcnQpIHtcclxuICAgICAgICB0aGlzLmNoYXJ0U2V0dGluZ3MudGhlbWUgPSB0LmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCc7XHJcbiAgICAgICAgdGhpcy5jaGFydFNldHRpbmdzLnBhbGV0dGVzID0gdGhpcy5fc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gICAgICB9IGVsc2VcclxuICAgICAgICB0aGlzLmNvbmRpdGlvbmFsRm9ybWF0U2V0dGluZ3MuZm9yRWFjaChmID0+IGYuc3R5bGUuY29sb3IgPSBnZXRXYXJuKCkpO1xyXG4gICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLl9jdWJlID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IHRoaXMuY3ViZSkgfHwgdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzWzBdO1xyXG4gICAgdGhpcy5jdXJyZW5jeUNvZGUgPSB0aGlzLl9jdWJlLmN1cnJlbmN5Q29kZTtcclxuICAgIHRoaXMuZGlyID0gdGhpcy5jaGFydFR5cGUgPyAnbHRyJyA6IHRoaXMuX3Nlc3Npb24uZGlyZWN0aW9uO1xyXG4gICAgdGhpcy5mb3JtYXRTZXR0aW5nc1swXS5jdXJyZW5jeSA9IHRoaXMuY3VycmVuY3lDb2RlO1xyXG4gICAgaWYgKHRoaXMuX2N1YmUueUF4aXMpIHN3aXRjaCAodGhpcy5fY3ViZS55QXhpcy50eXBlKSB7XHJcbiAgICAgIGNhc2UgJ051bWJlcic6XHJcbiAgICAgIGNhc2UgJ05vbmUnOlxyXG4gICAgICAgIHRoaXMuZm9ybWF0U2V0dGluZ3NbMF0uZm9ybWF0ID0gJ24nICsgdGhpcy5fc2VydmljZS5mcmFjdGlvbkRpZ2l0cztcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLmZvcm1hdFNldHRpbmdzWzBdLmZvcm1hdCA9ICh0aGlzLmN1cnJlbmN5Q29kZSA/ICdjJyA6ICduJykgKyB0aGlzLl9zZXJ2aWNlLmZyYWN0aW9uRGlnaXRzO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLmZvcm1hdFNldHRpbmdzWzBdLmZvcm1hdCA9ICh0aGlzLmN1cnJlbmN5Q29kZSA/ICdjJyA6ICduJykgKyB0aGlzLl9zZXJ2aWNlLmZyYWN0aW9uRGlnaXRzO1xyXG4gICAgaWYgKHRoaXMuY2hhcnRUeXBlKSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheU9wdGlvbiA9IHtcclxuICAgICAgICB2aWV3OiAnQ2hhcnQnLFxyXG4gICAgICAgIHByaW1hcnk6ICdDaGFydCdcclxuICAgICAgfTtcclxuICAgICAgdGhpcy5jaGFydFNldHRpbmdzID0ge1xyXG4gICAgICAgIHBvaW50Q2xpY2s6IHRoaXMucG9pbnRDbGljay5iaW5kKHRoaXMpLFxyXG4gICAgICAgIGNoYXJ0U2VyaWVzOiB7IHR5cGU6IHRoaXMuY2hhcnRUeXBlIGFzIENoYXJ0U2VyaWVzVHlwZSB9LFxyXG4gICAgICAgIC8vaXNUcmFuc3Bvc2VkOiB0cnVlLCAgICAgICAgXHJcbiAgICAgICAgZW5hYmxlRXhwb3J0OiB0cnVlLFxyXG4gICAgICAgIGNoYXJ0QXJlYToge1xyXG4gICAgICAgICAgYm9yZGVyOiB7IHdpZHRoOiAwIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHBhbGV0dGVzOiB0aGlzLnBhbGV0dGVzLFxyXG4gICAgICAgIHRoZW1lOiB0aGlzLl9zZXNzaW9uLnRoZW1lLmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCcsXHJcbiAgICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcclxuICAgICAgICBwcmltYXJ5WEF4aXM6IHtcclxuICAgICAgICAgIHRpdGxlU3R5bGU6IHtcclxuICAgICAgICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBsYWJlbFN0eWxlOiB7XHJcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB6b29tU2V0dGluZ3M6IHtcclxuICAgICAgICAgIGVuYWJsZU1vdXNlV2hlZWxab29taW5nOiB0cnVlLFxyXG4gICAgICAgICAgZW5hYmxlUGluY2hab29taW5nOiB0cnVlLFxyXG4gICAgICAgICAgdG9vbGJhckl0ZW1zOiBbXSxcclxuICAgICAgICAgIGVuYWJsZVNlbGVjdGlvblpvb21pbmc6IGZhbHNlLFxyXG4gICAgICAgICAgZW5hYmxlU2Nyb2xsYmFyOiB0cnVlXHJcbiAgICAgICAgfSxcclxuICAgICAgICBib3JkZXI6IHsgd2lkdGg6IDAgfSxcclxuICAgICAgICBsZWdlbmRTZXR0aW5nczoge1xyXG4gICAgICAgICAgaXNJbnZlcnNlZDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgICAgICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB0b29sdGlwOiB7XHJcbiAgICAgICAgICBlbmFibGVBbmltYXRpb246IGZhbHNlLFxyXG4gICAgICAgICAgYm9yZGVyOiB7IHdpZHRoOiAwIH0sXHJcbiAgICAgICAgICB0ZXh0U3R5bGU6IHtcclxuICAgICAgICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHRpdGxlU3R5bGU6IHtcclxuICAgICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgICAgfSxcclxuICAgICAgICBzdWJUaXRsZVN0eWxlOiB7XHJcbiAgICAgICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcHJpbWFyeVlBeGlzOiB7XHJcbiAgICAgICAgICB0aXRsZVN0eWxlOiB7XHJcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbGFiZWxTdHlsZToge1xyXG4gICAgICAgICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHRoaXMudmFsdWVzID0gW3tcclxuICAgICAgbmFtZTogJ3ZhbHVlJyxcclxuICAgICAgY2FwdGlvbjogKHRoaXMueUF4aXMgPyB0aGlzLnlBeGlzLnRpdGxlIDogbnVsbCkgfHwgdGhpcy5fdHJhbnNsYXRlLmdldCgnVmFsdWUnKVxyXG4gICAgfV07XHJcbiAgICB0aGlzLl9pbmRpY2VzICYmXHJcbiAgICAgIHRoaXMuX2luZGljZXMuZm9yRWFjaChpID0+IHtcclxuICAgICAgICB0aGlzLmNvbmRpdGlvbmFsRm9ybWF0U2V0dGluZ3MucHVzaCh7XHJcbiAgICAgICAgICBjb25kaXRpb25zOiAnTGVzc1RoYW4nLFxyXG4gICAgICAgICAgdmFsdWUxOiAwLFxyXG4gICAgICAgICAgYXBwbHlHcmFuZFRvdGFsczogdHJ1ZSxcclxuICAgICAgICAgIG1lYXN1cmU6IGksXHJcbiAgICAgICAgICBzdHlsZTogeyBjb2xvcjogZ2V0V2FybigpIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnZhbHVlcy5cclxuICAgICAgICAgIHB1c2goe1xyXG4gICAgICAgICAgICBuYW1lOiBpLFxyXG4gICAgICAgICAgICBjYXB0aW9uOiB0aGlzLl9nZXRJbmRleFRpdGxlKGkpXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmZvcm1hdFNldHRpbmdzLlxyXG4gICAgICAgICAgcHVzaCh7XHJcbiAgICAgICAgICAgIG5hbWU6IGksXHJcbiAgICAgICAgICAgIGZvcm1hdDogdGhpcy5mb3JtYXRTZXR0aW5nc1swXS5mb3JtYXQsXHJcbiAgICAgICAgICAgIGN1cnJlbmN5OiB0aGlzLmN1cnJlbmN5Q29kZSxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuZXhlY3V0ZSgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9nZXRJbmRleFRpdGxlKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3ViZS5pbmRpY2VzLmZpbmQoaSA9PiBpLm5hbWUgPT09IG5hbWUpLnRpdGxlO1xyXG4gIH1cclxuICBwcml2YXRlIF9nZXRBeGlzVGl0bGUobmFtZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBheGlzID0gdGhpcy5fY3ViZS5heGVzLmZpbmQoYSA9PiBhLm5hbWUgPT09IG5hbWUpO1xyXG4gICAgcmV0dXJuIGF4aXMudGl0bGU7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqL1xyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydmaWx0ZXJzJ10gJiYgIWNoYW5nZXNbJ2ZpbHRlcnMnXS5maXJzdENoYW5nZSlcclxuICAgICAgdGhpcy5leGVjdXRlKCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIGlmIChjaGFuZ2VzWydoZWlnaHQnXSB8fCBjaGFuZ2VzWyd3aWR0aCddKVxyXG4gICAgICAgIHRoaXMucmVzaXplKCk7XHJcbiAgfVxyXG4gIGV4ZWN1dGUoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdCh0cnVlKTtcclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh0aGlzLmZpbHRlcnMpO1xyXG4gICAgLy8gcmVtb3ZlIGZpbHRlcmluZyBmcm9tIHBpdm90IGF4ZXNcclxuICAgIGxldCB4QXhpczIgPSB0aGlzLl94QXhpcy5zbGljZSgpLCBzZXJpZXMyID0gdGhpcy5fc2VyaWVzLnNsaWNlKCk7XHJcbiAgICBpZiAoa2V5cy5sZW5ndGgpIHtcclxuICAgICAgaWYgKHhBeGlzMi5sZW5ndGggPiAxKVxyXG4gICAgICAgIHhBeGlzMiA9IHhBeGlzMi5maWx0ZXIoeCA9PiBrZXlzLmluZGV4T2YoeCkgPCAwKTtcclxuICAgICAgaWYgKHNlcmllczIubGVuZ3RoID4gMSlcclxuICAgICAgICBzZXJpZXMyID0gc2VyaWVzMi5maWx0ZXIoeCA9PiBrZXlzLmluZGV4T2YoeCkgPCAwKTtcclxuICAgIH1cclxuICAgIGlmICghc2VyaWVzMi5sZW5ndGgpIHNlcmllczIgPSB0aGlzLl9zZXJpZXMuc2xpY2UoLTEpO1xyXG4gICAgaWYgKCF4QXhpczIubGVuZ3RoKSB4QXhpczIgPSB0aGlzLl94QXhpcy5zbGljZSgtMSk7XHJcbiAgICAvLyBjb2x1bW5zXHJcbiAgICBjb25zdCBjb2x1bW5zID0geEF4aXMyLmNvbmNhdChzZXJpZXMyKTtcclxuICAgIC8vIHF1ZXJ5XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnRhYmxlKHRoaXMuX2N1YmUubmFtZSwgY29sdW1ucywgeyBmaWx0ZXJzOiB0aGlzLmZpbHRlcnMsIGluZGljZXM6IHRoaXMuaW5kaWNlcyB9KS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgIHRoaXMuX3ByZXNldHMoeEF4aXMyLCBzZXJpZXMyLCByKTtcclxuICAgICAgdGhpcy5fZHJhdygpO1xyXG4gICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICB9LCAoZTogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgdGhpcy5fc2IuZXJyb3IoZXJyUmVzb3VyY2UoZSkpO1xyXG4gICAgICB0aGlzLmxvYWRpbmdDaGFuZ2UuZW1pdChmYWxzZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB4QXhpc1xyXG4gICAqIEBwYXJhbSBzZXJpZXNcclxuICAgKiBAcGFyYW0gZGF0YVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX3ByZXNldHMoeEF4aXM6IHN0cmluZ1tdLCBzZXJpZXM6IHN0cmluZ1tdLCBkYXRhOiB7fVtdKSB7XHJcbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IHtcclxuICAgICAgY29sdW1uczogeEF4aXMubWFwKHggPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBuYW1lOiB4LFxyXG4gICAgICAgICAgY2FwdGlvbjogdGhpcy5fZ2V0QXhpc1RpdGxlKHgpXHJcbiAgICAgICAgfSBhcyBGaWVsZE9wdGlvbnNNb2RlbDtcclxuICAgICAgfSksXHJcbiAgICAgIHJvd3M6IHNlcmllcy5tYXAocyA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIG5hbWU6IHMsXHJcbiAgICAgICAgICBjYXB0aW9uOiB0aGlzLl9nZXRBeGlzVGl0bGUocylcclxuICAgICAgICB9IGFzIEZpZWxkT3B0aW9uc01vZGVsO1xyXG4gICAgICB9KSxcclxuICAgICAgdmFsdWVTb3J0U2V0dGluZ3M6IHsgaGVhZGVyRGVsaW1pdGVyOiBQSVZPVF9IRUFERVJfREVMSU1JVEVSIH0sXHJcbiAgICAgIHZhbHVlczogdGhpcy52YWx1ZXMsXHJcbiAgICAgIHNvcnRTZXR0aW5nczogeEF4aXMubWFwKHggPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBuYW1lOiAnXycgKyB4LFxyXG4gICAgICAgIH0gYXMgU29ydE1vZGVsO1xyXG4gICAgICB9KSxcclxuICAgICAgLy9jb25kaXRpb25hbEZvcm1hdFNldHRpbmdzOiB0aGlzLmNvbmRpdGlvbmFsRm9ybWF0U2V0dGluZ3MsXHJcbiAgICAgIGFsd2F5c1Nob3dWYWx1ZUhlYWRlcjogZmFsc2UsXHJcbiAgICAgIGFsbG93TWVtYmVyRmlsdGVyOiBmYWxzZSxcclxuICAgICAgYWxsb3dWYWx1ZUZpbHRlcjogZmFsc2UsXHJcbiAgICAgIGFsbG93TGFiZWxGaWx0ZXI6IGZhbHNlLFxyXG4gICAgICBkYXRhU291cmNlOiBkYXRhLFxyXG4gICAgICBlbXB0eUNlbGxzVGV4dENvbnRlbnQ6IHRoaXMuZW1wdHlDZWxsc1RleHRDb250ZW50LFxyXG4gICAgICBlbmFibGVTb3J0aW5nOiBmYWxzZSxcclxuICAgICAgZm9ybWF0U2V0dGluZ3M6IHRoaXMuZm9ybWF0U2V0dGluZ3NcclxuICAgIH0gYXMgRGF0YVNvdXJjZVNldHRpbmdzTW9kZWw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gZXZ0XHJcbiAgICovXHJcbiAgY2VsbENsaWNrKGV2dDogQ2VsbENsaWNrRXZlbnRBcmdzKSB7XHJcbiAgICBjb25zdCB7IGNvbHVtbkhlYWRlcnMsIHJvd0hlYWRlcnMsIGFjdHVhbFRleHQsIGFjdHVhbFZhbHVlLCBheGlzLCB2YWx1ZVNvcnQsIGlzR3JhbmRTdW0gfSA9IGV2dC5kYXRhIGFzIGFueTtcclxuICAgIGlmIChhY3R1YWxWYWx1ZSA9PT0gMCkgcmV0dXJuO1xyXG4gICAgbGV0IGF4ZXMsIGluZGV4O1xyXG4gICAgaWYgKGNvbHVtbkhlYWRlcnMgfHwgcm93SGVhZGVycykgXHJcbiAgICAgIGF4ZXMgPSB0aGlzLl9wYXJzZUF4ZXMoY29sdW1uSGVhZGVycywgcm93SGVhZGVycyk7XHJcbiAgICBlbHNlIGlmIChheGlzID09PSAncm93JylcclxuICAgICAgYXhlcyA9IHRoaXMuX3BhcnNlQXhlcygnJywgdmFsdWVTb3J0LmxldmVsTmFtZSk7XHJcbiAgICBlbHNlIGlmIChheGlzID09PSAnY29sdW1uJylcclxuICAgICAgYXhlcyA9IHRoaXMuX3BhcnNlQXhlcyh2YWx1ZVNvcnQubGV2ZWxOYW1lLCAnJyk7XHJcbiAgICBlbHNlIGlmIChpc0dyYW5kU3VtKSByZXR1cm47XHJcbiAgICBpZiAoYWN0dWFsVGV4dCAhPT0gJ3ZhbHVlJykgaW5kZXggPSBhY3R1YWxUZXh0O1xyXG4gICAgdGhpcy5leHBsb3JlLmVtaXQoeyBheGVzLCBpbmRleCB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogYXhlcyBmcm9tIGhlYWRlcnNcclxuICAgKiBAcGFyYW0gY29sdW1uSGVhZGVyc1xyXG4gICAqIEBwYXJhbSByb3dIZWFkZXJzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfcGFyc2VBeGVzKGNvbHVtbkhlYWRlcnM6IHN0cmluZywgcm93SGVhZGVyczogc3RyaW5nKTogQXhlc01hcCB7XHJcbiAgICBjb25zdCBheGVzOiBBeGVzTWFwID0ge307XHJcbiAgICBpZiAoY29sdW1uSGVhZGVycyAhPT0gJycpXHJcbiAgICAgIGNvbHVtbkhlYWRlcnMuc3BsaXQoUElWT1RfSEVBREVSX0RFTElNSVRFUikuZm9yRWFjaCgoYywgaSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbHVtbiA9IHRoaXMuZGF0YVNvdXJjZS5jb2x1bW5zW2ldLm5hbWUsXHJcbiAgICAgICAgICAvLyBmaW5kIGFueSByb3cgd2l0aCBoZWFkZXJcclxuICAgICAgICAgIGVsZW1lbnQgPSB0aGlzLl9kYXRhLmZpbmQoZSA9PiBlW2NvbHVtbl0udG9TdHJpbmcoKSA9PT0gYyk7XHJcbiAgICAgICAgLy8gdHJhbnNsYXRlIGJhY2sgdG8ga2V5XHJcbiAgICAgICAgYXhlc1tjb2x1bW5dID0gZWxlbWVudFtgXyR7Y29sdW1ufWBdO1xyXG4gICAgICB9KTtcclxuICAgIGlmIChyb3dIZWFkZXJzICE9PSAnJylcclxuICAgICAgcm93SGVhZGVycy5zcGxpdChQSVZPVF9IRUFERVJfREVMSU1JVEVSKS5mb3JFYWNoKChyLCBpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29sdW1uID0gdGhpcy5kYXRhU291cmNlLnJvd3NbaV0ubmFtZSxcclxuICAgICAgICAgIGVsZW1lbnQgPSB0aGlzLl9kYXRhLmZpbmQoZSA9PiBlW2NvbHVtbl0gPT09IHIpO1xyXG4gICAgICAgIGF4ZXNbY29sdW1uXSA9IGVsZW1lbnRbYF8ke2NvbHVtbn1gXTtcclxuICAgICAgfSk7XHJcbiAgICByZXR1cm4gYXhlcztcclxuICB9XHJcbiAgLyoqXHJcbiAgICogY2hhcnRcclxuICAgKiBAcGFyYW0gZVxyXG4gICAqL1xyXG4gIHBvaW50Q2xpY2soZTogSVBvaW50RXZlbnRBcmdzKSB7XHJcbiAgICBjb25zdCB7IHBvaW50OiB7IHggfSwgc2VyaWVzOiB7IG5hbWUgfSB9ID0gZTtcclxuICAgIGNvbnN0IGF4ZXM6IHsgW2F4aXM6IHN0cmluZ106IGFueSB9ID0ge307XHJcbiAgICAvLyBzZXQgYXhlcyBmcm9tIHggbGFiZWwocylcclxuICAgICh4IGFzIHN0cmluZykuc3BsaXQoJyAtICcpLmZvckVhY2goKHgsIGkpID0+IHtcclxuICAgICAgY29uc3QgY29sdW1uID0gdGhpcy5kYXRhU291cmNlLnJvd3NbaV0ubmFtZSxcclxuICAgICAgICBlbGVtZW50ID0gdGhpcy5fZGF0YS5maW5kKGUgPT4gZVtjb2x1bW5dID09PSB4KTtcclxuICAgICAgYXhlc1tjb2x1bW5dID0gZWxlbWVudCA/IGVsZW1lbnRbYF8ke2NvbHVtbn1gXSA6IHg7XHJcbiAgICB9KTtcclxuICAgIC8vIHNldCBheGVzIGZyb20gc2VyaWVzIGxhYmVsXHJcbiAgICBpZiAobmFtZSAhPT0gJycpIHtcclxuICAgICAgY29uc3QgY29sdW1uID0gdGhpcy5kYXRhU291cmNlLmNvbHVtbnNbMF0ubmFtZSxcclxuICAgICAgICAvLyBmaW5kIGFueSByb3cgd2l0aCBoZWFkZXJcclxuICAgICAgICBlbGVtZW50ID0gdGhpcy5fZGF0YS5maW5kKGUgPT4gZVtjb2x1bW5dID09PSBuYW1lKTtcclxuICAgICAgLy8gdHJhbnNsYXRlIGJhY2sgdG8ga2V5XHJcbiAgICAgIGF4ZXNbY29sdW1uXSA9IGVsZW1lbnQgPyBlbGVtZW50W2BfJHtjb2x1bW59YF0gOiBuYW1lO1xyXG4gICAgfVxyXG4gICAgdGhpcy5leHBsb3JlLmVtaXQoeyBheGVzIH0pO1xyXG4gIH1cclxuICBhc3luYyBleHBvcnRUb0V4Y2VsKHRpdGxlOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmN1cnJlbmN5Q29kZSAmJiB0aGlzLmN1cnJlbmN5Q29kZSAhPT0gREVGQVVMVF9DVVJSRU5DWSlcclxuICAgICAgYXdhaXQgdGhpcy5fdHJhbnNsYXRlLmNsZHIodGhpcy5fc2Vzc2lvbi5sYW5ndWFnZSwgQ0xEUl9GSUxFUyk7XHJcbiAgICBpZiAodGhpcy5jaGFydFR5cGUpXHJcbiAgICAgIHRoaXMuX2V4cG9ydEV4Y2VsKHRpdGxlKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5waXZvdC5leGNlbEV4cG9ydCh7IGZpbGVOYW1lOiBgJHt0aXRsZX0ueGxzeGAsIGhpZXJhcmNoeUV4cG9ydE1vZGU6ICdBbGwnLCB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZXhwb3J0RXhjZWwodGl0bGU6IHN0cmluZykge1xyXG4gICAgY29uc3QgbnVtYmVyRm9ybWF0ID0gdGhpcy5fc2VydmljZS5udW1iZXJGb3JtYXQsIGNvbHVtbnMgPSB0aGlzLl9jdWJlLmF4ZXMuZmlsdGVyKGEgPT4gdGhpcy5feEF4aXMuaW5kZXhPZihhLm5hbWUpID4gLTEgfHxcclxuICAgICAgdGhpcy5fc2VyaWVzLmluZGV4T2YoYS5uYW1lKSA+IC0xKSwgcm93cyA9IFt7XHJcbiAgICAgICAgaW5kZXg6IDEsXHJcbiAgICAgICAgY2VsbHM6IGNvbHVtbnMubWFwKChjLCBpKSA9PiAoe1xyXG4gICAgICAgICAgaW5kZXg6IGkgKyAxLCB2YWx1ZTogYy50aXRsZSxcclxuICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGFzIENlbGwpKVxyXG4gICAgICB9XSBhcyBSb3dbXTtcclxuICAgIHJvd3NbMF0uY2VsbHMucHVzaCh7XHJcbiAgICAgIGluZGV4OiBjb2x1bW5zLmxlbmd0aCArIDEsXHJcbiAgICAgIHZhbHVlOiB0aGlzLnlBeGlzID8gdGhpcy55QXhpcy50aXRsZSA6XHJcbiAgICAgICAgdGhpcy5fdHJhbnNsYXRlLmdldCgnVmFsdWUnKSxcclxuICAgICAgc3R5bGU6IHtcclxuICAgICAgICBib2xkOiB0cnVlXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5faW5kaWNlcyAmJiB0aGlzLl9pbmRpY2VzLmZvckVhY2goKHgsIGkpID0+IHJvd3NbMF0uY2VsbHMucHVzaCh7XHJcbiAgICAgIGluZGV4OiBjb2x1bW5zLmxlbmd0aCArIGkgKyAyLFxyXG4gICAgICB2YWx1ZTogdGhpcy5fZ2V0SW5kZXhUaXRsZSh4KSxcclxuICAgICAgc3R5bGU6IHtcclxuICAgICAgICBib2xkOiB0cnVlXHJcbiAgICAgIH1cclxuICAgIH0pKTtcclxuICAgIHRoaXMuX2RhdGEuZm9yRWFjaCgociwgaSkgPT4ge1xyXG4gICAgICBjb25zdCBjZWxscyA9IGNvbHVtbnMubWFwKChjLCBqKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGluZGV4OiBqICsgMSwgdmFsdWU6IHJbYy5uYW1lXSxcclxuICAgICAgICAgIHN0eWxlOiB7fVxyXG4gICAgICAgIH0gYXMgQ2VsbDtcclxuICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgICBjZWxscy5wdXNoKHtcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICBpbmRleDogY29sdW1ucy5sZW5ndGggKyAxLFxyXG4gICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICBudW1iZXJGb3JtYXQsXHJcbiAgICAgICAgICBoQWxpZ246ICdyaWdodCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHZhbHVlOiByWyd2YWx1ZSddXHJcbiAgICAgIH0gYXMgQ2VsbCk7XHJcbiAgICAgIHRoaXMuX2luZGljZXMgJiYgdGhpcy5faW5kaWNlcy5mb3JFYWNoKCh4LCBpKSA9PiBjZWxscy5wdXNoKHtcclxuICAgICAgICB0eXBlOiAnbnVtYmVyJyxcclxuICAgICAgICBpbmRleDogY29sdW1ucy5sZW5ndGggKyBpICsgMixcclxuICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgbnVtYmVyRm9ybWF0LFxyXG4gICAgICAgICAgaEFsaWduOiAncmlnaHQnXHJcbiAgICAgICAgfSxcclxuICAgICAgICB2YWx1ZTogclt4XVxyXG4gICAgICB9IGFzIENlbGwpXHJcbiAgICAgICk7XHJcbiAgICAgIHJvd3MucHVzaChcclxuICAgICAgICB7XHJcbiAgICAgICAgICBpbmRleDogaSArIDIsXHJcbiAgICAgICAgICBjZWxsc1xyXG4gICAgICAgIH0gYXMgUm93KTtcclxuICAgIH0pO1xyXG4gICAgY29uc3QgYm9vayA9IG5ldyBXb3JrYm9vayhcclxuICAgICAge1xyXG4gICAgICAgIHdvcmtzaGVldHM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZW5hYmxlUnRsOiB0aGlzLl9zZXNzaW9uLmludmVyc2UsXHJcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1NoZWV0TicsIDEpLFxyXG4gICAgICAgICAgICBjb2x1bW5zOiBbLi4uY29sdW1ucy5tYXAoKF8sIGkpID0+ICh7IGluZGV4OiBpICsgMSwgd2lkdGg6IDI1MCB9IGFzIENvbHVtbikpLFxyXG4gICAgICAgICAgICB7IGluZGV4OiBjb2x1bW5zLmxlbmd0aCArIDEgfSxcclxuICAgICAgICAgICAgLi4uKHRoaXMuX2luZGljZXMgPyB0aGlzLl9pbmRpY2VzLm1hcCgoXywgaSkgPT4gKHtcclxuICAgICAgICAgICAgICBpbmRleDogY29sdW1ucy5sZW5ndGggKyBpICsgMlxyXG4gICAgICAgICAgICB9KSkgOiBbXSlcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgcm93c1xyXG4gICAgICAgICAgfSBhcyBXb3Jrc2hlZXRcclxuICAgICAgICBdLFxyXG4gICAgICB9LFxyXG4gICAgICAneGxzeCdcclxuICAgICk7XHJcbiAgICBib29rLnNhdmUoYCR7dGl0bGV9Lnhsc3hgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RyYXcoKSB7XHJcbiAgICB0aGlzLnBpdm90ICYmIHRoaXMucGl2b3QuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5waXZvdCA9IG5ldyBQaXZvdFZpZXcoe1xyXG4gICAgICBzcGlubmVyVGVtcGxhdGU6ICcnLFxyXG4gICAgICBjaGFydFNldHRpbmdzOiB0aGlzLmNoYXJ0U2V0dGluZ3MsXHJcbiAgICAgIGRpc3BsYXlPcHRpb246IHRoaXMuZGlzcGxheU9wdGlvbixcclxuICAgICAgZGF0YVNvdXJjZVNldHRpbmdzOiB0aGlzLmRhdGFTb3VyY2UsXHJcbiAgICAgIHdpZHRoOiB0aGlzLndpZHRoLFxyXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcclxuICAgICAgZW5hYmxlVmFsdWVTb3J0aW5nOiB0cnVlLFxyXG4gICAgICBzaG93VG9vbHRpcDogZmFsc2UsXHJcbiAgICAgIGFsbG93Q29uZGl0aW9uYWxGb3JtYXR0aW5nOiB0cnVlLFxyXG4gICAgICBhbGxvd0V4Y2VsRXhwb3J0OiB0cnVlLFxyXG4gICAgICBncmlkU2V0dGluZ3M6IHRoaXMuZ3JpZFNldHRpbmdzLFxyXG4gICAgICBjZWxsQ2xpY2s6IHRoaXMuY2VsbENsaWNrLmJpbmQodGhpcyksXHJcbiAgICAgIGN1cnJlbmN5Q29kZTogdGhpcy5jdXJyZW5jeUNvZGUsXHJcbiAgICAgIGRhdGFCb3VuZDogdGhpcy5kYXRhQm91bmQuYmluZCh0aGlzKVxyXG4gICAgfSwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcbiAgZGF0YUJvdW5kKF8pIHtcclxuICAgIHRoaXMudG9vbHRpcCA9IG5ldyBUb29sdGlwKHtcclxuICAgICAgdGFyZ2V0OiAnLmUtaWNvbnMnLFxyXG4gICAgICBjc3NDbGFzczogJ2UtY3VzdG9tLXRvb2x0aXAnLFxyXG4gICAgICBwb3NpdGlvbjogJ0JvdHRvbUNlbnRlcicsXHJcbiAgICAgIG9mZnNldFk6IDE1LFxyXG4gICAgICBlbmFibGVSdGw6IHRoaXMucGl2b3QuZW5hYmxlUnRsLFxyXG4gICAgICBsb2NhbGU6IHRoaXMucGl2b3QubG9jYWxlLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnRvb2x0aXAuYXBwZW5kVG8odGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcbiAgcmVzaXplKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGl2b3QpIHtcclxuICAgICAgLy90aGlzLnBpdm90LmhlaWdodCA9IHRoaXMuaGVpZ2h0O1xyXG4gICAgICB0aGlzLnBpdm90LndpZHRoID0gdGhpcy53aWR0aDtcclxuICAgICAgaWYgKHRoaXMuY2hhcnRTZXR0aW5ncylcclxuICAgICAgICB0aGlzLnBpdm90LmNoYXJ0ICYmICh0aGlzLnBpdm90LmNoYXJ0IGFzIHVua25vd24gYXMgQ2hhcnQpLmNoYXJ0UmVzaXplKCk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLnBpdm90Lm9uV2luZG93UmVzaXplKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy50b29sdGlwICYmIHRoaXMudG9vbHRpcC5kZXN0cm95KCk7XHJcbiAgICB0aGlzLnBpdm90ICYmIHRoaXMucGl2b3QuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBDZWxsIHsgfVxyXG4iXX0=
|
525
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jdWJlL3Bpdm90L3Bpdm90LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBYSxNQUFNLEVBQXlCLFdBQVcsRUFBRSxLQUFLLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBRzdJLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBc0IsU0FBUyxFQUF1QyxNQUFNLDJCQUEyQixDQUFDO0FBSy9HLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTVELE9BQU8sRUFBRSxRQUFRLEVBQTBCLE1BQU0sOEJBQThCLENBQUM7QUFDaEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR2hELE9BQU8sRUFBZSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUt6RixNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztBQVduQyxxQkFBcUI7QUFDckIsTUFBTSxPQUFPLGtCQUFrQjtJQWtGN0IsaUJBQWlCO0lBQ2pCLFlBQW9CLFFBQXFCLEVBQy9CLFFBQXdCLEVBQ3hCLFVBQTRCLEVBQzVCLEdBQWtCLEVBQ2xCLFdBQXVCO1FBSmIsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUMvQixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFr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UUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O0FBNWJNLHlCQUFNLEdBQUcsQ0FBQyxDQUFDOytHQXBEUCxrQkFBa0I7bUdBQWxCLGtCQUFrQiwrZUFSbkIsRUFBRTsyRkFRRCxrQkFBa0I7a0JBVjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osTUFBTSxFQUFFLENBQUMsa0RBQWtELENBQUM7b0JBQzVELElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsV0FBVzt3QkFDbEIsbUJBQW1CLEVBQUUsS0FBSztxQkFDM0I7aUJBQ0Y7bU5BSUMsS0FBSztzQkFESixLQUFLO2dCQUdOLE1BQU07c0JBREwsS0FBSztnQkFHTixJQUFJO3NCQURILEtBQUs7Z0JBUUssS0FBSztzQkFEZixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFPSyxNQUFNO3NCQURoQixLQUFLO2dCQVNLLE9BQU87c0JBRGpCLEtBQUs7Z0JBS04sT0FBTztzQkFETixLQUFLO2dCQUdOLFNBQVM7c0JBRFIsS0FBSztnQkFHTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQUlhLE9BQU87c0JBQXpCLE1BQU07Z0JBQ0UsT0FBTztzQkFBZixLQUFLO2dCQUNhLGFBQWE7c0JBQS9CLE1BQU07Z0JBR0UsRUFBRTtzQkFEVixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgT3V0cHV0LCBPbkRlc3Ryb3ksIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBEaXNwbGF5T3B0aW9uTW9kZWwsIFBpdm90VmlldywgQ2hhcnRTZXJpZXNUeXBlLCBDZWxsQ2xpY2tFdmVudEFyZ3MgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItcGl2b3R2aWV3JztcclxuaW1wb3J0IHsgQ2hhcnRTZXR0aW5nc01vZGVsIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLXBpdm90dmlldy9zcmMvcGl2b3R2aWV3L21vZGVsL2NoYXJ0c2V0dGluZ3MtbW9kZWwnO1xyXG5pbXBvcnQgeyBDb25kaXRpb25hbEZvcm1hdFNldHRpbmdzTW9kZWwsIERhdGFTb3VyY2VTZXR0aW5nc01vZGVsLCBGaWVsZE9wdGlvbnNNb2RlbCwgRm9ybWF0U2V0dGluZ3NNb2RlbCwgU29ydE1vZGVsIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1waXZvdHZpZXcvc3JjL3Bpdm90dmlldy9tb2RlbC9kYXRhc291cmNlc2V0dGluZ3MtbW9kZWxcIjtcclxuaW1wb3J0IHsgR3JpZFNldHRpbmdzTW9kZWwgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLXBpdm90dmlldy9zcmMvcGl2b3R2aWV3L21vZGVsL2dyaWRzZXR0aW5ncy1tb2RlbFwiO1xyXG5pbXBvcnQgeyBDaGFydCwgSVBvaW50RXZlbnRBcmdzIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItY2hhcnRzJztcclxuaW1wb3J0IHsgSW50ZXJuYXRpb25hbGl6YXRpb24gfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYmFzZSc7XHJcbmltcG9ydCB7IE11bHRpTGV2ZWxMYWJlbENsaWNrRXZlbnRBcmdzIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItcGl2b3R2aWV3JztcclxuaW1wb3J0IHsgV29ya2Jvb2ssIFdvcmtzaGVldCwgUm93LCBDb2x1bW4gfSBmcm9tICdAc3luY2Z1c2lvbi9lajItZXhjZWwtZXhwb3J0JztcclxuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1wb3B1cHMnO1xyXG5pbXBvcnQgeyBnZXRXYXJuLCBpc0FycmF5IH0gZnJvbSAnLi4vLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBGT05UX0ZBTUlMWSB9IGZyb20gJy4uLy4uL2NvcmUvY29sb3JzJztcclxuaW1wb3J0IHsgQXhlc01hcCwgQ2hhcnRUeXBlLCBDdWJlLCBZQXhpcyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQXhpc0NsaWNrRXZlbnQsIEN1YmVWaWV3ZXJDb21wb25lbnQgfSBmcm9tIFwiLi4vZGVjbGFyYXRpb25zXCI7XHJcbmltcG9ydCB7IEN1YmVTZXJ2aWNlLCBERUZBVUxUX0NVUlJFTkNZLCBDTERSX0ZJTEVTLCBlcnJSZXNvdXJjZSB9IGZyb20gJy4uL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuXHJcbmNvbnN0IFBJVk9UX0hFQURFUl9ERUxJTUlURVIgPSAnfCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1jdWJlLXBpdm90JyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgc3R5bGVzOiBbJzpob3N0IDo6bmctZGVlcCAuZS1jZWxsdmFsdWUgeyBjdXJzb3I6IHBvaW50ZXIgfSddLFxyXG4gIGhvc3Q6IHtcclxuICAgIGNsYXNzOiAnY3ViZS12aWV3JyxcclxuICAgICdbc3R5bGUuZGlyZWN0aW9uXSc6ICdkaXInXHJcbiAgfVxyXG59KVxyXG4vKiogcGl2b3QgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIEN1YmVQaXZvdENvbXBvbmVudCBpbXBsZW1lbnRzIEN1YmVWaWV3ZXJDb21wb25lbnQsIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpXHJcbiAgd2lkdGg6IHN0cmluZyB8IG51bWJlcjtcclxuICBASW5wdXQoKVxyXG4gIGhlaWdodDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3hBeGlzOiBzdHJpbmdbXTtcclxuICB0b29sdGlwOiBUb29sdGlwO1xyXG4gIHB1YmxpYyBnZXQgeEF4aXMoKTogc3RyaW5nW10gfCBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3hBeGlzO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgeEF4aXModmFsdWU6IHN0cmluZ1tdIHwgc3RyaW5nKSB7XHJcbiAgICB0aGlzLl94QXhpcyA9IGlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHlBeGlzPzogWUF4aXM7XHJcbiAgcHJpdmF0ZSBfc2VyaWVzPzogc3RyaW5nW107XHJcbiAgcHVibGljIGdldCBzZXJpZXMoKTogc3RyaW5nW10gfCBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlcmllcztcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHNlcmllcyh2YWx1ZTogc3RyaW5nW10gfCBzdHJpbmcpIHtcclxuICAgIGlmICh2YWx1ZSkgdGhpcy5fc2VyaWVzID0gaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XHJcbiAgfVxyXG4gIHByaXZhdGUgX2luZGljZXM/OiBzdHJpbmdbXTtcclxuICBwdWJsaWMgZ2V0IGluZGljZXMoKTogc3RyaW5nW10gfCBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2luZGljZXM7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBpbmRpY2VzKHZhbHVlOiBzdHJpbmdbXSB8IHN0cmluZykge1xyXG4gICAgaWYgKHZhbHVlKSB0aGlzLl9pbmRpY2VzID0gaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgZmlsdGVycz86IEF4ZXNNYXA7XHJcbiAgQElucHV0KClcclxuICBjaGFydFR5cGU/OiBDaGFydFR5cGU7XHJcbiAgQElucHV0KClcclxuICBpbmRpY2VzQ2hhcnRUeXBlPzogQ2hhcnRUeXBlO1xyXG4gIGN1cnJlbmN5Q29kZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3BhbGV0dGVzID0gdGhpcy5fc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gIHB1YmxpYyBnZXQgcGFsZXR0ZXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGFsZXR0ZXM7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBwYWxldHRlcyh2YWx1ZSkge1xyXG4gICAgdGhpcy5fcGFsZXR0ZXMgPSB2YWx1ZTtcclxuICB9XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGV4cGxvcmUgPSBuZXcgRXZlbnRFbWl0dGVyPEF4aXNDbGlja0V2ZW50PigpO1xyXG4gIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGxvYWRpbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgc3RhdGljIG5leHRJZCA9IDA7XHJcbiAgQEhvc3RCaW5kaW5nKClcclxuICByZWFkb25seSBpZCA9IGBjdWJlLXBpdm90dmlldy0ke0N1YmVQaXZvdENvbXBvbmVudC5uZXh0SWQrK31gO1xyXG4gIHBpdm90OiBQaXZvdFZpZXc7XHJcbiAgZGlzcGxheU9wdGlvbjogRGlzcGxheU9wdGlvbk1vZGVsO1xyXG4gIGNoYXJ0U2V0dGluZ3M6IENoYXJ0U2V0dGluZ3NNb2RlbDtcclxuICBkYXRhU291cmNlOiBEYXRhU291cmNlU2V0dGluZ3NNb2RlbDtcclxuXHJcbiAgcmVhZG9ubHkgZm9ybWF0U2V0dGluZ3M6IEZvcm1hdFNldHRpbmdzTW9kZWxbXSA9IFt7XHJcbiAgICBuYW1lOiAndmFsdWUnLFxyXG4gIH1dO1xyXG4gIHZhbHVlczogRmllbGRPcHRpb25zTW9kZWxbXTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGNvbmRpdGlvbmFsRm9ybWF0U2V0dGluZ3M6IENvbmRpdGlvbmFsRm9ybWF0U2V0dGluZ3NNb2RlbFtdID0gW3tcclxuICAgIGNvbmRpdGlvbnM6ICdMZXNzVGhhbicsXHJcbiAgICB2YWx1ZTE6IDAsXHJcbiAgICBtZWFzdXJlOiAndmFsdWUnLFxyXG4gICAgYXBwbHlHcmFuZFRvdGFsczogdHJ1ZSxcclxuICAgIHN0eWxlOiB7IGNvbG9yOiBnZXRXYXJuKCkgfVxyXG4gIH1dO1xyXG4gIHJlYWRvbmx5IGdyaWRTZXR0aW5nczogR3JpZFNldHRpbmdzTW9kZWwgPSB7XHJcbiAgICByb3dIZWlnaHQ6IDM2LFxyXG4gICAgYWxsb3dTZWxlY3Rpb246IGZhbHNlXHJcbiAgfTtcclxuICBkaXI6IERpcmVjdGlvbjtcclxuICBwcml2YXRlIF9jdWJlOiBDdWJlO1xyXG4gIHByaXZhdGUgX2RhdGE6IHt9W107XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfaW50bDogSW50ZXJuYXRpb25hbGl6YXRpb24gPSBuZXcgSW50ZXJuYXRpb25hbGl6YXRpb24oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGVtcHR5Q2VsbHNUZXh0Q29udGVudCA9IHRoaXMuX2ludGwuZm9ybWF0TnVtYmVyKDAsIHt9KTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgLyoqIHBpdm90IGN0b3IgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zZXJ2aWNlOiBDdWJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XHJcbiAgICB0aGlzLl9zZXNzaW9uLnRoZW1lQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgIGlmICh0aGlzLnBpdm90LmNoYXJ0KSB7XHJcbiAgICAgICAgdGhpcy5jaGFydFNldHRpbmdzLnRoZW1lID0gdC5kYXJrID8gJ01hdGVyaWFsRGFyaycgOiAnTWF0ZXJpYWwnO1xyXG4gICAgICAgIHRoaXMuY2hhcnRTZXR0aW5ncy5wYWxldHRlcyA9IHRoaXMuX3Nlc3Npb24uYWNjZW50UGFsZXR0ZTtcclxuICAgICAgfSBlbHNlXHJcbiAgICAgICAgdGhpcy5jb25kaXRpb25hbEZvcm1hdFNldHRpbmdzLmZvckVhY2goZiA9PiBmLnN0eWxlLmNvbG9yID0gZ2V0V2FybigpKTtcclxuICAgICAgdGhpcy5fZHJhdygpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5fY3ViZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSB0aGlzLmN1YmUpIHx8IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5jdWJlc1swXTtcclxuICAgIHRoaXMuY3VycmVuY3lDb2RlID0gdGhpcy5fY3ViZS5jdXJyZW5jeUNvZGU7XHJcbiAgICB0aGlzLmRpciA9IHRoaXMuY2hhcnRUeXBlID8gJ2x0cicgOiB0aGlzLl9zZXNzaW9uLmRpcmVjdGlvbjtcclxuICAgIHRoaXMuZm9ybWF0U2V0dGluZ3NbMF0uY3VycmVuY3kgPSB0aGlzLmN1cnJlbmN5Q29kZTtcclxuICAgIGlmICh0aGlzLl9jdWJlLnlBeGlzKSBzd2l0Y2ggKHRoaXMuX2N1YmUueUF4aXMudHlwZSkge1xyXG4gICAgICBjYXNlICdOdW1iZXInOlxyXG4gICAgICBjYXNlICdOb25lJzpcclxuICAgICAgICB0aGlzLmZvcm1hdFNldHRpbmdzWzBdLmZvcm1hdCA9ICduJyArIHRoaXMuX3NlcnZpY2UuZnJhY3Rpb25EaWdpdHM7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhpcy5mb3JtYXRTZXR0aW5nc1swXS5mb3JtYXQgPSAodGhpcy5jdXJyZW5jeUNvZGUgPyAnYycgOiAnbicpICsgdGhpcy5fc2VydmljZS5mcmFjdGlvbkRpZ2l0cztcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5mb3JtYXRTZXR0aW5nc1swXS5mb3JtYXQgPSAodGhpcy5jdXJyZW5jeUNvZGUgPyAnYycgOiAnbicpICsgdGhpcy5fc2VydmljZS5mcmFjdGlvbkRpZ2l0cztcclxuICAgIGlmICh0aGlzLmNoYXJ0VHlwZSkge1xyXG4gICAgICB0aGlzLmRpc3BsYXlPcHRpb24gPSB7XHJcbiAgICAgICAgdmlldzogJ0NoYXJ0JyxcclxuICAgICAgICBwcmltYXJ5OiAnQ2hhcnQnXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMuY2hhcnRTZXR0aW5ncyA9IHtcclxuICAgICAgICBwb2ludENsaWNrOiB0aGlzLnBvaW50Q2xpY2suYmluZCh0aGlzKSxcclxuICAgICAgICBjaGFydFNlcmllczogeyB0eXBlOiB0aGlzLmNoYXJ0VHlwZSBhcyBDaGFydFNlcmllc1R5cGUgfSxcclxuICAgICAgICAvL2lzVHJhbnNwb3NlZDogdHJ1ZSwgICAgICAgIFxyXG4gICAgICAgIGVuYWJsZUV4cG9ydDogdHJ1ZSxcclxuICAgICAgICBjaGFydEFyZWE6IHtcclxuICAgICAgICAgIGJvcmRlcjogeyB3aWR0aDogMCB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBwYWxldHRlczogdGhpcy5wYWxldHRlcyxcclxuICAgICAgICB0aGVtZTogdGhpcy5fc2Vzc2lvbi50aGVtZS5kYXJrID8gJ01hdGVyaWFsRGFyaycgOiAnTWF0ZXJpYWwnLFxyXG4gICAgICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXHJcbiAgICAgICAgcHJpbWFyeVhBeGlzOiB7XHJcbiAgICAgICAgICB0aXRsZVN0eWxlOiB7XHJcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgbGFiZWxTdHlsZToge1xyXG4gICAgICAgICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgem9vbVNldHRpbmdzOiB7XHJcbiAgICAgICAgICBlbmFibGVNb3VzZVdoZWVsWm9vbWluZzogdHJ1ZSxcclxuICAgICAgICAgIGVuYWJsZVBpbmNoWm9vbWluZzogdHJ1ZSxcclxuICAgICAgICAgIHRvb2xiYXJJdGVtczogW10sXHJcbiAgICAgICAgICBlbmFibGVTZWxlY3Rpb25ab29taW5nOiBmYWxzZSxcclxuICAgICAgICAgIGVuYWJsZVNjcm9sbGJhcjogdHJ1ZVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgYm9yZGVyOiB7IHdpZHRoOiAwIH0sXHJcbiAgICAgICAgbGVnZW5kU2V0dGluZ3M6IHtcclxuICAgICAgICAgIGlzSW52ZXJzZWQ6IHRoaXMuX3Nlc3Npb24uaW52ZXJzZSxcclxuICAgICAgICAgIHRleHRTdHlsZToge1xyXG4gICAgICAgICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdG9vbHRpcDoge1xyXG4gICAgICAgICAgZW5hYmxlQW5pbWF0aW9uOiBmYWxzZSxcclxuICAgICAgICAgIGJvcmRlcjogeyB3aWR0aDogMCB9LFxyXG4gICAgICAgICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB0aXRsZVN0eWxlOiB7XHJcbiAgICAgICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgc3ViVGl0bGVTdHlsZToge1xyXG4gICAgICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgICAgICB9LFxyXG4gICAgICAgIHByaW1hcnlZQXhpczoge1xyXG4gICAgICAgICAgdGl0bGVTdHlsZToge1xyXG4gICAgICAgICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGxhYmVsU3R5bGU6IHtcclxuICAgICAgICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICB0aGlzLnZhbHVlcyA9IFt7XHJcbiAgICAgIG5hbWU6ICd2YWx1ZScsXHJcbiAgICAgIGNhcHRpb246ICh0aGlzLnlBeGlzID8gdGhpcy55QXhpcy50aXRsZSA6IG51bGwpIHx8IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1ZhbHVlJylcclxuICAgIH1dO1xyXG4gICAgdGhpcy5faW5kaWNlcyAmJlxyXG4gICAgICB0aGlzLl9pbmRpY2VzLmZvckVhY2goaSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb25kaXRpb25hbEZvcm1hdFNldHRpbmdzLnB1c2goe1xyXG4gICAgICAgICAgY29uZGl0aW9uczogJ0xlc3NUaGFuJyxcclxuICAgICAgICAgIHZhbHVlMTogMCxcclxuICAgICAgICAgIGFwcGx5R3JhbmRUb3RhbHM6IHRydWUsXHJcbiAgICAgICAgICBtZWFzdXJlOiBpLFxyXG4gICAgICAgICAgc3R5bGU6IHsgY29sb3I6IGdldFdhcm4oKSB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy52YWx1ZXMuXHJcbiAgICAgICAgICBwdXNoKHtcclxuICAgICAgICAgICAgbmFtZTogaSxcclxuICAgICAgICAgICAgY2FwdGlvbjogdGhpcy5fZ2V0SW5kZXhUaXRsZShpKVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5mb3JtYXRTZXR0aW5ncy5cclxuICAgICAgICAgIHB1c2goe1xyXG4gICAgICAgICAgICBuYW1lOiBpLFxyXG4gICAgICAgICAgICBmb3JtYXQ6IHRoaXMuZm9ybWF0U2V0dGluZ3NbMF0uZm9ybWF0LFxyXG4gICAgICAgICAgICBjdXJyZW5jeTogdGhpcy5jdXJyZW5jeUNvZGUsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmV4ZWN1dGUoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZ2V0SW5kZXhUaXRsZShuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2N1YmUuaW5kaWNlcy5maW5kKGkgPT4gaS5uYW1lID09PSBuYW1lKS50aXRsZTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZ2V0QXhpc1RpdGxlKG5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgYXhpcyA9IHRoaXMuX2N1YmUuYXhlcy5maW5kKGEgPT4gYS5uYW1lID09PSBuYW1lKTtcclxuICAgIHJldHVybiBheGlzLnRpdGxlO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKi9cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmlsdGVycyddICYmICFjaGFuZ2VzWydmaWx0ZXJzJ10uZmlyc3RDaGFuZ2UpXHJcbiAgICAgIHRoaXMuZXhlY3V0ZSgpO1xyXG4gICAgZWxzZVxyXG4gICAgICBpZiAoY2hhbmdlc1snaGVpZ2h0J10gfHwgY2hhbmdlc1snd2lkdGgnXSlcclxuICAgICAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gIH1cclxuICBleGVjdXRlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQodHJ1ZSk7XHJcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModGhpcy5maWx0ZXJzKTtcclxuICAgIC8vIHJlbW92ZSBmaWx0ZXJpbmcgZnJvbSBwaXZvdCBheGVzXHJcbiAgICBsZXQgeEF4aXMyID0gdGhpcy5feEF4aXMuc2xpY2UoKSwgc2VyaWVzMiA9IHRoaXMuX3Nlcmllcy5zbGljZSgpO1xyXG4gICAgaWYgKGtleXMubGVuZ3RoKSB7XHJcbiAgICAgIGlmICh4QXhpczIubGVuZ3RoID4gMSlcclxuICAgICAgICB4QXhpczIgPSB4QXhpczIuZmlsdGVyKHggPT4ga2V5cy5pbmRleE9mKHgpIDwgMCk7XHJcbiAgICAgIGlmIChzZXJpZXMyLmxlbmd0aCA+IDEpXHJcbiAgICAgICAgc2VyaWVzMiA9IHNlcmllczIuZmlsdGVyKHggPT4ga2V5cy5pbmRleE9mKHgpIDwgMCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXNlcmllczIubGVuZ3RoKSBzZXJpZXMyID0gdGhpcy5fc2VyaWVzLnNsaWNlKC0xKTtcclxuICAgIGlmICgheEF4aXMyLmxlbmd0aCkgeEF4aXMyID0gdGhpcy5feEF4aXMuc2xpY2UoLTEpO1xyXG4gICAgLy8gY29sdW1uc1xyXG4gICAgY29uc3QgY29sdW1ucyA9IHhBeGlzMi5jb25jYXQoc2VyaWVzMik7XHJcbiAgICAvLyBxdWVyeVxyXG4gICAgdGhpcy5fc2VydmljZS50YWJsZSh0aGlzLl9jdWJlLm5hbWUsIGNvbHVtbnMsIHsgZmlsdGVyczogdGhpcy5maWx0ZXJzLCBpbmRpY2VzOiB0aGlzLmluZGljZXMgfSkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICB0aGlzLl9wcmVzZXRzKHhBeGlzMiwgc2VyaWVzMiwgcik7XHJcbiAgICAgIHRoaXMuX2RyYXcoKTtcclxuICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgfSwgKGU6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMuX3NiLmVycm9yKGVyclJlc291cmNlKGUpKTtcclxuICAgICAgdGhpcy5sb2FkaW5nQ2hhbmdlLmVtaXQoZmFsc2UpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0geEF4aXNcclxuICAgKiBAcGFyYW0gc2VyaWVzXHJcbiAgICogQHBhcmFtIGRhdGFcclxuICAgKi9cclxuICBwcml2YXRlIF9wcmVzZXRzKHhBeGlzOiBzdHJpbmdbXSwgc2VyaWVzOiBzdHJpbmdbXSwgZGF0YToge31bXSkge1xyXG4gICAgdGhpcy5fZGF0YSA9IGRhdGE7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSB7XHJcbiAgICAgIGNvbHVtbnM6IHhBeGlzLm1hcCh4ID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgbmFtZTogeCxcclxuICAgICAgICAgIGNhcHRpb246IHRoaXMuX2dldEF4aXNUaXRsZSh4KVxyXG4gICAgICAgIH0gYXMgRmllbGRPcHRpb25zTW9kZWw7XHJcbiAgICAgIH0pLFxyXG4gICAgICByb3dzOiBzZXJpZXMubWFwKHMgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBuYW1lOiBzLFxyXG4gICAgICAgICAgY2FwdGlvbjogdGhpcy5fZ2V0QXhpc1RpdGxlKHMpXHJcbiAgICAgICAgfSBhcyBGaWVsZE9wdGlvbnNNb2RlbDtcclxuICAgICAgfSksXHJcbiAgICAgIHZhbHVlU29ydFNldHRpbmdzOiB7IGhlYWRlckRlbGltaXRlcjogUElWT1RfSEVBREVSX0RFTElNSVRFUiwgfSxcclxuICAgICAgdmFsdWVzOiB0aGlzLnZhbHVlcyxcclxuICAgICAgc29ydFNldHRpbmdzOiB4QXhpcy5tYXAoeCA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIG5hbWU6ICdfJyArIHgsXHJcbiAgICAgICAgfSBhcyBTb3J0TW9kZWw7XHJcbiAgICAgIH0pLFxyXG4gICAgICAvL2NvbmRpdGlvbmFsRm9ybWF0U2V0dGluZ3M6IHRoaXMuY29uZGl0aW9uYWxGb3JtYXRTZXR0aW5ncyxcclxuICAgICAgYWx3YXlzU2hvd1ZhbHVlSGVhZGVyOiBmYWxzZSxcclxuICAgICAgYWxsb3dNZW1iZXJGaWx0ZXI6IGZhbHNlLFxyXG4gICAgICBhbGxvd1ZhbHVlRmlsdGVyOiBmYWxzZSxcclxuICAgICAgYWxsb3dMYWJlbEZpbHRlcjogZmFsc2UsXHJcbiAgICAgIGRhdGFTb3VyY2U6IGRhdGEsXHJcbiAgICAgIGVtcHR5Q2VsbHNUZXh0Q29udGVudDogdGhpcy5lbXB0eUNlbGxzVGV4dENvbnRlbnQsXHJcbiAgICAgIGVuYWJsZVNvcnRpbmc6IGZhbHNlLFxyXG4gICAgICBmb3JtYXRTZXR0aW5nczogdGhpcy5mb3JtYXRTZXR0aW5nc1xyXG4gICAgfSBhcyBEYXRhU291cmNlU2V0dGluZ3NNb2RlbDtcclxuICB9XHJcbiAgbXVsdGlMZXZlbExhYmVsQ2xpY2soZXZ0OiBNdWx0aUxldmVsTGFiZWxDbGlja0V2ZW50QXJncykge1xyXG4gICAgY29uc3QgeyBjb2x1bW5IZWFkZXJzLCByb3dIZWFkZXJzLCBhY3R1YWxWYWx1ZSwgYXhpcywgdmFsdWVTb3J0LCBhY3R1YWxUZXh0LCBpc0dyYW5kU3VtIH0gPSBldnQuY2VsbDtcclxuICAgIGlmIChhY3R1YWxWYWx1ZSA9PT0gMCkgcmV0dXJuO1xyXG4gICAgbGV0IGF4ZXMsIGluZGV4O1xyXG4gICAgaWYgKGNvbHVtbkhlYWRlcnMgfHwgcm93SGVhZGVycylcclxuICAgICAgYXhlcyA9IHRoaXMuX3BhcnNlQXhlcyhjb2x1bW5IZWFkZXJzIGFzIHN0cmluZywgcm93SGVhZGVycyBhcyBzdHJpbmcpO1xyXG4gICAgZWxzZSBpZiAoYXhpcyA9PT0gJ3JvdycpXHJcbiAgICAgIGF4ZXMgPSB0aGlzLl9wYXJzZUF4ZXMoJycsICh2YWx1ZVNvcnQgYXMgYW55KS5sZXZlbE5hbWUpO1xyXG4gICAgZWxzZSBpZiAoYXhpcyA9PT0gJ2NvbHVtbicpXHJcbiAgICAgIGF4ZXMgPSB0aGlzLl9wYXJzZUF4ZXMoKHZhbHVlU29ydCBhcyBhbnkpLmxldmVsTmFtZSwgJycpO1xyXG4gICAgZWxzZSBpZiAoaXNHcmFuZFN1bSkgcmV0dXJuO1xyXG4gICAgaWYgKGFjdHVhbFRleHQgIT09ICd2YWx1ZScpIGluZGV4ID0gYWN0dWFsVGV4dDtcclxuICAgIHRoaXMuZXhwbG9yZS5lbWl0KHsgYXhlcywgaW5kZXggfSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gZXZ0XHJcbiAgICovXHJcbiAgY2VsbENsaWNrKGV2dDogQ2VsbENsaWNrRXZlbnRBcmdzKSB7XHJcbiAgICBjb25zdCB7IGNvbHVtbkhlYWRlcnMsIHJvd0hlYWRlcnMsIGFjdHVhbFRleHQsIGFjdHVhbFZhbHVlLCBheGlzLCB2YWx1ZVNvcnQsIGlzR3JhbmRTdW0gfSA9IGV2dC5kYXRhIGFzIGFueTtcclxuICAgIGlmIChhY3R1YWxWYWx1ZSA9PT0gMCkgcmV0dXJuO1xyXG4gICAgbGV0IGF4ZXMsIGluZGV4O1xyXG4gICAgaWYgKGNvbHVtbkhlYWRlcnMgfHwgcm93SGVhZGVycylcclxuICAgICAgYXhlcyA9IHRoaXMuX3BhcnNlQXhlcyhjb2x1bW5IZWFkZXJzLCByb3dIZWFkZXJzKTtcclxuICAgIGVsc2UgaWYgKGF4aXMgPT09ICdyb3cnKVxyXG4gICAgICBheGVzID0gdGhpcy5fcGFyc2VBeGVzKCcnLCB2YWx1ZVNvcnQubGV2ZWxOYW1lKTtcclxuICAgIGVsc2UgaWYgKGF4aXMgPT09ICdjb2x1bW4nKVxyXG4gICAgICBheGVzID0gdGhpcy5fcGFyc2VBeGVzKHZhbHVlU29ydC5sZXZlbE5hbWUsICcnKTtcclxuICAgIGVsc2UgaWYgKGlzR3JhbmRTdW0pIHJldHVybjtcclxuICAgIGlmIChhY3R1YWxUZXh0ICE9PSAndmFsdWUnKSBpbmRleCA9IGFjdHVhbFRleHQ7XHJcbiAgICB0aGlzLmV4cGxvcmUuZW1pdCh7IGF4ZXMsIGluZGV4IH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBheGVzIGZyb20gaGVhZGVyc1xyXG4gICAqIEBwYXJhbSBjb2x1bW5IZWFkZXJzXHJcbiAgICogQHBhcmFtIHJvd0hlYWRlcnNcclxuICAgKi9cclxuICBwcml2YXRlIF9wYXJzZUF4ZXMoY29sdW1uSGVhZGVyczogc3RyaW5nLCByb3dIZWFkZXJzOiBzdHJpbmcpOiBBeGVzTWFwIHtcclxuICAgIGNvbnN0IGF4ZXM6IEF4ZXNNYXAgPSB7fTtcclxuICAgIGlmIChjb2x1bW5IZWFkZXJzICE9PSAnJylcclxuICAgICAgY29sdW1uSGVhZGVycy5zcGxpdChQSVZPVF9IRUFERVJfREVMSU1JVEVSKS5mb3JFYWNoKChjLCBpKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY29sdW1uID0gdGhpcy5kYXRhU291cmNlLmNvbHVtbnNbaV0ubmFtZSxcclxuICAgICAgICAgIC8vIGZpbmQgYW55IHJvdyB3aXRoIGhlYWRlclxyXG4gICAgICAgICAgZWxlbWVudCA9IHRoaXMuX2RhdGEuZmluZChlID0+IGVbY29sdW1uXS50b1N0cmluZygpID09PSBjKTtcclxuICAgICAgICAvLyB0cmFuc2xhdGUgYmFjayB0byBrZXlcclxuICAgICAgICBheGVzW2NvbHVtbl0gPSBlbGVtZW50W2BfJHtjb2x1bW59YF07XHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKHJvd0hlYWRlcnMgIT09ICcnKVxyXG4gICAgICByb3dIZWFkZXJzLnNwbGl0KFBJVk9UX0hFQURFUl9ERUxJTUlURVIpLmZvckVhY2goKHIsIGkpID0+IHtcclxuICAgICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLmRhdGFTb3VyY2Uucm93c1tpXS5uYW1lLFxyXG4gICAgICAgICAgZWxlbWVudCA9IHRoaXMuX2RhdGEuZmluZChlID0+IGVbY29sdW1uXSA9PT0gcik7XHJcbiAgICAgICAgYXhlc1tjb2x1bW5dID0gZWxlbWVudFtgXyR7Y29sdW1ufWBdO1xyXG4gICAgICB9KTtcclxuICAgIHJldHVybiBheGVzO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBjaGFydFxyXG4gICAqIEBwYXJhbSBlXHJcbiAgICovXHJcbiAgcG9pbnRDbGljayhlOiBJUG9pbnRFdmVudEFyZ3MpIHtcclxuICAgIGNvbnN0IHsgcG9pbnQ6IHsgeCB9LCBzZXJpZXM6IHsgbmFtZSB9IH0gPSBlO1xyXG4gICAgY29uc3QgYXhlczogeyBbYXhpczogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICAgIC8vIHNldCBheGVzIGZyb20geCBsYWJlbChzKVxyXG4gICAgKHggYXMgc3RyaW5nKS5zcGxpdCgnIC0gJykuZm9yRWFjaCgoeCwgaSkgPT4ge1xyXG4gICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLmRhdGFTb3VyY2Uucm93c1tpXS5uYW1lLFxyXG4gICAgICAgIGVsZW1lbnQgPSB0aGlzLl9kYXRhLmZpbmQoZSA9PiBlW2NvbHVtbl0gPT09IHgpO1xyXG4gICAgICBheGVzW2NvbHVtbl0gPSBlbGVtZW50ID8gZWxlbWVudFtgXyR7Y29sdW1ufWBdIDogeDtcclxuICAgIH0pO1xyXG4gICAgLy8gc2V0IGF4ZXMgZnJvbSBzZXJpZXMgbGFiZWxcclxuICAgIGlmIChuYW1lICE9PSAnJykge1xyXG4gICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLmRhdGFTb3VyY2UuY29sdW1uc1swXS5uYW1lLFxyXG4gICAgICAgIC8vIGZpbmQgYW55IHJvdyB3aXRoIGhlYWRlclxyXG4gICAgICAgIGVsZW1lbnQgPSB0aGlzLl9kYXRhLmZpbmQoZSA9PiBlW2NvbHVtbl0gPT09IG5hbWUpO1xyXG4gICAgICAvLyB0cmFuc2xhdGUgYmFjayB0byBrZXlcclxuICAgICAgYXhlc1tjb2x1bW5dID0gZWxlbWVudCA/IGVsZW1lbnRbYF8ke2NvbHVtbn1gXSA6IG5hbWU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmV4cGxvcmUuZW1pdCh7IGF4ZXMgfSk7XHJcbiAgfVxyXG4gIGFzeW5jIGV4cG9ydFRvRXhjZWwodGl0bGU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuY3VycmVuY3lDb2RlICYmIHRoaXMuY3VycmVuY3lDb2RlICE9PSBERUZBVUxUX0NVUlJFTkNZKVxyXG4gICAgICBhd2FpdCB0aGlzLl90cmFuc2xhdGUuY2xkcih0aGlzLl9zZXNzaW9uLmxhbmd1YWdlLCBDTERSX0ZJTEVTKTtcclxuICAgIGlmICh0aGlzLmNoYXJ0VHlwZSlcclxuICAgICAgdGhpcy5fZXhwb3J0RXhjZWwodGl0bGUpO1xyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLnBpdm90LmV4Y2VsRXhwb3J0KHsgZmlsZU5hbWU6IGAke3RpdGxlfS54bHN4YCwgaGllcmFyY2h5RXhwb3J0TW9kZTogJ0FsbCcsIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9leHBvcnRFeGNlbCh0aXRsZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBudW1iZXJGb3JtYXQgPSB0aGlzLl9zZXJ2aWNlLm51bWJlckZvcm1hdCwgY29sdW1ucyA9IHRoaXMuX2N1YmUuYXhlcy5maWx0ZXIoYSA9PiB0aGlzLl94QXhpcy5pbmRleE9mKGEubmFtZSkgPiAtMSB8fFxyXG4gICAgICB0aGlzLl9zZXJpZXMuaW5kZXhPZihhLm5hbWUpID4gLTEpLCByb3dzID0gW3tcclxuICAgICAgICBpbmRleDogMSxcclxuICAgICAgICBjZWxsczogY29sdW1ucy5tYXAoKGMsIGkpID0+ICh7XHJcbiAgICAgICAgICBpbmRleDogaSArIDEsIHZhbHVlOiBjLnRpdGxlLFxyXG4gICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgYm9sZDogdHJ1ZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gYXMgQ2VsbCkpXHJcbiAgICAgIH1dIGFzIFJvd1tdO1xyXG4gICAgcm93c1swXS5jZWxscy5wdXNoKHtcclxuICAgICAgaW5kZXg6IGNvbHVtbnMubGVuZ3RoICsgMSxcclxuICAgICAgdmFsdWU6IHRoaXMueUF4aXMgPyB0aGlzLnlBeGlzLnRpdGxlIDpcclxuICAgICAgICB0aGlzLl90cmFuc2xhdGUuZ2V0KCdWYWx1ZScpLFxyXG4gICAgICBzdHlsZToge1xyXG4gICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9pbmRpY2VzICYmIHRoaXMuX2luZGljZXMuZm9yRWFjaCgoeCwgaSkgPT4gcm93c1swXS5jZWxscy5wdXNoKHtcclxuICAgICAgaW5kZXg6IGNvbHVtbnMubGVuZ3RoICsgaSArIDIsXHJcbiAgICAgIHZhbHVlOiB0aGlzLl9nZXRJbmRleFRpdGxlKHgpLFxyXG4gICAgICBzdHlsZToge1xyXG4gICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgfVxyXG4gICAgfSkpO1xyXG4gICAgdGhpcy5fZGF0YS5mb3JFYWNoKChyLCBpKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNlbGxzID0gY29sdW1ucy5tYXAoKGMsIGopID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgaW5kZXg6IGogKyAxLCB2YWx1ZTogcltjLm5hbWVdLFxyXG4gICAgICAgICAgc3R5bGU6IHt9XHJcbiAgICAgICAgfSBhcyBDZWxsO1xyXG4gICAgICB9XHJcbiAgICAgICk7XHJcbiAgICAgIGNlbGxzLnB1c2goe1xyXG4gICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgIGluZGV4OiBjb2x1bW5zLmxlbmd0aCArIDEsXHJcbiAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgIG51bWJlckZvcm1hdCxcclxuICAgICAgICAgIGhBbGlnbjogJ3JpZ2h0J1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmFsdWU6IHJbJ3ZhbHVlJ11cclxuICAgICAgfSBhcyBDZWxsKTtcclxuICAgICAgdGhpcy5faW5kaWNlcyAmJiB0aGlzLl9pbmRpY2VzLmZvckVhY2goKHgsIGkpID0+IGNlbGxzLnB1c2goe1xyXG4gICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgIGluZGV4OiBjb2x1bW5zLmxlbmd0aCArIGkgKyAyLFxyXG4gICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICBudW1iZXJGb3JtYXQsXHJcbiAgICAgICAgICBoQWxpZ246ICdyaWdodCdcclxuICAgICAgICB9LFxyXG4gICAgICAgIHZhbHVlOiByW3hdXHJcbiAgICAgIH0gYXMgQ2VsbClcclxuICAgICAgKTtcclxuICAgICAgcm93cy5wdXNoKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIGluZGV4OiBpICsgMixcclxuICAgICAgICAgIGNlbGxzXHJcbiAgICAgICAgfSBhcyBSb3cpO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBib29rID0gbmV3IFdvcmtib29rKFxyXG4gICAgICB7XHJcbiAgICAgICAgd29ya3NoZWV0czogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBlbmFibGVSdGw6IHRoaXMuX3Nlc3Npb24uaW52ZXJzZSxcclxuICAgICAgICAgICAgbmFtZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnU2hlZXROJywgMSksXHJcbiAgICAgICAgICAgIGNvbHVtbnM6IFsuLi5jb2x1bW5zLm1hcCgoXywgaSkgPT4gKHsgaW5kZXg6IGkgKyAxLCB3aWR0aDogMjUwIH0gYXMgQ29sdW1uKSksXHJcbiAgICAgICAgICAgIHsgaW5kZXg6IGNvbHVtbnMubGVuZ3RoICsgMSB9LFxyXG4gICAgICAgICAgICAuLi4odGhpcy5faW5kaWNlcyA/IHRoaXMuX2luZGljZXMubWFwKChfLCBpKSA9PiAoe1xyXG4gICAgICAgICAgICAgIGluZGV4OiBjb2x1bW5zLmxlbmd0aCArIGkgKyAyXHJcbiAgICAgICAgICAgIH0pKSA6IFtdKVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICByb3dzXHJcbiAgICAgICAgICB9IGFzIFdvcmtzaGVldFxyXG4gICAgICAgIF0sXHJcbiAgICAgIH0sXHJcbiAgICAgICd4bHN4J1xyXG4gICAgKTtcclxuICAgIGJvb2suc2F2ZShgJHt0aXRsZX0ueGxzeGApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZHJhdygpIHtcclxuICAgIHRoaXMucGl2b3QgJiYgdGhpcy5waXZvdC5kZXN0cm95KCk7XHJcbiAgICB0aGlzLnBpdm90ID0gbmV3IFBpdm90Vmlldyh7XHJcbiAgICAgIHNwaW5uZXJUZW1wbGF0ZTogJycsXHJcbiAgICAgIGNoYXJ0U2V0dGluZ3M6IHRoaXMuY2hhcnRTZXR0aW5ncyxcclxuICAgICAgZGlzcGxheU9wdGlvbjogdGhpcy5kaXNwbGF5T3B0aW9uLFxyXG4gICAgICBkYXRhU291cmNlU2V0dGluZ3M6IHRoaXMuZGF0YVNvdXJjZSxcclxuICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXHJcbiAgICAgIGhlaWdodDogJzEwMCUnLFxyXG4gICAgICBlbmFibGVWYWx1ZVNvcnRpbmc6IGZhbHNlLFxyXG4gICAgICBzaG93VG9vbHRpcDogZmFsc2UsXHJcbiAgICAgIGFsbG93Q29uZGl0aW9uYWxGb3JtYXR0aW5nOiB0cnVlLFxyXG4gICAgICBhbGxvd0V4Y2VsRXhwb3J0OiB0cnVlLFxyXG4gICAgICBncmlkU2V0dGluZ3M6IHRoaXMuZ3JpZFNldHRpbmdzLFxyXG4gICAgICBjZWxsQ2xpY2s6IHRoaXMuY2VsbENsaWNrLmJpbmQodGhpcyksXHJcbiAgICAgIGN1cnJlbmN5Q29kZTogdGhpcy5jdXJyZW5jeUNvZGUsXHJcbiAgICAgIG11bHRpTGV2ZWxMYWJlbENsaWNrOiB0aGlzLm11bHRpTGV2ZWxMYWJlbENsaWNrLmJpbmQodGhpcyksXHJcbiAgICAgIGRhdGFCb3VuZDogdGhpcy5kYXRhQm91bmQuYmluZCh0aGlzKVxyXG4gICAgfSwgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcbiAgZGF0YUJvdW5kKF8pIHtcclxuICAgIHRoaXMudG9vbHRpcCA9IG5ldyBUb29sdGlwKHtcclxuICAgICAgdGFyZ2V0OiAnLmUtaWNvbnMnLFxyXG4gICAgICBjc3NDbGFzczogJ2UtY3VzdG9tLXRvb2x0aXAnLFxyXG4gICAgICBwb3NpdGlvbjogJ0JvdHRvbUNlbnRlcicsXHJcbiAgICAgIG9mZnNldFk6IDE1LFxyXG4gICAgICBlbmFibGVSdGw6IHRoaXMucGl2b3QuZW5hYmxlUnRsLFxyXG4gICAgICBsb2NhbGU6IHRoaXMucGl2b3QubG9jYWxlLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnRvb2x0aXAuYXBwZW5kVG8odGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICB9XHJcbiAgcmVzaXplKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGl2b3QpIHtcclxuICAgICAgLy90aGlzLnBpdm90LmhlaWdodCA9IHRoaXMuaGVpZ2h0O1xyXG4gICAgICB0aGlzLnBpdm90LndpZHRoID0gdGhpcy53aWR0aDtcclxuICAgICAgaWYgKHRoaXMuY2hhcnRTZXR0aW5ncylcclxuICAgICAgICB0aGlzLnBpdm90LmNoYXJ0ICYmICh0aGlzLnBpdm90LmNoYXJ0IGFzIHVua25vd24gYXMgQ2hhcnQpLmNoYXJ0UmVzaXplKCk7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLnBpdm90Lm9uV2luZG93UmVzaXplKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy50b29sdGlwICYmIHRoaXMudG9vbHRpcC5kZXN0cm95KCk7XHJcbiAgICB0aGlzLnBpdm90ICYmIHRoaXMucGl2b3QuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBDZWxsIHsgfVxyXG4iXX0=
|
@@ -370,13 +370,13 @@ export class CubeSumComponent {
|
|
370
370
|
this.onExplore.emit({ axes, index });
|
371
371
|
}
|
372
372
|
}
|
373
|
-
CubeSumComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
374
|
-
CubeSumComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
373
|
+
CubeSumComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubeSumComponent, deps: [{ token: i1.DatasourceService }, { token: i2.CubeService }, { token: i3.PromptService }, { token: i4.SessionService }], target: i0.ɵɵFactoryTarget.Component });
|
374
|
+
CubeSumComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: CubeSumComponent, selector: "bizdoc-cube-sum", inputs: { xAxis: "xAxis", periodPolicy: "periodPolicy", parentAxis: "parentAxis", filters: "filters", cube: "cube", indices: "indices", scope: "scope" }, outputs: { onExplore: "explore" }, usesOnChanges: true, ngImport: i0, template: " <!-- levels -->\r\n<div class=\"row\">\r\n <div *ngIf=\"prev\" class=\"level prev-level\">\r\n <div class=\"level-header row\">\r\n <mat-icon class=\"cliclable mat-icon-rtl-mirror\" [inline]=true (click)=\"goprev()\" *ngIf=\"back\">keyboard_arrow_left</mat-icon>\r\n <div div class=\"mat-h1 title\">\r\n {{'PrevLevel'| translate}}\r\n </div>\r\n <span class=\"divider\"></span>\r\n <mat-icon *ngIf=\"forward\" class=\"cliclable mat-icon-rtl-mirror\" [inline]=true (click)=\"gonext()\">keyboard_arrow_right</mat-icon>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"level; context: {use: prev}\"></ng-container>\r\n </div>\r\n <div *ngIf=\"current\" class=\"level current-level\">\r\n <div class=\"level-header row\">\r\n <div div class=\"mat-h1 title\">\r\n {{'CurrentLevel'| translate : primaryAxis.title}}\r\n </div>\r\n <span class=\"divider\"></span>\r\n <mat-icon [bizdocTooltip]=\"help\" *ngIf=\"help\" [inline]=\"true\">help_outline</mat-icon>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"level; context: {use: current}\"></ng-container>\r\n </div>\r\n <div *ngIf=\"next\" class=\"level next-level\">\r\n <div class=\"level-header\">\r\n <div div class=\"mat-h1 title\">\r\n {{'NextLevel'| translate}}\r\n </div>\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"level; context: {use: next}\"></ng-container>\r\n </div>\r\n</div>\r\n<!-- level -->\r\n<ng-template #level let-use=\"use\" let-help=\"help\">\r\n <div>\r\n <h2 class=\"mat-h1\" [class.cliclable]=\"use.value !== 0\" (click)=\"explore(use)\">{{use.title}}</h2>\r\n <div class=\"row\">\r\n <h3 class=\"mat-h1\" [class.cliclable]=\"use.value !== 0\" (click)=\"explore(use)\">{{use.value | currency : currencyCode : 'symbol' : digitsInfo}}</h3>\r\n <span class=\"divider\"></span>\r\n <div *ngIf=\"use.chain && use.value !== use.chain.value\">\r\n <span *ngIf=\"use.value !== 0 && use.chain.value !== 0\">{{Math.round(use.value / use.chain.value * 100) }}%</span>\r\n <mat-icon>{{use.value > use.chain.value ? 'trending_up':'trending_down' }}</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- -->\r\n <div class=\"row\">\r\n <div *ngFor=\"let i of use.indices\" class=\"index\">\r\n <h4 class=\"mat-h3 title\">{{i.title}}</h4>\r\n <h5 class=\"mat-h3\" [class.cliclable]=\"i.value !== 0\" (click)=\"explore(use, i.name)\">{{i.value | currency : currencyCode : 'symbol' : digitsInfo}}</h5>\r\n </div>\r\n </div>\r\n <div class=\"bar\" *ngIf=\"use.indices.length\" [class.available]=\"use.percent < 100\">\r\n <div class=\"value\" [style.flexBasis]=\"Math.round(use.percent < 100 ?\r\n 100 - use.percent :\r\n 100 / use.percent * 100) + '%'\"\r\n [@bar]=\"use.animation\"></div>\r\n <div class=\"overflow\" *ngIf=\"use.percent > 0\"></div>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{padding:0 8px}.level{border-width:thin;border-radius:3px;padding:8px;margin:3px;flex:1 1 0;border-style:solid}.level .cliclable{cursor:pointer}.level.next-level{border-style:dashed}.level .level-header{align-items:center}.level .level-header .title{margin:0;line-height:22px;font-size:inherit;font-feature-settings:\"pcap\",\"c2pc\";font-variant-caps:all-petite-caps}.level h3{margin:0;font-size:x-large}.level h2{font-weight:400;font-size:larger;margin:0}.level .percent{display:flex;align-items:center}.level .index{padding:0 4px}.level .index h5,.level .index h4{margin:0}.level .bar{display:flex}.level .bar .value,.level .bar .overflow{height:12px}.level .bar .value{flex:0 0 0%}.level .bar .overflow{flex:1 1 0%;box-sizing:border-box}.level .bar.available .overflow{border-width:1px;border-style:dashed}\n"], components: [{ type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i8.TranslatePipe, "currency": i6.CurrencyPipe }, animations: [trigger('bar', [
|
375
375
|
transition('*<=>*', [style({
|
376
376
|
flexBasis: '{{startWidth}}%'
|
377
377
|
}), animate('500ms ease')], { params: { startWidth: 100 } }),
|
378
378
|
])] });
|
379
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
379
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubeSumComponent, decorators: [{
|
380
380
|
type: Component,
|
381
381
|
args: [{ selector: 'bizdoc-cube-sum', animations: [trigger('bar', [
|
382
382
|
transition('*<=>*', [style({
|
@@ -68,9 +68,9 @@ export class ViewBase {
|
|
68
68
|
}
|
69
69
|
}
|
70
70
|
}
|
71
|
-
ViewBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
72
|
-
ViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
71
|
+
ViewBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ViewBase, deps: [{ token: i1.SessionService }, { token: i2.RouterImpl }, { token: i3.CubeService }, { token: i4.GuideService }], target: i0.ɵɵFactoryTarget.Directive });
|
72
|
+
ViewBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.9", type: ViewBase, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true, static: true }], ngImport: i0 });
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ViewBase, decorators: [{
|
74
74
|
type: Directive
|
75
75
|
}], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.RouterImpl }, { type: i3.CubeService }, { type: i4.GuideService }]; }, propDecorators: { viewPane: [{
|
76
76
|
type: ViewChild,
|
@@ -106,9 +106,9 @@ export class CubeMobileViewComponent extends ViewBase {
|
|
106
106
|
this._destroy.complete();
|
107
107
|
}
|
108
108
|
}
|
109
|
-
CubeMobileViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
110
|
-
CubeMobileViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
109
|
+
CubeMobileViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubeMobileViewComponent, deps: [{ token: i1.SessionService }, { token: i2.RouterImpl }, { token: i3.CubeService }, { token: i4.GuideService }, { token: i5.PromptService }, { token: i6.WindowTitleService }, { token: i7.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
110
|
+
CubeMobileViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: CubeMobileViewComponent, selector: "ng-component", host: { listeners: { "window:resize": "resize()" } }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true, static: true }, { propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "explorePane", first: true, predicate: ExploreItemsComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"viewPane.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n <span>{{p.title}}</span>\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Download' | translate\" data-help=\"download\"><mat-icon>save_alt</mat-icon></button>\r\n <mat-menu #menu>\r\n <button mat-menu-item (click)=\"viewPane.exportToExcel()\">{{'DownloadExcel' | translate}}</button>\r\n <ng-container *ngIf=\"mode === 'explore'\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"explorePane.exportExcel()\">{{'DownloadExplore' | translate}}</button>\r\n </ng-container>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"toggleFilter()\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container class=\"page-container\" autosize>\r\n <mat-sidenav mode=\"over\" position=\"end\" [opened]=\"false\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <bizdoc-cube-explore *ngSwitchCase=\"'explore'\" [cube]=\"cube.name\" [index]=\"index\" [scope]=\"scope\"\r\n (explore)=\"exploreItem($event)\" #explorePane [pageSize]=pageSize [(loading)]=\"loading\"></bizdoc-cube-explore>\r\n <bizdoc-cube-item *ngSwitchCase=\"'item'\" [template]=\"template\" [model]=\"item\"></bizdoc-cube-item>\r\n <bizdoc-cube-filter *ngSwitchDefault [cube]=\"cube.name\" [axes]=\"axes\" [exclude]=\"exclude\" (axesChange)=\"filterChange($event)\"></bizdoc-cube-filter>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content>\r\n <bizdoc-cube-view [filters]=\"axes\" #viewPane\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n", styles: [":host ::ng-deep .mat-sidenav-container .mat-sidenav-content{overflow:hidden}:host ::ng-deep .e-pivot-context-menu{display:none}\n"], components: [{ type: i8.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i9.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"] }, { type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i11.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: i13.MatSidenavContainer, selector: "mat-sidenav-container", exportAs: ["matSidenavContainer"] }, { type: i13.MatSidenav, selector: "mat-sidenav", inputs: ["fixedInViewport", "fixedTopGap", "fixedBottomGap"], exportAs: ["matSidenav"] }, { type: i14.ExploreItemsComponent, selector: "bizdoc-cube-explore", inputs: ["pageSize", "cube", "index", "scope", "axes", "loading"], outputs: ["explore", "load", "loadingChange"] }, { type: i15.ExploreItemImplComponent, selector: "bizdoc-cube-item", inputs: ["template", "model"] }, { type: i16.CubeFilterComponent, selector: "bizdoc-cube-filter", inputs: ["cube", "exclude", "include", "axes"], outputs: ["axesChange"] }, { type: i13.MatSidenavContent, selector: "mat-sidenav-content" }, { type: i17.CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["filters", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i18.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i19.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i20.MatIconAnimate, selector: "[matAnimate]" }, { type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i18.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i18.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i18.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i18.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "translate": i21.TranslatePipe } });
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubeMobileViewComponent, decorators: [{
|
112
112
|
type: Component,
|
113
113
|
args: [{ template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"viewPane.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n <span>{{p.title}}</span>\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Download' | translate\" data-help=\"download\"><mat-icon>save_alt</mat-icon></button>\r\n <mat-menu #menu>\r\n <button mat-menu-item (click)=\"viewPane.exportToExcel()\">{{'DownloadExcel' | translate}}</button>\r\n <ng-container *ngIf=\"mode === 'explore'\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"explorePane.exportExcel()\">{{'DownloadExplore' | translate}}</button>\r\n </ng-container>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"toggleFilter()\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-sidenav-container class=\"page-container\" autosize>\r\n <mat-sidenav mode=\"over\" position=\"end\" [opened]=\"false\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <bizdoc-cube-explore *ngSwitchCase=\"'explore'\" [cube]=\"cube.name\" [index]=\"index\" [scope]=\"scope\"\r\n (explore)=\"exploreItem($event)\" #explorePane [pageSize]=pageSize [(loading)]=\"loading\"></bizdoc-cube-explore>\r\n <bizdoc-cube-item *ngSwitchCase=\"'item'\" [template]=\"template\" [model]=\"item\"></bizdoc-cube-item>\r\n <bizdoc-cube-filter *ngSwitchDefault [cube]=\"cube.name\" [axes]=\"axes\" [exclude]=\"exclude\" (axesChange)=\"filterChange($event)\"></bizdoc-cube-filter>\r\n </ng-container>\r\n </mat-sidenav>\r\n <mat-sidenav-content>\r\n <bizdoc-cube-view [filters]=\"axes\" #viewPane\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n </mat-sidenav-content>\r\n</mat-sidenav-container>\r\n", styles: [":host ::ng-deep .mat-sidenav-container .mat-sidenav-content{overflow:hidden}:host ::ng-deep .e-pivot-context-menu{display:none}\n"] }]
|
114
114
|
}], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.RouterImpl }, { type: i3.CubeService }, { type: i4.GuideService }, { type: i5.PromptService }, { type: i6.WindowTitleService }, { type: i7.ActivatedRoute }]; }, propDecorators: { viewPane: [{
|
@@ -71,9 +71,9 @@ export class CubeViewPaneComponent extends ViewBase {
|
|
71
71
|
super.guide(evt);
|
72
72
|
}
|
73
73
|
}
|
74
|
-
CubeViewPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
75
|
-
CubeViewPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
74
|
+
CubeViewPaneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubeViewPaneComponent, deps: [{ token: i1.SessionService }, { token: i2.PaneRef }, { token: i3.Popup }, { token: i4.RouterImpl }, { token: i5.CubeService }, { token: i6.GuideService }], target: i0.ɵɵFactoryTarget.Component });
|
75
|
+
CubeViewPaneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: CubeViewPaneComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<mat-toolbar class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <button mat-icon-button (click)=\"vp.refresh()\" [bizdocTooltip]=\"'Refresh' | translate\"><mat-icon matAnimate=\"rotate\">autorenew</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [bizdocTooltip]=\"'Download' | translate\"\r\n data-help=\"download\" (click)=\"vp.exportToExcel()\">\r\n <mat-icon>save_alt</mat-icon>\r\n </button>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">tune</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon [class.filled]=\"anyFilters\">filter_list</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar mode=\"query\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<bizdoc-cube-view [filters]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n [(loading)]=\"loading\"></bizdoc-cube-view>\r\n<!--<ng-lottie options=\"{path: 'assets/8318-loader.json'}\" *ngIf=\"loading\"></ng-lottie>-->\r\n", styles: [":host{display:flex;flex-direction:column;height:100%}:host ::ng-deep .cube-view{flex:1 auto}\n"], components: [{ type: i7.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i8.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"] }, { type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { type: i12.CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["filters", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }], directives: [{ type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i15.MatIconAnimate, selector: "[matAnimate]" }, { type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i13.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i16.TranslatePipe } });
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubeViewPaneComponent, decorators: [{
|
77
77
|
type: Component,
|
78
78
|
args: [{ host: {
|
79
79
|
class: 'pane'
|
@@ -96,8 +96,8 @@ let ActionsWidget = ActionsWidget_1 = class ActionsWidget {
|
|
96
96
|
}
|
97
97
|
};
|
98
98
|
ActionsWidget.nextId = 0;
|
99
|
-
ActionsWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
100
|
-
ActionsWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
99
|
+
ActionsWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ActionsWidget, deps: [{ token: WidgetRef }, { token: i1.SessionService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
100
|
+
ActionsWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ActionsWidget, selector: "ng-component", host: { attributes: { "dir": "ltr" }, properties: { "id": "id" }, styleAttribute: "display:block" }, viewQueries: [{ propertyName: "chart", first: true, predicate: AccumulationChartComponent, descendants: true }], ngImport: i0, template: '', isInline: true });
|
101
101
|
ActionsWidget = ActionsWidget_1 = __decorate([
|
102
102
|
BizDoc({
|
103
103
|
selector: 'bizdoc-actions-slice'
|
@@ -105,7 +105,7 @@ ActionsWidget = ActionsWidget_1 = __decorate([
|
|
105
105
|
/** component*/
|
106
106
|
], ActionsWidget);
|
107
107
|
export { ActionsWidget };
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ActionsWidget, decorators: [{
|
109
109
|
type: Component,
|
110
110
|
args: [{
|
111
111
|
template: '',
|
@@ -128,9 +128,9 @@ export class CubeAccumAnalysisWidget extends CubeAnalysisBase {
|
|
128
128
|
super.ngOnDestroy();
|
129
129
|
}
|
130
130
|
}
|
131
|
-
CubeAccumAnalysisWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
132
|
-
CubeAccumAnalysisWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
131
|
+
CubeAccumAnalysisWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubeAccumAnalysisWidget, deps: [{ token: i1.WidgetRef }, { token: i2.CubeInfo }, { token: i3.SessionService }, { token: i4.DatasourceService }, { token: i5.CubeService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
132
|
+
CubeAccumAnalysisWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: CubeAccumAnalysisWidget, selector: "bizdoc-accum-cube-analysis", host: { attributes: { "dir": "ltr" }, properties: { "id": "id" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubeAccumAnalysisWidget, decorators: [{
|
134
134
|
type: Component,
|
135
135
|
args: [{
|
136
136
|
selector: 'bizdoc-accum-cube-analysis',
|
@@ -189,15 +189,15 @@ let CubeCompareWidget = CubeCompareWidget_1 = class CubeCompareWidget {
|
|
189
189
|
}
|
190
190
|
};
|
191
191
|
CubeCompareWidget.nextId = 0;
|
192
|
-
CubeCompareWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
193
|
-
CubeCompareWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
192
|
+
CubeCompareWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubeCompareWidget, deps: [{ token: i1.TranslateService }, { token: i2.WidgetRef }, { token: i0.ElementRef }, { token: i3.DatasourceService }, { token: i4.SessionService }], target: i0.ɵɵFactoryTarget.Component });
|
193
|
+
CubeCompareWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: CubeCompareWidget, selector: "ng-component", host: { attributes: { "dir": "ltr" }, properties: { "id": "id" } }, providers: [LineSeriesService, CrosshairService, ColumnSeriesService], viewQueries: [{ propertyName: "chart", first: true, predicate: ChartComponent, descendants: true }], ngImport: i0, template: '', isInline: true });
|
194
194
|
CubeCompareWidget = CubeCompareWidget_1 = __decorate([
|
195
195
|
BizDoc({
|
196
196
|
selector: 'bizdoc-cube-compare'
|
197
197
|
})
|
198
198
|
], CubeCompareWidget);
|
199
199
|
export { CubeCompareWidget };
|
200
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubeCompareWidget, decorators: [{
|
201
201
|
type: Component,
|
202
202
|
args: [{
|
203
203
|
//templateUrl: './compare.widget.html',
|
@@ -82,9 +82,9 @@ export class CubeAnalysisBase {
|
|
82
82
|
}
|
83
83
|
}
|
84
84
|
CubeAnalysisBase.nextId = 0;
|
85
|
-
CubeAnalysisBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
86
|
-
CubeAnalysisBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.
|
87
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
85
|
+
CubeAnalysisBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubeAnalysisBase, deps: [{ token: i1.WidgetRef }, { token: i2.CubeInfo }, { token: i3.SessionService }, { token: i4.DatasourceService }, { token: i5.CubeService }], target: i0.ɵɵFactoryTarget.Directive });
|
86
|
+
CubeAnalysisBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.9", type: CubeAnalysisBase, ngImport: i0 });
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubeAnalysisBase, decorators: [{
|
88
88
|
type: Directive
|
89
89
|
}], ctorParameters: function () { return [{ type: i1.WidgetRef }, { type: i2.CubeInfo }, { type: i3.SessionService }, { type: i4.DatasourceService }, { type: i5.CubeService }]; } });
|
90
90
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3ViZS1hbmFseXNpcy5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9kYXNoYm9hcmQvY3ViZS9jdWJlLWFuYWx5c2lzLmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFhLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQWMsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBdUIsTUFBTSx5QkFBeUIsQ0FBQztBQUVyRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFLL0MsTUFBTSxPQUFnQixnQkFBZ0I7SUFrQnBDLFlBQVksR0FBdUIsRUFDekIsS0FBZSxFQUNiLFFBQXdCLEVBQzFCLEdBQXNCLEVBQ3BCLFFBQXFCO1FBSHZCLFVBQUssR0FBTCxLQUFLLENBQVU7UUFDYixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUMxQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUNwQixhQUFRLEdBQVIsUUFBUSxDQUFhO1FBcEJ4QixPQUFFLEdBQUcsaUJBQWlCLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDM0QsYUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDO1FBQ3ZDLFVBQUssR0FBZ0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQVczRSxpQkFBWSxHQUErQixFQUFFLENBQUM7UUFDNUMsVUFBSyxHQUF5QixJQUFJLG9CQUFvQixFQUFFLENBQUM7UUFDekQsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFNaEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDO1FBQzVCLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQ2IsTUFBTSxrQkFBa0IsSUFBSSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQzVDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQzVCLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2hFLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUNILEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUM7WUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQztZQUM1QixJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBOUJELElBQWMsTUFBTSxLQUFLLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQSxDQUFBLENBQUM7SUFDN0MsSUFBYyxLQUFLLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFBLENBQUEsQ0FBQztJQThCakMsT0FBTyxDQUFDLElBQWEsRUFBRSxPQUE0QjtRQUMzRCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDdkIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSTtZQUNyQixLQUFLLEVBQUUsT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDdEQsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSztTQUM5QixDQUFDLENBQUM7SUFDRixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQWM7UUFDbkIsTUFBTSxXQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDUCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDckUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDcEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDdEQsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDL0I7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDWCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0QsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO2FBQ3ZCO2lCQUNJLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRTtnQkFDZixNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDeEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQ3BELENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN4RCxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQy9CO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLFdBQVcsQ0FBQyxNQUFNO1lBQUUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDM0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FDbEIsQ0FBQzs7WUFFQSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFHRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O0FBckZNLHVCQUFNLEdBQUcsQ0FBQyxDQUFDOzZHQURFLGdCQUFnQjtpR0FBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRHJDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkRlc3Ryb3ksIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmb3JrSm9pbiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSW50ZXJuYXRpb25hbGl6YXRpb24gfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYmFzZSc7XHJcbmltcG9ydCB7IFdpZGdldENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIENoYXJ0VHlwZSwgQ3ViZSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWEVTX0xBQkVMX0RJVklERVIsIEFYRVNfQ09ERV9ESVZJREVSLCBDdWJlU2VydmljZSwgU2VyaWVzIH0gZnJvbSAnLi4vLi4vY3ViZS9jdWJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBXaWRnZXRSZWYgfSBmcm9tIFwiLi4vd2lkZ2V0LXJlZlwiO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vLi4vY29yZS9mdW5jdGlvbnMnO1xyXG5pbXBvcnQgeyBDdWJlSW5mbyB9IGZyb20gJy4uLy4uL2N1YmUvY3ViZS1pbmZvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTY29wZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDdWJlQW5hbHlzaXNCYXNlIGltcGxlbWVudHMgV2lkZ2V0Q29tcG9uZW50PFNlcmllc1tdPiwgT25EZXN0cm95IHtcclxuICBzdGF0aWMgbmV4dElkID0gMDtcclxuICByZWFkb25seSBpZCA9IGBjdWJlLWFuYWx5c2lzLSR7Q3ViZUFuYWx5c2lzQmFzZS5uZXh0SWQrK31gO1xyXG4gIHBhbGV0dGVzID0gdGhpcy5fc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gIHRoZW1lOiAnTWF0ZXJpYWwnIHwgJ01hdGVyaWFsRGFyaycgPSB0aGlzLl9zZXNzaW9uLnRoZW1lLmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCc7XHJcbiAgaGVpZ2h0OiBzdHJpbmc7XHJcbiAgd2lkdGg6IHN0cmluZztcclxuICByZWFkb25seSBjdXJyZW5jeUNvZGU6IHN0cmluZztcclxuICBwcm90ZWN0ZWQgX2N1YmU6IEN1YmU7XHJcbiAgcHJvdGVjdGVkIF9vcHRpb25zOiBPcHRpb25zO1xyXG4gIHByb3RlY3RlZCBfZGF0YTogU2VyaWVzW107XHJcbiAgcHJpdmF0ZSBfc2VyaWVzOiBzdHJpbmdbXTtcclxuICBwcml2YXRlIF94QXhpczogc3RyaW5nW107XHJcbiAgcHJvdGVjdGVkIGdldCBzZXJpZXMoKSB7IHJldHVybiB0aGlzLl9zZXJpZXN9XHJcbiAgcHJvdGVjdGVkIGdldCB4QXhpcygpIHsgcmV0dXJuIHRoaXMuX3hBeGlzfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2F4aXNUeXBlTWFwOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIHByb3RlY3RlZCByZWFkb25seSBfaW50bDogSW50ZXJuYXRpb25hbGl6YXRpb24gPSBuZXcgSW50ZXJuYXRpb25hbGl6YXRpb24oKTtcclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKHJlZjogV2lkZ2V0UmVmPE9wdGlvbnM+LFxyXG4gICAgcHJpdmF0ZSBfaW5mbzogQ3ViZUluZm8sXHJcbiAgICBwcm90ZWN0ZWQgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZHM6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIF9zZXJ2aWNlOiBDdWJlU2VydmljZSkge1xyXG4gICAgdGhpcy5fb3B0aW9ucyA9IHJlZi5vcHRpb25zO1xyXG4gICAgY29uc3QgeyB4QXhpcywgc2VyaWVzLCBjdWJlIH0gPSB0aGlzLl9vcHRpb25zO1xyXG4gICAgdGhpcy5fY3ViZSA9IGN1YmUgPyB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gY3ViZSkgOiB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICBpZiAoIXRoaXMuX2N1YmUpXHJcbiAgICAgIHRocm93IGBjdWJlIG5vdCBmb3VuZCAke2N1YmV9YDtcclxuICAgIHRoaXMuX3hBeGlzID0gIXhBeGlzID8gW3RoaXMuX2N1YmUuYXhlc1swXS5uYW1lXSA6IGlzQXJyYXkoeEF4aXMpID8geEF4aXMgOiBbeEF4aXNdO1xyXG4gICAgdGhpcy5fc2VyaWVzID0gIXNlcmllcyA/IFtdIDogaXNBcnJheShzZXJpZXMpID8gc2VyaWVzIDogW3Nlcmllc107XHJcbiAgICB0aGlzLmN1cnJlbmN5Q29kZSA9IHRoaXMuX2N1YmUuY3VycmVuY3lDb2RlO1xyXG4gICAgdGhpcy5fY3ViZS5heGVzLmZvckVhY2goKGEpID0+XHJcbiAgICAgIHRoaXMuX2F4aXNUeXBlTWFwW2EubmFtZV0gPSBhLmRhdGFUeXBlKTtcclxuICAgIF9zZXNzaW9uLnRoZW1lQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgIHRoaXMudGhlbWUgPSB0LmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCc7XHJcbiAgICAgIHRoaXMucGFsZXR0ZXMgPSBfc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gICAgICB0aGlzLm9uVGhlbWVDaGFuZ2UoKTtcclxuICAgIH0pO1xyXG4gICAgcmVmLnJlc2l6ZS5zdWJzY3JpYmUoZCA9PiB7XHJcbiAgICAgIHRoaXMuaGVpZ2h0ID0gYCR7ZC5oZWlnaHR9cHhgO1xyXG4gICAgICB0aGlzLndpZHRoID0gYCR7ZC53aWR0aH1weGA7XHJcbiAgICAgIHRoaXMuX2RhdGEgJiYgdGhpcy5vblJlc2l6ZShkKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcm90ZWN0ZWQgZXhwbG9yZShheGVzOiBBeGVzTWFwLCBvcHRpb25zPzogeyBpbmRleD86IHN0cmluZyB9KSB7XHJcbiAgICB0aGlzLl9pbmZvLmV4cGxvcmUoYXhlcywge1xyXG4gICAgICBjdWJlOiB0aGlzLl9jdWJlLm5hbWUsXHJcbiAgICAgIGluZGV4OiBvcHRpb25zICYmIG9wdGlvbnMuaW5kZXggPyBvcHRpb25zLmluZGV4IDogbnVsbCxcclxuICAgICAgc2NvcGU6IHRoaXMuX29wdGlvbnMuc2NvcGVcclxuIH0pO1xyXG4gIH1cclxuICBhYnN0cmFjdCBvblJlc2l6ZShkaW06IHsgaGVpZ2h0OiBudW1iZXI7IHdpZHRoOiBudW1iZXIgfSk7XHJcbiAgb25CaW5kKGRhdGE6IFNlcmllc1tdKSB7XHJcbiAgICBjb25zdCBvYnNlcnZhYmxlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuICAgIGRhdGEuZm9yRWFjaChzID0+IHtcclxuICAgICAgcy5wb2ludHMuZm9yRWFjaChwID0+IHtcclxuICAgICAgICBpZiAocC54KSB7XHJcbiAgICAgICAgICBjb25zdCBwb2JzZXJ2YWJsZSA9IGZvcmtKb2luKHAueC5zcGxpdChBWEVTX0NPREVfRElWSURFUikubWFwKChrLCBqKSA9PlxyXG4gICAgICAgICAgICB0aGlzLl9kcy5nZXQodGhpcy5fYXhpc1R5cGVNYXBbdGhpcy5feEF4aXNbal1dLCBrKSkpLlxyXG4gICAgICAgICAgICBwaXBlKHRhcChvID0+IHAubmFtZSA9IG8uam9pbihBWEVTX0xBQkVMX0RJVklERVIpKSk7XHJcbiAgICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKHBvYnNlcnZhYmxlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAocy5pbmRleCkge1xyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5fY3ViZS5pbmRpY2VzLmZpbmQoaSA9PiBpLm5hbWUgPT09IHMuaW5kZXgpO1xyXG4gICAgICAgIHMudGl0bGUgPSBpbmRleC50aXRsZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChzLm5hbWUpIHtcclxuICAgICAgICBjb25zdCBzb2JzZXJ2YWJsZSA9IGZvcmtKb2luKHMubmFtZS5zcGxpdChBWEVTX0NPREVfRElWSURFUikubWFwKChrLCBpKSA9PlxyXG4gICAgICAgICAgdGhpcy5fZHMuZ2V0KHRoaXMuX2F4aXNUeXBlTWFwW3RoaXMuX3Nlcmllc1tpXV0sIGspXHJcbiAgICAgICAgKSkucGlwZSh0YXAodiA9PiBzLnRpdGxlID0gdi5qb2luKEFYRVNfTEFCRUxfRElWSURFUikpKTtcclxuICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKHNvYnNlcnZhYmxlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcclxuICAgIGlmIChvYnNlcnZhYmxlcy5sZW5ndGgpIGZvcmtKb2luKG9ic2VydmFibGVzKS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgdGhpcy5vbkxvYWQoZGF0YSlcclxuICAgICk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMub25Mb2FkKGRhdGEpO1xyXG4gIH1cclxuICBhYnN0cmFjdCBvbkxvYWQoZGF0YTogU2VyaWVzW10pO1xyXG4gIGFic3RyYWN0IG9uVGhlbWVDaGFuZ2UoKTtcclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xyXG4gIHNjb3BlPzogU2NvcGVUeXBlO1xyXG4gIGNoYXJ0VHlwZT86IENoYXJ0VHlwZTtcclxuICBpbmRpY2VzQ2hhcnRUeXBlPzogQ2hhcnRUeXBlO1xyXG4gIGN1YmU/OiBzdHJpbmc7XHJcbiAgeEF4aXM/OiBzdHJpbmdbXSB8IHN0cmluZztcclxuICBleGNsdWRlPzogc3RyaW5nW10gfCBzdHJpbmc7XHJcbiAgc2VyaWVzPzogc3RyaW5nW10gfCBzdHJpbmc7XHJcbiAgaW5kaWNlcz86IHN0cmluZ1tdIHwgc3RyaW5nO1xyXG59XHJcbiJdfQ==
|
@@ -34,8 +34,8 @@ let CubeAnalysisWidget = class CubeAnalysisWidget {
|
|
34
34
|
this._instance.onBind(data, args);
|
35
35
|
}
|
36
36
|
};
|
37
|
-
CubeAnalysisWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
38
|
-
CubeAnalysisWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
37
|
+
CubeAnalysisWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubeAnalysisWidget, deps: [{ token: i1.WidgetRef }, { token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
38
|
+
CubeAnalysisWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: CubeAnalysisWidget, selector: "ng-component", ngImport: i0, template: '', isInline: true });
|
39
39
|
CubeAnalysisWidget = __decorate([
|
40
40
|
BizDoc({
|
41
41
|
selector: 'bizdoc-cube-analysis'
|
@@ -43,7 +43,7 @@ CubeAnalysisWidget = __decorate([
|
|
43
43
|
/** statistics component*/
|
44
44
|
], CubeAnalysisWidget);
|
45
45
|
export { CubeAnalysisWidget };
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubeAnalysisWidget, decorators: [{
|
47
47
|
type: Component,
|
48
48
|
args: [{
|
49
49
|
template: '',
|
@@ -127,9 +127,9 @@ export class CubeChartAnalysisWidget extends CubeAnalysisBase {
|
|
127
127
|
super.ngOnDestroy();
|
128
128
|
}
|
129
129
|
}
|
130
|
-
CubeChartAnalysisWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.
|
131
|
-
CubeChartAnalysisWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.
|
130
|
+
CubeChartAnalysisWidget.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubeChartAnalysisWidget, deps: [{ token: i1.WidgetRef }, { token: i2.SessionService }, { token: i3.DatasourceService }, { token: i4.CubeService }, { token: i5.CubeInfo }, { token: i0.ElementRef }, { token: i6.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
131
|
+
CubeChartAnalysisWidget.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: CubeChartAnalysisWidget, selector: "bizdoc-cube-chart-analysis", host: { attributes: { "dir": "ltr" }, properties: { "id": "id" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: CubeChartAnalysisWidget, decorators: [{
|
133
133
|
type: Component,
|
134
134
|
args: [{
|
135
135
|
selector: 'bizdoc-cube-chart-analysis',
|