@bizdoc/core 1.8.5 → 1.8.9
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/LICENSE.md +1 -0
- package/karma.conf.js +44 -0
- package/ng-package.json +38 -0
- package/package.json +81 -71
- package/src/lib/admin/admin-dismiss.service.ts +24 -0
- package/src/lib/admin/admin-menu.component.html +18 -0
- package/src/lib/admin/admin-menu.component.ts +20 -0
- package/src/lib/admin/core/ace.input.ts +133 -0
- package/src/lib/admin/core/color-picker.input.scss +17 -0
- package/src/lib/admin/core/color-picker.input.ts +175 -0
- package/src/lib/admin/core/search.input.ts +32 -0
- package/src/lib/admin/diff/_configuration-diff-theme.scss +72 -0
- package/src/lib/admin/diff/configuration-diff.component.html +24 -0
- package/src/lib/admin/diff/configuration-diff.component.scss +16 -0
- package/src/lib/admin/diff/configuration-diff.component.ts +549 -0
- package/src/lib/admin/document-trace/Timeline.ts +41 -0
- package/src/lib/admin/document-trace/_timeline-theme.scss +70 -0
- package/src/lib/admin/document-trace/document-trace.component.html +55 -0
- package/src/lib/admin/document-trace/document-trace.component.scss +10 -0
- package/src/lib/admin/document-trace/document-trace.component.ts +463 -0
- package/src/lib/admin/document-trace/reassign.dialog.html +24 -0
- package/src/lib/admin/document-trace/reassign.dialog.ts +34 -0
- package/src/lib/admin/document-trace/trace-element.component.html +57 -0
- package/src/lib/admin/document-trace/trace-element.component.scss +21 -0
- package/src/lib/admin/document-trace/trace-element.component.ts +116 -0
- package/src/lib/admin/form/form.resolve.service.ts +13 -0
- package/src/lib/admin/form/form.service.ts +23 -0
- package/src/lib/admin/form/workflow/node-ref.ts +8 -0
- package/src/lib/admin/form/workflow/node.component.html +36 -0
- package/src/lib/admin/form/workflow/node.component.scss +4 -0
- package/src/lib/admin/form/workflow/node.component.ts +128 -0
- package/src/lib/admin/form/workflow/role-node.component.html +36 -0
- package/src/lib/admin/form/workflow/role-node.component.ts +65 -0
- package/src/lib/admin/form/workflow/tools.component.exp.ts +13 -0
- package/src/lib/admin/form/workflow/tools.component.html +1 -0
- package/src/lib/admin/form/workflow/workflow.component.html +73 -0
- package/src/lib/admin/form/workflow/workflow.component.scss +52 -0
- package/src/lib/admin/form/workflow/workflow.component.ts +390 -0
- package/src/lib/admin/indices/manage-cube-index.component.html +35 -0
- package/src/lib/admin/indices/manage-cube-index.component.scss +16 -0
- package/src/lib/admin/indices/manage-cube-index.component.ts +155 -0
- package/src/lib/admin/patterns/patterns.component.html +70 -0
- package/src/lib/admin/patterns/patterns.component.ts +166 -0
- package/src/lib/admin/permissions/permissions.component.html +21 -0
- package/src/lib/admin/permissions/permissions.component.scss +7 -0
- package/src/lib/admin/permissions/permissions.component.ts +89 -0
- package/src/lib/admin/positions/positions-popup.component.html +23 -0
- package/src/lib/admin/positions/positions-popup.component.ts +67 -0
- package/src/lib/admin/positions/positions.component.html +142 -0
- package/src/lib/admin/positions/positions.component.scss +14 -0
- package/src/lib/admin/positions/positions.component.ts +285 -0
- package/src/lib/admin/profiler/profiler.component.html +109 -0
- package/src/lib/admin/profiler/profiler.component.scss +22 -0
- package/src/lib/admin/profiler/profiler.component.ts +268 -0
- package/src/lib/admin/utility-ref.ts +44 -0
- package/src/lib/admin/utility-wrapper.component.ts +52 -0
- package/src/lib/admin/utility.pane.component.ts +49 -0
- package/src/lib/app.component.ts +86 -0
- package/src/lib/bizdoc.module.ts +81 -0
- package/src/lib/browse/_browse-theme.scss +86 -0
- package/src/lib/browse/browse-items.component.html +163 -0
- package/src/lib/browse/browse-items.component.scss +52 -0
- package/src/lib/browse/browse-items.component.ts +419 -0
- package/src/lib/browse/browse.mobile.component.html +33 -0
- package/src/lib/browse/browse.mobile.component.ts +89 -0
- package/src/lib/browse/browse.pane.component.html +43 -0
- package/src/lib/browse/browse.pane.component.scss +4 -0
- package/src/lib/browse/browse.pane.component.ts +133 -0
- package/src/lib/browse/expanded-item/expanded-item.component.html +37 -0
- package/src/lib/browse/expanded-item/expanded-item.component.scss +35 -0
- package/src/lib/browse/expanded-item/expanded-item.component.ts +287 -0
- package/src/lib/browse/filter/filter.component.html +50 -0
- package/src/lib/browse/filter/filter.component.scss +10 -0
- package/src/lib/browse/filter/filter.component.ts +143 -0
- package/src/lib/browse/folders-menu.component.html +20 -0
- package/src/lib/browse/folders-menu.component.scss +15 -0
- package/src/lib/browse/folders-menu.component.ts +42 -0
- package/src/lib/chart.module.ts +33 -0
- package/src/lib/chat/_chat-theme.scss +162 -0
- package/src/lib/chat/chat-info.ts +73 -0
- package/src/lib/chat/chat-pool.component.exp.ts +117 -0
- package/src/lib/chat/chat-pool.component.html +13 -0
- package/src/lib/chat/chat-pool.component.scss +10 -0
- package/src/lib/chat/chat.mobile.component.html +6 -0
- package/src/lib/chat/chat.mobile.component.scss +8 -0
- package/src/lib/chat/chat.mobile.component.ts +18 -0
- package/src/lib/chat/chat.service.ts +128 -0
- package/src/lib/chat/contacts.component.html +37 -0
- package/src/lib/chat/contacts.component.scss +49 -0
- package/src/lib/chat/contacts.component.ts +88 -0
- package/src/lib/chat/contacts.pane.component.ts +25 -0
- package/src/lib/chat/conversation.component.html +28 -0
- package/src/lib/chat/conversation.component.scss +6 -0
- package/src/lib/chat/conversation.component.ts +186 -0
- package/src/lib/chat/conversation.pane.component.ts +45 -0
- package/src/lib/circular-gauge.module.ts +11 -0
- package/src/lib/compose/_compose-theme.scss +38 -0
- package/src/lib/compose/action/action-picker.component.html +25 -0
- package/src/lib/compose/action/action-picker.component.scss +4 -0
- package/src/lib/compose/action/action-picker.component.ts +95 -0
- package/src/lib/compose/action/action-ref.ts +19 -0
- package/src/lib/compose/action/action.dialog.html +17 -0
- package/src/lib/compose/action/action.dialog.scss +1 -0
- package/src/lib/compose/action/action.dialog.ts +58 -0
- package/src/lib/compose/action/action.pane.dialog.html +12 -0
- package/src/lib/compose/action/action.pane.dialog.ts +64 -0
- package/src/lib/compose/action/assign-action.component.html +17 -0
- package/src/lib/compose/action/assign-action.component.ts +43 -0
- package/src/lib/compose/action/return-action.component.html +13 -0
- package/src/lib/compose/action/return-action.component.ts +31 -0
- package/src/lib/compose/attachments/attachments.component.html +23 -0
- package/src/lib/compose/attachments/attachments.component.scss +21 -0
- package/src/lib/compose/attachments/attachments.component.ts +103 -0
- package/src/lib/compose/attachments/preview/attachment-preview.component.html +15 -0
- package/src/lib/compose/attachments/preview/attachment-preview.component.scss +36 -0
- package/src/lib/compose/attachments/preview/attachment-preview.component.ts +143 -0
- package/src/lib/compose/attachments/progress-button.directive.ts +18 -0
- package/src/lib/compose/can-deactivate-changes.service.ts +22 -0
- package/src/lib/compose/comments/_comments-theme.scss +82 -0
- package/src/lib/compose/comments/comment.component.html +36 -0
- package/src/lib/compose/comments/comment.component.ts +160 -0
- package/src/lib/compose/comments/comments.component.html +27 -0
- package/src/lib/compose/comments/comments.component.scss +33 -0
- package/src/lib/compose/comments/comments.component.ts +220 -0
- package/src/lib/compose/comments/comments.pane.component.ts +41 -0
- package/src/lib/compose/comments/edit-comment.component.html +3 -0
- package/src/lib/compose/comments/edit-comment.component.ts +35 -0
- package/src/lib/compose/comments/edits.component.html +7 -0
- package/src/lib/compose/comments/edits.component.ts +33 -0
- package/src/lib/compose/comments/quick-comment.component.exp.ts +60 -0
- package/src/lib/compose/comments/quick-comment.component.html +5 -0
- package/src/lib/compose/comments/quick-comment.component.scss +11 -0
- package/src/lib/compose/comments/votes.component.html +7 -0
- package/src/lib/compose/comments/votes.component.ts +38 -0
- package/src/lib/compose/compose-resolve.service.ts +42 -0
- package/src/lib/compose/compose.mobile.component.html +48 -0
- package/src/lib/compose/compose.mobile.component.scss +11 -0
- package/src/lib/compose/compose.mobile.component.ts +84 -0
- package/src/lib/compose/compose.pane.component.html +48 -0
- package/src/lib/compose/compose.pane.component.scss +26 -0
- package/src/lib/compose/compose.pane.component.ts +181 -0
- package/src/lib/compose/copy/copy.dialog.html +21 -0
- package/src/lib/compose/copy/copy.dialog.ts +40 -0
- package/src/lib/compose/dismiss.service.ts +26 -0
- package/src/lib/compose/document-resolver.service.ts +13 -0
- package/src/lib/compose/document.component.html +5 -0
- package/src/lib/compose/document.component.ts +44 -0
- package/src/lib/compose/document.mobile.component.ts +20 -0
- package/src/lib/compose/document.pane.component.ts +22 -0
- package/src/lib/compose/events/events.component.html +6 -0
- package/src/lib/compose/events/events.component.ts +21 -0
- package/src/lib/compose/form-ref.ts +53 -0
- package/src/lib/compose/form-selector/form-selector.sheet.html +10 -0
- package/src/lib/compose/form-selector/form-selector.sheet.ts +74 -0
- package/src/lib/compose/form.component.html +12 -0
- package/src/lib/compose/form.component.ts +401 -0
- package/src/lib/compose/maps/maps.component.html +3 -0
- package/src/lib/compose/maps/maps.component.ts +22 -0
- package/src/lib/compose/new-menu.component.html +29 -0
- package/src/lib/compose/new-menu.component.scss +11 -0
- package/src/lib/compose/new-menu.component.ts +106 -0
- package/src/lib/compose/privilage.directive.ts +43 -0
- package/src/lib/compose/recipient-resolver.service.ts +15 -0
- package/src/lib/compose/save-changes.dialog.html +13 -0
- package/src/lib/compose/save-changes.dialog.ts +10 -0
- package/src/lib/compose/state.component.ts +29 -0
- package/src/lib/compose/tag/tags.component.html +22 -0
- package/src/lib/compose/tag/tags.component.scss +1 -0
- package/src/lib/compose/tag/tags.component.ts +83 -0
- package/src/lib/compose/trace/flow.component.html +3 -0
- package/src/lib/compose/trace/flow.component.scss +7 -0
- package/src/lib/compose/trace/flow.component.ts +669 -0
- package/src/lib/compose/trace/people.component.ts +32 -0
- package/src/lib/compose/trace/trace.base.ts +66 -0
- package/src/lib/compose/trace/trace.component.html +43 -0
- package/src/lib/compose/trace/trace.component.scss +16 -0
- package/src/lib/compose/trace/trace.component.ts +289 -0
- package/src/lib/compose/trace/trace.pane.component.html +3 -0
- package/src/lib/compose/trace/trace.pane.component.scss +5 -0
- package/src/lib/compose/trace/trace.pane.component.ts +43 -0
- package/src/lib/compose/version-compare/_compare-theme.scss +147 -0
- package/src/lib/compose/version-compare/version-compare.component.ts +51 -0
- package/src/lib/compose/version-compare/version-compare.directive.ts +292 -0
- package/src/lib/compose/version-compare/version.pane.component.html +19 -0
- package/src/lib/compose/version-compare/version.pane.component.scss +8 -0
- package/src/lib/compose/version-compare/version.pane.component.ts +48 -0
- package/src/lib/core/NgComponentOutlet.ts +31 -0
- package/src/lib/core/account.service.ts +28 -0
- package/src/lib/core/animated-icon/animated-icon.directive.html +3 -0
- package/src/lib/core/animated-icon/animated-icon.directive.scss +12 -0
- package/src/lib/core/animated-icon/animated-icon.directive.ts +41 -0
- package/src/lib/core/animations.ts +196 -0
- package/src/lib/core/authentication.ts +7 -0
- package/src/lib/core/avatar/_avatar-theme.scss +60 -0
- package/src/lib/core/avatar/avatar.component.html +6 -0
- package/src/lib/core/avatar/avatar.component.ts +108 -0
- package/src/lib/core/base.ts +44 -0
- package/src/lib/core/can-activate.service.exp.ts +31 -0
- package/src/lib/core/colors.ts +322 -0
- package/src/lib/core/component-factory-resolver.ts +59 -0
- package/src/lib/core/configuration.ts +95 -0
- package/src/lib/core/controls/_daterange-theme.scss +16 -0
- package/src/lib/core/controls/address.input.ts +158 -0
- package/src/lib/core/controls/auto-complete.input.ts +218 -0
- package/src/lib/core/controls/combination-picker-body.html +34 -0
- package/src/lib/core/controls/combination-picker-body.scss +40 -0
- package/src/lib/core/controls/combination-picker-body.ts +191 -0
- package/src/lib/core/controls/combination-picker.html +6 -0
- package/src/lib/core/controls/combination-picker.scss +9 -0
- package/src/lib/core/controls/combination-picker.ts +243 -0
- package/src/lib/core/controls/combination-pool.html +10 -0
- package/src/lib/core/controls/combination-pool.scss +35 -0
- package/src/lib/core/controls/combination-pool.ts +96 -0
- package/src/lib/core/controls/select.input.ts +205 -0
- package/src/lib/core/controls/time-picker.html +4 -0
- package/src/lib/core/controls/time-picker.ts +199 -0
- package/src/lib/core/controls/timespan.input.ts +175 -0
- package/src/lib/core/datasource.service.ts +67 -0
- package/src/lib/core/decorators.ts +56 -0
- package/src/lib/core/firebase.service.ts +55 -0
- package/src/lib/core/functions.ts +229 -0
- package/src/lib/core/guide/_guide-theme.scss +197 -0
- package/src/lib/core/guide/guide.component.html +20 -0
- package/src/lib/core/guide/guide.component.ts +210 -0
- package/src/lib/core/guide/guide.service.ts +98 -0
- package/src/lib/core/http.interceptor.ts +80 -0
- package/src/lib/core/hub.service.ts +194 -0
- package/src/lib/core/identity/identity.component.html +2 -0
- package/src/lib/core/identity/identity.component.ts +57 -0
- package/src/lib/core/info/attachment-info.service.ts +49 -0
- package/src/lib/core/info/document-info.service.ts +14 -0
- package/src/lib/core/info/location-info.component.scss +13 -0
- package/src/lib/core/info/location-info.component.ts +64 -0
- package/src/lib/core/info/map-info.ts +33 -0
- package/src/lib/core/layout/autocomplete.field.ts +41 -0
- package/src/lib/core/layout/checkbox.field.ts +21 -0
- package/src/lib/core/layout/date-range.field.ts +32 -0
- package/src/lib/core/layout/date.field.ts +26 -0
- package/src/lib/core/layout/expression.field.ts +26 -0
- package/src/lib/core/layout/html.field.ts +28 -0
- package/src/lib/core/layout/input.base.ts +12 -0
- package/src/lib/core/layout/input.field.ts +43 -0
- package/src/lib/core/layout/layout.component.scss +9 -0
- package/src/lib/core/layout/layout.component.ts +173 -0
- package/src/lib/core/layout/numeric.field.ts +24 -0
- package/src/lib/core/layout/select.field.ts +52 -0
- package/src/lib/core/layout/switch.field.ts +21 -0
- package/src/lib/core/layout/textarea.field.ts +21 -0
- package/src/lib/core/layout/timespan.field.ts +25 -0
- package/src/lib/core/lottie-animation.ts +37 -0
- package/src/lib/core/mailbox.service.ts +296 -0
- package/src/lib/core/models.ts +667 -0
- package/src/lib/core/none.component.scss +26 -0
- package/src/lib/core/none.component.ts +28 -0
- package/src/lib/core/pipes/action.pipe.ts +18 -0
- package/src/lib/core/pipes/daterange.pipe.ts +45 -0
- package/src/lib/core/pipes/duration.pipe.ts +39 -0
- package/src/lib/core/pipes/form.pipe.ts +19 -0
- package/src/lib/core/pipes/join.pipe.ts +10 -0
- package/src/lib/core/pipes/role.pipe.ts +19 -0
- package/src/lib/core/pipes/sanitize-html.pipe.ts +10 -0
- package/src/lib/core/pipes/sort.pipe.ts +34 -0
- package/src/lib/core/pipes/state.pipe.ts +19 -0
- package/src/lib/core/pipes/translate.pipe.ts +14 -0
- package/src/lib/core/pipes/type-value.pipe.ts +37 -0
- package/src/lib/core/pipes/user-name.pipe.ts +14 -0
- package/src/lib/core/popup/_popup-theme.scss +226 -0
- package/src/lib/core/popup/popup-ref.ts +19 -0
- package/src/lib/core/popup/popup.component.html +6 -0
- package/src/lib/core/popup/popup.component.ts +40 -0
- package/src/lib/core/popup/popup.service.ts +164 -0
- package/src/lib/core/popup/tooltip.directive.ts +47 -0
- package/src/lib/core/prompt/ask/ask.dialog.html +6 -0
- package/src/lib/core/prompt/ask/ask.dialog.ts +35 -0
- package/src/lib/core/prompt/mask/mask.component.html +1 -0
- package/src/lib/core/prompt/mask/mask.component.scss +14 -0
- package/src/lib/core/prompt/mask/mask.component.ts +15 -0
- package/src/lib/core/prompt.service.ts +81 -0
- package/src/lib/core/router.ts +29 -0
- package/src/lib/core/session.service.ts +247 -0
- package/src/lib/core/slots/_slots-theme.scss +142 -0
- package/src/lib/core/slots/extended-tab.component.exp.ts +35 -0
- package/src/lib/core/slots/extended-tab.component.html +0 -0
- package/src/lib/core/slots/intro.pane.component.exp.ts +23 -0
- package/src/lib/core/slots/intro.pane.component.html +22 -0
- package/src/lib/core/slots/intro.pane.component.scss +8 -0
- package/src/lib/core/slots/pane-ref.ts +156 -0
- package/src/lib/core/slots/router.directive.ts +55 -0
- package/src/lib/core/slots/router.service.ts +67 -0
- package/src/lib/core/slots/slot.component.exp.ts +49 -0
- package/src/lib/core/slots/slot.component.html +15 -0
- package/src/lib/core/slots/slot.component.scss +18 -0
- package/src/lib/core/slots/slots.component.html +65 -0
- package/src/lib/core/slots/slots.component.scss +160 -0
- package/src/lib/core/slots/slots.component.ts +1138 -0
- package/src/lib/core/tagging/documents.component.html +11 -0
- package/src/lib/core/tagging/documents.component.ts +19 -0
- package/src/lib/core/tagging/edit-input.component.html +42 -0
- package/src/lib/core/tagging/edit-input.component.scss +21 -0
- package/src/lib/core/tagging/edit-input.component.ts +211 -0
- package/src/lib/core/tagging/emoji.component.ts +23 -0
- package/src/lib/core/tagging/tagging-item.directive.ts +34 -0
- package/src/lib/core/tagging/tagging.component-base.ts +29 -0
- package/src/lib/core/tagging/tagging.component.scss +22 -0
- package/src/lib/core/tagging/tagging.directive.ts +128 -0
- package/src/lib/core/tagging/tagging.pipe.ts +76 -0
- package/src/lib/core/tagging/users.component.html +13 -0
- package/src/lib/core/tagging/users.component.ts +28 -0
- package/src/lib/core/translate.service.ts +1203 -0
- package/src/lib/core/window-title.service.ts +54 -0
- package/src/lib/cube/accum/accum.component.html +16 -0
- package/src/lib/cube/accum/accum.component.ts +186 -0
- package/src/lib/cube/chart/chart.component.html +32 -0
- package/src/lib/cube/chart/chart.component.ts +252 -0
- package/src/lib/cube/cube-info.service.ts +129 -0
- package/src/lib/cube/cube-menu.component.html +13 -0
- package/src/lib/cube/cube-menu.component.ts +18 -0
- package/src/lib/cube/cube-view.component.ts +174 -0
- package/src/lib/cube/cube.service.ts +415 -0
- package/src/lib/cube/declarations.ts +23 -0
- package/src/lib/cube/explore/document-item.component.ts +28 -0
- package/src/lib/cube/explore/explore-item.component.scss +4 -0
- package/src/lib/cube/explore/explore-item.component.ts +23 -0
- package/src/lib/cube/explore/explore-items.component.html +27 -0
- package/src/lib/cube/explore/explore-items.component.scss +24 -0
- package/src/lib/cube/explore/explore-items.component.ts +142 -0
- package/src/lib/cube/explore/explore.pane.component.html +11 -0
- package/src/lib/cube/explore/explore.pane.component.ts +69 -0
- package/src/lib/cube/explore/item-resolver.service.ts +24 -0
- package/src/lib/cube/explore/item.pane.component.html +3 -0
- package/src/lib/cube/explore/item.pane.component.ts +23 -0
- package/src/lib/cube/filter/filter-tags.component.exp.ts +59 -0
- package/src/lib/cube/filter/filter-tags.component.html +8 -0
- package/src/lib/cube/filter/filter-tags.component.scss +0 -0
- package/src/lib/cube/filter/filter-tags.component.spec.ts +25 -0
- package/src/lib/cube/filter/filter.component.html +25 -0
- package/src/lib/cube/filter/filter.component.scss +8 -0
- package/src/lib/cube/filter/filter.component.ts +102 -0
- package/src/lib/cube/grid/grid.component.html +30 -0
- package/src/lib/cube/grid/grid.component.scss +4 -0
- package/src/lib/cube/grid/grid.component.ts +220 -0
- package/src/lib/cube/grid/spreadsheet.component.ts +268 -0
- package/src/lib/cube/matrix/_matrix.theme.scss +77 -0
- package/src/lib/cube/matrix/matrix.base.ts +156 -0
- package/src/lib/cube/matrix/matrix.component.html +27 -0
- package/src/lib/cube/matrix/matrix.component.scss +3 -0
- package/src/lib/cube/matrix/matrix.component.ts +52 -0
- package/src/lib/cube/matrix/matrix.mobile.component.html +26 -0
- package/src/lib/cube/matrix/matrix.mobile.component.ts +57 -0
- package/src/lib/cube/matrix/matrix.pane.component.html +26 -0
- package/src/lib/cube/matrix/matrix.pane.component.scss +7 -0
- package/src/lib/cube/matrix/matrix.pane.component.ts +63 -0
- package/src/lib/cube/matrix/table.component.html +64 -0
- package/src/lib/cube/matrix/table.component.scss +22 -0
- package/src/lib/cube/matrix/table.component.ts +337 -0
- package/src/lib/cube/pivot/pivot.component.html +14 -0
- package/src/lib/cube/pivot/pivot.component.ts +409 -0
- package/src/lib/cube/view-base.ts +81 -0
- package/src/lib/cube/view.mobile.component.html +38 -0
- package/src/lib/cube/view.mobile.component.scss +9 -0
- package/src/lib/cube/view.mobile.component.ts +112 -0
- package/src/lib/cube/view.pane.component.html +25 -0
- package/src/lib/cube/view.pane.component.scss +12 -0
- package/src/lib/cube/view.pane.component.ts +75 -0
- package/src/lib/dashboard/_table.widget.scss +19 -0
- package/src/lib/dashboard/actions/actions.widget.html +6 -0
- package/src/lib/dashboard/actions/actions.widget.ts +118 -0
- package/src/lib/dashboard/cube/accum-cube.widget.html +15 -0
- package/src/lib/dashboard/cube/accum-cube.widget.ts +154 -0
- package/src/lib/dashboard/cube/cube-analysis.base.ts +116 -0
- package/src/lib/dashboard/cube/cube-analysis.widget.ts +42 -0
- package/src/lib/dashboard/cube/cube-chart.widget.html +7 -0
- package/src/lib/dashboard/cube/cube-chart.widget.ts +146 -0
- package/src/lib/dashboard/cube/documents.widget.html +19 -0
- package/src/lib/dashboard/cube/documents.widget.ts +59 -0
- package/src/lib/dashboard/cube/filter/filter.component.html +3 -0
- package/src/lib/dashboard/cube/filter/filter.component.ts +49 -0
- package/src/lib/dashboard/cube/gauge.component.exp.ts +18 -0
- package/src/lib/dashboard/dashboard.component.html +18 -0
- package/src/lib/dashboard/dashboard.component.scss +36 -0
- package/src/lib/dashboard/dashboard.component.ts +45 -0
- package/src/lib/dashboard/dashboard.pane.component.ts +19 -0
- package/src/lib/dashboard/recents/recents.widget.html +27 -0
- package/src/lib/dashboard/recents/recents.widget.scss +9 -0
- package/src/lib/dashboard/recents/recents.widget.ts +74 -0
- package/src/lib/dashboard/score/activity.widget.html +9 -0
- package/src/lib/dashboard/score/activity.widget.ts +167 -0
- package/src/lib/dashboard/score/compare-departments.widget.html +8 -0
- package/src/lib/dashboard/score/compare-departments.widget.ts +204 -0
- package/src/lib/dashboard/score/peers-performance.widget.html +23 -0
- package/src/lib/dashboard/score/peers-performance.widget.ts +254 -0
- package/src/lib/dashboard/score/pending-results.widget.html +29 -0
- package/src/lib/dashboard/score/pending-results.widget.ts +57 -0
- package/src/lib/dashboard/score/personal-score.widget.html +18 -0
- package/src/lib/dashboard/score/personal-score.widget.ts +225 -0
- package/src/lib/dashboard/widget-item.component.ts +90 -0
- package/src/lib/dashboard/widget-ref.ts +20 -0
- package/src/lib/desktop.module.ts +93 -0
- package/src/lib/diagram.module.ts +20 -0
- package/src/lib/grid.module.ts +16 -0
- package/src/lib/home/_home-theme.scss +155 -0
- package/src/lib/home/about/about.dialog.html +19 -0
- package/src/lib/home/about/about.dialog.ts +18 -0
- package/src/lib/home/home-base.component.ts +88 -0
- package/src/lib/home/home.desktop.component.html +87 -0
- package/src/lib/home/home.desktop.component.scss +66 -0
- package/src/lib/home/home.desktop.component.ts +181 -0
- package/src/lib/home/home.mobile.component.html +79 -0
- package/src/lib/home/home.mobile.component.scss +49 -0
- package/src/lib/home/home.mobile.component.ts +105 -0
- package/src/lib/home/notifications/notifications.component.html +18 -0
- package/src/lib/home/notifications/notifications.component.scss +36 -0
- package/src/lib/home/notifications/notifications.component.ts +55 -0
- package/src/lib/home/options/options.component.html +39 -0
- package/src/lib/home/options/options.component.scss +16 -0
- package/src/lib/home/options/options.component.ts +92 -0
- package/src/lib/home/outofoffice/outofoffice.component.html +5 -0
- package/src/lib/home/outofoffice/outofoffice.component.scss +10 -0
- package/src/lib/home/outofoffice/outofoffice.component.ts +33 -0
- package/src/lib/home/progress-bar.directive.exp.ts +24 -0
- package/src/lib/home/search.service.ts +71 -0
- package/src/lib/home/sign/sign.component.html +15 -0
- package/src/lib/home/sign/sign.component.ts +42 -0
- package/src/lib/home/submenu.directive.exp.ts +43 -0
- package/src/lib/home/tools.component.html +27 -0
- package/src/lib/home/tools.component.scss +15 -0
- package/src/lib/home/tools.component.ts +72 -0
- package/src/lib/home/welcome/welcome.dialog.exp.ts +35 -0
- package/src/lib/home/welcome/welcome.dialog.html +14 -0
- package/src/lib/impersonate/impersonate.component.html +17 -0
- package/src/lib/impersonate/impersonate.component.scss +3 -0
- package/src/lib/impersonate/impersonate.component.spec.ts +24 -0
- package/src/lib/impersonate/impersonate.component.ts +60 -0
- package/src/lib/linear-gauge.module.ts +11 -0
- package/src/lib/material.module.ts +99 -0
- package/src/lib/mobile.module.ts +41 -0
- package/src/lib/notifications/commented.notification.html +14 -0
- package/src/lib/notifications/commented.notification.ts +51 -0
- package/src/lib/notifications/cube-anomaly.notification.ts +50 -0
- package/src/lib/notifications/escalated.notification.ts +37 -0
- package/src/lib/notifications/filter.component.html +6 -0
- package/src/lib/notifications/filter.component.ts +16 -0
- package/src/lib/notifications/liked.notification.ts +49 -0
- package/src/lib/notifications/long-running-task.notification.ts +23 -0
- package/src/lib/notifications/notification-base.ts +38 -0
- package/src/lib/notifications/notifications-table.component.html +54 -0
- package/src/lib/notifications/notifications-table.component.scss +14 -0
- package/src/lib/notifications/notifications-table.component.ts +94 -0
- package/src/lib/notifications/notifications.component-base.ts +45 -0
- package/src/lib/notifications/notifications.mobile.component.ts +13 -0
- package/src/lib/notifications/notifications.pane.component.ts +16 -0
- package/src/lib/notifications/notifications.service.ts +66 -0
- package/src/lib/notifications/nudge.notification.ts +33 -0
- package/src/lib/notifications/state-changed.notification.ts +27 -0
- package/src/lib/notifications/tagged.notification.ts +46 -0
- package/src/lib/notifications/text.notification.ts +13 -0
- package/src/lib/notifications/upcoming-event.notification.ts +25 -0
- package/src/lib/options/options.component.html +149 -0
- package/src/lib/options/options.component.scss +19 -0
- package/src/lib/options/options.component.ts +244 -0
- package/src/lib/options/options.service.ts +30 -0
- package/src/lib/pivot.module.ts +18 -0
- package/src/lib/reports/arguments-component.ts +73 -0
- package/src/lib/reports/cube/grid-documents.component.html +25 -0
- package/src/lib/reports/cube/grid-documents.component.ts +85 -0
- package/src/lib/reports/cube/table-documents.component.css +18 -0
- package/src/lib/reports/cube/table-documents.component.html +30 -0
- package/src/lib/reports/cube/table-documents.component.ts +65 -0
- package/src/lib/reports/cube/usage-args.component.html +3 -0
- package/src/lib/reports/cube/usage-args.component.ts +57 -0
- package/src/lib/reports/cube/usage-base.ts +121 -0
- package/src/lib/reports/cube/usage-browse.component.exp.ts +93 -0
- package/src/lib/reports/cube/usage-browse.component.html +27 -0
- package/src/lib/reports/cube/usage-browse.component.scss +24 -0
- package/src/lib/reports/cube/usage-chart.component.html +11 -0
- package/src/lib/reports/cube/usage-chart.component.ts +304 -0
- package/src/lib/reports/cube/usage-pivot.component.html +19 -0
- package/src/lib/reports/cube/usage-pivot.component.ts +252 -0
- package/src/lib/reports/report-ref.ts +42 -0
- package/src/lib/reports/report-viewer.component.html +2 -0
- package/src/lib/reports/report-viewer.component.scss +12 -0
- package/src/lib/reports/report-viewer.component.ts +129 -0
- package/src/lib/reports/report.mobile.component.html +16 -0
- package/src/lib/reports/report.mobile.component.scss +7 -0
- package/src/lib/reports/report.mobile.component.ts +107 -0
- package/src/lib/reports/report.pane.component.html +8 -0
- package/src/lib/reports/report.pane.component.scss +9 -0
- package/src/lib/reports/report.pane.component.ts +78 -0
- package/src/lib/reports/reports-menu.component.html +9 -0
- package/src/lib/reports/reports-menu.component.ts +20 -0
- package/src/lib/reports/substitution/substitution.component.html +26 -0
- package/src/lib/reports/substitution/substitution.component.ts +34 -0
- package/src/lib/reports/table/table-view.component.html +8 -0
- package/src/lib/reports/table/table-view.component.scss +0 -0
- package/src/lib/reports/table/table-view.component.ts +33 -0
- package/src/lib/reports/tasks/tasks.component.html +21 -0
- package/src/lib/reports/tasks/tasks.component.ts +114 -0
- package/src/lib/reports/timeline/timeline.component.exp.ts +225 -0
- package/src/lib/reports/timeline/timeline.component.html +9 -0
- package/src/lib/routes.desktop.ts +191 -0
- package/src/lib/routes.mobile.ts +69 -0
- package/src/lib/schedule.module.ts +12 -0
- package/src/lib/scheduler/schedule.component.html +36 -0
- package/src/lib/scheduler/schedule.component.scss +13 -0
- package/src/lib/scheduler/schedule.component.ts +158 -0
- package/src/lib/scheduler/scheduler.mobile.component.ts +30 -0
- package/src/lib/scheduler/scheduler.pane.component.ts +49 -0
- package/src/lib/shared.module.ts +355 -0
- package/src/lib/spreadsheet.module.ts +17 -0
- package/src/lib/system.module.ts +77 -0
- package/src/lib/views/_views.theme.scss +11 -0
- package/src/lib/views/cube/_sum.theme.scss +59 -0
- package/src/lib/views/cube/chart.component.html +18 -0
- package/src/lib/views/cube/chart.component.ts +86 -0
- package/src/lib/views/cube/cube-base.ts +126 -0
- package/src/lib/views/cube/explore.component.html +33 -0
- package/src/lib/views/cube/explore.component.ts +77 -0
- package/src/lib/views/cube/matrix.component.html +42 -0
- package/src/lib/views/cube/matrix.component.ts +116 -0
- package/src/lib/views/cube/parallel.component.html +17 -0
- package/src/lib/views/cube/parallel.component.scss +13 -0
- package/src/lib/views/cube/parallel.component.ts +209 -0
- package/src/lib/views/cube/pivot.component.html +5 -0
- package/src/lib/views/cube/pivot.component.ts +60 -0
- package/src/lib/views/cube/sum.component.html +86 -0
- package/src/lib/views/cube/sum.component.scss +94 -0
- package/src/lib/views/cube/sum.component.ts +433 -0
- package/src/lib/views/cube/view.component.html +34 -0
- package/src/lib/views/cube/view.component.scss +12 -0
- package/src/lib/views/cube/view.component.ts +102 -0
- package/src/lib/views/document-view-ref.ts +34 -0
- package/src/lib/views/timeline/timeline.component.exp.ts +333 -0
- package/src/lib/views/timeline/timeline.component.html +6 -0
- package/src/lib/views/timeline/timeline.component.scss +6 -0
- package/src/lib/views/view-item.component.ts +67 -0
- package/src/lib/views/views.component.html +4 -0
- package/src/lib/views/views.component.scss +35 -0
- package/src/lib/views/views.component.ts +23 -0
- package/src/lib/views/views.mobile.component.ts +21 -0
- package/src/lib/views/views.pane.component.ts +31 -0
- package/src/polyfills.ts +81 -0
- package/src/public-api.ts +137 -0
- package/src/styles/_app.scss +315 -0
- package/src/styles/_emoji-mart.scss +504 -0
- package/src/styles/_syncfusion-base-definitions.scss +64 -0
- package/src/styles/_syncfusion-dark-definitions.scss +23 -0
- package/src/styles/_syncfusion-icons.scss +57 -0
- package/src/styles/_syncfusion-light-definitions.scss +23 -0
- package/src/styles/_syncfusion.scss +22 -0
- package/src/styles/brown.css +25532 -0
- package/src/styles/brown.css.map +1 -0
- package/src/styles/brown.min.css +83 -0
- package/src/styles/brown.scss +14 -0
- package/src/styles/build.ps1 +21 -0
- package/src/styles/dark.css +25582 -0
- package/src/styles/dark.css.map +1 -0
- package/src/styles/dark.min.css +78 -0
- package/src/styles/dark.scss +26 -0
- package/src/styles/default.css +30068 -0
- package/src/styles/default.css.map +1 -0
- package/src/styles/default.min.css +90 -0
- package/src/styles/default.scss +30 -0
- package/src/styles/diagram-icons.eot +0 -0
- package/src/styles/diagram-icons.ttf +0 -0
- package/src/styles/green.css +25532 -0
- package/src/styles/green.css.map +1 -0
- package/src/styles/green.min.css +83 -0
- package/src/styles/green.scss +14 -0
- package/src/styles/indigo.css +25532 -0
- package/src/styles/indigo.css.map +1 -0
- package/src/styles/indigo.min.css +83 -0
- package/src/styles/indigo.scss +15 -0
- package/src/test.ts +26 -0
- package/tsconfig.lib.json +25 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +18 -0
- package/bizdoc-core.d.ts +0 -5
- package/bundles/bizdoc-core.umd.js +0 -29844
- package/bundles/bizdoc-core.umd.js.map +0 -1
- package/esm2015/bizdoc-core.js +0 -5
- package/esm2015/lib/admin/admin-dismiss.service.js +0 -22
- package/esm2015/lib/admin/admin-menu.component.js +0 -30
- package/esm2015/lib/admin/core/ace.input.js +0 -147
- package/esm2015/lib/admin/core/color-picker.input.js +0 -214
- package/esm2015/lib/admin/core/search.input.js +0 -43
- package/esm2015/lib/admin/diff/configuration-diff.component.js +0 -559
- package/esm2015/lib/admin/document-trace/Timeline.js +0 -2
- package/esm2015/lib/admin/document-trace/document-trace.component.js +0 -464
- package/esm2015/lib/admin/document-trace/reassign.dialog.js +0 -42
- package/esm2015/lib/admin/document-trace/trace-element.component.js +0 -113
- package/esm2015/lib/admin/form/form.resolve.service.js +0 -17
- package/esm2015/lib/admin/form/form.service.js +0 -26
- package/esm2015/lib/admin/form/workflow/node-ref.js +0 -8
- package/esm2015/lib/admin/form/workflow/node.component.js +0 -130
- package/esm2015/lib/admin/form/workflow/role-node.component.js +0 -91
- package/esm2015/lib/admin/form/workflow/workflow.component.js +0 -403
- package/esm2015/lib/admin/indices/manage-cube-index.component.js +0 -164
- package/esm2015/lib/admin/patterns/patterns.component.js +0 -181
- package/esm2015/lib/admin/permissions/permissions.component.js +0 -100
- package/esm2015/lib/admin/positions/positions-popup.component.js +0 -77
- package/esm2015/lib/admin/positions/positions.component.js +0 -285
- package/esm2015/lib/admin/profiler/profiler.component.js +0 -263
- package/esm2015/lib/admin/utility-ref.js +0 -38
- package/esm2015/lib/admin/utility-wrapper.component.js +0 -51
- package/esm2015/lib/admin/utility.pane.component.js +0 -51
- package/esm2015/lib/app.component.js +0 -89
- package/esm2015/lib/bizdoc.module.js +0 -109
- package/esm2015/lib/browse/browse-items.component.js +0 -448
- package/esm2015/lib/browse/browse.mobile.component.js +0 -103
- package/esm2015/lib/browse/browse.pane.component.js +0 -148
- package/esm2015/lib/browse/expanded-item/expanded-item.component.js +0 -281
- package/esm2015/lib/browse/filter/filter.component.js +0 -152
- package/esm2015/lib/browse/folders-menu.component.js +0 -56
- package/esm2015/lib/chart.module.js +0 -35
- package/esm2015/lib/chat/chat-info.js +0 -67
- package/esm2015/lib/chat/chat.mobile.component.js +0 -30
- package/esm2015/lib/chat/chat.service.js +0 -122
- package/esm2015/lib/chat/contacts.component.js +0 -106
- package/esm2015/lib/chat/contacts.pane.component.js +0 -29
- package/esm2015/lib/chat/conversation.component.js +0 -195
- package/esm2015/lib/chat/conversation.pane.component.js +0 -43
- package/esm2015/lib/circular-gauge.module.js +0 -17
- package/esm2015/lib/compose/action/action-picker.component.js +0 -115
- package/esm2015/lib/compose/action/action-ref.js +0 -19
- package/esm2015/lib/compose/action/action.dialog.js +0 -64
- package/esm2015/lib/compose/action/action.pane.dialog.js +0 -64
- package/esm2015/lib/compose/action/assign-action.component.js +0 -58
- package/esm2015/lib/compose/action/return-action.component.js +0 -48
- package/esm2015/lib/compose/attachments/attachments.component.js +0 -125
- package/esm2015/lib/compose/attachments/preview/attachment-preview.component.js +0 -164
- package/esm2015/lib/compose/attachments/progress-button.directive.js +0 -25
- package/esm2015/lib/compose/can-deactivate-changes.service.js +0 -27
- package/esm2015/lib/compose/comments/Comments.pane.component.js +0 -49
- package/esm2015/lib/compose/comments/comment.component.js +0 -189
- package/esm2015/lib/compose/comments/comments.component.js +0 -232
- package/esm2015/lib/compose/comments/edit-comment.component.js +0 -35
- package/esm2015/lib/compose/comments/edits.component.js +0 -34
- package/esm2015/lib/compose/comments/quick-comment.component.exp.js +0 -67
- package/esm2015/lib/compose/comments/votes.component.js +0 -45
- package/esm2015/lib/compose/compose-resolve.service.js +0 -55
- package/esm2015/lib/compose/compose.mobile.component.js +0 -100
- package/esm2015/lib/compose/compose.pane.component.js +0 -201
- package/esm2015/lib/compose/copy/copy.dialog.js +0 -49
- package/esm2015/lib/compose/dismiss.service.js +0 -25
- package/esm2015/lib/compose/document-resolver.service.js +0 -17
- package/esm2015/lib/compose/document.component.js +0 -50
- package/esm2015/lib/compose/document.mobile.component.js +0 -22
- package/esm2015/lib/compose/document.pane.component.js +0 -26
- package/esm2015/lib/compose/events/events.component.js +0 -33
- package/esm2015/lib/compose/form-ref.js +0 -47
- package/esm2015/lib/compose/form-selector/form-selector.sheet.js +0 -85
- package/esm2015/lib/compose/form.component.js +0 -412
- package/esm2015/lib/compose/new-menu.component.js +0 -109
- package/esm2015/lib/compose/privilage.directive.js +0 -64
- package/esm2015/lib/compose/recipient-resolver.service.js +0 -18
- package/esm2015/lib/compose/save-changes.dialog.js +0 -18
- package/esm2015/lib/compose/state.component.js +0 -37
- package/esm2015/lib/compose/tag/tags.component.js +0 -94
- package/esm2015/lib/compose/trace/flow.component.js +0 -604
- package/esm2015/lib/compose/trace/people.component.js +0 -34
- package/esm2015/lib/compose/trace/trace.base.js +0 -70
- package/esm2015/lib/compose/trace/trace.component.js +0 -259
- package/esm2015/lib/compose/trace/trace.pane.component.js +0 -52
- package/esm2015/lib/compose/version-compare/version-compare.component.js +0 -55
- package/esm2015/lib/compose/version-compare/version-compare.directive.js +0 -344
- package/esm2015/lib/compose/version-compare/version.pane.component.js +0 -56
- package/esm2015/lib/core/NgComponentOutlet.js +0 -38
- package/esm2015/lib/core/account.service.js +0 -34
- package/esm2015/lib/core/animated-icon/animated-icon.directive.js +0 -17
- package/esm2015/lib/core/animations.js +0 -150
- package/esm2015/lib/core/authentication.js +0 -3
- package/esm2015/lib/core/avatar/avatar.component.js +0 -106
- package/esm2015/lib/core/base.js +0 -2
- package/esm2015/lib/core/colors.js +0 -322
- package/esm2015/lib/core/component-factory-resolver.js +0 -57
- package/esm2015/lib/core/configuration.js +0 -16
- package/esm2015/lib/core/controls/address.input.js +0 -189
- package/esm2015/lib/core/controls/auto-complete.input.js +0 -256
- package/esm2015/lib/core/controls/combination-picker-body.js +0 -172
- package/esm2015/lib/core/controls/combination-picker.js +0 -283
- package/esm2015/lib/core/controls/combination-pool.js +0 -113
- package/esm2015/lib/core/controls/select.input.js +0 -235
- package/esm2015/lib/core/controls/time-picker.js +0 -201
- package/esm2015/lib/core/controls/timespan.input.js +0 -207
- package/esm2015/lib/core/datasource.service.js +0 -63
- package/esm2015/lib/core/decorators.js +0 -46
- package/esm2015/lib/core/firebase.service.js +0 -53
- package/esm2015/lib/core/functions.js +0 -190
- package/esm2015/lib/core/guide/guide.component.js +0 -222
- package/esm2015/lib/core/guide/guide.service.js +0 -107
- package/esm2015/lib/core/http.interceptor.js +0 -79
- package/esm2015/lib/core/hub.service.js +0 -110
- package/esm2015/lib/core/identity/identity.component.js +0 -70
- package/esm2015/lib/core/info/attachment-info.service.js +0 -53
- package/esm2015/lib/core/info/document-info.service.js +0 -21
- package/esm2015/lib/core/info/location-info.component.js +0 -66
- package/esm2015/lib/core/info/map-info.js +0 -40
- package/esm2015/lib/core/layout/autocomplete.field.js +0 -60
- package/esm2015/lib/core/layout/checkbox.field.js +0 -41
- package/esm2015/lib/core/layout/date-range.field.js +0 -53
- package/esm2015/lib/core/layout/date.field.js +0 -52
- package/esm2015/lib/core/layout/expression.field.js +0 -51
- package/esm2015/lib/core/layout/html.field.js +0 -48
- package/esm2015/lib/core/layout/input.base.js +0 -11
- package/esm2015/lib/core/layout/input.field.js +0 -64
- package/esm2015/lib/core/layout/layout.component.js +0 -186
- package/esm2015/lib/core/layout/numeric.field.js +0 -47
- package/esm2015/lib/core/layout/select.field.js +0 -82
- package/esm2015/lib/core/layout/switch.field.js +0 -41
- package/esm2015/lib/core/layout/textarea.field.js +0 -42
- package/esm2015/lib/core/layout/timespan.field.js +0 -50
- package/esm2015/lib/core/lottie-animation.js +0 -46
- package/esm2015/lib/core/mailbox.service.js +0 -265
- package/esm2015/lib/core/models.js +0 -38
- package/esm2015/lib/core/none.component.js +0 -45
- package/esm2015/lib/core/pipes/action.pipe.js +0 -25
- package/esm2015/lib/core/pipes/daterange.pipe.js +0 -62
- package/esm2015/lib/core/pipes/duration.pipe.js +0 -47
- package/esm2015/lib/core/pipes/form.pipe.js +0 -25
- package/esm2015/lib/core/pipes/join.pipe.js +0 -18
- package/esm2015/lib/core/pipes/role.pipe.js +0 -25
- package/esm2015/lib/core/pipes/sanitize-html.pipe.js +0 -18
- package/esm2015/lib/core/pipes/sort.pipe.js +0 -48
- package/esm2015/lib/core/pipes/state.pipe.js +0 -25
- package/esm2015/lib/core/pipes/translate.pipe.js +0 -23
- package/esm2015/lib/core/pipes/type-value.pipe.js +0 -42
- package/esm2015/lib/core/pipes/user-name.pipe.js +0 -21
- package/esm2015/lib/core/popup/popup-ref.js +0 -20
- package/esm2015/lib/core/popup/popup.component.js +0 -40
- package/esm2015/lib/core/popup/popup.service.js +0 -155
- package/esm2015/lib/core/popup/tooltip.directive.js +0 -71
- package/esm2015/lib/core/prompt/ask/ask.dialog.js +0 -32
- package/esm2015/lib/core/prompt/mask/mask.component.js +0 -25
- package/esm2015/lib/core/prompt.service.js +0 -84
- package/esm2015/lib/core/router.js +0 -35
- package/esm2015/lib/core/session.service.js +0 -233
- package/esm2015/lib/core/slots/pane-ref.js +0 -117
- package/esm2015/lib/core/slots/router.directive.js +0 -70
- package/esm2015/lib/core/slots/router.service.js +0 -42
- package/esm2015/lib/core/slots/slots.component.js +0 -1047
- package/esm2015/lib/core/tagging/documents.component.js +0 -28
- package/esm2015/lib/core/tagging/edit-input.component.js +0 -236
- package/esm2015/lib/core/tagging/emoji.component.js +0 -35
- package/esm2015/lib/core/tagging/tagging-item.directive.js +0 -39
- package/esm2015/lib/core/tagging/tagging.component-base.js +0 -29
- package/esm2015/lib/core/tagging/tagging.directive.js +0 -136
- package/esm2015/lib/core/tagging/tagging.pipe.js +0 -72
- package/esm2015/lib/core/tagging/users.component.js +0 -35
- package/esm2015/lib/core/translate.service.js +0 -1214
- package/esm2015/lib/core/window-title.service.js +0 -53
- package/esm2015/lib/cube/accum/accum.component.js +0 -190
- package/esm2015/lib/cube/chart/chart.component.js +0 -261
- package/esm2015/lib/cube/cube-info.service.js +0 -100
- package/esm2015/lib/cube/cube-menu.component.js +0 -31
- package/esm2015/lib/cube/cube-view.component.js +0 -173
- package/esm2015/lib/cube/cube.service.js +0 -343
- package/esm2015/lib/cube/declarations.js +0 -2
- package/esm2015/lib/cube/explore/document-item.component.js +0 -38
- package/esm2015/lib/cube/explore/explore-item.component.js +0 -31
- package/esm2015/lib/cube/explore/explore-items.component.js +0 -150
- package/esm2015/lib/cube/explore/explore.pane.component.js +0 -75
- package/esm2015/lib/cube/explore/item-resolver.service.js +0 -32
- package/esm2015/lib/cube/explore/item.pane.component.js +0 -26
- package/esm2015/lib/cube/filter/filter-tags.component.exp.js +0 -68
- package/esm2015/lib/cube/filter/filter.component.js +0 -122
- package/esm2015/lib/cube/grid/grid.component.js +0 -219
- package/esm2015/lib/cube/grid/spreadsheet.component.js +0 -255
- package/esm2015/lib/cube/matrix/matrix.base.js +0 -130
- package/esm2015/lib/cube/matrix/matrix.component.js +0 -69
- package/esm2015/lib/cube/matrix/matrix.mobile.component.js +0 -63
- package/esm2015/lib/cube/matrix/matrix.pane.component.js +0 -71
- package/esm2015/lib/cube/matrix/table.component.js +0 -310
- package/esm2015/lib/cube/pivot/pivot.component.js +0 -407
- package/esm2015/lib/cube/view-base.js +0 -76
- package/esm2015/lib/cube/view.mobile.component.js +0 -127
- package/esm2015/lib/cube/view.pane.component.js +0 -86
- package/esm2015/lib/dashboard/actions/actions.widget.js +0 -126
- package/esm2015/lib/dashboard/cube/accum-cube.widget.js +0 -146
- package/esm2015/lib/dashboard/cube/cube-analysis.base.js +0 -90
- package/esm2015/lib/dashboard/cube/cube-analysis.widget.js +0 -51
- package/esm2015/lib/dashboard/cube/cube-chart.widget.js +0 -144
- package/esm2015/lib/dashboard/cube/documents.widget.js +0 -68
- package/esm2015/lib/dashboard/cube/filter/filter.component.js +0 -57
- package/esm2015/lib/dashboard/dashboard.component.js +0 -52
- package/esm2015/lib/dashboard/dashboard.pane.component.js +0 -24
- package/esm2015/lib/dashboard/recents/recents.widget.js +0 -86
- package/esm2015/lib/dashboard/score/activity.widget.js +0 -165
- package/esm2015/lib/dashboard/score/compare-departments.widget.js +0 -198
- package/esm2015/lib/dashboard/score/peers-performance.widget.js +0 -253
- package/esm2015/lib/dashboard/score/pending-results.widget.js +0 -69
- package/esm2015/lib/dashboard/score/personal-score.widget.js +0 -219
- package/esm2015/lib/dashboard/widget-item.component.js +0 -89
- package/esm2015/lib/dashboard/widget-ref.js +0 -18
- package/esm2015/lib/desktop.module.js +0 -142
- package/esm2015/lib/diagram.module.js +0 -34
- package/esm2015/lib/grid.module.js +0 -23
- package/esm2015/lib/home/about/about.dialog.js +0 -29
- package/esm2015/lib/home/home-base.component.js +0 -86
- package/esm2015/lib/home/home.desktop.component.js +0 -201
- package/esm2015/lib/home/home.mobile.component.js +0 -120
- package/esm2015/lib/home/notifications/notifications.component.js +0 -70
- package/esm2015/lib/home/options/options.component.js +0 -98
- package/esm2015/lib/home/outofoffice/outofoffice.component.js +0 -42
- package/esm2015/lib/home/search.service.js +0 -63
- package/esm2015/lib/home/sign/sign.component.js +0 -56
- package/esm2015/lib/home/tools.component.js +0 -87
- package/esm2015/lib/impersonate/impersonate.component.js +0 -69
- package/esm2015/lib/linear-gauge.module.js +0 -17
- package/esm2015/lib/material.module.js +0 -182
- package/esm2015/lib/mobile.module.js +0 -63
- package/esm2015/lib/notifications/commented.notification.js +0 -53
- package/esm2015/lib/notifications/cube-anomaly.notification.js +0 -58
- package/esm2015/lib/notifications/escalated.notification.js +0 -33
- package/esm2015/lib/notifications/filter.component.js +0 -28
- package/esm2015/lib/notifications/liked.notification.js +0 -50
- package/esm2015/lib/notifications/long-running-task.notification.js +0 -31
- package/esm2015/lib/notifications/notification-base.js +0 -40
- package/esm2015/lib/notifications/notifications-table.component.js +0 -110
- package/esm2015/lib/notifications/notifications.component-base.js +0 -47
- package/esm2015/lib/notifications/notifications.mobile.component.js +0 -20
- package/esm2015/lib/notifications/notifications.pane.component.js +0 -23
- package/esm2015/lib/notifications/notifications.service.js +0 -71
- package/esm2015/lib/notifications/nudge.notification.js +0 -31
- package/esm2015/lib/notifications/state-changed.notification.js +0 -30
- package/esm2015/lib/notifications/tagged.notification.js +0 -43
- package/esm2015/lib/notifications/text.notification.js +0 -20
- package/esm2015/lib/notifications/upcoming-event.notification.js +0 -36
- package/esm2015/lib/options/options.component.js +0 -231
- package/esm2015/lib/options/options.service.js +0 -38
- package/esm2015/lib/pivot.module.js +0 -24
- package/esm2015/lib/reports/arguments-component.js +0 -83
- package/esm2015/lib/reports/cube/grid-documents.component.js +0 -82
- package/esm2015/lib/reports/cube/table-documents.component.js +0 -68
- package/esm2015/lib/reports/cube/usage-args.component.js +0 -65
- package/esm2015/lib/reports/cube/usage-base.js +0 -82
- package/esm2015/lib/reports/cube/usage-chart.component.js +0 -294
- package/esm2015/lib/reports/cube/usage-pivot.component.js +0 -243
- package/esm2015/lib/reports/report-ref.js +0 -31
- package/esm2015/lib/reports/report-viewer.component.js +0 -132
- package/esm2015/lib/reports/report.mobile.component.js +0 -124
- package/esm2015/lib/reports/report.pane.component.js +0 -93
- package/esm2015/lib/reports/reports-menu.component.js +0 -30
- package/esm2015/lib/reports/substitution/substitution.component.js +0 -43
- package/esm2015/lib/reports/table/table-view.component.js +0 -46
- package/esm2015/lib/reports/tasks/tasks.component.js +0 -97
- package/esm2015/lib/routes.desktop.js +0 -192
- package/esm2015/lib/routes.mobile.js +0 -69
- package/esm2015/lib/schedule.module.js +0 -21
- package/esm2015/lib/scheduler/schedule.component.js +0 -173
- package/esm2015/lib/scheduler/scheduler.mobile.component.js +0 -37
- package/esm2015/lib/scheduler/scheduler.pane.component.js +0 -53
- package/esm2015/lib/shared.module.js +0 -497
- package/esm2015/lib/spreadsheet.module.js +0 -28
- package/esm2015/lib/system.module.js +0 -114
- package/esm2015/lib/views/cube/chart.component.js +0 -76
- package/esm2015/lib/views/cube/cube-base.js +0 -98
- package/esm2015/lib/views/cube/explore.component.js +0 -87
- package/esm2015/lib/views/cube/matrix.component.js +0 -107
- package/esm2015/lib/views/cube/parallel.component.js +0 -201
- package/esm2015/lib/views/cube/pivot.component.js +0 -58
- package/esm2015/lib/views/cube/sum.component.js +0 -435
- package/esm2015/lib/views/cube/view.component.js +0 -103
- package/esm2015/lib/views/document-view-ref.js +0 -26
- package/esm2015/lib/views/timeline/timeline.component.exp.js +0 -319
- package/esm2015/lib/views/view-item.component.js +0 -70
- package/esm2015/lib/views/views.component.js +0 -29
- package/esm2015/lib/views/views.mobile.component.js +0 -24
- package/esm2015/lib/views/views.pane.component.js +0 -31
- package/esm2015/public-api.js +0 -132
- package/fesm2015/bizdoc-core.js +0 -27488
- package/fesm2015/bizdoc-core.js.map +0 -1
- package/lib/admin/admin-dismiss.service.d.ts +0 -14
- package/lib/admin/admin-menu.component.d.ts +0 -12
- package/lib/admin/core/ace.input.d.ts +0 -52
- package/lib/admin/core/color-picker.input.d.ts +0 -64
- package/lib/admin/core/search.input.d.ts +0 -13
- package/lib/admin/diff/configuration-diff.component.d.ts +0 -115
- package/lib/admin/document-trace/Timeline.d.ts +0 -37
- package/lib/admin/document-trace/document-trace.component.d.ts +0 -83
- package/lib/admin/document-trace/reassign.dialog.d.ts +0 -22
- package/lib/admin/document-trace/trace-element.component.d.ts +0 -38
- package/lib/admin/form/form.resolve.service.d.ts +0 -12
- package/lib/admin/form/form.service.d.ts +0 -13
- package/lib/admin/form/workflow/node-ref.d.ts +0 -7
- package/lib/admin/form/workflow/node.component.d.ts +0 -37
- package/lib/admin/form/workflow/role-node.component.d.ts +0 -22
- package/lib/admin/form/workflow/workflow.component.d.ts +0 -73
- package/lib/admin/indices/manage-cube-index.component.d.ts +0 -54
- package/lib/admin/patterns/patterns.component.d.ts +0 -79
- package/lib/admin/permissions/permissions.component.d.ts +0 -45
- package/lib/admin/positions/positions-popup.component.d.ts +0 -39
- package/lib/admin/positions/positions.component.d.ts +0 -105
- package/lib/admin/profiler/profiler.component.d.ts +0 -108
- package/lib/admin/utility-ref.d.ts +0 -19
- package/lib/admin/utility-wrapper.component.d.ts +0 -28
- package/lib/admin/utility.pane.component.d.ts +0 -24
- package/lib/app.component.d.ts +0 -22
- package/lib/bizdoc.module.d.ts +0 -19
- package/lib/browse/browse-items.component.d.ts +0 -102
- package/lib/browse/browse.mobile.component.d.ts +0 -38
- package/lib/browse/browse.pane.component.d.ts +0 -47
- package/lib/browse/expanded-item/expanded-item.component.d.ts +0 -66
- package/lib/browse/filter/filter.component.d.ts +0 -69
- package/lib/browse/folders-menu.component.d.ts +0 -22
- package/lib/chart.module.d.ts +0 -7
- package/lib/chat/chat-info.d.ts +0 -36
- package/lib/chat/chat.mobile.component.d.ts +0 -10
- package/lib/chat/chat.service.d.ts +0 -38
- package/lib/chat/contacts.component.d.ts +0 -38
- package/lib/chat/contacts.pane.component.d.ts +0 -12
- package/lib/chat/conversation.component.d.ts +0 -56
- package/lib/chat/conversation.pane.component.d.ts +0 -15
- package/lib/circular-gauge.module.d.ts +0 -7
- package/lib/compose/action/action-picker.component.d.ts +0 -25
- package/lib/compose/action/action-ref.d.ts +0 -10
- package/lib/compose/action/action.dialog.d.ts +0 -29
- package/lib/compose/action/action.pane.dialog.d.ts +0 -26
- package/lib/compose/action/assign-action.component.d.ts +0 -22
- package/lib/compose/action/return-action.component.d.ts +0 -15
- package/lib/compose/attachments/attachments.component.d.ts +0 -35
- package/lib/compose/attachments/preview/attachment-preview.component.d.ts +0 -48
- package/lib/compose/attachments/progress-button.directive.d.ts +0 -12
- package/lib/compose/can-deactivate-changes.service.d.ts +0 -12
- package/lib/compose/comments/Comments.pane.component.d.ts +0 -18
- package/lib/compose/comments/comment.component.d.ts +0 -51
- package/lib/compose/comments/comments.component.d.ts +0 -66
- package/lib/compose/comments/edit-comment.component.d.ts +0 -25
- package/lib/compose/comments/edits.component.d.ts +0 -26
- package/lib/compose/comments/quick-comment.component.exp.d.ts +0 -28
- package/lib/compose/comments/votes.component.d.ts +0 -22
- package/lib/compose/compose-resolve.service.d.ts +0 -27
- package/lib/compose/compose.mobile.component.d.ts +0 -40
- package/lib/compose/compose.pane.component.d.ts +0 -54
- package/lib/compose/copy/copy.dialog.d.ts +0 -23
- package/lib/compose/dismiss.service.d.ts +0 -12
- package/lib/compose/document-resolver.service.d.ts +0 -12
- package/lib/compose/document.component.d.ts +0 -20
- package/lib/compose/document.mobile.component.d.ts +0 -10
- package/lib/compose/document.pane.component.d.ts +0 -12
- package/lib/compose/events/events.component.d.ts +0 -13
- package/lib/compose/form-ref.d.ts +0 -32
- package/lib/compose/form-selector/form-selector.sheet.d.ts +0 -28
- package/lib/compose/form.component.d.ts +0 -92
- package/lib/compose/new-menu.component.d.ts +0 -36
- package/lib/compose/privilage.directive.d.ts +0 -26
- package/lib/compose/recipient-resolver.service.d.ts +0 -12
- package/lib/compose/save-changes.dialog.d.ts +0 -7
- package/lib/compose/state.component.d.ts +0 -12
- package/lib/compose/tag/tags.component.d.ts +0 -36
- package/lib/compose/trace/flow.component.d.ts +0 -64
- package/lib/compose/trace/people.component.d.ts +0 -18
- package/lib/compose/trace/trace.base.d.ts +0 -25
- package/lib/compose/trace/trace.component.d.ts +0 -73
- package/lib/compose/trace/trace.pane.component.d.ts +0 -20
- package/lib/compose/version-compare/version-compare.component.d.ts +0 -26
- package/lib/compose/version-compare/version-compare.directive.d.ts +0 -89
- package/lib/compose/version-compare/version.pane.component.d.ts +0 -21
- package/lib/core/NgComponentOutlet.d.ts +0 -15
- package/lib/core/account.service.d.ts +0 -18
- package/lib/core/animated-icon/animated-icon.directive.d.ts +0 -7
- package/lib/core/animations.d.ts +0 -25
- package/lib/core/authentication.d.ts +0 -6
- package/lib/core/avatar/avatar.component.d.ts +0 -34
- package/lib/core/base.d.ts +0 -27
- package/lib/core/colors.d.ts +0 -6
- package/lib/core/component-factory-resolver.d.ts +0 -12
- package/lib/core/configuration.d.ts +0 -90
- package/lib/core/controls/address.input.d.ts +0 -62
- package/lib/core/controls/auto-complete.input.d.ts +0 -86
- package/lib/core/controls/combination-picker-body.d.ts +0 -114
- package/lib/core/controls/combination-picker.d.ts +0 -82
- package/lib/core/controls/combination-pool.d.ts +0 -42
- package/lib/core/controls/select.input.d.ts +0 -82
- package/lib/core/controls/time-picker.d.ts +0 -52
- package/lib/core/controls/timespan.input.d.ts +0 -55
- package/lib/core/datasource.service.d.ts +0 -43
- package/lib/core/decorators.d.ts +0 -17
- package/lib/core/firebase.service.d.ts +0 -17
- package/lib/core/functions.d.ts +0 -42
- package/lib/core/guide/guide.component.d.ts +0 -31
- package/lib/core/guide/guide.service.d.ts +0 -32
- package/lib/core/http.interceptor.d.ts +0 -21
- package/lib/core/hub.service.d.ts +0 -128
- package/lib/core/identity/identity.component.d.ts +0 -29
- package/lib/core/info/attachment-info.service.d.ts +0 -18
- package/lib/core/info/document-info.service.d.ts +0 -13
- package/lib/core/info/location-info.component.d.ts +0 -28
- package/lib/core/info/map-info.d.ts +0 -15
- package/lib/core/layout/autocomplete.field.d.ts +0 -21
- package/lib/core/layout/checkbox.field.d.ts +0 -11
- package/lib/core/layout/date-range.field.d.ts +0 -13
- package/lib/core/layout/date.field.d.ts +0 -11
- package/lib/core/layout/expression.field.d.ts +0 -12
- package/lib/core/layout/html.field.d.ts +0 -12
- package/lib/core/layout/input.base.d.ts +0 -10
- package/lib/core/layout/input.field.d.ts +0 -14
- package/lib/core/layout/layout.component.d.ts +0 -34
- package/lib/core/layout/numeric.field.d.ts +0 -11
- package/lib/core/layout/select.field.d.ts +0 -22
- package/lib/core/layout/switch.field.d.ts +0 -11
- package/lib/core/layout/textarea.field.d.ts +0 -11
- package/lib/core/layout/timespan.field.d.ts +0 -11
- package/lib/core/lottie-animation.d.ts +0 -14
- package/lib/core/mailbox.service.d.ts +0 -121
- package/lib/core/models.d.ts +0 -635
- package/lib/core/none.component.d.ts +0 -9
- package/lib/core/pipes/action.pipe.d.ts +0 -10
- package/lib/core/pipes/daterange.pipe.d.ts +0 -15
- package/lib/core/pipes/duration.pipe.d.ts +0 -11
- package/lib/core/pipes/form.pipe.d.ts +0 -10
- package/lib/core/pipes/join.pipe.d.ts +0 -10
- package/lib/core/pipes/role.pipe.d.ts +0 -10
- package/lib/core/pipes/sanitize-html.pipe.d.ts +0 -10
- package/lib/core/pipes/sort.pipe.d.ts +0 -12
- package/lib/core/pipes/state.pipe.d.ts +0 -10
- package/lib/core/pipes/translate.pipe.d.ts +0 -10
- package/lib/core/pipes/type-value.pipe.d.ts +0 -15
- package/lib/core/pipes/user-name.pipe.d.ts +0 -11
- package/lib/core/popup/popup-ref.d.ts +0 -14
- package/lib/core/popup/popup.component.d.ts +0 -22
- package/lib/core/popup/popup.service.d.ts +0 -26
- package/lib/core/popup/tooltip.directive.d.ts +0 -27
- package/lib/core/prompt/ask/ask.dialog.d.ts +0 -22
- package/lib/core/prompt/mask/mask.component.d.ts +0 -10
- package/lib/core/prompt.service.d.ts +0 -36
- package/lib/core/router.d.ts +0 -20
- package/lib/core/session.service.d.ts +0 -83
- package/lib/core/slots/pane-ref.d.ts +0 -109
- package/lib/core/slots/router.directive.d.ts +0 -25
- package/lib/core/slots/router.service.d.ts +0 -39
- package/lib/core/slots/slots.component.d.ts +0 -182
- package/lib/core/tagging/documents.component.d.ts +0 -11
- package/lib/core/tagging/edit-input.component.d.ts +0 -65
- package/lib/core/tagging/emoji.component.d.ts +0 -18
- package/lib/core/tagging/tagging-item.directive.d.ts +0 -15
- package/lib/core/tagging/tagging.component-base.d.ts +0 -19
- package/lib/core/tagging/tagging.directive.d.ts +0 -34
- package/lib/core/tagging/tagging.pipe.d.ts +0 -24
- package/lib/core/tagging/users.component.d.ts +0 -15
- package/lib/core/translate.service.d.ts +0 -82
- package/lib/core/window-title.service.d.ts +0 -21
- package/lib/cube/accum/accum.component.d.ts +0 -57
- package/lib/cube/chart/chart.component.d.ts +0 -68
- package/lib/cube/cube-info.service.d.ts +0 -71
- package/lib/cube/cube-menu.component.d.ts +0 -12
- package/lib/cube/cube-view.component.d.ts +0 -30
- package/lib/cube/cube.service.d.ts +0 -244
- package/lib/cube/declarations.d.ts +0 -22
- package/lib/cube/explore/document-item.component.d.ts +0 -16
- package/lib/cube/explore/explore-item.component.d.ts +0 -14
- package/lib/cube/explore/explore-items.component.d.ts +0 -51
- package/lib/cube/explore/explore.pane.component.d.ts +0 -28
- package/lib/cube/explore/item-resolver.service.d.ts +0 -20
- package/lib/cube/explore/item.pane.component.d.ts +0 -13
- package/lib/cube/filter/filter-tags.component.exp.d.ts +0 -27
- package/lib/cube/filter/filter.component.d.ts +0 -43
- package/lib/cube/grid/grid.component.d.ts +0 -58
- package/lib/cube/grid/spreadsheet.component.d.ts +0 -53
- package/lib/cube/matrix/matrix.base.d.ts +0 -75
- package/lib/cube/matrix/matrix.component.d.ts +0 -23
- package/lib/cube/matrix/matrix.mobile.component.d.ts +0 -21
- package/lib/cube/matrix/matrix.pane.component.d.ts +0 -20
- package/lib/cube/matrix/table.component.d.ts +0 -84
- package/lib/cube/pivot/pivot.component.d.ts +0 -98
- package/lib/cube/view-base.d.ts +0 -39
- package/lib/cube/view.mobile.component.d.ts +0 -45
- package/lib/cube/view.pane.component.d.ts +0 -27
- package/lib/dashboard/actions/actions.widget.d.ts +0 -39
- package/lib/dashboard/cube/accum-cube.widget.d.ts +0 -33
- package/lib/dashboard/cube/cube-analysis.base.d.ts +0 -62
- package/lib/dashboard/cube/cube-analysis.widget.d.ts +0 -17
- package/lib/dashboard/cube/cube-chart.widget.d.ts +0 -32
- package/lib/dashboard/cube/documents.widget.d.ts +0 -30
- package/lib/dashboard/cube/filter/filter.component.d.ts +0 -22
- package/lib/dashboard/dashboard.component.d.ts +0 -20
- package/lib/dashboard/dashboard.pane.component.d.ts +0 -8
- package/lib/dashboard/recents/recents.widget.d.ts +0 -34
- package/lib/dashboard/score/activity.widget.d.ts +0 -50
- package/lib/dashboard/score/compare-departments.widget.d.ts +0 -51
- package/lib/dashboard/score/peers-performance.widget.d.ts +0 -65
- package/lib/dashboard/score/pending-results.widget.d.ts +0 -28
- package/lib/dashboard/score/personal-score.widget.d.ts +0 -57
- package/lib/dashboard/widget-item.component.d.ts +0 -31
- package/lib/dashboard/widget-ref.d.ts +0 -11
- package/lib/desktop.module.d.ts +0 -43
- package/lib/diagram.module.d.ts +0 -8
- package/lib/grid.module.d.ts +0 -7
- package/lib/home/about/about.dialog.d.ts +0 -13
- package/lib/home/home-base.component.d.ts +0 -32
- package/lib/home/home.desktop.component.d.ts +0 -55
- package/lib/home/home.mobile.component.d.ts +0 -38
- package/lib/home/notifications/notifications.component.d.ts +0 -28
- package/lib/home/options/options.component.d.ts +0 -44
- package/lib/home/outofoffice/outofoffice.component.d.ts +0 -19
- package/lib/home/search.service.d.ts +0 -21
- package/lib/home/sign/sign.component.d.ts +0 -17
- package/lib/home/tools.component.d.ts +0 -36
- package/lib/impersonate/impersonate.component.d.ts +0 -27
- package/lib/linear-gauge.module.d.ts +0 -7
- package/lib/material.module.d.ts +0 -45
- package/lib/mobile.module.d.ts +0 -26
- package/lib/notifications/commented.notification.d.ts +0 -26
- package/lib/notifications/cube-anomaly.notification.d.ts +0 -28
- package/lib/notifications/escalated.notification.d.ts +0 -26
- package/lib/notifications/filter.component.d.ts +0 -9
- package/lib/notifications/liked.notification.d.ts +0 -25
- package/lib/notifications/long-running-task.notification.d.ts +0 -21
- package/lib/notifications/notification-base.d.ts +0 -20
- package/lib/notifications/notifications-table.component.d.ts +0 -32
- package/lib/notifications/notifications.component-base.d.ts +0 -8
- package/lib/notifications/notifications.mobile.component.d.ts +0 -8
- package/lib/notifications/notifications.pane.component.d.ts +0 -8
- package/lib/notifications/notifications.service.d.ts +0 -24
- package/lib/notifications/nudge.notification.d.ts +0 -22
- package/lib/notifications/state-changed.notification.d.ts +0 -22
- package/lib/notifications/tagged.notification.d.ts +0 -26
- package/lib/notifications/text.notification.d.ts +0 -13
- package/lib/notifications/upcoming-event.notification.d.ts +0 -19
- package/lib/options/options.component.d.ts +0 -67
- package/lib/options/options.service.d.ts +0 -14
- package/lib/pivot.module.d.ts +0 -7
- package/lib/reports/arguments-component.d.ts +0 -27
- package/lib/reports/cube/grid-documents.component.d.ts +0 -45
- package/lib/reports/cube/table-documents.component.d.ts +0 -44
- package/lib/reports/cube/usage-args.component.d.ts +0 -22
- package/lib/reports/cube/usage-base.d.ts +0 -76
- package/lib/reports/cube/usage-chart.component.d.ts +0 -66
- package/lib/reports/cube/usage-pivot.component.d.ts +0 -66
- package/lib/reports/report-ref.d.ts +0 -27
- package/lib/reports/report-viewer.component.d.ts +0 -46
- package/lib/reports/report.mobile.component.d.ts +0 -45
- package/lib/reports/report.pane.component.d.ts +0 -34
- package/lib/reports/reports-menu.component.d.ts +0 -12
- package/lib/reports/substitution/substitution.component.d.ts +0 -23
- package/lib/reports/table/table-view.component.d.ts +0 -19
- package/lib/reports/tasks/tasks.component.d.ts +0 -68
- package/lib/routes.desktop.d.ts +0 -2
- package/lib/routes.mobile.d.ts +0 -2
- package/lib/schedule.module.d.ts +0 -7
- package/lib/scheduler/schedule.component.d.ts +0 -43
- package/lib/scheduler/scheduler.mobile.component.d.ts +0 -14
- package/lib/scheduler/scheduler.pane.component.d.ts +0 -20
- package/lib/shared.module.d.ts +0 -178
- package/lib/spreadsheet.module.d.ts +0 -8
- package/lib/system.module.d.ts +0 -33
- package/lib/views/cube/chart.component.d.ts +0 -38
- package/lib/views/cube/cube-base.d.ts +0 -44
- package/lib/views/cube/explore.component.d.ts +0 -41
- package/lib/views/cube/matrix.component.d.ts +0 -62
- package/lib/views/cube/parallel.component.d.ts +0 -63
- package/lib/views/cube/pivot.component.d.ts +0 -33
- package/lib/views/cube/sum.component.d.ts +0 -78
- package/lib/views/cube/view.component.d.ts +0 -40
- package/lib/views/document-view-ref.d.ts +0 -17
- package/lib/views/timeline/timeline.component.exp.d.ts +0 -66
- package/lib/views/view-item.component.d.ts +0 -28
- package/lib/views/views.component.d.ts +0 -14
- package/lib/views/views.mobile.component.d.ts +0 -14
- package/lib/views/views.pane.component.d.ts +0 -12
- package/public-api.d.ts +0 -134
@@ -1,294 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { Component } from "@angular/core";
|
3
|
-
import { Observable, forkJoin } from "rxjs";
|
4
|
-
import { tap, takeUntil, map } from "rxjs/operators";
|
5
|
-
import { PivotView } from "@syncfusion/ej2-angular-pivotview";
|
6
|
-
import { BizDoc } from "../../core/decorators";
|
7
|
-
import { UsageReportBase } from "./usage-base";
|
8
|
-
import { FONT_FAMILY } from "../../core/colors";
|
9
|
-
import * as XLSX from 'xlsx';
|
10
|
-
import * as i0 from "@angular/core";
|
11
|
-
import * as i1 from "../report-ref";
|
12
|
-
import * as i2 from "../../core/datasource.service";
|
13
|
-
import * as i3 from "../../cube/cube.service";
|
14
|
-
import * as i4 from "../../core/session.service";
|
15
|
-
import * as i5 from "../../core/router";
|
16
|
-
import * as i6 from "../../core/prompt.service";
|
17
|
-
import * as i7 from "@angular/cdk/bidi";
|
18
|
-
import * as i8 from "../../core/translate.service";
|
19
|
-
/**
|
20
|
-
* cube usage
|
21
|
-
* */
|
22
|
-
let UsageChartComponent = class UsageChartComponent extends UsageReportBase {
|
23
|
-
// ctor
|
24
|
-
constructor(reportRef, type, service, session, router, sb, _elementRef, dir, translate) {
|
25
|
-
super(reportRef, type, service, session, router, sb, dir, translate);
|
26
|
-
this._elementRef = _elementRef;
|
27
|
-
this.dir = this._session.direction;
|
28
|
-
this.displayOption = {
|
29
|
-
view: 'Chart'
|
30
|
-
};
|
31
|
-
this._session.themeChange.pipe(takeUntil(this._destroy)).subscribe(t => {
|
32
|
-
this.chartSettings.theme = t.dark ? 'MaterialDark' : 'Material';
|
33
|
-
this.chartSettings.palettes = this._palettes();
|
34
|
-
this._draw();
|
35
|
-
});
|
36
|
-
this._defaults();
|
37
|
-
}
|
38
|
-
/** set defaults */
|
39
|
-
_defaults() {
|
40
|
-
const { chartType } = this._reportRef.options;
|
41
|
-
const line = chartType === 'Line' || chartType === 'Spline';
|
42
|
-
this.chartSettings = {
|
43
|
-
pointClick: this.pointClick.bind(this),
|
44
|
-
zoomSettings: {
|
45
|
-
toolbarItems: [],
|
46
|
-
mode: 'XY',
|
47
|
-
enableMouseWheelZooming: true,
|
48
|
-
enablePinchZooming: true,
|
49
|
-
enableSelectionZooming: false
|
50
|
-
},
|
51
|
-
crosshair: {
|
52
|
-
enable: line,
|
53
|
-
line: {
|
54
|
-
width: 1
|
55
|
-
}
|
56
|
-
},
|
57
|
-
chartSeries: {
|
58
|
-
palettes: this._palettes(),
|
59
|
-
type: chartType || 'Column',
|
60
|
-
//width: 2,
|
61
|
-
border: { width: 0 },
|
62
|
-
marker: { height: 10, width: 10, shape: 'Pentagon', visible: line },
|
63
|
-
},
|
64
|
-
enableExport: true,
|
65
|
-
chartArea: {
|
66
|
-
border: { width: 0 }
|
67
|
-
},
|
68
|
-
theme: this._session.theme.dark ? 'MaterialDark' : 'Material',
|
69
|
-
background: 'transparent',
|
70
|
-
primaryXAxis: {
|
71
|
-
titleStyle: {
|
72
|
-
fontFamily: FONT_FAMILY
|
73
|
-
},
|
74
|
-
labelStyle: {
|
75
|
-
fontFamily: FONT_FAMILY
|
76
|
-
}
|
77
|
-
},
|
78
|
-
border: { width: 0 },
|
79
|
-
legendSettings: {
|
80
|
-
textStyle: {
|
81
|
-
fontFamily: FONT_FAMILY
|
82
|
-
},
|
83
|
-
isInversed: this._session.inverse
|
84
|
-
},
|
85
|
-
tooltip: {
|
86
|
-
textStyle: {
|
87
|
-
fontFamily: FONT_FAMILY
|
88
|
-
}
|
89
|
-
},
|
90
|
-
titleStyle: {
|
91
|
-
fontFamily: FONT_FAMILY
|
92
|
-
},
|
93
|
-
subTitleStyle: {
|
94
|
-
fontFamily: FONT_FAMILY
|
95
|
-
},
|
96
|
-
primaryYAxis: {
|
97
|
-
titleStyle: {
|
98
|
-
fontFamily: FONT_FAMILY
|
99
|
-
},
|
100
|
-
labelStyle: {
|
101
|
-
fontFamily: FONT_FAMILY
|
102
|
-
},
|
103
|
-
crosshairTooltip: { enable: line }
|
104
|
-
}
|
105
|
-
};
|
106
|
-
const formatSettings = [{
|
107
|
-
name: 'value', format: this.currencyCode ? 'C' : 'N',
|
108
|
-
maximumFractionDigits: this._fractionDigits,
|
109
|
-
//minimumFractionDigits: this._fractionDigits,
|
110
|
-
currency: this.currencyCode
|
111
|
-
}];
|
112
|
-
const rows = this._series.map(a => {
|
113
|
-
return {
|
114
|
-
name: a.name,
|
115
|
-
caption: a.title
|
116
|
-
};
|
117
|
-
});
|
118
|
-
this.dataSourceSettings = {
|
119
|
-
columns: [{
|
120
|
-
name: 'type'
|
121
|
-
}],
|
122
|
-
rows,
|
123
|
-
values: [
|
124
|
-
{
|
125
|
-
name: 'value',
|
126
|
-
caption: this._translate.get('Value')
|
127
|
-
}
|
128
|
-
],
|
129
|
-
enableSorting: false,
|
130
|
-
sortSettings: this._series.map(s => { return { name: `_${s.name}` }; }),
|
131
|
-
expandAll: this._collapse || false,
|
132
|
-
formatSettings,
|
133
|
-
dataSource: []
|
134
|
-
};
|
135
|
-
}
|
136
|
-
_palettes() {
|
137
|
-
return [this._session.getAccent()].
|
138
|
-
concat(this._indices.map((_, i) => this._session.getPrimery(300 + 300 * i)));
|
139
|
-
}
|
140
|
-
dataBound(args) {
|
141
|
-
this.pivot.chart.pointClick = this.pointClick.bind(this);
|
142
|
-
}
|
143
|
-
/**
|
144
|
-
*
|
145
|
-
* @param result
|
146
|
-
*/
|
147
|
-
onData(result) {
|
148
|
-
this._decorate(result).subscribe(r => {
|
149
|
-
this._data = this.dataSourceSettings.dataSource = r;
|
150
|
-
this._draw();
|
151
|
-
}, () => this._sb.error());
|
152
|
-
}
|
153
|
-
_draw() {
|
154
|
-
this.pivot && this.pivot.destroy();
|
155
|
-
this.pivot = new PivotView({
|
156
|
-
width: this.width,
|
157
|
-
height: '100%',
|
158
|
-
enableRtl: this.enableRtl,
|
159
|
-
dataBound: this.dataBound.bind(this),
|
160
|
-
chartSettings: this.chartSettings,
|
161
|
-
displayOption: this.displayOption,
|
162
|
-
dataSourceSettings: this.dataSourceSettings,
|
163
|
-
spinnerTemplate: '',
|
164
|
-
allowConditionalFormatting: true,
|
165
|
-
allowExcelExport: true,
|
166
|
-
currencyCode: this.currencyCode,
|
167
|
-
}, this._elementRef.nativeElement);
|
168
|
-
}
|
169
|
-
onResize() {
|
170
|
-
if (this.pivot && this.pivot.chart) {
|
171
|
-
//this.pivot.chart.height = this.height;
|
172
|
-
this.pivot.chart.width = this.width;
|
173
|
-
this.pivot.chart.chartResize();
|
174
|
-
}
|
175
|
-
}
|
176
|
-
onExport(name) {
|
177
|
-
//this.pivot.excelExport({ fileName: `${name}.xlsx`, hierarchyExportMode: 'All' });
|
178
|
-
const ws = XLSX.utils.json_to_sheet(this._data);
|
179
|
-
const wb = XLSX.utils.book_new();
|
180
|
-
const sname = this._translate.get('SheetN', 1);
|
181
|
-
wb.Sheets[sname] = ws;
|
182
|
-
wb.SheetNames.push(sname);
|
183
|
-
XLSX.writeFile(wb, `${name}.xlsx`);
|
184
|
-
}
|
185
|
-
/**
|
186
|
-
* adds data source description to item keys, and normalizes indices.
|
187
|
-
* @param result
|
188
|
-
*/
|
189
|
-
_decorate(result) {
|
190
|
-
return new Observable(observe => {
|
191
|
-
const observables = [];
|
192
|
-
result.forEach(row => {
|
193
|
-
this._series.forEach(a => {
|
194
|
-
const val = row[a.name];
|
195
|
-
const observable = this._type.get(a.dataType, val).
|
196
|
-
pipe(tap((v) => {
|
197
|
-
row[`_${a.name}`] = val;
|
198
|
-
row[a.name] = v || val;
|
199
|
-
}));
|
200
|
-
observables.push(observable);
|
201
|
-
});
|
202
|
-
});
|
203
|
-
if (observables.length)
|
204
|
-
forkJoin(observables).pipe(map(() => {
|
205
|
-
const data = [];
|
206
|
-
result.forEach(baseRow => {
|
207
|
-
const value = baseRow.usage;
|
208
|
-
if (value !== undefined && value !== 0) {
|
209
|
-
const row = {
|
210
|
-
type: this._yTitle,
|
211
|
-
value
|
212
|
-
};
|
213
|
-
this._series.forEach(a => {
|
214
|
-
row[`_${a.name}`] = baseRow[`_${a.name}`];
|
215
|
-
row[a.name] = baseRow[a.name];
|
216
|
-
});
|
217
|
-
data.push(row);
|
218
|
-
}
|
219
|
-
this._indices.forEach(i => {
|
220
|
-
const value = baseRow[i.name];
|
221
|
-
if (value !== undefined && value !== 0) {
|
222
|
-
const row = { type: i.title, value };
|
223
|
-
this._series.forEach(a => {
|
224
|
-
row[`_${a.name}`] = baseRow[`_${a.name}`];
|
225
|
-
row[a.name] = baseRow[a.name];
|
226
|
-
});
|
227
|
-
data.push(row);
|
228
|
-
}
|
229
|
-
});
|
230
|
-
});
|
231
|
-
return data;
|
232
|
-
})).
|
233
|
-
subscribe(r => observe.next(r), e => observe.error(e));
|
234
|
-
else
|
235
|
-
observe.next([]);
|
236
|
-
});
|
237
|
-
}
|
238
|
-
/**
|
239
|
-
*
|
240
|
-
* @param e
|
241
|
-
*/
|
242
|
-
pointClick(e) {
|
243
|
-
const { point: { x, yValue }, series: { name: title } } = e;
|
244
|
-
if (yValue === 0) {
|
245
|
-
e.cancel = true;
|
246
|
-
return;
|
247
|
-
}
|
248
|
-
const axes = this._axes(x);
|
249
|
-
super.browse(axes, title === this._yTitle ? null : this._indexName(title));
|
250
|
-
}
|
251
|
-
/**
|
252
|
-
* reverse engineering axes from series label
|
253
|
-
* @param label
|
254
|
-
*/
|
255
|
-
_axes(label) {
|
256
|
-
const axes = {};
|
257
|
-
label.split(' - ').forEach((x, i) => {
|
258
|
-
const column = this.dataSourceSettings.rows[i].name, element = this._data.find(e => e[column] === x);
|
259
|
-
axes[column] = element ? element[`_${column}`] : x;
|
260
|
-
});
|
261
|
-
return axes;
|
262
|
-
}
|
263
|
-
/**
|
264
|
-
* reverse engineering index name from title
|
265
|
-
* @param title
|
266
|
-
*/
|
267
|
-
_indexName(title) {
|
268
|
-
const index = this._indices.find(i => i.title === title);
|
269
|
-
return index.name;
|
270
|
-
}
|
271
|
-
ngOnDestroy() {
|
272
|
-
this.pivot && this.pivot.destroy();
|
273
|
-
super.ngOnDestroy();
|
274
|
-
}
|
275
|
-
};
|
276
|
-
UsageChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: UsageChartComponent, deps: [{ token: i1.ReportRef }, { token: i2.DatasourceService }, { token: i3.CubeService }, { token: i4.SessionService }, { token: i5.RouterImpl }, { token: i6.PromptService }, { token: i0.ElementRef }, { token: i7.Directionality }, { token: i8.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
277
|
-
UsageChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: UsageChartComponent, selector: "ng-component", host: { properties: { "id": "id", "dir": "dir" } }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
278
|
-
UsageChartComponent = __decorate([
|
279
|
-
BizDoc({
|
280
|
-
selector: 'bizdoc-chart-usage'
|
281
|
-
})
|
282
|
-
], UsageChartComponent);
|
283
|
-
export { UsageChartComponent };
|
284
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: UsageChartComponent, decorators: [{
|
285
|
-
type: Component,
|
286
|
-
args: [{
|
287
|
-
template: '',
|
288
|
-
host: {
|
289
|
-
'[id]': 'id',
|
290
|
-
'[dir]': 'dir'
|
291
|
-
}
|
292
|
-
}]
|
293
|
-
}], ctorParameters: function () { return [{ type: i1.ReportRef }, { type: i2.DatasourceService }, { type: i3.CubeService }, { type: i4.SessionService }, { type: i5.RouterImpl }, { type: i6.PromptService }, { type: i0.ElementRef }, { type: i7.Directionality }, { type: i8.TranslateService }]; } });
|
294
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNhZ2UtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9yZXBvcnRzL2N1YmUvdXNhZ2UtY2hhcnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF5QixNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQXVDLFNBQVMsRUFBZSxNQUFNLG1DQUFtQyxDQUFDO0FBSWhILE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU0vQyxPQUFPLEVBQXNCLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUduRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFFN0I7O0tBRUs7SUFZRyxtQkFBbUIsU0FBbkIsbUJBQW9CLFNBQVEsZUFBd0I7SUFRMUQsT0FBTztJQUNQLFlBQVksU0FBNkIsRUFBRSxJQUF1QixFQUFFLE9BQW9CLEVBQUUsT0FBdUIsRUFDL0csTUFBa0IsRUFDbEIsRUFBaUIsRUFDVCxXQUF1QixFQUMvQixHQUFtQixFQUFFLFNBQTJCO1FBQ2hELEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUM3QyxFQUFFLEVBQUUsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBSGQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFYeEIsUUFBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1FBRzlCLGtCQUFhLEdBQXVCO1lBQzNDLElBQUksRUFBRSxPQUFPO1NBQ2QsQ0FBQztRQVVBLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3JFLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO1lBQ2hFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsbUJBQW1CO0lBQ1gsU0FBUztRQUNmLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUM5QyxNQUFNLElBQUksR0FBRyxTQUFTLEtBQUssTUFBTSxJQUFJLFNBQVMsS0FBSyxRQUFRLENBQUM7UUFDNUQsSUFBSSxDQUFDLGFBQWEsR0FBRztZQUNuQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3RDLFlBQVksRUFBRTtnQkFDWixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsdUJBQXVCLEVBQUUsSUFBSTtnQkFDN0Isa0JBQWtCLEVBQUUsSUFBSTtnQkFDeEIsc0JBQXNCLEVBQUUsS0FBSzthQUM5QjtZQUNELFNBQVMsRUFBRTtnQkFDVCxNQUFNLEVBQUUsSUFBSTtnQkFDWixJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLENBQUM7aUJBQ1Q7YUFDRjtZQUNELFdBQVcsRUFBRTtnQkFDWCxRQUFRLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDMUIsSUFBSSxFQUFFLFNBQVMsSUFBSSxRQUFRO2dCQUMzQixXQUFXO2dCQUNYLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUU7Z0JBQ3BCLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUU7YUFDcEU7WUFDRCxZQUFZLEVBQUUsSUFBSTtZQUNsQixTQUFTLEVBQUU7Z0JBQ1QsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTthQUNyQjtZQUNELEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVTtZQUM3RCxVQUFVLEVBQUUsYUFBYTtZQUN6QixZQUFZLEVBQUU7Z0JBQ1osVUFBVSxFQUFFO29CQUNWLFVBQVUsRUFBRSxXQUFXO2lCQUN4QjtnQkFDRCxVQUFVLEVBQUU7b0JBQ1YsVUFBVSxFQUFFLFdBQVc7aUJBQ3hCO2FBQ0Y7WUFDRCxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQ3BCLGNBQWMsRUFBRTtnQkFDZCxTQUFTLEVBQUU7b0JBQ1QsVUFBVSxFQUFFLFdBQVc7aUJBQ3hCO2dCQUNELFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU87YUFDbEM7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsU0FBUyxFQUFFO29CQUNULFVBQVUsRUFBRSxXQUFXO2lCQUN4QjthQUNGO1lBQ0QsVUFBVSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxXQUFXO2FBQ3hCO1lBQ0QsYUFBYSxFQUFFO2dCQUNiLFVBQVUsRUFBRSxXQUFXO2FBQ3hCO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLFVBQVUsRUFBRTtvQkFDVixVQUFVLEVBQUUsV0FBVztpQkFDeEI7Z0JBQ0QsVUFBVSxFQUFFO29CQUNWLFVBQVUsRUFBRSxXQUFXO2lCQUN4QjtnQkFDRCxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7YUFDbkM7U0FDRixDQUFDO1FBQ0YsTUFBTSxjQUFjLEdBQTBCLENBQUM7Z0JBQzdDLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRztnQkFDcEQscUJBQXFCLEVBQUUsSUFBSSxDQUFDLGVBQWU7Z0JBQzNDLDhDQUE4QztnQkFDOUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZO2FBQzVCLENBQUMsQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2hDLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO2dCQUNaLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSzthQUNJLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsa0JBQWtCLEdBQUc7WUFDeEIsT0FBTyxFQUFFLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQztZQUNGLElBQUk7WUFDSixNQUFNLEVBQUU7Z0JBQ047b0JBQ0UsSUFBSSxFQUFFLE9BQU87b0JBQ2IsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztpQkFDdEM7YUFDRjtZQUNELGFBQWEsRUFBRSxLQUFLO1lBQ3BCLFlBQVksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQWUsQ0FBQSxDQUFDLENBQUMsQ0FBQztZQUNuRixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsSUFBSSxLQUFLO1lBQ2xDLGNBQWM7WUFDZCxVQUFVLEVBQUUsRUFBRTtTQUNmLENBQUM7SUFDSixDQUFDO0lBQ08sU0FBUztRQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFTO1FBQ2pCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsTUFBTSxDQUFDLE1BQWM7UUFDbkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbkMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxHQUFHLENBQVEsQ0FBQztZQUMzRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDZixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDTyxLQUFLO1FBQ1gsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDekIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDcEMsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsa0JBQWtCO1lBQzNDLGVBQWUsRUFBRSxFQUFFO1lBQ25CLDBCQUEwQixFQUFFLElBQUk7WUFDaEMsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDaEMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ2xDLHdDQUF3QztZQUN4QyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNuQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUMzQztJQUNILENBQUM7SUFDRCxRQUFRLENBQUMsSUFBWTtRQUNuQixtRkFBbUY7UUFDbkYsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQy9DLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0ssU0FBUyxDQUFDLE1BQWM7UUFDOUIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUM5QixNQUFNLFdBQVcsR0FBc0IsRUFBRSxDQUFDO1lBQzFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUN2QixNQUFNLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBVyxDQUFDO29CQUNsQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQzt3QkFDaEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFO3dCQUNyQixHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUM7d0JBQ3hCLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQztvQkFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDTixXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2dCQUMvQixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxXQUFXLENBQUMsTUFBTTtnQkFDcEIsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNsQyxNQUFNLElBQUksR0FBUyxFQUFFLENBQUM7b0JBQ3RCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7d0JBQ3ZCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7d0JBQzVCLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFOzRCQUN0QyxNQUFNLEdBQUcsR0FBRztnQ0FDVixJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0NBQ2xCLEtBQUs7NkJBQ04sQ0FBQzs0QkFDRixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQ0FDdkIsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7Z0NBQzFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQzs0QkFDaEMsQ0FBQyxDQUFDLENBQUM7NEJBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzt5QkFDaEI7d0JBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7NEJBQ3hCLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQzlCLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO2dDQUN0QyxNQUFNLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDO2dDQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtvQ0FDdkIsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7b0NBQzFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQ0FDaEMsQ0FBQyxDQUFDLENBQUM7Z0NBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzs2QkFDaEI7d0JBQ0gsQ0FBQyxDQUFDLENBQUM7b0JBQ0wsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsT0FBTyxJQUFJLENBQUM7Z0JBQ2QsQ0FBQyxDQUFDLENBQUM7b0JBQ0QsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7Z0JBRTVDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsVUFBVSxDQUFDLENBQWtCO1FBQzNCLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzVELElBQUksTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNoQixDQUFDLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNoQixPQUFPO1NBQ1I7UUFDRCxNQUFNLElBQUksR0FBNkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFXLENBQUMsQ0FBQztRQUMvRCxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUNEOzs7T0FHRztJQUNLLEtBQUssQ0FBQyxLQUFhO1FBQ3pCLE1BQU0sSUFBSSxHQUEyQyxFQUFFLENBQUM7UUFDeEQsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQ2pELE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDs7O09BR0c7SUFDSyxVQUFVLENBQUMsS0FBYTtRQUM5QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7UUFDekQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ25DLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN0QixDQUFDO0NBQ0YsQ0FBQTtpSEF6UU8sbUJBQW1CO3FHQUFuQixtQkFBbUIsK0hBVmYsRUFBRTtBQVVOLG1CQUFtQjtJQUoxQixNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUsb0JBQW9CO0tBQy9CLENBQUM7R0FFTSxtQkFBbUIsQ0F5UTFCO1NBelFPLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQVgxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO29CQUNaLElBQUksRUFBRTt3QkFDSixNQUFNLEVBQUUsSUFBSTt3QkFDWixPQUFPLEVBQUUsS0FBSztxQkFDZjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2JpZGlcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZm9ya0pvaW4gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyB0YXAsIHRha2VVbnRpbCwgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IENoYXJ0U2VyaWVzVHlwZSwgRGlzcGxheU9wdGlvbk1vZGVsLCBQaXZvdFZpZXcsIEV4Y2VsRXhwb3J0IH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXBpdm90dmlld1wiO1xyXG5pbXBvcnQgeyBEYXRhU291cmNlU2V0dGluZ3NNb2RlbCwgU29ydE1vZGVsLCBGaWVsZE9wdGlvbnNNb2RlbCwgRm9ybWF0U2V0dGluZ3NNb2RlbCB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItcGl2b3R2aWV3L3NyYy9waXZvdHZpZXcvbW9kZWwvZGF0YXNvdXJjZXNldHRpbmdzLW1vZGVsXCI7XHJcbmltcG9ydCB7IENoYXJ0U2V0dGluZ3NNb2RlbCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1waXZvdHZpZXcvc3JjL3Bpdm90dmlldy9tb2RlbC9jaGFydHNldHRpbmdzLW1vZGVsJztcclxuaW1wb3J0IHsgQ2hhcnQsIElQb2ludEV2ZW50QXJncyB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1jaGFydHNcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ3ViZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY3ViZS9jdWJlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEl0ZW0sIFVzYWdlT3B0aW9ucywgVXNhZ2VSZXBvcnRCYXNlIH0gZnJvbSBcIi4vdXNhZ2UtYmFzZVwiO1xyXG5pbXBvcnQgeyBSZXBvcnRSZWYgfSBmcm9tIFwiLi4vcmVwb3J0LXJlZlwiO1xyXG5pbXBvcnQgeyBNYXRlcmlhbE1vZGUgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IHsgRk9OVF9GQU1JTFkgfSBmcm9tIFwiLi4vLi4vY29yZS9jb2xvcnNcIjtcclxuaW1wb3J0IHsgUm91dGVySW1wbCB9IGZyb20gXCIuLi8uLi9jb3JlL3JvdXRlclwiO1xyXG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xyXG5cclxuLyoqXHJcbiAqIGN1YmUgdXNhZ2VcclxuICogKi9cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6ICcnLFxyXG4gIGhvc3Q6IHtcclxuICAgICdbaWRdJzogJ2lkJyxcclxuICAgICdbZGlyXSc6ICdkaXInXHJcbiAgfVxyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1jaGFydC11c2FnZSdcclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgVXNhZ2VDaGFydENvbXBvbmVudCBleHRlbmRzIFVzYWdlUmVwb3J0QmFzZTxPcHRpb25zPiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgcmVhZG9ubHkgZGlyID0gdGhpcy5fc2Vzc2lvbi5kaXJlY3Rpb247XHJcbiAgcGl2b3Q6IFBpdm90VmlldztcclxuICBkYXRhU291cmNlU2V0dGluZ3M6IERhdGFTb3VyY2VTZXR0aW5nc01vZGVsO1xyXG4gIHJlYWRvbmx5IGRpc3BsYXlPcHRpb246IERpc3BsYXlPcHRpb25Nb2RlbCA9IHtcclxuICAgIHZpZXc6ICdDaGFydCdcclxuICB9O1xyXG4gIGNoYXJ0U2V0dGluZ3M6IENoYXJ0U2V0dGluZ3NNb2RlbDtcclxuICAvLyBjdG9yXHJcbiAgY29uc3RydWN0b3IocmVwb3J0UmVmOiBSZXBvcnRSZWY8T3B0aW9ucz4sIHR5cGU6IERhdGFzb3VyY2VTZXJ2aWNlLCBzZXJ2aWNlOiBDdWJlU2VydmljZSwgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICByb3V0ZXI6IFJvdXRlckltcGwsXHJcbiAgICBzYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBkaXI6IERpcmVjdGlvbmFsaXR5LCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKHJlcG9ydFJlZiwgdHlwZSwgc2VydmljZSwgc2Vzc2lvbiwgcm91dGVyLFxyXG4gICAgICBzYiwgZGlyLCB0cmFuc2xhdGUpO1xyXG4gICAgdGhpcy5fc2Vzc2lvbi50aGVtZUNoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKHQgPT4ge1xyXG4gICAgICB0aGlzLmNoYXJ0U2V0dGluZ3MudGhlbWUgPSB0LmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCc7XHJcbiAgICAgIHRoaXMuY2hhcnRTZXR0aW5ncy5wYWxldHRlcyA9IHRoaXMuX3BhbGV0dGVzKCk7XHJcbiAgICAgIHRoaXMuX2RyYXcoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fZGVmYXVsdHMoKTtcclxuICB9XHJcbiAgLyoqIHNldCBkZWZhdWx0cyAqL1xyXG4gIHByaXZhdGUgX2RlZmF1bHRzKCkge1xyXG4gICAgY29uc3QgeyBjaGFydFR5cGUgfSA9IHRoaXMuX3JlcG9ydFJlZi5vcHRpb25zO1xyXG4gICAgY29uc3QgbGluZSA9IGNoYXJ0VHlwZSA9PT0gJ0xpbmUnIHx8IGNoYXJ0VHlwZSA9PT0gJ1NwbGluZSc7XHJcbiAgICB0aGlzLmNoYXJ0U2V0dGluZ3MgPSB7XHJcbiAgICAgIHBvaW50Q2xpY2s6IHRoaXMucG9pbnRDbGljay5iaW5kKHRoaXMpLFxyXG4gICAgICB6b29tU2V0dGluZ3M6IHtcclxuICAgICAgICB0b29sYmFySXRlbXM6IFtdLFxyXG4gICAgICAgIG1vZGU6ICdYWScsXHJcbiAgICAgICAgZW5hYmxlTW91c2VXaGVlbFpvb21pbmc6IHRydWUsXHJcbiAgICAgICAgZW5hYmxlUGluY2hab29taW5nOiB0cnVlLFxyXG4gICAgICAgIGVuYWJsZVNlbGVjdGlvblpvb21pbmc6IGZhbHNlXHJcbiAgICAgIH0sXHJcbiAgICAgIGNyb3NzaGFpcjoge1xyXG4gICAgICAgIGVuYWJsZTogbGluZSxcclxuICAgICAgICBsaW5lOiB7XHJcbiAgICAgICAgICB3aWR0aDogMVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgY2hhcnRTZXJpZXM6IHtcclxuICAgICAgICBwYWxldHRlczogdGhpcy5fcGFsZXR0ZXMoKSxcclxuICAgICAgICB0eXBlOiBjaGFydFR5cGUgfHwgJ0NvbHVtbicsXHJcbiAgICAgICAgLy93aWR0aDogMixcclxuICAgICAgICBib3JkZXI6IHsgd2lkdGg6IDAgfSxcclxuICAgICAgICBtYXJrZXI6IHsgaGVpZ2h0OiAxMCwgd2lkdGg6IDEwLCBzaGFwZTogJ1BlbnRhZ29uJywgdmlzaWJsZTogbGluZSB9LFxyXG4gICAgICB9LFxyXG4gICAgICBlbmFibGVFeHBvcnQ6IHRydWUsXHJcbiAgICAgIGNoYXJ0QXJlYToge1xyXG4gICAgICAgIGJvcmRlcjogeyB3aWR0aDogMCB9XHJcbiAgICAgIH0sXHJcbiAgICAgIHRoZW1lOiB0aGlzLl9zZXNzaW9uLnRoZW1lLmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCcsXHJcbiAgICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXHJcbiAgICAgIHByaW1hcnlYQXhpczoge1xyXG4gICAgICAgIHRpdGxlU3R5bGU6IHtcclxuICAgICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsYWJlbFN0eWxlOiB7XHJcbiAgICAgICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgYm9yZGVyOiB7IHdpZHRoOiAwIH0sXHJcbiAgICAgIGxlZ2VuZFNldHRpbmdzOiB7XHJcbiAgICAgICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgaXNJbnZlcnNlZDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlXHJcbiAgICAgIH0sXHJcbiAgICAgIHRvb2x0aXA6IHtcclxuICAgICAgICB0ZXh0U3R5bGU6IHtcclxuICAgICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICB0aXRsZVN0eWxlOiB7XHJcbiAgICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgICAgfSxcclxuICAgICAgc3ViVGl0bGVTdHlsZToge1xyXG4gICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgIH0sXHJcbiAgICAgIHByaW1hcnlZQXhpczoge1xyXG4gICAgICAgIHRpdGxlU3R5bGU6IHtcclxuICAgICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICAgICAgfSxcclxuICAgICAgICBsYWJlbFN0eWxlOiB7XHJcbiAgICAgICAgICBmb250RmFtaWx5OiBGT05UX0ZBTUlMWVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY3Jvc3NoYWlyVG9vbHRpcDogeyBlbmFibGU6IGxpbmUgfVxyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgY29uc3QgZm9ybWF0U2V0dGluZ3M6IEZvcm1hdFNldHRpbmdzTW9kZWxbXSA9IFt7XHJcbiAgICAgIG5hbWU6ICd2YWx1ZScsIGZvcm1hdDogdGhpcy5jdXJyZW5jeUNvZGUgPyAnQycgOiAnTicsXHJcbiAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogdGhpcy5fZnJhY3Rpb25EaWdpdHMsXHJcbiAgICAgIC8vbWluaW11bUZyYWN0aW9uRGlnaXRzOiB0aGlzLl9mcmFjdGlvbkRpZ2l0cyxcclxuICAgICAgY3VycmVuY3k6IHRoaXMuY3VycmVuY3lDb2RlXHJcbiAgICB9XTtcclxuICAgIGNvbnN0IHJvd3MgPSB0aGlzLl9zZXJpZXMubWFwKGEgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIG5hbWU6IGEubmFtZSxcclxuICAgICAgICBjYXB0aW9uOiBhLnRpdGxlXHJcbiAgICAgIH0gYXMgRmllbGRPcHRpb25zTW9kZWw7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZVNldHRpbmdzID0ge1xyXG4gICAgICBjb2x1bW5zOiBbe1xyXG4gICAgICAgIG5hbWU6ICd0eXBlJ1xyXG4gICAgICB9XSxcclxuICAgICAgcm93cyxcclxuICAgICAgdmFsdWVzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmFtZTogJ3ZhbHVlJyxcclxuICAgICAgICAgIGNhcHRpb246IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1ZhbHVlJylcclxuICAgICAgICB9XHJcbiAgICAgIF0sXHJcbiAgICAgIGVuYWJsZVNvcnRpbmc6IGZhbHNlLFxyXG4gICAgICBzb3J0U2V0dGluZ3M6IHRoaXMuX3Nlcmllcy5tYXAocyA9PiB7IHJldHVybiB7IG5hbWU6IGBfJHtzLm5hbWV9YCB9IGFzIFNvcnRNb2RlbCB9KSxcclxuICAgICAgZXhwYW5kQWxsOiB0aGlzLl9jb2xsYXBzZSB8fCBmYWxzZSxcclxuICAgICAgZm9ybWF0U2V0dGluZ3MsXHJcbiAgICAgIGRhdGFTb3VyY2U6IFtdXHJcbiAgICB9O1xyXG4gIH1cclxuICBwcml2YXRlIF9wYWxldHRlcygpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gW3RoaXMuX3Nlc3Npb24uZ2V0QWNjZW50KCldLlxyXG4gICAgICBjb25jYXQodGhpcy5faW5kaWNlcy5tYXAoKF8sIGkpID0+XHJcbiAgICAgICAgdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KDMwMCArIDMwMCAqIGkgYXMgTWF0ZXJpYWxNb2RlKSkpO1xyXG4gIH1cclxuXHJcbiAgZGF0YUJvdW5kKGFyZ3M6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5waXZvdC5jaGFydC5wb2ludENsaWNrID0gdGhpcy5wb2ludENsaWNrLmJpbmQodGhpcyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSByZXN1bHRcclxuICAgKi9cclxuICBvbkRhdGEocmVzdWx0OiBJdGVtW10pIHtcclxuICAgIHRoaXMuX2RlY29yYXRlKHJlc3VsdCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICB0aGlzLl9kYXRhID0gdGhpcy5kYXRhU291cmNlU2V0dGluZ3MuZGF0YVNvdXJjZSA9IHIgYXMgYW55O1xyXG4gICAgICB0aGlzLl9kcmF3KCk7XHJcbiAgICB9LCAoKSA9PiB0aGlzLl9zYi5lcnJvcigpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZHJhdygpIHtcclxuICAgIHRoaXMucGl2b3QgJiYgdGhpcy5waXZvdC5kZXN0cm95KCk7XHJcbiAgICB0aGlzLnBpdm90ID0gbmV3IFBpdm90Vmlldyh7XHJcbiAgICAgIHdpZHRoOiB0aGlzLndpZHRoLFxyXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcclxuICAgICAgZW5hYmxlUnRsOiB0aGlzLmVuYWJsZVJ0bCxcclxuICAgICAgZGF0YUJvdW5kOiB0aGlzLmRhdGFCb3VuZC5iaW5kKHRoaXMpLFxyXG4gICAgICBjaGFydFNldHRpbmdzOiB0aGlzLmNoYXJ0U2V0dGluZ3MsXHJcbiAgICAgIGRpc3BsYXlPcHRpb246IHRoaXMuZGlzcGxheU9wdGlvbixcclxuICAgICAgZGF0YVNvdXJjZVNldHRpbmdzOiB0aGlzLmRhdGFTb3VyY2VTZXR0aW5ncyxcclxuICAgICAgc3Bpbm5lclRlbXBsYXRlOiAnJyxcclxuICAgICAgYWxsb3dDb25kaXRpb25hbEZvcm1hdHRpbmc6IHRydWUsXHJcbiAgICAgIGFsbG93RXhjZWxFeHBvcnQ6IHRydWUsXHJcbiAgICAgIGN1cnJlbmN5Q29kZTogdGhpcy5jdXJyZW5jeUNvZGUsXHJcbiAgICB9LCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICBvblJlc2l6ZSgpIHtcclxuICAgIGlmICh0aGlzLnBpdm90ICYmIHRoaXMucGl2b3QuY2hhcnQpIHtcclxuICAgICAgLy90aGlzLnBpdm90LmNoYXJ0LmhlaWdodCA9IHRoaXMuaGVpZ2h0O1xyXG4gICAgICB0aGlzLnBpdm90LmNoYXJ0LndpZHRoID0gdGhpcy53aWR0aDtcclxuICAgICAgKHRoaXMucGl2b3QuY2hhcnQgYXMgQ2hhcnQpLmNoYXJ0UmVzaXplKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9uRXhwb3J0KG5hbWU6IHN0cmluZykge1xyXG4gICAgLy90aGlzLnBpdm90LmV4Y2VsRXhwb3J0KHsgZmlsZU5hbWU6IGAke25hbWV9Lnhsc3hgLCBoaWVyYXJjaHlFeHBvcnRNb2RlOiAnQWxsJyB9KTtcclxuICAgIGNvbnN0IHdzID0gWExTWC51dGlscy5qc29uX3RvX3NoZWV0KHRoaXMuX2RhdGEpO1xyXG4gICAgY29uc3Qgd2IgPSBYTFNYLnV0aWxzLmJvb2tfbmV3KCk7XHJcbiAgICBjb25zdCBzbmFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1NoZWV0TicsIDEpO1xyXG4gICAgd2IuU2hlZXRzW3NuYW1lXSA9IHdzO1xyXG4gICAgd2IuU2hlZXROYW1lcy5wdXNoKHNuYW1lKTtcclxuICAgIFhMU1gud3JpdGVGaWxlKHdiLCBgJHtuYW1lfS54bHN4YCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIGFkZHMgZGF0YSBzb3VyY2UgZGVzY3JpcHRpb24gdG8gaXRlbSBrZXlzLCBhbmQgbm9ybWFsaXplcyBpbmRpY2VzLlxyXG4gICAqIEBwYXJhbSByZXN1bHRcclxuICAgKi9cclxuICBwcml2YXRlIF9kZWNvcmF0ZShyZXN1bHQ6IEl0ZW1bXSk6IE9ic2VydmFibGU8e31bXT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmUgPT4ge1xyXG4gICAgICBjb25zdCBvYnNlcnZhYmxlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcclxuICAgICAgcmVzdWx0LmZvckVhY2gocm93ID0+IHtcclxuICAgICAgICB0aGlzLl9zZXJpZXMuZm9yRWFjaChhID0+IHtcclxuICAgICAgICAgIGNvbnN0IHZhbCA9IHJvd1thLm5hbWVdIGFzIHN0cmluZztcclxuICAgICAgICAgIGNvbnN0IG9ic2VydmFibGUgPSB0aGlzLl90eXBlLmdldChhLmRhdGFUeXBlLCB2YWwpLlxyXG4gICAgICAgICAgICBwaXBlKHRhcCgodjogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgcm93W2BfJHthLm5hbWV9YF0gPSB2YWw7XHJcbiAgICAgICAgICAgICAgcm93W2EubmFtZV0gPSB2IHx8IHZhbDtcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgICAgb2JzZXJ2YWJsZXMucHVzaChvYnNlcnZhYmxlKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChvYnNlcnZhYmxlcy5sZW5ndGgpXHJcbiAgICAgICAgZm9ya0pvaW4ob2JzZXJ2YWJsZXMpLnBpcGUobWFwKCgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGRhdGE6IHt9W10gPSBbXTtcclxuICAgICAgICAgIHJlc3VsdC5mb3JFYWNoKGJhc2VSb3cgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGJhc2VSb3cudXNhZ2U7XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSAwKSB7XHJcbiAgICAgICAgICAgICAgY29uc3Qgcm93ID0ge1xyXG4gICAgICAgICAgICAgICAgdHlwZTogdGhpcy5feVRpdGxlLFxyXG4gICAgICAgICAgICAgICAgdmFsdWVcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIHRoaXMuX3Nlcmllcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICAgICAgICAgICAgcm93W2BfJHthLm5hbWV9YF0gPSBiYXNlUm93W2BfJHthLm5hbWV9YF07XHJcbiAgICAgICAgICAgICAgICByb3dbYS5uYW1lXSA9IGJhc2VSb3dbYS5uYW1lXTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICBkYXRhLnB1c2gocm93KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLl9pbmRpY2VzLmZvckVhY2goaSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBiYXNlUm93W2kubmFtZV07XHJcbiAgICAgICAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IDApIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJvdyA9IHsgdHlwZTogaS50aXRsZSwgdmFsdWUgfTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3Nlcmllcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICAgICAgICAgICAgICByb3dbYF8ke2EubmFtZX1gXSA9IGJhc2VSb3dbYF8ke2EubmFtZX1gXTtcclxuICAgICAgICAgICAgICAgICAgcm93W2EubmFtZV0gPSBiYXNlUm93W2EubmFtZV07XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIGRhdGEucHVzaChyb3cpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICAgIH0pKS5cclxuICAgICAgICAgIHN1YnNjcmliZShyID0+XHJcbiAgICAgICAgICAgIG9ic2VydmUubmV4dChyKSwgZSA9PiBvYnNlcnZlLmVycm9yKGUpKTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIG9ic2VydmUubmV4dChbXSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGVcclxuICAgKi9cclxuICBwb2ludENsaWNrKGU6IElQb2ludEV2ZW50QXJncykge1xyXG4gICAgY29uc3QgeyBwb2ludDogeyB4LCB5VmFsdWUgfSwgc2VyaWVzOiB7IG5hbWU6IHRpdGxlIH0gfSA9IGU7XHJcbiAgICBpZiAoeVZhbHVlID09PSAwKSB7XHJcbiAgICAgIGUuY2FuY2VsID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYXhlczogeyBbYXhpczogc3RyaW5nXTogYW55OyB9ID0gdGhpcy5fYXhlcyh4IGFzIHN0cmluZyk7XHJcbiAgICBzdXBlci5icm93c2UoYXhlcywgdGl0bGUgPT09IHRoaXMuX3lUaXRsZSA/IG51bGwgOiB0aGlzLl9pbmRleE5hbWUodGl0bGUpKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogcmV2ZXJzZSBlbmdpbmVlcmluZyBheGVzIGZyb20gc2VyaWVzIGxhYmVsXHJcbiAgICogQHBhcmFtIGxhYmVsXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfYXhlcyhsYWJlbDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBheGVzOiB7IFtheGlzOiBzdHJpbmddOiAoc3RyaW5nIHwgbnVtYmVyKTsgfSA9IHt9O1xyXG4gICAgbGFiZWwuc3BsaXQoJyAtICcpLmZvckVhY2goKHgsIGkpID0+IHtcclxuICAgICAgY29uc3QgY29sdW1uID0gdGhpcy5kYXRhU291cmNlU2V0dGluZ3Mucm93c1tpXS5uYW1lLFxyXG4gICAgICAgIGVsZW1lbnQgPSB0aGlzLl9kYXRhLmZpbmQoZSA9PiBlW2NvbHVtbl0gPT09IHgpO1xyXG4gICAgICBheGVzW2NvbHVtbl0gPSBlbGVtZW50ID8gZWxlbWVudFtgXyR7Y29sdW1ufWBdIDogeDtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGF4ZXM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiByZXZlcnNlIGVuZ2luZWVyaW5nIGluZGV4IG5hbWUgZnJvbSB0aXRsZVxyXG4gICAqIEBwYXJhbSB0aXRsZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2luZGV4TmFtZSh0aXRsZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5faW5kaWNlcy5maW5kKGkgPT4gaS50aXRsZSA9PT0gdGl0bGUpO1xyXG4gICAgcmV0dXJuIGluZGV4Lm5hbWU7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5waXZvdCAmJiB0aGlzLnBpdm90LmRlc3Ryb3koKTtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBPcHRpb25zIGV4dGVuZHMgVXNhZ2VPcHRpb25zIHtcclxuICBjaGFydFR5cGU/OiBDaGFydFNlcmllc1R5cGU7XHJcbn1cclxuIl19
|
@@ -1,243 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { Component, ViewChild } from "@angular/core";
|
3
|
-
import { forkJoin, of } from "rxjs";
|
4
|
-
import { tap, takeUntil } from "rxjs/operators";
|
5
|
-
import { PivotViewComponent } from "@syncfusion/ej2-angular-pivotview";
|
6
|
-
import { ExcelExport, PivotView } from "@syncfusion/ej2-angular-pivotview";
|
7
|
-
import { Internationalization } from "@syncfusion/ej2-base";
|
8
|
-
import { BizDoc } from "../../core/decorators";
|
9
|
-
import { getWarn, isArray } from "../../core/functions";
|
10
|
-
import { UsageReportBase } from "./usage-base";
|
11
|
-
import * as i0 from "@angular/core";
|
12
|
-
import * as i1 from "../report-ref";
|
13
|
-
import * as i2 from "../../core/datasource.service";
|
14
|
-
import * as i3 from "../../cube/cube.service";
|
15
|
-
import * as i4 from "../../core/session.service";
|
16
|
-
import * as i5 from "../../core/router";
|
17
|
-
import * as i6 from "../../core/prompt.service";
|
18
|
-
import * as i7 from "@angular/cdk/bidi";
|
19
|
-
import * as i8 from "../../core/translate.service";
|
20
|
-
PivotView.Inject(ExcelExport);
|
21
|
-
const PIVOT_HEADER_DELIMITER = '|';
|
22
|
-
/**
|
23
|
-
* cube usage
|
24
|
-
* */
|
25
|
-
let UsagePivotComponent = class UsagePivotComponent extends UsageReportBase {
|
26
|
-
// ctor
|
27
|
-
constructor(reportRef, type, _elementRef, service, session, router, sb, dir, translate) {
|
28
|
-
super(reportRef, type, service, session, router, sb, dir, translate);
|
29
|
-
this._elementRef = _elementRef;
|
30
|
-
this.gridSettings = {
|
31
|
-
rowHeight: 36
|
32
|
-
};
|
33
|
-
this.conditionalFormatSettings = [{
|
34
|
-
conditions: 'LessThan',
|
35
|
-
value1: 0,
|
36
|
-
measure: 'value',
|
37
|
-
applyGrandTotals: true,
|
38
|
-
style: {
|
39
|
-
color: getWarn()
|
40
|
-
}
|
41
|
-
}];
|
42
|
-
this.groupingBarSettings = {
|
43
|
-
showRemoveIcon: false,
|
44
|
-
showFilterIcon: false,
|
45
|
-
showValueTypeIcon: false
|
46
|
-
};
|
47
|
-
this._intl = new Internationalization();
|
48
|
-
this._session.themeChange.pipe(takeUntil(this._destroy)).subscribe(() => {
|
49
|
-
this.conditionalFormatSettings[0].style.color = getWarn();
|
50
|
-
this.pivot.refresh();
|
51
|
-
});
|
52
|
-
this._defaults();
|
53
|
-
}
|
54
|
-
/** set defaults */
|
55
|
-
_defaults() {
|
56
|
-
const { xAxis } = this._options;
|
57
|
-
this._xAxis = xAxis ? this._cube.axes.filter(a => isArray(xAxis) ? xAxis.indexOf(a.name) > -1 : a.name === xAxis) : this._cube.axes.filter(a => !a.hidden).slice(0, 2);
|
58
|
-
this._emptyCellsTextContent = this._intl.formatNumber(0, {
|
59
|
-
format: this.currencyCode ? 'C' : 'N',
|
60
|
-
currency: this.currencyCode,
|
61
|
-
maximumFractionDigits: this._fractionDigits
|
62
|
-
});
|
63
|
-
const formatSettings = [{
|
64
|
-
name: 'usage',
|
65
|
-
format: this.currencyCode ? 'C' : 'N',
|
66
|
-
maximumFractionDigits: this._fractionDigits
|
67
|
-
}];
|
68
|
-
const values = [
|
69
|
-
{
|
70
|
-
name: 'usage',
|
71
|
-
caption: this._yTitle,
|
72
|
-
showNoDataItems: true
|
73
|
-
}
|
74
|
-
];
|
75
|
-
const conditionalSettings = [{
|
76
|
-
conditions: 'NotEquals',
|
77
|
-
value1: 0,
|
78
|
-
measure: 'usage'
|
79
|
-
}];
|
80
|
-
this._indices &&
|
81
|
-
this._indices.forEach(i => {
|
82
|
-
values.push({
|
83
|
-
name: i.name,
|
84
|
-
caption: i.title,
|
85
|
-
showNoDataItems: true
|
86
|
-
});
|
87
|
-
conditionalSettings.push({
|
88
|
-
conditions: 'NotEquals',
|
89
|
-
value1: 0,
|
90
|
-
measure: i.name
|
91
|
-
});
|
92
|
-
formatSettings.push({
|
93
|
-
name: i.name,
|
94
|
-
format: this.currencyCode ? 'C' : 'N',
|
95
|
-
maximumFractionDigits: this._fractionDigits
|
96
|
-
});
|
97
|
-
});
|
98
|
-
this.hyperlinkSettings = {
|
99
|
-
conditionalSettings: conditionalSettings
|
100
|
-
};
|
101
|
-
const columns = this._xAxis.map(a => {
|
102
|
-
return {
|
103
|
-
name: a.name,
|
104
|
-
caption: a.title,
|
105
|
-
showNoDataItems: true
|
106
|
-
};
|
107
|
-
});
|
108
|
-
const rows = this._series.map(a => {
|
109
|
-
return {
|
110
|
-
name: a.name,
|
111
|
-
caption: a.title,
|
112
|
-
showNoDataItems: true
|
113
|
-
};
|
114
|
-
});
|
115
|
-
this.dataSourceSettings = {
|
116
|
-
columns,
|
117
|
-
rows,
|
118
|
-
values,
|
119
|
-
conditionalFormatSettings: this.conditionalFormatSettings,
|
120
|
-
emptyCellsTextContent: this._emptyCellsTextContent,
|
121
|
-
expandAll: this._collapse || false,
|
122
|
-
showColumnGrandTotals: true,
|
123
|
-
alwaysShowValueHeader: false,
|
124
|
-
formatSettings,
|
125
|
-
dataSource: [],
|
126
|
-
valueSortSettings: { headerDelimiter: PIVOT_HEADER_DELIMITER },
|
127
|
-
enableSorting: false
|
128
|
-
};
|
129
|
-
}
|
130
|
-
/**
|
131
|
-
*
|
132
|
-
* @param result
|
133
|
-
*/
|
134
|
-
onData(result) {
|
135
|
-
this._decorate(result).subscribe(() => {
|
136
|
-
this._data = this.dataSourceSettings.dataSource = result;
|
137
|
-
this._draw();
|
138
|
-
}, () => this._sb.error());
|
139
|
-
}
|
140
|
-
enginePopulated() {
|
141
|
-
this.pivot.grid.excelQueryCellInfo = this.excelQueryCellInfo.bind(this);
|
142
|
-
}
|
143
|
-
excelQueryCellInfo(evt) {
|
144
|
-
if (evt.value === this._emptyCellsTextContent)
|
145
|
-
evt.value = 0;
|
146
|
-
}
|
147
|
-
onResize() {
|
148
|
-
}
|
149
|
-
onExport(name) {
|
150
|
-
this.pivot.excelExport({
|
151
|
-
fileName: `${name}.xlsx`
|
152
|
-
});
|
153
|
-
}
|
154
|
-
/**
|
155
|
-
* adds data source description to item keys.
|
156
|
-
* @param result
|
157
|
-
*/
|
158
|
-
_decorate(result) {
|
159
|
-
const observables = [];
|
160
|
-
result.forEach(row => {
|
161
|
-
this._xAxis.concat(this._series).forEach(a => {
|
162
|
-
const axis = row[a.name];
|
163
|
-
row[`_${a.name}`] = axis;
|
164
|
-
const observable = this._type.get(a.dataType, axis).pipe(tap(v => row[a.name] = v || axis));
|
165
|
-
observables.push(observable);
|
166
|
-
});
|
167
|
-
});
|
168
|
-
return observables.length ? forkJoin(observables) : of([]);
|
169
|
-
}
|
170
|
-
_draw() {
|
171
|
-
this.pivot && this.pivot.destroy();
|
172
|
-
this.pivot = new PivotView({
|
173
|
-
spinnerTemplate: '',
|
174
|
-
dataSourceSettings: this.dataSourceSettings,
|
175
|
-
width: this.width,
|
176
|
-
height: this.height,
|
177
|
-
enableValueSorting: true,
|
178
|
-
enableRtl: this.enableRtl,
|
179
|
-
showTooltip: false,
|
180
|
-
allowConditionalFormatting: true,
|
181
|
-
allowNumberFormatting: true,
|
182
|
-
groupingBarSettings: this.groupingBarSettings,
|
183
|
-
allowCalculatedField: true,
|
184
|
-
showGroupingBar: true,
|
185
|
-
allowExcelExport: true,
|
186
|
-
hyperlinkSettings: this.hyperlinkSettings,
|
187
|
-
gridSettings: this.gridSettings,
|
188
|
-
cellClick: this.cellClick.bind(this),
|
189
|
-
currencyCode: this.currencyCode,
|
190
|
-
}, this._elementRef.nativeElement);
|
191
|
-
}
|
192
|
-
/**
|
193
|
-
*
|
194
|
-
* @param evt
|
195
|
-
*/
|
196
|
-
cellClick(evt) {
|
197
|
-
const { columnHeaders, rowHeaders, actualText } = evt.data;
|
198
|
-
const axes = this._pivotAxes(columnHeaders, rowHeaders);
|
199
|
-
super.browse(axes, actualText === 'usage' ? null : actualText);
|
200
|
-
}
|
201
|
-
/**
|
202
|
-
* reverse engineering axes from headers
|
203
|
-
* @param columnHeaders
|
204
|
-
* @param rowHeaders
|
205
|
-
*/
|
206
|
-
_pivotAxes(columnHeaders, rowHeaders) {
|
207
|
-
const axes = {};
|
208
|
-
if (columnHeaders !== '')
|
209
|
-
columnHeaders.split(PIVOT_HEADER_DELIMITER).forEach((c, i) => {
|
210
|
-
const column = this.dataSourceSettings.columns[i].name,
|
211
|
-
// find any row with header
|
212
|
-
element = this._data.find(e => e[column].toString() === c);
|
213
|
-
// translate back to key
|
214
|
-
axes[column] = element ? element[`_${column}`] : c;
|
215
|
-
});
|
216
|
-
if (rowHeaders !== '')
|
217
|
-
rowHeaders.split(PIVOT_HEADER_DELIMITER).forEach((r, i) => {
|
218
|
-
const column = this.dataSourceSettings.rows[i].name, element = this._data.find(e => e[column] === r);
|
219
|
-
axes[column] = element ? element[`_${column}`] : r;
|
220
|
-
});
|
221
|
-
return axes;
|
222
|
-
}
|
223
|
-
};
|
224
|
-
UsagePivotComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: UsagePivotComponent, deps: [{ token: i1.ReportRef }, { token: i2.DatasourceService }, { token: i0.ElementRef }, { token: i3.CubeService }, { token: i4.SessionService }, { token: i5.RouterImpl }, { token: i6.PromptService }, { token: i7.Directionality }, { token: i8.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
|
225
|
-
UsagePivotComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.10", type: UsagePivotComponent, selector: "ng-component", host: { properties: { "id": "id" } }, viewQueries: [{ propertyName: "pivot", first: true, predicate: PivotViewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
226
|
-
UsagePivotComponent = __decorate([
|
227
|
-
BizDoc({
|
228
|
-
selector: 'bizdoc-cube-usage'
|
229
|
-
})
|
230
|
-
], UsagePivotComponent);
|
231
|
-
export { UsagePivotComponent };
|
232
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: UsagePivotComponent, decorators: [{
|
233
|
-
type: Component,
|
234
|
-
args: [{
|
235
|
-
template: '',
|
236
|
-
//templateUrl: 'usage-pivot.component.html',
|
237
|
-
host: { '[id]': 'id' }
|
238
|
-
}]
|
239
|
-
}], ctorParameters: function () { return [{ type: i1.ReportRef }, { type: i2.DatasourceService }, { type: i0.ElementRef }, { type: i3.CubeService }, { type: i4.SessionService }, { type: i5.RouterImpl }, { type: i6.PromptService }, { type: i7.Directionality }, { type: i8.TranslateService }]; }, propDecorators: { pivot: [{
|
240
|
-
type: ViewChild,
|
241
|
-
args: [PivotViewComponent]
|
242
|
-
}] } });
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNhZ2UtcGl2b3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9yZXBvcnRzL2N1YmUvdXNhZ2UtcGl2b3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQWMsUUFBUSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUF1RyxNQUFNLG1DQUFtQyxDQUFDO0FBS2hMLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBT3hELE9BQU8sRUFBc0IsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7O0FBR25FLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7QUFFOUIsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUM7QUFDbkM7O0tBRUs7SUFVRyxtQkFBbUIsU0FBbkIsbUJBQW9CLFNBQVEsZUFBd0I7SUF3QjFELE9BQU87SUFDUCxZQUFZLFNBQTZCLEVBQ3ZDLElBQXVCLEVBQ2YsV0FBdUIsRUFDL0IsT0FBb0IsRUFBRSxPQUF1QixFQUM3QyxNQUFrQixFQUNsQixFQUFpQixFQUNqQixHQUFtQixFQUNuQixTQUEyQjtRQUMzQixLQUFLLENBQUMsU0FBUyxFQUFFLElBQUks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Q0FBQyxDQUFDLENBQUM7WUFDckQsQ0FBQyxDQUFDLENBQUM7UUFDTCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRixDQUFBO2lIQWxOTyxtQkFBbUI7cUdBQW5CLG1CQUFtQixpSUFDZCxrQkFBa0IsdUVBVG5CLEVBQUU7QUFRTixtQkFBbUI7SUFKMUIsTUFBTSxDQUFDO1FBQ04sUUFBUSxFQUFFLG1CQUFtQjtLQUM5QixDQUFDO0dBRU0sbUJBQW1CLENBa04xQjtTQWxOTyxtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFUMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtvQkFDWiw0Q0FBNEM7b0JBQzVDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7aUJBQ3ZCO2lVQU1nQyxLQUFLO3NCQUFuQyxTQUFTO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2JpZGlcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZm9ya0pvaW4sIG9mIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgdGFwLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgUGl2b3RWaWV3Q29tcG9uZW50IH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXBpdm90dmlld1wiO1xyXG5pbXBvcnQgeyBFeGNlbEV4cG9ydCwgUGl2b3RWaWV3LCBHcm91cGluZ0JhclNldHRpbmdzTW9kZWwsIEh5cGVyQ2VsbENsaWNrRXZlbnRBcmdzLCBDb25kaXRpb25hbFNldHRpbmdzTW9kZWwsIEh5cGVybGlua1NldHRpbmdzTW9kZWwgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItcGl2b3R2aWV3XCI7XHJcbmltcG9ydCB7IEV4Y2VsUXVlcnlDZWxsSW5mb0V2ZW50QXJncyB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItZ3JpZHNcIjtcclxuaW1wb3J0IHsgQ29uZGl0aW9uYWxGb3JtYXRTZXR0aW5nc01vZGVsIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1waXZvdHZpZXcvc3JjL3Bpdm90dmlldy9tb2RlbC9kYXRhc291cmNlc2V0dGluZ3MtbW9kZWxcIjtcclxuaW1wb3J0IHsgRGF0YVNvdXJjZVNldHRpbmdzTW9kZWwsIEZpZWxkT3B0aW9uc01vZGVsLCBGb3JtYXRTZXR0aW5nc01vZGVsIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1waXZvdHZpZXcvc3JjL3Bpdm90dmlldy9tb2RlbC9kYXRhc291cmNlc2V0dGluZ3MtbW9kZWxcIjtcclxuaW1wb3J0IHsgR3JpZFNldHRpbmdzTW9kZWwgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLXBpdm90dmlldy9zcmMvcGl2b3R2aWV3L21vZGVsL2dyaWRzZXR0aW5ncy1tb2RlbFwiO1xyXG5pbXBvcnQgeyBJbnRlcm5hdGlvbmFsaXphdGlvbiB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYmFzZVwiO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tIFwiLi4vLi4vY29yZS9kZWNvcmF0b3JzXCI7XHJcbmltcG9ydCB7IEN1YmVBeGlzIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IGdldFdhcm4sIGlzQXJyYXkgfSBmcm9tIFwiLi4vLi4vY29yZS9mdW5jdGlvbnNcIjtcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEN1YmVTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2N1YmUvY3ViZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXJJbXBsIH0gZnJvbSBcIi4uLy4uL2NvcmUvcm91dGVyXCI7XHJcbmltcG9ydCB7IEl0ZW0sIFVzYWdlT3B0aW9ucywgVXNhZ2VSZXBvcnRCYXNlIH0gZnJvbSBcIi4vdXNhZ2UtYmFzZVwiO1xyXG5pbXBvcnQgeyBSZXBvcnRSZWYgfSBmcm9tIFwiLi4vcmVwb3J0LXJlZlwiO1xyXG5cclxuUGl2b3RWaWV3LkluamVjdChFeGNlbEV4cG9ydCk7XHJcblxyXG5jb25zdCBQSVZPVF9IRUFERVJfREVMSU1JVEVSID0gJ3wnO1xyXG4vKipcclxuICogY3ViZSB1c2FnZVxyXG4gKiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgLy90ZW1wbGF0ZVVybDogJ3VzYWdlLXBpdm90LmNvbXBvbmVudC5odG1sJyxcclxuICBob3N0OiB7ICdbaWRdJzogJ2lkJyB9XHJcbn0pXHJcbkBCaXpEb2Moe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWN1YmUtdXNhZ2UnXHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFVzYWdlUGl2b3RDb21wb25lbnQgZXh0ZW5kcyBVc2FnZVJlcG9ydEJhc2U8T3B0aW9ucz4ge1xyXG4gIEBWaWV3Q2hpbGQoUGl2b3RWaWV3Q29tcG9uZW50KSBwaXZvdDogUGl2b3RWaWV3O1xyXG4gIHByaXZhdGUgX2VtcHR5Q2VsbHNUZXh0Q29udGVudDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3hBeGlzOiBDdWJlQXhpc1tdO1xyXG4gIGRhdGFTb3VyY2VTZXR0aW5nczogRGF0YVNvdXJjZVNldHRpbmdzTW9kZWw7XHJcbiAgaHlwZXJsaW5rU2V0dGluZ3M6IEh5cGVybGlua1NldHRpbmdzTW9kZWw7XHJcbiAgcmVhZG9ubHkgZ3JpZFNldHRpbmdzOiBHcmlkU2V0dGluZ3NNb2RlbCA9IHtcclxuICAgIHJvd0hlaWdodDogMzZcclxuICB9O1xyXG4gIHJlYWRvbmx5IGNvbmRpdGlvbmFsRm9ybWF0U2V0dGluZ3M6IENvbmRpdGlvbmFsRm9ybWF0U2V0dGluZ3NNb2RlbFtdID0gW3tcclxuICAgIGNvbmRpdGlvbnM6ICdMZXNzVGhhbicsXHJcbiAgICB2YWx1ZTE6IDAsXHJcbiAgICBtZWFzdXJlOiAndmFsdWUnLFxyXG4gICAgYXBwbHlHcmFuZFRvdGFsczogdHJ1ZSxcclxuICAgIHN0eWxlOiB7XHJcbiAgICAgIGNvbG9yOiBnZXRXYXJuKClcclxuICAgIH1cclxuICB9XTtcclxuICByZWFkb25seSBncm91cGluZ0JhclNldHRpbmdzOiBHcm91cGluZ0JhclNldHRpbmdzTW9kZWwgPSB7XHJcbiAgICBzaG93UmVtb3ZlSWNvbjogZmFsc2UsXHJcbiAgICBzaG93RmlsdGVySWNvbjogZmFsc2UsXHJcbiAgICBzaG93VmFsdWVUeXBlSWNvbjogZmFsc2VcclxuICB9O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ludGw6IEludGVybmF0aW9uYWxpemF0aW9uID0gbmV3IEludGVybmF0aW9uYWxpemF0aW9uKCk7XHJcbiAgLy8gY3RvclxyXG4gIGNvbnN0cnVjdG9yKHJlcG9ydFJlZjogUmVwb3J0UmVmPE9wdGlvbnM+LFxyXG4gICAgdHlwZTogRGF0YXNvdXJjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgc2VydmljZTogQ3ViZVNlcnZpY2UsIHNlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBkaXI6IERpcmVjdGlvbmFsaXR5LFxyXG4gICAgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihyZXBvcnRSZWYsIHR5cGUsIHNlcnZpY2UsIHNlc3Npb24sIHJvdXRlciwgc2IsIGRpciwgdHJhbnNsYXRlKTtcclxuICAgIHRoaXMuX3Nlc3Npb24udGhlbWVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuY29uZGl0aW9uYWxGb3JtYXRTZXR0aW5nc1swXS5zdHlsZS5jb2xvciA9IGdldFdhcm4oKTtcclxuICAgICAgdGhpcy5waXZvdC5yZWZyZXNoKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuX2RlZmF1bHRzKCk7XHJcbiAgfVxyXG4gIC8qKiBzZXQgZGVmYXVsdHMgKi9cclxuICBwcml2YXRlIF9kZWZhdWx0cygpIHtcclxuICAgIGNvbnN0IHsgeEF4aXMgfSA9IHRoaXMuX29wdGlvbnM7XHJcbiAgICB0aGlzLl94QXhpcyA9IHhBeGlzID8gdGhpcy5fY3ViZS5heGVzLmZpbHRlcihhID0+IGlzQXJyYXkoeEF4aXMpID8geEF4aXMuaW5kZXhPZihhLm5hbWUpID4gLTEgOiBhLm5hbWUgPT09IHhBeGlzKSA6IHRoaXMuX2N1YmUuYXhlcy5maWx0ZXIoYSA9PiAhYS5oaWRkZW4pLnNsaWNlKDAsIDIpO1xyXG4gICAgdGhpcy5fZW1wdHlDZWxsc1RleHRDb250ZW50ID0gdGhpcy5faW50bC5mb3JtYXROdW1iZXIoMCwge1xyXG4gICAgICBmb3JtYXQ6IHRoaXMuY3VycmVuY3lDb2RlID8gJ0MnIDogJ04nLFxyXG4gICAgICBjdXJyZW5jeTogdGhpcy5jdXJyZW5jeUNvZGUsXHJcbiAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogdGhpcy5fZnJhY3Rpb25EaWdpdHNcclxuICAgIH0pO1xyXG4gICAgY29uc3QgZm9ybWF0U2V0dGluZ3M6IEZvcm1hdFNldHRpbmdzTW9kZWxbXSA9IFt7XHJcbiAgICAgIG5hbWU6ICd1c2FnZScsXHJcbiAgICAgIGZvcm1hdDogdGhpcy5jdXJyZW5jeUNvZGUgPyAnQycgOiAnTicsXHJcbiAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogdGhpcy5fZnJhY3Rpb25EaWdpdHNcclxuICAgIH1dO1xyXG4gICAgY29uc3QgdmFsdWVzOiBGaWVsZE9wdGlvbnNNb2RlbFtdID0gW1xyXG4gICAgICB7XHJcbiAgICAgICAgbmFtZTogJ3VzYWdlJyxcclxuICAgICAgICBjYXB0aW9uOiB0aGlzLl95VGl0bGUsXHJcbiAgICAgICAgc2hvd05vRGF0YUl0ZW1zOiB0cnVlXHJcbiAgICAgIH1cclxuICAgIF07XHJcbiAgICBjb25zdCBjb25kaXRpb25hbFNldHRpbmdzOiBDb25kaXRpb25hbFNldHRpbmdzTW9kZWxbXSA9IFt7XHJcbiAgICAgIGNvbmRpdGlvbnM6ICdOb3RFcXVhbHMnLFxyXG4gICAgICB2YWx1ZTE6IDAsXHJcbiAgICAgIG1lYXN1cmU6ICd1c2FnZSdcclxuICAgIH1dO1xyXG4gICAgdGhpcy5faW5kaWNlcyAmJlxyXG4gICAgICB0aGlzLl9pbmRpY2VzLmZvckVhY2goaSA9PiB7XHJcbiAgICAgICAgdmFsdWVzLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogaS5uYW1lLFxyXG4gICAgICAgICAgY2FwdGlvbjogaS50aXRsZSxcclxuICAgICAgICAgIHNob3dOb0RhdGFJdGVtczogdHJ1ZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGNvbmRpdGlvbmFsU2V0dGluZ3MucHVzaCh7XHJcbiAgICAgICAgICBjb25kaXRpb25zOiAnTm90RXF1YWxzJyxcclxuICAgICAgICAgIHZhbHVlMTogMCxcclxuICAgICAgICAgIG1lYXN1cmU6IGkubmFtZVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGZvcm1hdFNldHRpbmdzLnB1c2goe1xyXG4gICAgICAgICAgbmFtZTogaS5uYW1lLFxyXG4gICAgICAgICAgZm9ybWF0OiB0aGlzLmN1cnJlbmN5Q29kZSA/ICdDJyA6ICdOJyxcclxuICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogdGhpcy5fZnJhY3Rpb25EaWdpdHNcclxuICAgICAgICB9KTtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmh5cGVybGlua1NldHRpbmdzID0ge1xyXG4gICAgICBjb25kaXRpb25hbFNldHRpbmdzOiBjb25kaXRpb25hbFNldHRpbmdzXHJcbiAgICB9XHJcbiAgICBjb25zdCBjb2x1bW5zID0gdGhpcy5feEF4aXMubWFwKGEgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIG5hbWU6IGEubmFtZSxcclxuICAgICAgICBjYXB0aW9uOiBhLnRpdGxlLFxyXG4gICAgICAgIHNob3dOb0RhdGFJdGVtczogdHJ1ZVxyXG4gICAgICB9IGFzIEZpZWxkT3B0aW9uc01vZGVsO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCByb3dzID0gdGhpcy5fc2VyaWVzLm1hcChhID0+IHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBuYW1lOiBhLm5hbWUsXHJcbiAgICAgICAgY2FwdGlvbjogYS50aXRsZSxcclxuICAgICAgICBzaG93Tm9EYXRhSXRlbXM6IHRydWVcclxuICAgICAgfSBhcyBGaWVsZE9wdGlvbnNNb2RlbDtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5kYXRhU291cmNlU2V0dGluZ3MgPSB7XHJcbiAgICAgIGNvbHVtbnMsXHJcbiAgICAgIHJvd3MsXHJcbiAgICAgIHZhbHVlcyxcclxuICAgICAgY29uZGl0aW9uYWxGb3JtYXRTZXR0aW5nczogdGhpcy5jb25kaXRpb25hbEZvcm1hdFNldHRpbmdzLFxyXG4gICAgICBlbXB0eUNlbGxzVGV4dENvbnRlbnQ6IHRoaXMuX2VtcHR5Q2VsbHNUZXh0Q29udGVudCxcclxuICAgICAgZXhwYW5kQWxsOiB0aGlzLl9jb2xsYXBzZSB8fCBmYWxzZSxcclxuICAgICAgc2hvd0NvbHVtbkdyYW5kVG90YWxzOiB0cnVlLFxyXG4gICAgICBhbHdheXNTaG93VmFsdWVIZWFkZXI6IGZhbHNlLFxyXG4gICAgICBmb3JtYXRTZXR0aW5ncyxcclxuICAgICAgZGF0YVNvdXJjZTogW10sXHJcbiAgICAgIHZhbHVlU29ydFNldHRpbmdzOiB7IGhlYWRlckRlbGltaXRlcjogUElWT1RfSEVBREVSX0RFTElNSVRFUiB9LFxyXG4gICAgICBlbmFibGVTb3J0aW5nOiBmYWxzZVxyXG4gICAgfTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHJlc3VsdFxyXG4gICAqL1xyXG4gIG9uRGF0YShyZXN1bHQ6IEl0ZW1bXSkge1xyXG4gICAgdGhpcy5fZGVjb3JhdGUocmVzdWx0KS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLl9kYXRhID0gdGhpcy5kYXRhU291cmNlU2V0dGluZ3MuZGF0YVNvdXJjZSA9IHJlc3VsdCBhcyBhbnk7XHJcbiAgICAgIHRoaXMuX2RyYXcoKTtcclxuICAgIH0sICgpID0+IHRoaXMuX3NiLmVycm9yKCkpO1xyXG4gIH1cclxuICBlbmdpbmVQb3B1bGF0ZWQoKSB7XHJcbiAgICB0aGlzLnBpdm90LmdyaWQuZXhjZWxRdWVyeUNlbGxJbmZvID0gdGhpcy5leGNlbFF1ZXJ5Q2VsbEluZm8uYmluZCh0aGlzKTtcclxuICB9XHJcbiAgZXhjZWxRdWVyeUNlbGxJbmZvKGV2dDogRXhjZWxRdWVyeUNlbGxJbmZvRXZlbnRBcmdzKSB7XHJcbiAgICBpZiAoZXZ0LnZhbHVlID09PSB0aGlzLl9lbXB0eUNlbGxzVGV4dENvbnRlbnQpIGV2dC52YWx1ZSA9IDA7XHJcbiAgfVxyXG4gIG9uUmVzaXplKCkge1xyXG4gIH1cclxuICBvbkV4cG9ydChuYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMucGl2b3QuZXhjZWxFeHBvcnQoe1xyXG4gICAgICBmaWxlTmFtZTogYCR7bmFtZX0ueGxzeGBcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogYWRkcyBkYXRhIHNvdXJjZSBkZXNjcmlwdGlvbiB0byBpdGVtIGtleXMuXHJcbiAgICogQHBhcmFtIHJlc3VsdFxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2RlY29yYXRlKHJlc3VsdDogSXRlbVtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGNvbnN0IG9ic2VydmFibGVzOiBPYnNlcnZhYmxlPGFueT5bXSA9IFtdO1xyXG4gICAgcmVzdWx0LmZvckVhY2gocm93ID0+IHtcclxuICAgICAgdGhpcy5feEF4aXMuY29uY2F0KHRoaXMuX3NlcmllcykuZm9yRWFjaChhID0+IHtcclxuICAgICAgICBjb25zdCBheGlzID0gcm93W2EubmFtZV0gYXMgc3RyaW5nO1xyXG4gICAgICAgIHJvd1tgXyR7YS5uYW1lfWBdID0gYXhpcztcclxuICAgICAgICBjb25zdCBvYnNlcnZhYmxlID0gdGhpcy5fdHlwZS5nZXQoYS5kYXRhVHlwZSwgYXhpcykucGlwZSh0YXAodiA9PiByb3dbYS5uYW1lXSA9IHYgfHwgYXhpcykpO1xyXG4gICAgICAgIG9ic2VydmFibGVzLnB1c2gob2JzZXJ2YWJsZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gb2JzZXJ2YWJsZXMubGVuZ3RoID8gZm9ya0pvaW4ob2JzZXJ2YWJsZXMpIDogb2YoW10pO1xyXG4gIH1cclxuICBwcml2YXRlIF9kcmF3KCkge1xyXG4gICAgdGhpcy5waXZvdCAmJiB0aGlzLnBpdm90LmRlc3Ryb3koKTtcclxuICAgIHRoaXMucGl2b3QgPSBuZXcgUGl2b3RWaWV3KHtcclxuICAgICAgc3Bpbm5lclRlbXBsYXRlOiAnJyxcclxuICAgICAgZGF0YVNvdXJjZVNldHRpbmdzOiB0aGlzLmRhdGFTb3VyY2VTZXR0aW5ncyxcclxuICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXHJcbiAgICAgIGhlaWdodDogdGhpcy5oZWlnaHQsXHJcbiAgICAgIGVuYWJsZVZhbHVlU29ydGluZzogdHJ1ZSxcclxuICAgICAgZW5hYmxlUnRsOiB0aGlzLmVuYWJsZVJ0bCxcclxuICAgICAgc2hvd1Rvb2x0aXA6IGZhbHNlLFxyXG4gICAgICBhbGxvd0NvbmRpdGlvbmFsRm9ybWF0dGluZzogdHJ1ZSxcclxuICAgICAgYWxsb3dOdW1iZXJGb3JtYXR0aW5nOiB0cnVlLFxyXG4gICAgICBncm91cGluZ0JhclNldHRpbmdzOiB0aGlzLmdyb3VwaW5nQmFyU2V0dGluZ3MsXHJcbiAgICAgIGFsbG93Q2FsY3VsYXRlZEZpZWxkOiB0cnVlLFxyXG4gICAgICBzaG93R3JvdXBpbmdCYXI6IHRydWUsXHJcbiAgICAgIGFsbG93RXhjZWxFeHBvcnQ6IHRydWUsXHJcbiAgICAgIGh5cGVybGlua1NldHRpbmdzOiB0aGlzLmh5cGVybGlua1NldHRpbmdzLFxyXG4gICAgICBncmlkU2V0dGluZ3M6IHRoaXMuZ3JpZFNldHRpbmdzLFxyXG4gICAgICBjZWxsQ2xpY2s6IHRoaXMuY2VsbENsaWNrLmJpbmQodGhpcyksXHJcbiAgICAgIGN1cnJlbmN5Q29kZTogdGhpcy5jdXJyZW5jeUNvZGUsXHJcbiAgICB9LCB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gZXZ0XHJcbiAgICovXHJcbiAgY2VsbENsaWNrKGV2dDogSHlwZXJDZWxsQ2xpY2tFdmVudEFyZ3MpIHtcclxuICAgIGNvbnN0IHsgY29sdW1uSGVhZGVycywgcm93SGVhZGVycywgYWN0dWFsVGV4dCB9ID0gZXZ0LmRhdGEgYXMgYW55O1xyXG4gICAgY29uc3QgYXhlcyA9IHRoaXMuX3Bpdm90QXhlcyhjb2x1bW5IZWFkZXJzLCByb3dIZWFkZXJzKTtcclxuICAgIHN1cGVyLmJyb3dzZShheGVzLCBhY3R1YWxUZXh0ID09PSAndXNhZ2UnID8gbnVsbCA6IGFjdHVhbFRleHQpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiByZXZlcnNlIGVuZ2luZWVyaW5nIGF4ZXMgZnJvbSBoZWFkZXJzXHJcbiAgICogQHBhcmFtIGNvbHVtbkhlYWRlcnNcclxuICAgKiBAcGFyYW0gcm93SGVhZGVyc1xyXG4gICAqL1xyXG4gIHByaXZhdGUgX3Bpdm90QXhlcyhjb2x1bW5IZWFkZXJzOiBzdHJpbmcsIHJvd0hlYWRlcnM6IHN0cmluZyk6IHsgW2F4aXM6IHN0cmluZ106IHN0cmluZzsgfSB7XHJcbiAgICBjb25zdCBheGVzOiB7IFtheGlzOiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gICAgaWYgKGNvbHVtbkhlYWRlcnMgIT09ICcnKVxyXG4gICAgICBjb2x1bW5IZWFkZXJzLnNwbGl0KFBJVk9UX0hFQURFUl9ERUxJTUlURVIpLmZvckVhY2goKGMsIGkpID0+IHtcclxuICAgICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLmRhdGFTb3VyY2VTZXR0aW5ncy5jb2x1bW5zW2ldLm5hbWUsXHJcbiAgICAgICAgICAvLyBmaW5kIGFueSByb3cgd2l0aCBoZWFkZXJcclxuICAgICAgICAgIGVsZW1lbnQgPSB0aGlzLl9kYXRhLmZpbmQoZSA9PiBlW2NvbHVtbl0udG9TdHJpbmcoKSA9PT0gYyk7XHJcbiAgICAgICAgLy8gdHJhbnNsYXRlIGJhY2sgdG8ga2V5XHJcbiAgICAgICAgYXhlc1tjb2x1bW5dID0gZWxlbWVudCA/IGVsZW1lbnRbYF8ke2NvbHVtbn1gXSA6IGM7XHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKHJvd0hlYWRlcnMgIT09ICcnKVxyXG4gICAgICByb3dIZWFkZXJzLnNwbGl0KFBJVk9UX0hFQURFUl9ERUxJTUlURVIpLmZvckVhY2goKHIsIGkpID0+IHtcclxuICAgICAgICBjb25zdCBjb2x1bW4gPSB0aGlzLmRhdGFTb3VyY2VTZXR0aW5ncy5yb3dzW2ldLm5hbWUsXHJcbiAgICAgICAgICBlbGVtZW50ID0gdGhpcy5fZGF0YS5maW5kKGUgPT4gZVtjb2x1bW5dID09PSByKTtcclxuICAgICAgICBheGVzW2NvbHVtbl0gPSBlbGVtZW50ID8gZWxlbWVudFtgXyR7Y29sdW1ufWBdIDogcjtcclxuICAgICAgfSk7XHJcbiAgICByZXR1cm4gYXhlcztcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIE9wdGlvbnMgZXh0ZW5kcyBVc2FnZU9wdGlvbnMge1xyXG4gIHhBeGlzPzogc3RyaW5nW10gfCBzdHJpbmc7XHJcbn1cclxuIl19
|