@bizdoc/core 3.0.7 → 3.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/themes/brown.min.css +1 -1
- package/assets/themes/dark.min.css +1 -1
- package/assets/themes/deep-purple-light-blue.min.css +1 -1
- package/assets/themes/deep-purple-teal.min.css +1 -1
- package/assets/themes/default.min.css +26 -16
- package/assets/themes/green.min.css +1 -1
- package/assets/themes/indigo-amber.min.css +1 -1
- package/assets/themes/indigo.min.css +1 -1
- package/esm2022/bizdoc-core.mjs +1 -1
- package/esm2022/lib/admin/admin-dismiss.service.mjs +4 -4
- package/esm2022/lib/admin/admin-menu.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +10 -10
- package/esm2022/lib/admin/architecture/declarations.mjs +3 -2
- package/esm2022/lib/admin/architecture/designer-element.component.mjs +25 -22
- package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +5 -5
- package/esm2022/lib/admin/architecture/designer.base.mjs +11 -14
- package/esm2022/lib/admin/architecture/designer.component.mjs +8 -7
- package/esm2022/lib/admin/architecture/elements/action.component.mjs +4 -5
- package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +4 -5
- package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/control.component.mjs +4 -7
- package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/cube.component.mjs +14 -15
- package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +5 -7
- package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/folder.component.mjs +4 -5
- package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +8 -10
- package/esm2022/lib/admin/architecture/elements/form.component.mjs +12 -13
- package/esm2022/lib/admin/architecture/elements/guide.component.mjs +4 -5
- package/esm2022/lib/admin/architecture/elements/job.component.mjs +4 -5
- package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +5 -5
- package/esm2022/lib/admin/architecture/elements/node.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/policy.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/report.component.mjs +4 -5
- package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/role.component.mjs +4 -5
- package/esm2022/lib/admin/architecture/elements/rule.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/source.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/state.component.mjs +4 -5
- package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/type.component.mjs +6 -7
- package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +5 -5
- package/esm2022/lib/admin/architecture/elements/utility.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/view.component.mjs +4 -4
- package/esm2022/lib/admin/architecture/elements/widget.component.mjs +4 -5
- package/esm2022/lib/admin/architecture/icon-picker.component.mjs +11 -6
- package/esm2022/lib/admin/core/ace.input.mjs +14 -13
- package/esm2022/lib/admin/core/color-picker.input.mjs +4 -4
- package/esm2022/lib/admin/core/localized-string.component.mjs +7 -6
- package/esm2022/lib/admin/core/search.input.mjs +5 -5
- package/esm2022/lib/admin/diff/configuration-diff.component.mjs +7 -6
- package/esm2022/lib/admin/document-trace/document-trace.component.mjs +18 -12
- package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +4 -4
- package/esm2022/lib/admin/document-trace/timeline.mjs +1 -1
- package/esm2022/lib/admin/document-trace/trace-element.component.mjs +5 -5
- package/esm2022/lib/admin/form/designer/box-designer.component.mjs +7 -7
- package/esm2022/lib/admin/form/designer/declarations.mjs +1 -1
- package/esm2022/lib/admin/form/designer/design-control.component.mjs +4 -4
- package/esm2022/lib/admin/form/designer/properties.component.mjs +5 -5
- package/esm2022/lib/admin/form/designer/section.component.mjs +4 -4
- package/esm2022/lib/admin/form/designer/settings.component.mjs +4 -4
- package/esm2022/lib/admin/form/form.resolve.service.mjs +4 -4
- package/esm2022/lib/admin/form/workflow/node-ref.mjs +1 -1
- package/esm2022/lib/admin/form/workflow/node.component.mjs +34 -34
- package/esm2022/lib/admin/form/workflow/role-node.component.mjs +4 -4
- package/esm2022/lib/admin/form/workflow/workflow.component.mjs +33 -33
- package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +8 -8
- package/esm2022/lib/admin/patterns/patterns.component.mjs +4 -4
- package/esm2022/lib/admin/permissions/permissions.component.mjs +4 -4
- package/esm2022/lib/admin/positions/positions-popup.component.mjs +7 -6
- package/esm2022/lib/admin/positions/positions.component.mjs +8 -8
- package/esm2022/lib/admin/profiler/outofoffice.component.mjs +5 -5
- package/esm2022/lib/admin/profiler/profiler.component.mjs +6 -6
- package/esm2022/lib/admin/system.service.mjs +15 -11
- package/esm2022/lib/admin/utility-ref.mjs +7 -5
- package/esm2022/lib/admin/utility-wrapper.component.mjs +4 -4
- package/esm2022/lib/admin/utility.pane.component.mjs +4 -4
- package/esm2022/lib/app.component.mjs +7 -7
- package/esm2022/lib/bizdoc.module.mjs +5 -5
- package/esm2022/lib/browse/browse-items.component.mjs +34 -33
- package/esm2022/lib/browse/browse.mobile.component.mjs +11 -8
- package/esm2022/lib/browse/browse.pane.component.mjs +9 -9
- package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +11 -11
- package/esm2022/lib/browse/filter/filter.component.mjs +27 -39
- package/esm2022/lib/browse/folders-menu.component.mjs +4 -4
- package/esm2022/lib/chat/chat-info.mjs +9 -8
- package/esm2022/lib/chat/chat.mobile.component.mjs +4 -4
- package/esm2022/lib/chat/chat.service.mjs +6 -6
- package/esm2022/lib/chat/contacts.component.mjs +9 -8
- package/esm2022/lib/chat/contacts.pane.component.mjs +4 -4
- package/esm2022/lib/chat/conversation.component.mjs +7 -7
- package/esm2022/lib/chat/conversation.pane.component.mjs +4 -4
- package/esm2022/lib/compose/action/action-picker.component.mjs +6 -9
- package/esm2022/lib/compose/action/action-ref.mjs +1 -1
- package/esm2022/lib/compose/action/action.base.mjs +1 -1
- package/esm2022/lib/compose/action/action.dialog.mjs +5 -5
- package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +7 -7
- package/esm2022/lib/compose/action/assign-action.component.mjs +4 -4
- package/esm2022/lib/compose/action/moveto-action.component.mjs +5 -5
- package/esm2022/lib/compose/action/return-action.component.mjs +4 -4
- package/esm2022/lib/compose/attachments/attachments.component.mjs +4 -4
- package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +4 -4
- package/esm2022/lib/compose/attachments/progress-button.directive.mjs +4 -4
- package/esm2022/lib/compose/box/box.component.mjs +4 -4
- package/esm2022/lib/compose/box/control.component.mjs +4 -4
- package/esm2022/lib/compose/box/row.component.mjs +4 -4
- package/esm2022/lib/compose/can-deactivate-changes.service.mjs +4 -4
- package/esm2022/lib/compose/comments/comment.component.mjs +17 -14
- package/esm2022/lib/compose/comments/comments.component.mjs +6 -6
- package/esm2022/lib/compose/comments/comments.pane.component.mjs +5 -5
- package/esm2022/lib/compose/comments/edit-comment.component.mjs +4 -4
- package/esm2022/lib/compose/comments/edits.component.mjs +4 -4
- package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +5 -5
- package/esm2022/lib/compose/comments/votes.component.mjs +4 -4
- package/esm2022/lib/compose/compose-resolve.service.mjs +4 -4
- package/esm2022/lib/compose/compose.mobile.component.mjs +8 -8
- package/esm2022/lib/compose/compose.pane.component.mjs +11 -11
- package/esm2022/lib/compose/copy/copy.dialog.mjs +4 -4
- package/esm2022/lib/compose/dismiss.service.mjs +4 -4
- package/esm2022/lib/compose/document-resolve.service.mjs +7 -7
- package/esm2022/lib/compose/document-resolver.service.mjs +4 -4
- package/esm2022/lib/compose/document.component.mjs +4 -4
- package/esm2022/lib/compose/document.mobile.component.mjs +4 -4
- package/esm2022/lib/compose/document.pane.component.mjs +4 -4
- package/esm2022/lib/compose/events/events.component.mjs +4 -4
- package/esm2022/lib/compose/form-ref.mjs +1 -1
- package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +4 -4
- package/esm2022/lib/compose/form.component.mjs +58 -22
- package/esm2022/lib/compose/new-menu.component.mjs +7 -6
- package/esm2022/lib/compose/overlay.component.exp.mjs +4 -4
- package/esm2022/lib/compose/privilage.directive.mjs +7 -7
- package/esm2022/lib/compose/recipient-resolver.service.mjs +4 -4
- package/esm2022/lib/compose/state.component.mjs +4 -4
- package/esm2022/lib/compose/tag/tags.component.mjs +4 -4
- package/esm2022/lib/compose/trace/flow.component.mjs +16 -17
- package/esm2022/lib/compose/trace/people.component.mjs +14 -9
- package/esm2022/lib/compose/trace/trace.base.mjs +6 -7
- package/esm2022/lib/compose/trace/trace.component.mjs +5 -5
- package/esm2022/lib/compose/trace/trace.pane.component.mjs +4 -4
- package/esm2022/lib/compose/version-compare/version-compare.component.mjs +5 -4
- package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +14 -14
- package/esm2022/lib/compose/version-compare/version.pane.component.mjs +4 -4
- package/esm2022/lib/core/account.service.mjs +4 -4
- package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +4 -4
- package/esm2022/lib/core/animations.mjs +1 -1
- package/esm2022/lib/core/authentication.mjs +1 -4
- package/esm2022/lib/core/avatar/avatar.component.mjs +52 -43
- package/esm2022/lib/core/base.mjs +1 -1
- package/esm2022/lib/core/checkbox.mjs +4 -4
- package/esm2022/lib/core/colors.mjs +1 -1
- package/esm2022/lib/core/component-factory-resolver.mjs +5 -5
- package/esm2022/lib/core/configuration.mjs +1 -1
- package/esm2022/lib/core/datasource.service.mjs +4 -4
- package/esm2022/lib/core/decorators.mjs +1 -1
- package/esm2022/lib/core/document-factory.service.mjs +4 -11
- package/esm2022/lib/core/fields/address.designer.mjs +4 -4
- package/esm2022/lib/core/fields/address.field.mjs +4 -4
- package/esm2022/lib/core/fields/autocomplete.field.mjs +7 -7
- package/esm2022/lib/core/fields/axes-picker.designer.mjs +4 -4
- package/esm2022/lib/core/fields/axes-picker.field.mjs +4 -4
- package/esm2022/lib/core/fields/checkbox.designer.mjs +4 -4
- package/esm2022/lib/core/fields/checkbox.field.mjs +4 -4
- package/esm2022/lib/core/fields/checklist.designer.mjs +4 -4
- package/esm2022/lib/core/fields/checklist.field.mjs +4 -4
- package/esm2022/lib/core/fields/date-range.designer.mjs +4 -4
- package/esm2022/lib/core/fields/date-range.field.mjs +4 -4
- package/esm2022/lib/core/fields/date.designer.mjs +4 -4
- package/esm2022/lib/core/fields/date.field.mjs +4 -4
- package/esm2022/lib/core/fields/expression.field.mjs +7 -7
- package/esm2022/lib/core/fields/file.designer.mjs +4 -4
- package/esm2022/lib/core/fields/file.field.mjs +4 -4
- package/esm2022/lib/core/fields/html.designer.mjs +4 -4
- package/esm2022/lib/core/fields/html.field.mjs +4 -4
- package/esm2022/lib/core/fields/input.designer.mjs +4 -4
- package/esm2022/lib/core/fields/input.field.mjs +4 -4
- package/esm2022/lib/core/fields/localized-string.field.mjs +7 -7
- package/esm2022/lib/core/fields/numeric.designer.mjs +4 -4
- package/esm2022/lib/core/fields/numeric.field.mjs +4 -4
- package/esm2022/lib/core/fields/options.base.mjs +8 -8
- package/esm2022/lib/core/fields/options.component.mjs +4 -4
- package/esm2022/lib/core/fields/radio-button.designer.mjs +4 -4
- package/esm2022/lib/core/fields/radio-button.field.mjs +4 -4
- package/esm2022/lib/core/fields/select.designer.mjs +4 -4
- package/esm2022/lib/core/fields/select.field.mjs +4 -4
- package/esm2022/lib/core/fields/signature.designer.mjs +4 -4
- package/esm2022/lib/core/fields/signature.field.mjs +4 -4
- package/esm2022/lib/core/fields/switch.field.mjs +4 -4
- package/esm2022/lib/core/fields/tags.designer.mjs +4 -4
- package/esm2022/lib/core/fields/tags.field.mjs +4 -4
- package/esm2022/lib/core/fields/textarea.designer.mjs +4 -4
- package/esm2022/lib/core/fields/textarea.field.mjs +4 -4
- package/esm2022/lib/core/fields/time.designer.mjs +4 -4
- package/esm2022/lib/core/fields/time.field.mjs +4 -4
- package/esm2022/lib/core/fields/timespan.field.mjs +7 -7
- package/esm2022/lib/core/fields/yesno.designer.mjs +4 -4
- package/esm2022/lib/core/fields/yesno.field.mjs +4 -4
- package/esm2022/lib/core/firebase.service.mjs +1 -1
- package/esm2022/lib/core/functions.mjs +4 -1
- package/esm2022/lib/core/guide/guide.component.mjs +4 -4
- package/esm2022/lib/core/guide/guide.service.mjs +11 -7
- package/esm2022/lib/core/guide/help-tip.component.mjs +5 -5
- package/esm2022/lib/core/http.interceptor.mjs +6 -6
- package/esm2022/lib/core/hub.service.mjs +4 -4
- package/esm2022/lib/core/identity/identity.component.mjs +4 -4
- package/esm2022/lib/core/info/attachment-info.service.mjs +4 -4
- package/esm2022/lib/core/info/document-info.service.mjs +4 -4
- package/esm2022/lib/core/info/location-info.component.mjs +4 -4
- package/esm2022/lib/core/info/map-info.mjs +4 -4
- package/esm2022/lib/core/inputs/address.input.mjs +4 -4
- package/esm2022/lib/core/inputs/auto-complete.input.mjs +7 -6
- package/esm2022/lib/core/inputs/combination-picker-body.mjs +10 -12
- package/esm2022/lib/core/inputs/combination-picker.mjs +5 -6
- package/esm2022/lib/core/inputs/combination-pool.mjs +6 -5
- package/esm2022/lib/core/inputs/file.input.mjs +29 -23
- package/esm2022/lib/core/inputs/select.input.mjs +4 -4
- package/esm2022/lib/core/inputs/signature.input.mjs +4 -4
- package/esm2022/lib/core/inputs/time-picker.mjs +7 -7
- package/esm2022/lib/core/inputs/timespan.input.mjs +7 -7
- package/esm2022/lib/core/layout.component.mjs +11 -5
- package/esm2022/lib/core/lottie-animation.exp.mjs +49 -0
- package/esm2022/lib/core/mailbox.service.mjs +20 -14
- package/esm2022/lib/core/models.mjs +2 -1
- package/esm2022/lib/core/none.component.mjs +4 -4
- package/esm2022/lib/core/pipes/action.pipe.mjs +4 -4
- package/esm2022/lib/core/pipes/calendar.pipe.mjs +4 -4
- package/esm2022/lib/core/pipes/date-format.pipe.mjs +4 -4
- package/esm2022/lib/core/pipes/daterange.pipe.mjs +7 -7
- package/esm2022/lib/core/pipes/difference.pipe.mjs +4 -4
- package/esm2022/lib/core/pipes/duration-format.pipe.mjs +4 -4
- package/esm2022/lib/core/pipes/duration.pipe.mjs +4 -4
- package/esm2022/lib/core/pipes/filter.pipe.mjs +25 -0
- package/esm2022/lib/core/pipes/form.pipe.mjs +4 -4
- package/esm2022/lib/core/pipes/join.pipe.mjs +4 -4
- package/esm2022/lib/core/pipes/localized-string.pipe.mjs +4 -4
- package/esm2022/lib/core/pipes/role.pipe.mjs +4 -4
- package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +4 -4
- package/esm2022/lib/core/pipes/sort.pipe.mjs +8 -30
- package/esm2022/lib/core/pipes/state.pipe.mjs +4 -4
- package/esm2022/lib/core/pipes/time-ago.pipe.mjs +4 -4
- package/esm2022/lib/core/pipes/to-now.pipe.mjs +4 -4
- package/esm2022/lib/core/pipes/translate.pipe.mjs +10 -10
- package/esm2022/lib/core/pipes/type-value.pipe.mjs +4 -4
- package/esm2022/lib/core/pipes/user-name.pipe.mjs +4 -4
- package/esm2022/lib/core/popup/popup-ref.mjs +1 -1
- package/esm2022/lib/core/popup/popup.component.mjs +4 -4
- package/esm2022/lib/core/popup/popup.service.mjs +7 -5
- package/esm2022/lib/core/popup/tooltip.directive.mjs +10 -11
- package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +4 -4
- package/esm2022/lib/core/prompt/mask/mask.component.mjs +4 -4
- package/esm2022/lib/core/prompt.service.mjs +6 -6
- package/esm2022/lib/core/router.mjs +9 -9
- package/esm2022/lib/core/save-changes.dialog.mjs +4 -4
- package/esm2022/lib/core/session.service.mjs +47 -36
- package/esm2022/lib/core/slots/pane-ref.mjs +2 -2
- package/esm2022/lib/core/slots/router.directive.mjs +4 -4
- package/esm2022/lib/core/slots/router.service.mjs +6 -5
- package/esm2022/lib/core/slots/slots.component.mjs +25 -22
- package/esm2022/lib/core/sticky-toolbar.exp.mjs +9 -6
- package/esm2022/lib/core/tagging/documents.component.mjs +4 -4
- package/esm2022/lib/core/tagging/edit-input.component.mjs +16 -13
- package/esm2022/lib/core/tagging/emoji.component.mjs +4 -4
- package/esm2022/lib/core/tagging/tagging-item.directive.mjs +4 -4
- package/esm2022/lib/core/tagging/tagging.component-base.mjs +4 -4
- package/esm2022/lib/core/tagging/tagging.directive.mjs +5 -5
- package/esm2022/lib/core/tagging/tagging.pipe.mjs +4 -4
- package/esm2022/lib/core/tagging/users.component.mjs +5 -5
- package/esm2022/lib/core/translate.service.mjs +5 -4
- package/esm2022/lib/core/translations.mjs +8 -6
- package/esm2022/lib/core/virtual-tabs.component.exp.mjs +7 -7
- package/esm2022/lib/core/window-title.service.mjs +14 -6
- package/esm2022/lib/cube/accum/accum.component.mjs +4 -4
- package/esm2022/lib/cube/chart/chart.component.mjs +8 -7
- package/esm2022/lib/cube/cube-info.service.mjs +13 -10
- package/esm2022/lib/cube/cube-menu.component.mjs +4 -4
- package/esm2022/lib/cube/cube-view.component.mjs +5 -5
- package/esm2022/lib/cube/cube.service.mjs +21 -19
- package/esm2022/lib/cube/declarations.mjs +1 -1
- package/esm2022/lib/cube/explore/document-item.component.mjs +4 -4
- package/esm2022/lib/cube/explore/explore-item.component.mjs +4 -4
- package/esm2022/lib/cube/explore/explore-items.component.mjs +8 -8
- package/esm2022/lib/cube/explore/explore.pane.component.mjs +5 -5
- package/esm2022/lib/cube/explore/item-resolver.service.mjs +7 -7
- package/esm2022/lib/cube/explore/item.pane.component.mjs +5 -5
- package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +4 -4
- package/esm2022/lib/cube/filter/filter.component.mjs +14 -13
- package/esm2022/lib/cube/grid/grid.component.mjs +9 -8
- package/esm2022/lib/cube/matrix/matrix.base.mjs +20 -18
- package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +4 -4
- package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +5 -5
- package/esm2022/lib/cube/matrix/popup.component.mjs +4 -4
- package/esm2022/lib/cube/matrix/table.component.mjs +9 -8
- package/esm2022/lib/cube/parallel/item.mjs +1 -2
- package/esm2022/lib/cube/parallel/parallel.component.mjs +5 -5
- package/esm2022/lib/cube/pivot/pivot.component.mjs +16 -7
- package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +6 -6
- package/esm2022/lib/cube/spreadsheet/spreadsheet.container.exp.mjs +4 -4
- package/esm2022/lib/cube/sum/sum.component.mjs +19 -18
- package/esm2022/lib/cube/view-base.mjs +5 -5
- package/esm2022/lib/cube/view.mobile.component.mjs +5 -5
- package/esm2022/lib/cube/view.pane.component.mjs +4 -4
- package/esm2022/lib/dashboard/actions/actions.widget.mjs +7 -6
- package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +4 -8
- package/esm2022/lib/dashboard/cube/compare.widget.mjs +5 -7
- package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +8 -6
- package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +4 -4
- package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +5 -4
- package/esm2022/lib/dashboard/cube/document-state.widget.mjs +6 -5
- package/esm2022/lib/dashboard/cube/documents.widget.mjs +4 -4
- package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +4 -4
- package/esm2022/lib/dashboard/dashboard.component.mjs +4 -4
- package/esm2022/lib/dashboard/dashboard.pane.component.mjs +4 -4
- package/esm2022/lib/dashboard/recents/recents.widget.mjs +13 -16
- package/esm2022/lib/dashboard/score/activity.widget.mjs +6 -5
- package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +12 -5
- package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +9 -8
- package/esm2022/lib/dashboard/score/pending-results.widget.mjs +4 -4
- package/esm2022/lib/dashboard/score/personal-score.widget.mjs +19 -18
- package/esm2022/lib/dashboard/widget-item.component.mjs +4 -4
- package/esm2022/lib/dashboard/widget-ref.mjs +1 -1
- package/esm2022/lib/designer.module.mjs +5 -5
- package/esm2022/lib/desktop.module.mjs +8 -12
- package/esm2022/lib/home/about/about.dialog.mjs +5 -5
- package/esm2022/lib/home/home-base.component.mjs +18 -10
- package/esm2022/lib/home/home.desktop.component.mjs +14 -24
- package/esm2022/lib/home/home.mobile.component.mjs +29 -32
- package/esm2022/lib/home/notifications/notifications.component.mjs +21 -23
- package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +9 -9
- package/esm2022/lib/home/sign/sign.component.mjs +20 -24
- package/esm2022/lib/impersonate/impersonate.component.mjs +36 -34
- package/esm2022/lib/mobile.module.mjs +8 -11
- package/esm2022/lib/modules/chart.module.mjs +13 -11
- package/esm2022/lib/modules/circular-gauge.module.mjs +9 -7
- package/esm2022/lib/modules/date.adapter.mjs +1 -1
- package/esm2022/lib/modules/datepicker.intl.mjs +4 -4
- package/esm2022/lib/modules/dayjs.module.mjs +5 -5
- package/esm2022/lib/modules/diagram.module.mjs +9 -7
- package/esm2022/lib/modules/gantt.module.mjs +11 -9
- package/esm2022/lib/modules/grid.module.mjs +9 -7
- package/esm2022/lib/modules/linear-gauge.module.mjs +5 -5
- package/esm2022/lib/modules/material.module.mjs +5 -5
- package/esm2022/lib/modules/paginator.intl.mjs +4 -4
- package/esm2022/lib/modules/pivot.module.mjs +9 -7
- package/esm2022/lib/modules/schedule.module.mjs +9 -7
- package/esm2022/lib/modules/spreadsheet.module.mjs +5 -5
- package/esm2022/lib/modules/stepper.intl.mjs +4 -4
- package/esm2022/lib/modules/texteditor.module.mjs +7 -6
- package/esm2022/lib/notifications/filter.component.mjs +4 -4
- package/esm2022/lib/notifications/notifications-table.component.mjs +6 -7
- package/esm2022/lib/notifications/notifications.component-base.mjs +1 -1
- package/esm2022/lib/notifications/notifications.mobile.component.mjs +4 -4
- package/esm2022/lib/notifications/notifications.pane.component.mjs +4 -4
- package/esm2022/lib/notifications/notifications.service.mjs +13 -6
- package/esm2022/lib/notifications/types/commented.notification.mjs +4 -4
- package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +4 -4
- package/esm2022/lib/notifications/types/escalated.notification.mjs +4 -4
- package/esm2022/lib/notifications/types/invite.notification.mjs +4 -4
- package/esm2022/lib/notifications/types/liked.notification.mjs +4 -4
- package/esm2022/lib/notifications/types/long-running-task.notification.mjs +4 -4
- package/esm2022/lib/notifications/types/notification-base.mjs +4 -4
- package/esm2022/lib/notifications/types/nudge.notification.mjs +4 -4
- package/esm2022/lib/notifications/types/state-changed.notification.mjs +4 -4
- package/esm2022/lib/notifications/types/tagged.notification.mjs +4 -4
- package/esm2022/lib/notifications/types/text.notification.mjs +4 -4
- package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +4 -4
- package/esm2022/lib/options/options.component.mjs +91 -49
- package/esm2022/lib/options/options.desktop.component.mjs +26 -0
- package/esm2022/lib/options/options.mobile.component.mjs +23 -0
- package/esm2022/lib/reports/arguments-component.mjs +4 -4
- package/esm2022/lib/reports/cube/documents.component.mjs +4 -4
- package/esm2022/lib/reports/cube/grid-documents.component.mjs +4 -4
- package/esm2022/lib/reports/cube/performance-hilo.component.mjs +5 -5
- package/esm2022/lib/reports/cube/performance-wind.component.mjs +4 -4
- package/esm2022/lib/reports/cube/table-documents.component.mjs +6 -5
- package/esm2022/lib/reports/cube/usage-args.component.mjs +6 -5
- package/esm2022/lib/reports/cube/usage-base.mjs +8 -8
- package/esm2022/lib/reports/cube/usage-chart.component.mjs +6 -6
- package/esm2022/lib/reports/cube/usage-pivot.component.mjs +5 -5
- package/esm2022/lib/reports/cube/usage.component.mjs +4 -4
- package/esm2022/lib/reports/report-ref.mjs +1 -1
- package/esm2022/lib/reports/report-viewer.component.mjs +5 -5
- package/esm2022/lib/reports/report.mobile.component.mjs +4 -4
- package/esm2022/lib/reports/report.pane.component.mjs +4 -4
- package/esm2022/lib/reports/reports-menu.component.mjs +4 -4
- package/esm2022/lib/reports/substitution/substitution.component.mjs +4 -4
- package/esm2022/lib/reports/table/table-view.component.mjs +4 -4
- package/esm2022/lib/reports/tasks/tasks.component.mjs +4 -4
- package/esm2022/lib/routes.desktop.mjs +24 -5
- package/esm2022/lib/routes.mobile.mjs +12 -2
- package/esm2022/lib/scheduler/schedule.component.mjs +5 -5
- package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +4 -4
- package/esm2022/lib/scheduler/scheduler.pane.component.mjs +4 -4
- package/esm2022/lib/search/cube.component.mjs +8 -9
- package/esm2022/lib/search/declarations.mjs +1 -1
- package/esm2022/lib/search/document.component.mjs +4 -4
- package/esm2022/lib/search/guide.component.mjs +4 -4
- package/esm2022/lib/search/path.component.mjs +4 -4
- package/esm2022/lib/search/search.service.mjs +5 -5
- package/esm2022/lib/shared.module.mjs +15 -15
- package/esm2022/lib/system.module.mjs +5 -5
- package/esm2022/lib/views/cube/chart.component.mjs +4 -4
- package/esm2022/lib/views/cube/cube-base.mjs +4 -4
- package/esm2022/lib/views/cube/explore.component.mjs +5 -5
- package/esm2022/lib/views/cube/matrix.component.mjs +6 -6
- package/esm2022/lib/views/cube/parallel.component.mjs +4 -4
- package/esm2022/lib/views/cube/pivot.component.mjs +4 -4
- package/esm2022/lib/views/cube/sum.component.mjs +4 -4
- package/esm2022/lib/views/cube/view.component.mjs +6 -6
- package/esm2022/lib/views/document-view-ref.mjs +1 -1
- package/esm2022/lib/views/timeline/timeline.component.mjs +7 -8
- package/esm2022/lib/views/view-item.component.mjs +4 -4
- package/esm2022/lib/views/views.component.mjs +5 -5
- package/esm2022/lib/views/views.mobile.component.mjs +6 -6
- package/esm2022/lib/views/views.pane.component.mjs +8 -8
- package/esm2022/public-api.mjs +4 -3
- package/fesm2022/bizdoc-core.mjs +3267 -3149
- package/fesm2022/bizdoc-core.mjs.map +1 -1
- package/lib/admin/architecture/cube-axes-filter.component.d.ts +4 -1
- package/lib/admin/architecture/declarations.d.ts +14 -9
- package/lib/admin/architecture/designer-element.component.d.ts +1 -0
- package/lib/admin/architecture/designer-privileges.component.d.ts +4 -2
- package/lib/admin/architecture/designer.base.d.ts +1 -4
- package/lib/admin/architecture/designer.component.d.ts +3 -3
- package/lib/admin/architecture/elements/action.component.d.ts +13 -13
- package/lib/admin/architecture/elements/analysis-view.component.d.ts +8 -8
- package/lib/admin/architecture/elements/analysis-widget.component.d.ts +7 -7
- package/lib/admin/architecture/elements/anomaly-rule.component.d.ts +3 -3
- package/lib/admin/architecture/elements/attribute.component.d.ts +1 -1
- package/lib/admin/architecture/elements/box-form.component.d.ts +5 -5
- package/lib/admin/architecture/elements/configuration-datasource.component.d.ts +1 -1
- package/lib/admin/architecture/elements/control.component.d.ts +1 -2
- package/lib/admin/architecture/elements/cube-index-utility.component.d.ts +3 -4
- package/lib/admin/architecture/elements/cube-view.component.d.ts +4 -4
- package/lib/admin/architecture/elements/cube.component.d.ts +9 -10
- package/lib/admin/architecture/elements/document-state-widget.component.d.ts +3 -6
- package/lib/admin/architecture/elements/documents-report.component.d.ts +4 -5
- package/lib/admin/architecture/elements/documents-widget.component.d.ts +5 -5
- package/lib/admin/architecture/elements/explore-view.component.d.ts +4 -4
- package/lib/admin/architecture/elements/folder.component.d.ts +2 -2
- package/lib/admin/architecture/elements/form-invite.dialog.d.ts +7 -7
- package/lib/admin/architecture/elements/form.component.d.ts +10 -9
- package/lib/admin/architecture/elements/guide.component.d.ts +1 -1
- package/lib/admin/architecture/elements/matrix-view.component.d.ts +16 -16
- package/lib/admin/architecture/elements/parallel-view.component.d.ts +9 -10
- package/lib/admin/architecture/elements/performance-report.component.d.ts +2 -3
- package/lib/admin/architecture/elements/performance-widget.component.d.ts +4 -5
- package/lib/admin/architecture/elements/pivot-view.component.d.ts +9 -10
- package/lib/admin/architecture/elements/report.component.d.ts +1 -1
- package/lib/admin/architecture/elements/return-to-role-action.component.d.ts +1 -1
- package/lib/admin/architecture/elements/role.component.d.ts +4 -4
- package/lib/admin/architecture/elements/source.component.d.ts +2 -3
- package/lib/admin/architecture/elements/state.component.d.ts +4 -4
- package/lib/admin/architecture/elements/sum-view.component.d.ts +7 -8
- package/lib/admin/architecture/elements/tasks-report.component.d.ts +4 -4
- package/lib/admin/architecture/elements/type.component.d.ts +8 -4
- package/lib/admin/architecture/elements/usage-report.component.d.ts +7 -7
- package/lib/admin/architecture/elements/widget.component.d.ts +1 -1
- package/lib/admin/architecture/icon-picker.component.d.ts +5 -3
- package/lib/admin/core/ace.input.d.ts +2 -5
- package/lib/admin/core/localized-string.component.d.ts +3 -2
- package/lib/admin/document-trace/document-trace.component.d.ts +6 -5
- package/lib/admin/document-trace/reassign.dialog.d.ts +2 -2
- package/lib/admin/document-trace/timeline.d.ts +2 -2
- package/lib/admin/form/designer/box-designer.component.d.ts +13 -13
- package/lib/admin/form/designer/section.component.d.ts +5 -5
- package/lib/admin/form/workflow/node-ref.d.ts +1 -1
- package/lib/admin/form/workflow/node.component.d.ts +3 -2
- package/lib/admin/form/workflow/role-node.component.d.ts +11 -11
- package/lib/admin/form/workflow/workflow.component.d.ts +9 -11
- package/lib/admin/indices/manage-cube-index.component.d.ts +3 -3
- package/lib/admin/patterns/patterns.component.d.ts +2 -2
- package/lib/admin/positions/positions-popup.component.d.ts +1 -1
- package/lib/admin/positions/positions.component.d.ts +6 -6
- package/lib/admin/profiler/outofoffice.component.d.ts +15 -15
- package/lib/admin/profiler/profiler.component.d.ts +3 -3
- package/lib/admin/system.service.d.ts +8 -9
- package/lib/admin/utility-ref.d.ts +2 -2
- package/lib/browse/browse-items.component.d.ts +6 -7
- package/lib/browse/browse.mobile.component.d.ts +2 -2
- package/lib/browse/browse.pane.component.d.ts +2 -2
- package/lib/browse/filter/filter.component.d.ts +10 -11
- package/lib/chat/chat-info.d.ts +1 -1
- package/lib/chat/chat.service.d.ts +1 -1
- package/lib/chat/conversation.component.d.ts +2 -2
- package/lib/compose/action/action.base.d.ts +2 -1
- package/lib/compose/action/assign-action.component.d.ts +5 -5
- package/lib/compose/action/moveto-action.component.d.ts +3 -3
- package/lib/compose/action/return-action.component.d.ts +4 -4
- package/lib/compose/box/box.component.d.ts +1 -1
- package/lib/compose/comments/comments.component.d.ts +4 -4
- package/lib/compose/compose.mobile.component.d.ts +5 -5
- package/lib/compose/compose.pane.component.d.ts +3 -3
- package/lib/compose/copy/copy.dialog.d.ts +1 -1
- package/lib/compose/form-ref.d.ts +5 -5
- package/lib/compose/form.component.d.ts +36 -2
- package/lib/compose/new-menu.component.d.ts +2 -1
- package/lib/compose/privilage.directive.d.ts +1 -1
- package/lib/compose/tag/tags.component.d.ts +1 -1
- package/lib/compose/trace/flow.component.d.ts +1 -0
- package/lib/compose/trace/people.component.d.ts +5 -2
- package/lib/compose/trace/trace.base.d.ts +1 -1
- package/lib/compose/version-compare/version-compare.directive.d.ts +1 -1
- package/lib/core/account.service.d.ts +1 -1
- package/lib/core/authentication.d.ts +2 -2
- package/lib/core/avatar/avatar.component.d.ts +13 -11
- package/lib/core/base.d.ts +9 -9
- package/lib/core/colors.d.ts +1 -0
- package/lib/core/configuration.d.ts +3 -2
- package/lib/core/datasource.service.d.ts +1 -1
- package/lib/core/document-factory.service.d.ts +0 -1
- package/lib/core/fields/address.designer.d.ts +3 -3
- package/lib/core/fields/address.field.d.ts +1 -1
- package/lib/core/fields/autocomplete.field.d.ts +5 -5
- package/lib/core/fields/axes-picker.designer.d.ts +3 -3
- package/lib/core/fields/axes-picker.field.d.ts +1 -1
- package/lib/core/fields/checkbox.designer.d.ts +2 -2
- package/lib/core/fields/checkbox.field.d.ts +1 -1
- package/lib/core/fields/checklist.designer.d.ts +4 -4
- package/lib/core/fields/checklist.field.d.ts +1 -2
- package/lib/core/fields/date-range.designer.d.ts +6 -6
- package/lib/core/fields/date-range.field.d.ts +2 -2
- package/lib/core/fields/date.designer.d.ts +5 -5
- package/lib/core/fields/file.designer.d.ts +3 -3
- package/lib/core/fields/html.designer.d.ts +4 -4
- package/lib/core/fields/input.designer.d.ts +8 -9
- package/lib/core/fields/numeric.designer.d.ts +7 -7
- package/lib/core/fields/options.base.d.ts +1 -1
- package/lib/core/fields/radio-button.designer.d.ts +3 -3
- package/lib/core/fields/radio-button.field.d.ts +2 -3
- package/lib/core/fields/select.designer.d.ts +5 -5
- package/lib/core/fields/select.field.d.ts +1 -2
- package/lib/core/fields/signature.designer.d.ts +2 -2
- package/lib/core/fields/switch.field.d.ts +1 -1
- package/lib/core/fields/textarea.designer.d.ts +6 -6
- package/lib/core/fields/time.designer.d.ts +5 -5
- package/lib/core/fields/yesno.designer.d.ts +3 -3
- package/lib/core/fields/yesno.field.d.ts +1 -1
- package/lib/core/firebase.service.d.ts +1 -1
- package/lib/core/functions.d.ts +7 -4
- package/lib/core/guide/help-tip.component.d.ts +1 -1
- package/lib/core/http.interceptor.d.ts +1 -1
- package/lib/core/hub.service.d.ts +2 -2
- package/lib/core/inputs/address.input.d.ts +4 -4
- package/lib/core/inputs/auto-complete.input.d.ts +4 -4
- package/lib/core/inputs/combination-picker-body.d.ts +2 -2
- package/lib/core/inputs/file.input.d.ts +4 -4
- package/lib/core/inputs/time-picker.d.ts +2 -2
- package/lib/core/inputs/timespan.input.d.ts +7 -7
- package/lib/core/{lottie-animation.d.ts → lottie-animation.exp.d.ts} +0 -1
- package/lib/core/mailbox.service.d.ts +2 -3
- package/lib/core/models.d.ts +6 -5
- package/lib/core/pipes/filter.pipe.d.ts +7 -0
- package/lib/core/pipes/localized-string.pipe.d.ts +1 -1
- package/lib/core/pipes/sort.pipe.d.ts +1 -6
- package/lib/core/pipes/time-ago.pipe.d.ts +1 -1
- package/lib/core/pipes/user-name.pipe.d.ts +1 -1
- package/lib/core/popup/popup-ref.d.ts +4 -4
- package/lib/core/popup/tooltip.directive.d.ts +2 -3
- package/lib/core/router.d.ts +3 -3
- package/lib/core/session.service.d.ts +11 -8
- package/lib/core/slots/pane-ref.d.ts +16 -16
- package/lib/core/slots/router.directive.d.ts +2 -2
- package/lib/core/slots/router.service.d.ts +1 -1
- package/lib/core/slots/slots.component.d.ts +3 -3
- package/lib/core/sticky-toolbar.exp.d.ts +1 -0
- package/lib/core/tagging/edit-input.component.d.ts +5 -5
- package/lib/core/tagging/emoji.component.d.ts +1 -1
- package/lib/core/tagging/tagging.component-base.d.ts +1 -1
- package/lib/core/tagging/tagging.directive.d.ts +1 -1
- package/lib/core/tagging/tagging.pipe.d.ts +1 -1
- package/lib/core/translate.service.d.ts +2 -2
- package/lib/core/translations.d.ts +2 -1049
- package/lib/core/virtual-tabs.component.exp.d.ts +2 -2
- package/lib/core/window-title.service.d.ts +2 -1
- package/lib/cube/accum/accum.component.d.ts +1 -1
- package/lib/cube/chart/chart.component.d.ts +5 -5
- package/lib/cube/cube-info.service.d.ts +1 -1
- package/lib/cube/cube.service.d.ts +2 -2
- package/lib/cube/declarations.d.ts +3 -3
- package/lib/cube/explore/explore-items.component.d.ts +2 -2
- package/lib/cube/filter/filter.component.d.ts +1 -1
- package/lib/cube/grid/grid.component.d.ts +4 -4
- package/lib/cube/matrix/matrix.base.d.ts +9 -8
- package/lib/cube/matrix/matrix.pane.component.d.ts +2 -1
- package/lib/cube/matrix/table.component.d.ts +3 -3
- package/lib/cube/pivot/pivot.component.d.ts +6 -7
- package/lib/cube/spreadsheet/spreadsheet.component.d.ts +3 -3
- package/lib/cube/sum/sum.component.d.ts +5 -5
- package/lib/cube/view-base.d.ts +3 -2
- package/lib/cube/view.mobile.component.d.ts +1 -1
- package/lib/dashboard/cube/accum-cube.widget.d.ts +0 -1
- package/lib/dashboard/cube/cube-analysis.base.d.ts +9 -6
- package/lib/dashboard/cube/filter/filter.component.d.ts +3 -2
- package/lib/dashboard/recents/recents.widget.d.ts +5 -6
- package/lib/dashboard/score/activity.widget.d.ts +1 -0
- package/lib/dashboard/score/peers-performance.widget.d.ts +1 -0
- package/lib/dashboard/score/personal-score.widget.d.ts +2 -4
- package/lib/desktop.module.d.ts +5 -6
- package/lib/home/about/about.dialog.d.ts +2 -2
- package/lib/home/home-base.component.d.ts +2 -0
- package/lib/home/home.desktop.component.d.ts +6 -9
- package/lib/home/home.mobile.component.d.ts +4 -6
- package/lib/home/notifications/notifications.component.d.ts +3 -5
- package/lib/home/outofoffice/outofoffice.component.d.ts +3 -3
- package/lib/home/sign/sign.component.d.ts +4 -2
- package/lib/impersonate/impersonate.component.d.ts +11 -12
- package/lib/mobile.module.d.ts +3 -3
- package/lib/modules/chart.module.d.ts +1 -0
- package/lib/modules/circular-gauge.module.d.ts +1 -0
- package/lib/modules/diagram.module.d.ts +1 -0
- package/lib/modules/gantt.module.d.ts +1 -0
- package/lib/modules/grid.module.d.ts +1 -0
- package/lib/modules/pivot.module.d.ts +1 -0
- package/lib/modules/schedule.module.d.ts +1 -0
- package/lib/notifications/filter.component.d.ts +2 -2
- package/lib/options/options.component.d.ts +54 -31
- package/lib/options/options.desktop.component.d.ts +10 -0
- package/lib/options/options.mobile.component.d.ts +9 -0
- package/lib/reports/arguments-component.d.ts +2 -2
- package/lib/reports/cube/performance-hilo.component.d.ts +1 -1
- package/lib/reports/cube/performance-wind.component.d.ts +2 -2
- package/lib/reports/cube/usage-args.component.d.ts +3 -1
- package/lib/reports/cube/usage-base.d.ts +9 -7
- package/lib/reports/cube/usage-chart.component.d.ts +1 -1
- package/lib/reports/cube/usage-pivot.component.d.ts +1 -1
- package/lib/reports/report.mobile.component.d.ts +3 -1
- package/lib/search/cube.component.d.ts +1 -1
- package/lib/search/declarations.d.ts +2 -2
- package/lib/shared.module.d.ts +154 -153
- package/lib/views/cube/chart.component.d.ts +2 -2
- package/lib/views/cube/cube-base.d.ts +6 -6
- package/lib/views/cube/sum.component.d.ts +2 -2
- package/lib/views/timeline/timeline.component.d.ts +3 -2
- package/lib/views/views.component.d.ts +1 -1
- package/package.json +19 -18
- package/public-api.d.ts +3 -2
- package/assets/themes/readme.md +0 -0
- package/esm2022/lib/core/lottie-animation.mjs +0 -48
- package/esm2022/lib/home/options/options.component.mjs +0 -97
- package/esm2022/lib/options/options.service.mjs +0 -42
- package/lib/home/options/options.component.d.ts +0 -45
- package/lib/options/options.service.d.ts +0 -14
@@ -60,7 +60,7 @@ let ManageCubeIndexUtility = class ManageCubeIndexUtility {
|
|
60
60
|
const row = this._find(axes);
|
61
61
|
if (row) {
|
62
62
|
this._row = row;
|
63
|
-
this.form.controls
|
63
|
+
this.form.controls['value'].setValue(this._row.value, { emitEvent: false });
|
64
64
|
}
|
65
65
|
else
|
66
66
|
this._row.axes = axes;
|
@@ -92,7 +92,7 @@ let ManageCubeIndexUtility = class ManageCubeIndexUtility {
|
|
92
92
|
});
|
93
93
|
}
|
94
94
|
add() {
|
95
|
-
this._row =
|
95
|
+
this._row = undefined;
|
96
96
|
const values = { value: 0 };
|
97
97
|
this.axes.forEach(a => values[a.name] = null);
|
98
98
|
this.form.patchValue(values, { emitEvent: false });
|
@@ -126,7 +126,7 @@ let ManageCubeIndexUtility = class ManageCubeIndexUtility {
|
|
126
126
|
this._ref.populate().subscribe(m => {
|
127
127
|
this._data = m;
|
128
128
|
this.dataSource = new MatTableDataSource(m);
|
129
|
-
this.loading =
|
129
|
+
this.loading = undefined;
|
130
130
|
});
|
131
131
|
}
|
132
132
|
save() {
|
@@ -134,20 +134,20 @@ let ManageCubeIndexUtility = class ManageCubeIndexUtility {
|
|
134
134
|
this._ref.execute(this._data).subscribe(() => {
|
135
135
|
this._sb.toast('ChangesSaved');
|
136
136
|
this.dirty = false;
|
137
|
-
this.loading =
|
137
|
+
this.loading = undefined;
|
138
138
|
});
|
139
139
|
}
|
140
140
|
ngOnDestroy() {
|
141
141
|
this._destroy.next();
|
142
142
|
}
|
143
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
144
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
143
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ManageCubeIndexUtility, deps: [{ token: i1.Directionality }, { token: UtilityRef }, { token: i2.SessionService }, { token: i0.ViewContainerRef }, { token: i3.PromptService }, { token: i4.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }
|
144
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: ManageCubeIndexUtility, selector: "ng-component", viewQueries: [{ propertyName: "editTmpl", first: true, predicate: ["editTmpl"], descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\r\n <button mat-button (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add()\"><mat-icon>add</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<table mat-table [dataSource]=\"dataSource\">\r\n @for (a of axes; track a; let i = $index) {\r\n <ng-container [matColumnDef]=\"a.name\">\r\n <th mat-header-cell *matHeaderCellDef>{{a.title}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.axes[names.indexOf(a.name)]| typeValue: a.dataType | async}} </td>\r\n </ng-container>\r\n }\r\n <ng-container matColumnDef=\"value\">\r\n <th mat-header-cell *matHeaderCellDef>{{'Value'|translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.value | currency : CURRENCY_CODE }} </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"options\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button><mat-icon>more_horiz</mat-icon></button>\r\n <button mat-icon-button (click)=\"remove(element, $event)\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\" (click)=\"edit(element)\"></tr>\r\n</table>\r\n<ng-template #editTmpl>\r\n <form [formGroup]=\"form\">\r\n @for (a of axes; track a) {\r\n <mat-form-field>\r\n <bizdoc-select [placeholder]=\"a.title\" [type]=\"a.dataType\" [formControlName]=\"a.name\" required></bizdoc-select>\r\n </mat-form-field>\r\n }\r\n <mat-form-field>\r\n <input matInput type=\"number\" formControlName=\"value\" autocomplete=\"off\" required [placeholder]=\"'Value'|translate\" />\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n", styles: ["form{padding:8px 4px 8px 8px;flex-flow:row wrap;box-sizing:border-box;display:flex}form>*{flex:1 1 auto;box-sizing:border-box;width:50%;padding:0 5px 0 0}table{width:100%}\n"], dependencies: [{ kind: "directive", type: i5.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i5.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i5.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i5.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i5.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i5.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i6.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: i7.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i8.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i10.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i12.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i13.TypeSelect, selector: "bizdoc-select", inputs: ["type", "scope", "multiple", "placeholder", "required", "disabled", "text", "value"], outputs: ["selectionChange", "textChange"] }, { kind: "pipe", type: i14.AsyncPipe, name: "async" }, { kind: "pipe", type: i14.CurrencyPipe, name: "currency" }, { kind: "pipe", type: i15.TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: i16.TranslatePipe, name: "translate" }] }); }
|
145
145
|
};
|
146
146
|
ManageCubeIndexUtility = __decorate([
|
147
147
|
BizDoc({ selector: 'manage-cube-index' })
|
148
148
|
], ManageCubeIndexUtility);
|
149
149
|
export { ManageCubeIndexUtility };
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: ManageCubeIndexUtility, decorators: [{
|
151
151
|
type: Component,
|
152
152
|
args: [{ template: "<mat-toolbar>\r\n <button mat-button (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"add()\"><mat-icon>add</mat-icon></button>\r\n</mat-toolbar>\r\n<mat-progress-bar [mode]=\"loading\" [style.visibility]=\"loading ? 'visible':'hidden'\"></mat-progress-bar>\r\n<table mat-table [dataSource]=\"dataSource\">\r\n @for (a of axes; track a; let i = $index) {\r\n <ng-container [matColumnDef]=\"a.name\">\r\n <th mat-header-cell *matHeaderCellDef>{{a.title}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.axes[names.indexOf(a.name)]| typeValue: a.dataType | async}} </td>\r\n </ng-container>\r\n }\r\n <ng-container matColumnDef=\"value\">\r\n <th mat-header-cell *matHeaderCellDef>{{'Value'|translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.value | currency : CURRENCY_CODE }} </td>\r\n </ng-container>\r\n <ng-container matColumnDef=\"options\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button><mat-icon>more_horiz</mat-icon></button>\r\n <button mat-icon-button (click)=\"remove(element, $event)\"><mat-icon>delete</mat-icon></button>\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\" (click)=\"edit(element)\"></tr>\r\n</table>\r\n<ng-template #editTmpl>\r\n <form [formGroup]=\"form\">\r\n @for (a of axes; track a) {\r\n <mat-form-field>\r\n <bizdoc-select [placeholder]=\"a.title\" [type]=\"a.dataType\" [formControlName]=\"a.name\" required></bizdoc-select>\r\n </mat-form-field>\r\n }\r\n <mat-form-field>\r\n <input matInput type=\"number\" formControlName=\"value\" autocomplete=\"off\" required [placeholder]=\"'Value'|translate\" />\r\n </mat-form-field>\r\n </form>\r\n</ng-template>\r\n", styles: ["form{padding:8px 4px 8px 8px;flex-flow:row wrap;box-sizing:border-box;display:flex}form>*{flex:1 1 auto;box-sizing:border-box;width:50%;padding:0 5px 0 0}table{width:100%}\n"] }]
|
153
153
|
}], ctorParameters: () => [{ type: i1.Directionality }, { type: i17.UtilityRef, decorators: [{
|
@@ -157,4 +157,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
157
157
|
type: ViewChild,
|
158
158
|
args: ['editTmpl', { static: true }]
|
159
159
|
}] } });
|
160
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWN1YmUtaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9pbmRpY2VzL21hbmFnZS1jdWJlLWluZGV4LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvYWRtaW4vaW5kaWNlcy9tYW5hZ2UtY3ViZS1pbmRleC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQTRDLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFckQsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVzFDLElBQU0sc0JBQXNCLEdBQTVCLE1BQU0sc0JBQXNCO0lBZ0I1QixZQUFvQixJQUFvQixFQUNWLElBQXlELEVBQ3JGLE9BQXVCLEVBQVUsR0FBcUIsRUFDOUMsR0FBa0IsRUFDbEIsUUFBaUI7UUFKUCxTQUFJLEdBQUosSUFBSSxDQUFnQjtRQUNWLFNBQUksR0FBSixJQUFJLENBQXFEO1FBQ3BELFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQzlD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QmQsc0JBQXNCLHdLQ3RCOUIsbStEQXVDQTs7QURqQlEsc0JBQXNCO0lBRjdCLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxtQkFBbUIsRUFBRSxDQUFDO0dBRWxDLHNCQUFzQixDQXdIN0I7OzJGQXhITyxzQkFBc0I7a0JBTjdCLFNBQVM7OzswQkF1QkwsTUFBTTsyQkFBQyxVQUFVO3VKQVBxQixRQUFRO3NCQUFoRCxTQUFTO3VCQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiwgT25EZXN0cm95LCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XHJcbmltcG9ydCB7IFByb2dyZXNzQmFyTW9kZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXJcIjtcclxuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gXCJAYW5ndWxhci9jZGsvYmlkaVwiO1xyXG5pbXBvcnQgeyBtZXJnZSwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IFV0aWxpdHlDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29yZS9iYXNlXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgVXRpbGl0eVJlZiB9IGZyb20gXCIuLi91dGlsaXR5LXJlZlwiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDdWJlQXhpcyB9IGZyb20gXCIuLi8uLi9jb3JlL21vZGVsc1wiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHN0eWxlVXJsczogWycuL21hbmFnZS1jdWJlLWluZGV4LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL21hbmFnZS1jdWJlLWluZGV4LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdtYW5hZ2UtY3ViZS1pbmRleCcgfSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgTWFuYWdlQ3ViZUluZGV4VXRpbGl0eSBpbXBsZW1lbnRzIFV0aWxpdHlDb21wb25lbnQ8YW55LCBhbnk+LCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcmVhZG9ubHkgQ1VSUkVOQ1lfQ09ERTogc3RyaW5nO1xyXG4gIGRpcnR5ID0gZmFsc2U7XHJcbiAgYXhlczogQ3ViZUF4aXNbXTtcclxuICBkYXRhU291cmNlOiBNYXRUYWJsZURhdGFTb3VyY2U8SW5kZXg+O1xyXG4gIHJlYWRvbmx5IG5hbWVzOiBzdHJpbmdbXTtcclxuICByZWFkb25seSBkaXNwbGF5ZWRDb2x1bW5zID0gWyd2YWx1ZScsICdvcHRpb25zJ107XHJcbiAgcmVhZG9ubHkgZm9ybTogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICB2YWx1ZTogbmV3IEZvcm1Db250cm9sKDAsIFZhbGlkYXRvcnMucmVxdWlyZWQpXHJcbiAgfSk7XHJcbiAgQFZpZXdDaGlsZCgnZWRpdFRtcGwnLCB7IHN0YXRpYzogdHJ1ZSB9KSBlZGl0VG1wbDogVGVtcGxhdGVSZWY8YW55PjtcclxuICBsb2FkaW5nOiBQcm9ncmVzc0Jhck1vZGU7XHJcbiAgcHJpdmF0ZSBfZGF0YTogSW5kZXhbXTtcclxuICBwcml2YXRlIF9yb3c6IEluZGV4O1xyXG4gIHByaXZhdGUgX29SZWY6IE92ZXJsYXlSZWY7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZGlyOiBEaXJlY3Rpb25hbGl0eSxcclxuICAgIEBJbmplY3QoVXRpbGl0eVJlZikgcHJpdmF0ZSBfcmVmOiBVdGlsaXR5UmVmPGJvb2xlYW4sIEluZGV4W10sIEluZGV4W10sIGFueSwgT3B0aW9ucz4sXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSwgcHJpdmF0ZSBfdmM6IFZpZXdDb250YWluZXJSZWYsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXkpIHtcclxuICAgIGNvbnN0IHsgY3ViZTogbmFtZSwgYXhlczogbmFtZXMgfSA9IF9yZWYub3B0aW9ucztcclxuICAgIGNvbnN0IGN1YmUgPSBuYW1lID8gc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IG5hbWUpIDogc2Vzc2lvbi5wcm9maWxlLmN1YmVzWzBdO1xyXG4gICAgdGhpcy5DVVJSRU5DWV9DT0RFID0gY3ViZS5jdXJyZW5jeUNvZGU7XHJcbiAgICB0aGlzLmF4ZXMgPSBjdWJlLmF4ZXMuZmlsdGVyKGEgPT4gbmFtZXMgPyBuYW1lcy5pbmRleE9mKGEubmFtZSkgPiAtMSA6IGEuc2VsZWN0aW9uTW9kZSAhPT0gJ05vbmUnKTtcclxuICAgIHRoaXMubmFtZXMgPSBjdWJlLmF4ZXMubWFwKGEgPT4gYS5uYW1lKTtcclxuICAgIHRoaXMuYXhlcy5mb3JFYWNoKChhLCBpKSA9PiB7XHJcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5zcGxpY2UoaSwgMCwgYS5uYW1lKTtcclxuICAgICAgY29uc3QgY3RybCA9IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgICAgdGhpcy5mb3JtLmFkZENvbnRyb2woYS5uYW1lLCBjdHJsKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgcmV0dXJuO1xyXG4gICAgICBjb25zdCBheGVzID0gW107XHJcbiAgICAgIHRoaXMuYXhlcy5mb3JFYWNoKGEgPT4gYXhlc1t0aGlzLm5hbWVzLmluZGV4T2YoYS5uYW1lKV0gPSB0aGlzLmZvcm0udmFsdWVbYS5uYW1lXSB8fCBudWxsKTtcclxuICAgICAgaWYgKHRoaXMuX3Jvdykge1xyXG4gICAgICAgIGlmIChheGVzLmpvaW4oKSA9PT0gdGhpcy5fcm93LmF4ZXMuam9pbigpKVxyXG4gICAgICAgICAgdGhpcy5fcm93LnZhbHVlID0gdi52YWx1ZTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHJvdyA9IHRoaXMuX2ZpbmQoYXhlcyk7XHJcbiAgICAgICAgICBpZiAocm93KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JvdyA9IHJvdztcclxuICAgICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzLnZhbHVlLnNldFZhbHVlKHRoaXMuX3Jvdy52YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLl9yb3cuYXhlcyA9IGF4ZXM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHYudmFsdWUpIHtcclxuICAgICAgICB0aGlzLl9yb3cgPSB7IHZhbHVlOiB2LnZhbHVlLCBheGVzIH07XHJcbiAgICAgICAgdGhpcy5fZGF0YS5wdXNoKHRoaXMuX3Jvdyk7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9ICcnO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBvUmVmID0gdGhpcy5fb1JlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpLmNlbnRlclZlcnRpY2FsbHkoKSxcclxuICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcclxuICAgICAgZGlyZWN0aW9uOiB0aGlzLl9kaXIudmFsdWUsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxyXG4gICAgICBwYW5lbENsYXNzOiAnaG9tZS1wYW5lbCdcclxuICAgIH0pO1xyXG4gICAgbWVyZ2Uob1JlZi5iYWNrZHJvcENsaWNrKCksIG9SZWYua2V5ZG93bkV2ZW50cygpLnBpcGUoZmlsdGVyKGsgPT4gay5rZXkgPT09ICdFc2NhcGUnKSkpLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4gb1JlZi5kZXRhY2goKSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZpbmQoYXhlczogc3RyaW5nW10pOiBJbmRleCB7XHJcbiAgICBjb25zdCBuID0gdGhpcy5uYW1lcy5sZW5ndGg7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5maW5kKGluZGV4ID0+IHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspXHJcbiAgICAgICAgaWYgKGF4ZXNbaV0gJiYgYXhlc1tpXSAhPT0gaW5kZXguYXhlc1tpXSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBhZGQoKSB7XHJcbiAgICB0aGlzLl9yb3cgPSBudWxsO1xyXG4gICAgY29uc3QgdmFsdWVzID0geyB2YWx1ZTogMCB9O1xyXG4gICAgdGhpcy5heGVzLmZvckVhY2goYSA9PiB2YWx1ZXNbYS5uYW1lXSA9IG51bGwpO1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUodmFsdWVzLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy5lZGl0VG1wbCwgdGhpcy5fdmMpO1xyXG4gICAgdGhpcy5fb1JlZi5hdHRhY2gocG9ydGFsKTtcclxuICB9XHJcbiAgZWRpdChpdGVtOiBJbmRleCkge1xyXG4gICAgdGhpcy5fcm93ID0gaXRlbTtcclxuICAgIGNvbnN0IHZhbHVlcyA9IHsgdmFsdWU6IGl0ZW0udmFsdWUgfTtcclxuICAgIHRoaXMuYXhlcy5mb3JFYWNoKGEgPT4gdmFsdWVzW2EubmFtZV0gPSBpdGVtLmF4ZXNbdGhpcy5uYW1lcy5pbmRleE9mKGEubmFtZSldKTtcclxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHZhbHVlcywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuZWRpdFRtcGwsIHRoaXMuX3ZjKTtcclxuICAgIHRoaXMuX29SZWYuYXR0YWNoKHBvcnRhbCk7XHJcbiAgfVxyXG4gIHJlbW92ZShpbmRleDogSW5kZXgsIGV2dDogRXZlbnQpIHtcclxuICAgIHRoaXMuX2RhdGEucmVtb3ZlKGluZGV4KTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIgPSAnJztcclxuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZmlsdGVyKGF4ZXM6IHN0cmluZ1tdKSB7XHJcbiAgICBjb25zdCBuID0gYXhlcy5sZW5ndGg7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5maWx0ZXIoaW5kZXggPT4ge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG47IGkrKylcclxuICAgICAgICBpZiAodGhpcy5heGVzW2ldICYmIGF4ZXNbaV0gIT09IGluZGV4LmF4ZXNbaV0pIHJldHVybiBmYWxzZTtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSAncXVlcnknO1xyXG4gICAgdGhpcy5fcmVmLnBvcHVsYXRlKCkuc3Vic2NyaWJlKG0gPT4ge1xyXG4gICAgICB0aGlzLl9kYXRhID0gbTtcclxuICAgICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShtKTtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gbnVsbDtcclxuICAgIH0pO1xyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gJ2luZGV0ZXJtaW5hdGUnO1xyXG4gICAgdGhpcy5fcmVmLmV4ZWN1dGUodGhpcy5fZGF0YSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5fc2IudG9hc3QoJ0NoYW5nZXNTYXZlZCcpO1xyXG4gICAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IG51bGw7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIEluZGV4IHtcclxuICBpZD86IG51bWJlcjtcclxuICBheGVzOiBzdHJpbmdbXTtcclxuICB2YWx1ZTogbnVtYmVyO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgT3B0aW9ucyB7XHJcbiAgY3ViZT86IHN0cmluZztcclxuICBpbmRleD86IHN0cmluZztcclxuICBheGVzPzogc3RyaW5nW107XHJcbn1cclxuIiwiPG1hdC10b29sYmFyPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwic2F2ZSgpXCIgW2Rpc2FibGVkXT1cIiFkaXJ0eVwiPnt7J1NhdmVDaGFuZ2VzJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiYWRkKClcIj48bWF0LWljb24+YWRkPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuPC9tYXQtdG9vbGJhcj5cclxuPG1hdC1wcm9ncmVzcy1iYXIgW21vZGVdPVwibG9hZGluZ1wiIFtzdHlsZS52aXNpYmlsaXR5XT1cImxvYWRpbmcgPyAndmlzaWJsZSc6J2hpZGRlbidcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbjx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiPlxyXG4gIEBmb3IgKGEgb2YgYXhlczsgdHJhY2sgYTsgbGV0IGkgPSAkaW5kZXgpIHtcclxuICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09XCJhLm5hbWVcIj5cclxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj57e2EudGl0bGV9fTwvdGg+XHJcbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudC5heGVzW25hbWVzLmluZGV4T2YoYS5uYW1lKV18IHR5cGVWYWx1ZTogYS5kYXRhVHlwZSB8IGFzeW5jfX0gPC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIH1cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInZhbHVlXCI+XHJcbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPnt7J1ZhbHVlJ3x0cmFuc2xhdGV9fTwvdGg+XHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQudmFsdWUgfCBjdXJyZW5jeSA6IENVUlJFTkNZX0NPREUgfX0gPC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm9wdGlvbnNcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uPjxtYXQtaWNvbj5tb3JlX2hvcml6PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJlbW92ZShlbGVtZW50LCAkZXZlbnQpXCI+PG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XHJcbiAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCBlbGVtZW50OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiIChjbGljayk9XCJlZGl0KGVsZW1lbnQpXCI+PC90cj5cclxuPC90YWJsZT5cclxuPG5nLXRlbXBsYXRlICNlZGl0VG1wbD5cclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIj5cclxuICAgIEBmb3IgKGEgb2YgYXhlczsgdHJhY2sgYSkge1xyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGJpemRvYy1zZWxlY3QgW3BsYWNlaG9sZGVyXT1cImEudGl0bGVcIiBbdHlwZV09XCJhLmRhdGFUeXBlXCIgW2Zvcm1Db250cm9sTmFtZV09XCJhLm5hbWVcIiByZXF1aXJlZD48L2JpemRvYy1zZWxlY3Q+XHJcbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICB9XHJcbiAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwibnVtYmVyXCIgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIiBhdXRvY29tcGxldGU9XCJvZmZcIiByZXF1aXJlZCBbcGxhY2Vob2xkZXJdPVwiJ1ZhbHVlJ3x0cmFuc2xhdGVcIiAvPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Zvcm0+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuYWdlLWN1YmUtaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2FkbWluL2luZGljZXMvbWFuYWdlLWN1YmUtaW5kZXguY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2FkbWluL2luZGljZXMvbWFuYWdlLWN1YmUtaW5kZXguY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUE0QyxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0csT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXJELE9BQU8sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVcxQyxJQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUFzQjtJQWdCNUIsWUFBb0IsSUFBb0IsRUFDVixJQUF5RCxFQUNyRixPQUF1QixFQUFVLEdBQXFCLEVBQzlDLEdBQWtCLEVBQ2xCLFFBQWlCO1FBSlAsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFDVixTQUFJLEdBQUosSUFBSSxDQUFxRDtRQUNwRCxRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUM5QyxR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O2tHQWpCZCxzQkFBc0Isd0tDdEI5QixtK0RBdUNBOztBRGpCUSxzQkFBc0I7SUFGN0IsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLENBQUM7R0FFbEMsc0JBQXNCLENBd0g3Qjs7MkZBeEhPLHNCQUFzQjtrQkFON0IsU0FBUzs7OzBCQXVCTCxNQUFNOzJCQUFDLFVBQVU7dUpBUHFCLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBPbkRlc3Ryb3ksIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC90YWJsZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcclxuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJNb2RlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLWJhclwiO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XHJcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9iaWRpXCI7XHJcbmltcG9ydCB7IG1lcmdlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgVXRpbGl0eUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb3JlL2Jhc2VcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBVdGlsaXR5UmVmIH0gZnJvbSBcIi4uL3V0aWxpdHktcmVmXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEN1YmVBeGlzIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc3R5bGVVcmxzOiBbJy4vbWFuYWdlLWN1YmUtaW5kZXguY29tcG9uZW50LnNjc3MnXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWFuYWdlLWN1YmUtaW5kZXguY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ21hbmFnZS1jdWJlLWluZGV4JyB9KVxyXG5leHBvcnRcclxuICBjbGFzcyBNYW5hZ2VDdWJlSW5kZXhVdGlsaXR5IGltcGxlbWVudHMgVXRpbGl0eUNvbXBvbmVudDxhbnksIGFueT4sIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICByZWFkb25seSBDVVJSRU5DWV9DT0RFOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgZGlydHkgPSBmYWxzZTtcclxuICBheGVzOiBDdWJlQXhpc1tdO1xyXG4gIGRhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxJbmRleD47XHJcbiAgcmVhZG9ubHkgbmFtZXM6IHN0cmluZ1tdO1xyXG4gIHJlYWRvbmx5IGRpc3BsYXllZENvbHVtbnMgPSBbJ3ZhbHVlJywgJ29wdGlvbnMnXTtcclxuICByZWFkb25seSBmb3JtOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHtcclxuICAgIHZhbHVlOiBuZXcgRm9ybUNvbnRyb2woMCwgVmFsaWRhdG9ycy5yZXF1aXJlZClcclxuICB9KTtcclxuICBAVmlld0NoaWxkKCdlZGl0VG1wbCcsIHsgc3RhdGljOiB0cnVlIH0pIGVkaXRUbXBsOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIGxvYWRpbmc/OiBQcm9ncmVzc0Jhck1vZGU7XHJcbiAgcHJpdmF0ZSBfZGF0YTogSW5kZXhbXTtcclxuICBwcml2YXRlIF9yb3c/OiBJbmRleDtcclxuICBwcml2YXRlIF9vUmVmOiBPdmVybGF5UmVmO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXHJcbiAgICBASW5qZWN0KFV0aWxpdHlSZWYpIHByaXZhdGUgX3JlZjogVXRpbGl0eVJlZjxib29sZWFuLCBJbmRleFtdLCBJbmRleFtdLCBhbnksIE9wdGlvbnM+LFxyXG4gICAgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsIHByaXZhdGUgX3ZjOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5KSB7XHJcbiAgICBjb25zdCB7IGN1YmU6IG5hbWUsIGF4ZXM6IG5hbWVzIH0gPSBfcmVmLm9wdGlvbnM7XHJcbiAgICBjb25zdCBjdWJlID0gbmFtZSA/IHNlc3Npb24ucHJvZmlsZS5jdWJlcy5maW5kKGMgPT4gYy5uYW1lID09PSBuYW1lKSEgOiBzZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICB0aGlzLkNVUlJFTkNZX0NPREUgPSBjdWJlIS5jdXJyZW5jeUNvZGU7XHJcbiAgICB0aGlzLmF4ZXMgPSBjdWJlLmF4ZXMuZmlsdGVyKGEgPT4gbmFtZXMgPyBuYW1lcy5pbmRleE9mKGEubmFtZSkgPiAtMSA6IGEuc2VsZWN0aW9uTW9kZSAhPT0gJ05vbmUnKTtcclxuICAgIHRoaXMubmFtZXMgPSBjdWJlLmF4ZXMubWFwKGEgPT4gYS5uYW1lKTtcclxuICAgIHRoaXMuYXhlcy5mb3JFYWNoKChhLCBpKSA9PiB7XHJcbiAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5zcGxpY2UoaSwgMCwgYS5uYW1lKTtcclxuICAgICAgY29uc3QgY3RybCA9IG5ldyBGb3JtQ29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgICAgdGhpcy5mb3JtLmFkZENvbnRyb2woYS5uYW1lLCBjdHJsKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgcmV0dXJuO1xyXG4gICAgICBjb25zdCBheGVzID0gW10gYXMgc3RyaW5nW107XHJcbiAgICAgIHRoaXMuYXhlcy5mb3JFYWNoKGEgPT4gYXhlc1t0aGlzLm5hbWVzLmluZGV4T2YoYS5uYW1lKV0gPSB0aGlzLmZvcm0udmFsdWVbYS5uYW1lXSB8fCBudWxsKTtcclxuICAgICAgaWYgKHRoaXMuX3Jvdykge1xyXG4gICAgICAgIGlmIChheGVzLmpvaW4oKSA9PT0gdGhpcy5fcm93LmF4ZXMuam9pbigpKVxyXG4gICAgICAgICAgdGhpcy5fcm93LnZhbHVlID0gdi52YWx1ZTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHJvdyA9IHRoaXMuX2ZpbmQoYXhlcyk7XHJcbiAgICAgICAgICBpZiAocm93KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JvdyA9IHJvdztcclxuICAgICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzWyd2YWx1ZSddLnNldFZhbHVlKHRoaXMuX3Jvdy52YWx1ZSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLl9yb3cuYXhlcyA9IGF4ZXM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKHYudmFsdWUpIHtcclxuICAgICAgICB0aGlzLl9yb3cgPSB7IHZhbHVlOiB2LnZhbHVlLCBheGVzIH07XHJcbiAgICAgICAgdGhpcy5fZGF0YS5wdXNoKHRoaXMuX3Jvdyk7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9ICcnO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBvUmVmID0gdGhpcy5fb1JlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpLmNlbnRlclZlcnRpY2FsbHkoKSxcclxuICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJyxcclxuICAgICAgZGlyZWN0aW9uOiB0aGlzLl9kaXIudmFsdWUsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxyXG4gICAgICBwYW5lbENsYXNzOiAnaG9tZS1wYW5lbCdcclxuICAgIH0pO1xyXG4gICAgbWVyZ2Uob1JlZi5iYWNrZHJvcENsaWNrKCksIG9SZWYua2V5ZG93bkV2ZW50cygpLnBpcGUoZmlsdGVyKGsgPT4gay5rZXkgPT09ICdFc2NhcGUnKSkpLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4gb1JlZi5kZXRhY2goKSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZpbmQoYXhlczogc3RyaW5nW10pOiBJbmRleCB7XHJcbiAgICBjb25zdCBuID0gdGhpcy5uYW1lcy5sZW5ndGg7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5maW5kKGluZGV4ID0+IHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspXHJcbiAgICAgICAgaWYgKGF4ZXNbaV0gJiYgYXhlc1tpXSAhPT0gaW5kZXguYXhlc1tpXSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0pITtcclxuICB9XHJcbiAgYWRkKCkge1xyXG4gICAgdGhpcy5fcm93ID0gdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgdmFsdWVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ICA9IHsgdmFsdWU6IDAgfTtcclxuICAgIHRoaXMuYXhlcy5mb3JFYWNoKGEgPT4gdmFsdWVzW2EubmFtZV0gPSBudWxsKTtcclxuICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHZhbHVlcywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgY29uc3QgcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuZWRpdFRtcGwsIHRoaXMuX3ZjKTtcclxuICAgIHRoaXMuX29SZWYuYXR0YWNoKHBvcnRhbCk7XHJcbiAgfVxyXG4gIGVkaXQoaXRlbTogSW5kZXgpIHtcclxuICAgIHRoaXMuX3JvdyA9IGl0ZW07XHJcbiAgICBjb25zdCB2YWx1ZXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7IHZhbHVlOiBpdGVtLnZhbHVlIH07XHJcbiAgICB0aGlzLmF4ZXMuZm9yRWFjaChhID0+IHZhbHVlc1thLm5hbWVdID0gaXRlbS5heGVzW3RoaXMubmFtZXMuaW5kZXhPZihhLm5hbWUpXSk7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh2YWx1ZXMsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIGNvbnN0IHBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmVkaXRUbXBsLCB0aGlzLl92Yyk7XHJcbiAgICB0aGlzLl9vUmVmLmF0dGFjaChwb3J0YWwpO1xyXG4gIH1cclxuICByZW1vdmUoaW5kZXg6IEluZGV4LCBldnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLl9kYXRhLnJlbW92ZShpbmRleCk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gJyc7XHJcbiAgICBldnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2ZpbHRlcihheGVzOiBzdHJpbmdbXSkge1xyXG4gICAgY29uc3QgbiA9IGF4ZXMubGVuZ3RoO1xyXG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZmlsdGVyKGluZGV4ID0+IHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyBpKyspXHJcbiAgICAgICAgaWYgKHRoaXMuYXhlc1tpXSAmJiBheGVzW2ldICE9PSBpbmRleC5heGVzW2ldKSByZXR1cm4gZmFsc2U7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gJ3F1ZXJ5JztcclxuICAgIHRoaXMuX3JlZi5wb3B1bGF0ZSgpLnN1YnNjcmliZShtID0+IHtcclxuICAgICAgdGhpcy5fZGF0YSA9IG07XHJcbiAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UobSk7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHVuZGVmaW5lZDtcclxuICAgIH0pO1xyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gJ2luZGV0ZXJtaW5hdGUnO1xyXG4gICAgdGhpcy5fcmVmLmV4ZWN1dGUodGhpcy5fZGF0YSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5fc2IudG9hc3QoJ0NoYW5nZXNTYXZlZCcpO1xyXG4gICAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHVuZGVmaW5lZDtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgSW5kZXgge1xyXG4gIGlkPzogbnVtYmVyO1xyXG4gIGF4ZXM6IHN0cmluZ1tdO1xyXG4gIHZhbHVlOiBudW1iZXI7XHJcbn1cclxuXHJcbmludGVyZmFjZSBPcHRpb25zIHtcclxuICBjdWJlPzogc3RyaW5nO1xyXG4gIGluZGV4Pzogc3RyaW5nO1xyXG4gIGF4ZXM/OiBzdHJpbmdbXTtcclxufVxyXG4iLCI8bWF0LXRvb2xiYXI+XHJcbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJzYXZlKClcIiBbZGlzYWJsZWRdPVwiIWRpcnR5XCI+e3snU2F2ZUNoYW5nZXMnfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhZGQoKVwiPjxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG48L21hdC10b29sYmFyPlxyXG48bWF0LXByb2dyZXNzLWJhciBbbW9kZV09XCJsb2FkaW5nXCIgW3N0eWxlLnZpc2liaWxpdHldPVwibG9hZGluZyA/ICd2aXNpYmxlJzonaGlkZGVuJ1wiPjwvbWF0LXByb2dyZXNzLWJhcj5cclxuPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCI+XHJcbiAgQGZvciAoYSBvZiBheGVzOyB0cmFjayBhOyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cImEubmFtZVwiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPnt7YS50aXRsZX19PC90aD5cclxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj4ge3tlbGVtZW50LmF4ZXNbbmFtZXMuaW5kZXhPZihhLm5hbWUpXXwgdHlwZVZhbHVlOiBhLmRhdGFUeXBlIHwgYXN5bmN9fSA8L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgfVxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidmFsdWVcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+e3snVmFsdWUnfHRyYW5zbGF0ZX19PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudC52YWx1ZSB8IGN1cnJlbmN5IDogQ1VSUkVOQ1lfQ09ERSB9fSA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwib3B0aW9uc1wiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj48L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24+PG1hdC1pY29uPm1vcmVfaG9yaXo8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicmVtb3ZlKGVsZW1lbnQsICRldmVudClcIj48bWF0LWljb24+ZGVsZXRlPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zXCI+PC90cj5cclxuICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IGVsZW1lbnQ7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCIgKGNsaWNrKT1cImVkaXQoZWxlbWVudClcIj48L3RyPlxyXG48L3RhYmxlPlxyXG48bmctdGVtcGxhdGUgI2VkaXRUbXBsPlxyXG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxyXG4gICAgQGZvciAoYSBvZiBheGVzOyB0cmFjayBhKSB7XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8Yml6ZG9jLXNlbGVjdCBbcGxhY2Vob2xkZXJdPVwiYS50aXRsZVwiIFt0eXBlXT1cImEuZGF0YVR5cGVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImEubmFtZVwiIHJlcXVpcmVkPjwvYml6ZG9jLXNlbGVjdD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIH1cclxuICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJudW1iZXJcIiBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIHJlcXVpcmVkIFtwbGFjZWhvbGRlcl09XCInVmFsdWUnfHRyYW5zbGF0ZVwiIC8+XHJcbiAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDwvZm9ybT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
@@ -152,8 +152,8 @@ let PatternsComponent = class PatternsComponent {
|
|
152
152
|
this._destroy.next();
|
153
153
|
this._destroy.complete();
|
154
154
|
}
|
155
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
156
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: PatternsComponent, selector: "ng-component", viewQueries: [{ propertyName: "properties", first: true, predicate: ["properties"], descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<mat-toolbar>\r\n <button mat-button color=\"primary\" (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"create()\" [bizdocTooltip]=\"'Add'|translate\" data-guide=\"create\"><mat-icon>add</mat-icon></button>\r\n</mat-toolbar>\r\n<table mat-table [dataSource]=\"dataSource\" matSort>\r\n <ng-container matColumnDef=\"title\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Title'|translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.title}} </td>\r\n </ng-container>\r\n @for (r of roles; track r) {\r\n <ng-container [matColumnDef]=\"r.name\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <mat-checkbox [checked]=\"element.roles && element.roles.indexOf(r.name) > -1\" (change)=\"toggle(element, r.name, $event)\"></mat-checkbox>\r\n </td>\r\n </ng-container>\r\n }\r\n <ng-container matColumnDef=\"options\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <button mat-menu-item (click)=\"edit(element)\">{{'Edit'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"delete(element)\">{{'Discard'|translate}}</button>\r\n </mat-menu>\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\"></tr>\r\n</table>\r\n@if (paging) {\r\n <mat-paginator [pageSize]=\"PAGE_SIZE\" hidePageSize showFirstLastButtons></mat-paginator>\r\n}\r\n<!-- dialog -->\r\n<ng-template #properties>\r\n <mat-dialog-content>\r\n <form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'|translate\" required />\r\n </mat-form-field>\r\n @if (cube) {\r\n <div formGroupName=\"axes\" class=\"row wrap sm-column\">\r\n @for (a of cube?.axes; track a) {\r\n @if (include.indexOf(a.name)>-1) {\r\n <mat-form-field class=\"flex\">\r\n <input matInput\r\n [matAutocomplete]=\"segment\" [pattern]=\"pattern\"\r\n [formControlName]=\"a.name\" [placeholder]=\"a.title\" />\r\n <mat-autocomplete #segment>\r\n @for (o of segments[a.name] | async; track o) {\r\n <mat-option [value]=\"o.key\">{{o.value}}</mat-option>\r\n }\r\n </mat-autocomplete>\r\n @if (axes.controls[a.name].invalid) {\r\n <mat-error>{{'SystemAxisPatternErr' |translate}}</mat-error>\r\n }\r\n </mat-form-field>\r\n }\r\n \r\n }\r\n </div>\r\n }\r\n <mat-form-field>\r\n <mat-select formControlName=\"roles\" [placeholder]=\"'Roles'|translate\" multiple required>\r\n @for (r of roles; track r) {\r\n <mat-option [value]=\"r.name\">{{r.title}}</mat-option>\r\n }\r\n </mat-select>\r\n @if (form.controls.roles.hasError('required')) {\r\n <mat-error>{{'AreRequiredErr'|translate:('Roles'|translate)}}</mat-error>\r\n }\r\n </mat-form-field>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"form.value\" [disabled]=\"!form.valid\">{{'OK'| translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel'| translate}}</button>\r\n </mat-dialog-actions>\r\n </ng-template>\r\n <style scoped>\r\n table {\r\n width: 100%\r\n }\r\n</style>\r\n", styles: ["\n table {\n width: 100%\n }\n"], dependencies: [{ kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i8.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i8.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i8.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i9.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i9.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i10.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i7.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i7.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i7.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i11.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i12.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i13.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i14.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i13.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i15.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i15.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i16.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i17.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i17.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i18.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i19.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i20.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i21.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i21.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i21.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i22.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i23.AsyncPipe, name: "async" }, { kind: "pipe", type: i24.TranslatePipe, name: "translate" }] }); }
|
155
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PatternsComponent, deps: [{ token: i1.SessionService }, { token: i2.Directionality }, { token: i3.FormBuilder }, { token: UtilityRef }, { token: i4.DatasourceService }, { token: i5.SystemService }, { token: i6.PromptService }, { token: i7.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
156
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: PatternsComponent, selector: "ng-component", viewQueries: [{ propertyName: "properties", first: true, predicate: ["properties"], descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true }, { propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true }], ngImport: i0, template: "<mat-toolbar>\r\n <button mat-button color=\"primary\" (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"create()\" [bizdocTooltip]=\"'Add'|translate\" data-guide=\"create\"><mat-icon>add</mat-icon></button>\r\n</mat-toolbar>\r\n<table mat-table [dataSource]=\"dataSource\" matSort>\r\n <ng-container matColumnDef=\"title\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Title'|translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.title}} </td>\r\n </ng-container>\r\n @for (r of roles; track r) {\r\n <ng-container [matColumnDef]=\"r.name\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <mat-checkbox [checked]=\"element.roles && element.roles.indexOf(r.name) > -1\" (change)=\"toggle(element, r.name, $event)\"></mat-checkbox>\r\n </td>\r\n </ng-container>\r\n }\r\n <ng-container matColumnDef=\"options\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <button mat-menu-item (click)=\"edit(element)\">{{'Edit'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"delete(element)\">{{'Discard'|translate}}</button>\r\n </mat-menu>\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\"></tr>\r\n</table>\r\n@if (paging) {\r\n <mat-paginator [pageSize]=\"PAGE_SIZE\" hidePageSize showFirstLastButtons></mat-paginator>\r\n}\r\n<!-- dialog -->\r\n<ng-template #properties>\r\n <mat-dialog-content>\r\n <form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'|translate\" required />\r\n </mat-form-field>\r\n @if (cube) {\r\n <div formGroupName=\"axes\" class=\"row wrap sm-column\">\r\n @for (a of cube?.axes; track a) {\r\n @if (include.indexOf(a.name)>-1) {\r\n <mat-form-field class=\"flex\">\r\n <input matInput\r\n [matAutocomplete]=\"segment\" [pattern]=\"pattern\"\r\n [formControlName]=\"a.name\" [placeholder]=\"a.title\" />\r\n <mat-autocomplete #segment>\r\n @for (o of segments[a.name] | async; track o) {\r\n <mat-option [value]=\"o.key\">{{o.value}}</mat-option>\r\n }\r\n </mat-autocomplete>\r\n @if (axes.controls[a.name].invalid) {\r\n <mat-error>{{'SystemAxisPatternErr' |translate}}</mat-error>\r\n }\r\n </mat-form-field>\r\n }\r\n \r\n }\r\n </div>\r\n }\r\n <mat-form-field>\r\n <mat-select formControlName=\"roles\" [placeholder]=\"'Roles'|translate\" multiple required>\r\n @for (r of roles; track r) {\r\n <mat-option [value]=\"r.name\">{{r.title}}</mat-option>\r\n }\r\n </mat-select>\r\n @if (form.controls.roles.hasError('required')) {\r\n <mat-error>{{'AreRequiredErr'|translate:('Roles'|translate)}}</mat-error>\r\n }\r\n </mat-form-field>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"form.value\" [disabled]=\"!form.valid\">{{'OK'| translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel'| translate}}</button>\r\n </mat-dialog-actions>\r\n </ng-template>\r\n <style scoped>\r\n table {\r\n width: 100%\r\n }\r\n</style>\r\n", styles: ["\n table {\n width: 100%\n }\n"], dependencies: [{ kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "component", type: i8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i8.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i8.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i8.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i9.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i9.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i10.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "directive", type: i7.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i7.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i7.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i11.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i12.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i13.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i14.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i13.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i15.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i15.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i16.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i17.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i17.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i18.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i19.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i20.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i21.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i21.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i21.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i22.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i23.AsyncPipe, name: "async" }, { kind: "pipe", type: i24.TranslatePipe, name: "translate" }] }); }
|
157
157
|
};
|
158
158
|
PatternsComponent = __decorate([
|
159
159
|
BizDoc({
|
@@ -161,7 +161,7 @@ PatternsComponent = __decorate([
|
|
161
161
|
})
|
162
162
|
], PatternsComponent);
|
163
163
|
export { PatternsComponent };
|
164
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
164
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PatternsComponent, decorators: [{
|
165
165
|
type: Component,
|
166
166
|
args: [{ template: "<mat-toolbar>\r\n <button mat-button color=\"primary\" (click)=\"save()\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"create()\" [bizdocTooltip]=\"'Add'|translate\" data-guide=\"create\"><mat-icon>add</mat-icon></button>\r\n</mat-toolbar>\r\n<table mat-table [dataSource]=\"dataSource\" matSort>\r\n <ng-container matColumnDef=\"title\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Title'|translate}}</th>\r\n <td mat-cell *matCellDef=\"let element\"> {{element.title}} </td>\r\n </ng-container>\r\n @for (r of roles; track r) {\r\n <ng-container [matColumnDef]=\"r.name\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <mat-checkbox [checked]=\"element.roles && element.roles.indexOf(r.name) > -1\" (change)=\"toggle(element, r.name, $event)\"></mat-checkbox>\r\n </td>\r\n </ng-container>\r\n }\r\n <ng-container matColumnDef=\"options\">\r\n <th mat-header-cell *matHeaderCellDef></th>\r\n <td mat-cell *matCellDef=\"let element\">\r\n <button mat-icon-button [matMenuTriggerFor]=\"options\"><mat-icon>more_vert</mat-icon></button>\r\n <mat-menu #options>\r\n <button mat-menu-item (click)=\"edit(element)\">{{'Edit'|translate}}</button>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"delete(element)\">{{'Discard'|translate}}</button>\r\n </mat-menu>\r\n </td>\r\n </ng-container>\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let element; columns: displayedColumns;\"></tr>\r\n</table>\r\n@if (paging) {\r\n <mat-paginator [pageSize]=\"PAGE_SIZE\" hidePageSize showFirstLastButtons></mat-paginator>\r\n}\r\n<!-- dialog -->\r\n<ng-template #properties>\r\n <mat-dialog-content>\r\n <form [formGroup]=\"form\" autocomplete=\"off\" class=\"column\">\r\n <mat-form-field>\r\n <input matInput formControlName=\"title\" [placeholder]=\"'Title'|translate\" required />\r\n </mat-form-field>\r\n @if (cube) {\r\n <div formGroupName=\"axes\" class=\"row wrap sm-column\">\r\n @for (a of cube?.axes; track a) {\r\n @if (include.indexOf(a.name)>-1) {\r\n <mat-form-field class=\"flex\">\r\n <input matInput\r\n [matAutocomplete]=\"segment\" [pattern]=\"pattern\"\r\n [formControlName]=\"a.name\" [placeholder]=\"a.title\" />\r\n <mat-autocomplete #segment>\r\n @for (o of segments[a.name] | async; track o) {\r\n <mat-option [value]=\"o.key\">{{o.value}}</mat-option>\r\n }\r\n </mat-autocomplete>\r\n @if (axes.controls[a.name].invalid) {\r\n <mat-error>{{'SystemAxisPatternErr' |translate}}</mat-error>\r\n }\r\n </mat-form-field>\r\n }\r\n \r\n }\r\n </div>\r\n }\r\n <mat-form-field>\r\n <mat-select formControlName=\"roles\" [placeholder]=\"'Roles'|translate\" multiple required>\r\n @for (r of roles; track r) {\r\n <mat-option [value]=\"r.name\">{{r.title}}</mat-option>\r\n }\r\n </mat-select>\r\n @if (form.controls.roles.hasError('required')) {\r\n <mat-error>{{'AreRequiredErr'|translate:('Roles'|translate)}}</mat-error>\r\n }\r\n </mat-form-field>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"form.value\" [disabled]=\"!form.valid\">{{'OK'| translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel'| translate}}</button>\r\n </mat-dialog-actions>\r\n </ng-template>\r\n <style scoped>\r\n table {\r\n width: 100%\r\n }\r\n</style>\r\n" }]
|
167
167
|
}], ctorParameters: () => [{ type: i1.SessionService }, { type: i2.Directionality }, { type: i3.FormBuilder }, { type: i25.UtilityRef, decorators: [{
|
@@ -177,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
177
177
|
type: ViewChild,
|
178
178
|
args: [MatPaginator]
|
179
179
|
}] } });
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9wYXR0ZXJucy9wYXR0ZXJucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3BhdHRlcm5zL3BhdHRlcm5zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBYSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDN0YsT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFJN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzNELE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztBQVFkLElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBcUI1QixZQUFvQixRQUF3QixFQUNsQyxJQUFvQixFQUNwQixHQUFnQixFQUNJLElBQTZELEVBQ2pGLEtBQXdCLEVBQ3hCLFFBQXVCLEVBQ3ZCLEdBQWtCLEVBQ2xCLE9BQWtC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Q3pCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDaEQsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztnQkFDbkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDakMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRTtTQUNqQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQTNIVSxpQkFBaUIseUdBd0JsQixVQUFVO2tHQXhCVCxpQkFBaUIsbU1BUWpCLE9BQU8sNEVBQ1AsWUFBWSxnRENyQ3pCLDQ4SEFzRkE7O0FEMURhLGlCQUFpQjtJQUg3QixNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUsaUJBQWlCO0tBQzVCLENBQUM7R0FDVyxpQkFBaUIsQ0E0SDdCOzsyRkE1SFksaUJBQWlCO2tCQU43QixTQUFTOzs7MEJBOEJMLE1BQU07MkJBQUMsVUFBVTt5SkFqQnVCLFVBQVU7c0JBQXBELFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDckIsSUFBSTtzQkFBdkIsU0FBUzt1QkFBQyxPQUFPO2dCQUNPLFNBQVM7c0JBQWpDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbmplY3QsIE9uRGVzdHJveSwgVmlld0NoaWxkLCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEN1YmUsIEF4aXNWYWx1ZSB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgVXRpbGl0eUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsaXR5UmVmIH0gZnJvbSBcIi4uL3V0aWxpdHktcmVmXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Byb21wdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0Q2hlY2tib3hDaGFuZ2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XHJcbmltcG9ydCB7IERhdGFzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9kYXRhc291cmNlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBWElTX1ZBTFVFX1BBVFRFUk4gfSBmcm9tICcuLi8uLi9jdWJlL2N1YmUuc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9yIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgU3lzdGVtU2VydmljZSB9IGZyb20gJy4uL3N5c3RlbS5zZXJ2aWNlJztcclxuXHJcbmNvbnN0IFBBR0VfU0laRSA9IDIwO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhdHRlcm5zLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1wYXR0ZXJucydcclxufSlcclxuZXhwb3J0IGNsYXNzIFBhdHRlcm5zQ29tcG9uZW50IGltcGxlbWVudHMgVXRpbGl0eUNvbXBvbmVudDxib29sZWFuLCBhbnk+LCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcmVhZG9ubHkgUEFHRV9TSVpFID0gUEFHRV9TSVpFO1xyXG4gIHJlYWRvbmx5IHBhdHRlcm4gPSBBWElTX1ZBTFVFX1BBVFRFUk47XHJcbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPFBhdHRlcm4+O1xyXG4gIGRpcnR5ID0gZmFsc2U7XHJcbiAgcmVhZG9ubHkgc2VnbWVudHM6IHsgW2tleTogc3RyaW5nXTogT2JzZXJ2YWJsZTxTb3VyY2VbXT4gfSA9IHt9O1xyXG4gIHJvbGVzOiBSb2xlW10gPSBbXTtcclxuICBAVmlld0NoaWxkKCdwcm9wZXJ0aWVzJywgeyBzdGF0aWM6IHRydWUgfSkgcHJvcGVydGllczogVGVtcGxhdGVSZWY8YW55PjtcclxuICBAVmlld0NoaWxkKE1hdFNvcnQpIHNvcnQ6IE1hdFNvcnQ7XHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpIHBhZ2luYXRvcjogTWF0UGFnaW5hdG9yO1xyXG4gIGluY2x1ZGU6IHN0cmluZ1tdO1xyXG4gIGN1YmU6IEN1YmU7XHJcbiAgcmVhZG9ubHkgZGlzcGxheWVkQ29sdW1ucyA9IFsndGl0bGUnXTtcclxuICByZWFkb25seSBheGVzID0gdGhpcy5fZmIuZ3JvdXAoe30pO1xyXG4gIHJlYWRvbmx5IGZvcm0gPSB0aGlzLl9mYi5ncm91cCh7XHJcbiAgICBheGVzOiB0aGlzLmF4ZXMsXHJcbiAgICB0aXRsZTogdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIHJvbGVzOiB0aGlzLl9mYi5jb250cm9sKFtdLCBWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gIH0pO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHBhZ2luZzogYm9vbGVhbjtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBASW5qZWN0KFV0aWxpdHlSZWYpIHByaXZhdGUgX3JlZjogVXRpbGl0eVJlZjxib29sZWFuLCBQYXR0ZXJuW10sIFBhdHRlcm5bXSwgYW55LCBPcHRpb25zPixcclxuICAgIHByaXZhdGUgX3R5cGU6IERhdGFzb3VyY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogU3lzdGVtU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NiOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2cpIHtcclxuICAgIGNvbnN0IHsgY3ViZSwgYXhlcyB9ID0gdGhpcy5fcmVmLm9wdGlvbnM7XHJcbiAgICBjb25zdCBjY3ViZSA9IGN1YmUgPyB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXMuZmluZChjID0+IGMubmFtZSA9PT0gY3ViZSkgOiB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuY3ViZXNbMF07XHJcbiAgICBpZiAoIWNjdWJlKVxyXG4gICAgICB0aHJvdyAnY3ViZSBub3QgZm91bmQuJztcclxuICAgIHRoaXMuY3ViZSA9IGNjdWJlO1xyXG4gICAgdGhpcy5pbmNsdWRlID0gYXhlcyB8fCBjY3ViZS5heGVzLmZpbHRlcihhID0+IGEuc2VsZWN0aW9uTW9kZSAhPT0gJ05vbmUnICYmIGEuY29tYmluYXRpb24pLm1hcChhID0+IGEubmFtZSk7XHJcbiAgICB0aGlzLmN1YmUuYXhlcy5mb3JFYWNoKGEgPT4ge1xyXG4gICAgICB0aGlzLmF4ZXMuYWRkQ29udHJvbChhLm5hbWUsIHRoaXMuX2ZiLmNvbnRyb2wobnVsbCkpO1xyXG4gICAgICB0aGlzLnNlZ21lbnRzW2EubmFtZV0gPSB0aGlzLl90eXBlLmFsbChhLmRhdGFUeXBlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRpcnR5ID0gdHJ1ZSk7XHJcbiAgICB0aGlzLl9zZXJ2aWNlLnJvbGVzKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICB0aGlzLl9yZWYucG9wdWxhdGUoKS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgICAgdGhpcy5fY29sdW1ucyhyKTtcclxuICAgICAgICB0aGlzLl9kYXRhc291cmNlKHApO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9kYXRhc291cmNlKGRhdGE6IFBhdHRlcm5bXSkge1xyXG4gICAgLy8gcm9sZXMgc29ydGluZ1xyXG4gICAgZGF0YS5mb3JFYWNoKHAgPT4gcC5yb2xlcyAmJiBwLnJvbGVzLmZvckVhY2gociA9PiBwW3JdID0gdHJ1ZSkpO1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShkYXRhIHx8IFtdKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gICAgdGhpcy5wYWdpbmcgPSBkYXRhLmxlbmd0aCA+IFBBR0VfU0laRTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5wYWdpbmF0b3IgPSB0aGlzLnBhZ2luYXRvcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2NvbHVtbnMocm9sZXM6IFJvbGVbXSkge1xyXG4gICAgdGhpcy5yb2xlcyA9IHJvbGVzO1xyXG4gICAgcm9sZXMuZm9yRWFjaChlID0+IHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKGUubmFtZSkpO1xyXG4gICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goJ29wdGlvbnMnKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZShwYXR0ZXJuOiBQYXR0ZXJuLCByb2xlOiBzdHJpbmcsIGV2dDogTWF0Q2hlY2tib3hDaGFuZ2UpIHtcclxuICAgIGlmICghcGF0dGVybi5yb2xlcykgcGF0dGVybi5yb2xlcyA9IFtdO1xyXG4gICAgaWYgKGV2dC5jaGVja2VkKSB7XHJcbiAgICAgIHBhdHRlcm4ucm9sZXMucHVzaChyb2xlKTtcclxuICAgICAgcGF0dGVybltyb2xlXSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcGF0dGVybi5yb2xlcy5yZW1vdmUocm9sZSk7XHJcbiAgICAgIHBhdHRlcm5bcm9sZV0gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gIH1cclxuICBjcmVhdGUoKSB7XHJcbiAgICB0aGlzLmZvcm0ucmVzZXQoeyBheGVzOiB7fSwgcm9sZXM6IFtdIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKHRoaXMucHJvcGVydGllcywge1xyXG4gICAgICBkaXJlY3Rpb246IHRoaXMuX2Rpci52YWx1ZSxcclxuICAgICAgbWluV2lkdGg6ICc2NnZ3JyxcclxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWVcclxuICAgIH0pLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChwYXR0ZXJuOiBQYXR0ZXJuKSA9PiB7XHJcbiAgICAgIGlmIChwYXR0ZXJuKSB7XHJcbiAgICAgICAgcGF0dGVybi5uYW1lID0gcGF0dGVybi50aXRsZS5ub3JtYWxpemUoKTtcclxuICAgICAgICB0aGlzLl9ub3JtYWxpemUocGF0dGVybik7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEucHVzaChwYXR0ZXJuKTtcclxuICAgICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gJyc7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9ub3JtYWxpemUocGF0dGVybjogUGF0dGVybikge1xyXG4gICAgdGhpcy5yb2xlcy5mb3JFYWNoKHIgPT4gcGF0dGVybltyLm5hbWVdID0gcGF0dGVybi5yb2xlcy5pbmRleE9mKHIubmFtZSkgPiAtMSk7XHJcbiAgICBPYmplY3Qua2V5cyhwYXR0ZXJuLmF4ZXMpLmZvckVhY2goayA9PiB7XHJcbiAgICAgIGlmIChwYXR0ZXJuLmF4ZXNba10gPT09IG51bGwpXHJcbiAgICAgICAgZGVsZXRlIHBhdHRlcm4uYXhlc1trXTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKHBhdHRlcm46IFBhdHRlcm4pIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLnJlbW92ZShwYXR0ZXJuKTtcclxuICB9XHJcbiAgZWRpdChwYXR0ZXJuOiBQYXR0ZXJuKSB7XHJcbiAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZShwYXR0ZXJuLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICB0aGlzLl9kaWFsb2cub3Blbih0aGlzLnByb3BlcnRpZXMpLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICBpZiAocikge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24ocGF0dGVybiwgcik7XHJcbiAgICAgICAgdGhpcy5fbm9ybWFsaXplKHBhdHRlcm4pO1xyXG4gICAgICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2F2ZSgpIHtcclxuICAgIHRoaXMuX3JlZi5leGVjdXRlKHRoaXMuZGF0YVNvdXJjZS5kYXRhKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5kaXJ0eSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuX3NiLnRvYXN0KCdDaGFuZ2VzU2F2ZWQnKTtcclxuICAgICAgfSwgZXJyb3I6ICgpID0+IHRoaXMuX3NiLmVycm9yKClcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgT3B0aW9ucyB7XHJcbiAgY3ViZTogc3RyaW5nO1xyXG4gIGF4ZXM6IHN0cmluZ1tdO1xyXG59XHJcbmludGVyZmFjZSBQYXR0ZXJuIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICByb2xlczogc3RyaW5nW107XHJcbiAgYXhlczoge1xyXG4gICAgW2F4aXM6IHN0cmluZ106IEF4aXNWYWx1ZTtcclxuICB9O1xyXG59XHJcbmludGVyZmFjZSBSb2xlIHtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxufVxyXG5pbnRlcmZhY2UgU291cmNlIHtcclxuICBrZXk6IGFueTtcclxuICB2YWx1ZTogYW55O1xyXG59XHJcbiIsIjxtYXQtdG9vbGJhcj5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cInNhdmUoKVwiIFtkaXNhYmxlZF09XCIhZGlydHlcIj57eydTYXZlQ2hhbmdlcyd8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImNyZWF0ZSgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0FkZCd8dHJhbnNsYXRlXCIgZGF0YS1ndWlkZT1cImNyZWF0ZVwiPjxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG48L21hdC10b29sYmFyPlxyXG48dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBtYXRTb3J0PlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidGl0bGVcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J1RpdGxlJ3x0cmFuc2xhdGV9fTwvdGg+XHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPiB7e2VsZW1lbnQudGl0bGV9fSA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIEBmb3IgKHIgb2Ygcm9sZXM7IHRyYWNrIHIpIHtcclxuICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09XCJyLm5hbWVcIj5cclxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3tyLnRpdGxlfX08L3RoPlxyXG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxyXG4gICAgICAgIDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwiZWxlbWVudC5yb2xlcyAmJiBlbGVtZW50LnJvbGVzLmluZGV4T2Yoci5uYW1lKSA+IC0xXCIgKGNoYW5nZSk9XCJ0b2dnbGUoZWxlbWVudCwgci5uYW1lLCAkZXZlbnQpXCI+PC9tYXQtY2hlY2tib3g+XHJcbiAgICAgIDwvdGQ+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICB9XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJvcHRpb25zXCI+XHJcbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPjwvdGg+XHJcbiAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwib3B0aW9uc1wiPjxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8bWF0LW1lbnUgI29wdGlvbnM+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJlZGl0KGVsZW1lbnQpXCI+e3snRWRpdCd8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImRlbGV0ZShlbGVtZW50KVwiPnt7J0Rpc2NhcmQnfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICA8L3RkPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uczsgc3RpY2t5OiB0cnVlXCI+PC90cj5cclxuICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IGVsZW1lbnQ7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cclxuPC90YWJsZT5cclxuQGlmIChwYWdpbmcpIHtcclxuICA8bWF0LXBhZ2luYXRvciBbcGFnZVNpemVdPVwiUEFHRV9TSVpFXCIgaGlkZVBhZ2VTaXplIHNob3dGaXJzdExhc3RCdXR0b25zPjwvbWF0LXBhZ2luYXRvcj5cclxufVxyXG48IS0tIGRpYWxvZyAtLT5cclxuPG5nLXRlbXBsYXRlICNwcm9wZXJ0aWVzPlxyXG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBhdXRvY29tcGxldGU9XCJvZmZcIiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cInRpdGxlXCIgW3BsYWNlaG9sZGVyXT1cIidUaXRsZSd8dHJhbnNsYXRlXCIgcmVxdWlyZWQgLz5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgQGlmIChjdWJlKSB7XHJcbiAgICAgICAgPGRpdiBmb3JtR3JvdXBOYW1lPVwiYXhlc1wiIGNsYXNzPVwicm93IHdyYXAgc20tY29sdW1uXCI+XHJcbiAgICAgICAgICBAZm9yIChhIG9mIGN1YmU/LmF4ZXM7IHRyYWNrIGEpIHtcclxuICAgICAgICAgICAgQGlmIChpbmNsdWRlLmluZGV4T2YoYS5uYW1lKT4tMSkge1xyXG4gICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cInNlZ21lbnRcIiBbcGF0dGVybl09XCJwYXR0ZXJuXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJhLm5hbWVcIiBbcGxhY2Vob2xkZXJdPVwiYS50aXRsZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgIDxtYXQtYXV0b2NvbXBsZXRlICNzZWdtZW50PlxyXG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKG8gb2Ygc2VnbWVudHNbYS5uYW1lXSB8IGFzeW5jOyB0cmFjayBvKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwiby5rZXlcIj57e28udmFsdWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuICAgICAgICAgICAgICAgICAgQGlmIChheGVzLmNvbnRyb2xzW2EubmFtZV0uaW52YWxpZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+e3snU3lzdGVtQXhpc1BhdHRlcm5FcnInIHx0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAmbmJzcDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInJvbGVzXCIgW3BsYWNlaG9sZGVyXT1cIidSb2xlcyd8dHJhbnNsYXRlXCIgbXVsdGlwbGUgcmVxdWlyZWQ+XHJcbiAgICAgICAgICAgIEBmb3IgKHIgb2Ygcm9sZXM7IHRyYWNrIHIpIHtcclxuICAgICAgICAgICAgICA8bWF0LW9wdGlvbiBbdmFsdWVdPVwici5uYW1lXCI+e3tyLnRpdGxlfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgICAgIEBpZiAoZm9ybS5jb250cm9scy5yb2xlcy5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xyXG4gICAgICAgICAgICA8bWF0LWVycm9yPnt7J0FyZVJlcXVpcmVkRXJyJ3x0cmFuc2xhdGU6KCdSb2xlcyd8dHJhbnNsYXRlKX19PC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPC9mb3JtPlxyXG4gICAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gW21hdC1kaWFsb2ctY2xvc2VdPVwiZm9ybS52YWx1ZVwiIFtkaXNhYmxlZF09XCIhZm9ybS52YWxpZFwiPnt7J09LJ3wgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2U+e3snQ2FuY2VsJ3wgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPHN0eWxlIHNjb3BlZD5cclxuICAgIHRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlXHJcbiAgfVxyXG48L3N0eWxlPlxyXG4iXX0=
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0dGVybnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2FkbWluL3BhdHRlcm5zL3BhdHRlcm5zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9hZG1pbi9wYXR0ZXJucy9wYXR0ZXJucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQWEsU0FBUyxFQUFlLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSTdELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUczRCxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFRZCxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQXFCNUIsWUFBb0IsUUFBd0IsRUFDbEMsSUFBb0IsRUFDcEIsR0FBZ0IsRUFDSSxJQUE2RCxFQUNqRixLQUF3QixFQUN4QixRQUF1QixFQUN2QixHQUFrQixFQUNsQixPQUFrQjtR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QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2hELElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2pDLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUU7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0EzSFUsaUJBQWlCLHlHQXdCbEIsVUFBVTtrR0F4QlQsaUJBQWlCLG1NQVFqQixPQUFPLDRFQUNQLFlBQVksZ0RDckN6Qiw0OEhBc0ZBOztBRDFEYSxpQkFBaUI7SUFIN0IsTUFBTSxDQUFDO1FBQ04sUUFBUSxFQUFFLGlCQUFpQjtLQUM1QixDQUFDO0dBQ1csaUJBQWlCLENBNEg3Qjs7MkZBNUhZLGlCQUFpQjtrQkFON0IsU0FBUzs7OzBCQThCTCxNQUFNOzJCQUFDLFVBQVU7eUpBakJ1QixVQUFVO3NCQUFwRCxTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ3JCLElBQUk7c0JBQXZCLFNBQVM7dUJBQUMsT0FBTztnQkFDTyxTQUFTO3NCQUFqQyxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0LCBPbkRlc3Ryb3ksIFZpZXdDaGlsZCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDdWJlLCBBeGlzVmFsdWUgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IFV0aWxpdHlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXRpbGl0eVJlZiB9IGZyb20gXCIuLi91dGlsaXR5LXJlZlwiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvZGF0YXNvdXJjZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQVhJU19WQUxVRV9QQVRURVJOIH0gZnJvbSAnLi4vLi4vY3ViZS9jdWJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRTb3J0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydCc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IFN5c3RlbVNlcnZpY2UgfSBmcm9tICcuLi9zeXN0ZW0uc2VydmljZSc7XHJcblxyXG5jb25zdCBQQUdFX1NJWkUgPSAyMDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYXR0ZXJucy5jb21wb25lbnQuaHRtbCdcclxufSlcclxuQEJpekRvYyh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtcGF0dGVybnMnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYXR0ZXJuc0NvbXBvbmVudCBpbXBsZW1lbnRzIFV0aWxpdHlDb21wb25lbnQ8Ym9vbGVhbiwgYW55PiwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHJlYWRvbmx5IFBBR0VfU0laRSA9IFBBR0VfU0laRTtcclxuICByZWFkb25seSBwYXR0ZXJuID0gQVhJU19WQUxVRV9QQVRURVJOO1xyXG4gIGRhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxQYXR0ZXJuPjtcclxuICBkaXJ0eSA9IGZhbHNlO1xyXG4gIHJlYWRvbmx5IHNlZ21lbnRzOiB7IFtrZXk6IHN0cmluZ106IE9ic2VydmFibGU8U291cmNlW10+IH0gPSB7fTtcclxuICByb2xlczogUm9sZVtdID0gW107XHJcbiAgQFZpZXdDaGlsZCgncHJvcGVydGllcycsIHsgc3RhdGljOiB0cnVlIH0pIHByb3BlcnRpZXM6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0KSBzb3J0OiBNYXRTb3J0O1xyXG4gIEBWaWV3Q2hpbGQoTWF0UGFnaW5hdG9yKSBwYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuICBpbmNsdWRlOiBzdHJpbmdbXTtcclxuICBjdWJlOiBDdWJlO1xyXG4gIHJlYWRvbmx5IGRpc3BsYXllZENvbHVtbnMgPSBbJ3RpdGxlJ107XHJcbiAgcmVhZG9ubHkgYXhlcyA9IHRoaXMuX2ZiLmdyb3VwKHt9KTtcclxuICByZWFkb25seSBmb3JtID0gdGhpcy5fZmIuZ3JvdXAoe1xyXG4gICAgYXhlczogdGhpcy5heGVzLFxyXG4gICAgdGl0bGU6IHRoaXMuX2ZiLmNvbnRyb2wobnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICByb2xlczogdGhpcy5fZmIuY29udHJvbChbXSwgVmFsaWRhdG9ycy5yZXF1aXJlZClcclxuICB9KTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwYWdpbmc6IGJvb2xlYW47XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaXI6IERpcmVjdGlvbmFsaXR5LFxyXG4gICAgcHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyLFxyXG4gICAgQEluamVjdChVdGlsaXR5UmVmKSBwcml2YXRlIF9yZWY6IFV0aWxpdHlSZWY8Ym9vbGVhbiwgUGF0dGVybltdLCBQYXR0ZXJuW10sIGFueSwgT3B0aW9ucz4sXHJcbiAgICBwcml2YXRlIF90eXBlOiBEYXRhc291cmNlU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NlcnZpY2U6IFN5c3RlbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX2RpYWxvZzogTWF0RGlhbG9nKSB7XHJcbiAgICBjb25zdCB7IGN1YmUsIGF4ZXMgfSA9IHRoaXMuX3JlZi5vcHRpb25zO1xyXG4gICAgY29uc3QgY2N1YmUgPSBjdWJlID8gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzLmZpbmQoYyA9PiBjLm5hbWUgPT09IGN1YmUpIDogdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmN1YmVzWzBdO1xyXG4gICAgaWYgKCFjY3ViZSlcclxuICAgICAgdGhyb3cgJ2N1YmUgbm90IGZvdW5kLic7XHJcbiAgICB0aGlzLmN1YmUgPSBjY3ViZTtcclxuICAgIHRoaXMuaW5jbHVkZSA9IGF4ZXMgfHwgY2N1YmUuYXhlcy5maWx0ZXIoYSA9PiBhLnNlbGVjdGlvbk1vZGUgIT09ICdOb25lJyAmJiBhLmNvbWJpbmF0aW9uKS5tYXAoYSA9PiBhLm5hbWUpO1xyXG4gICAgdGhpcy5jdWJlLmF4ZXMuZm9yRWFjaChhID0+IHtcclxuICAgICAgdGhpcy5heGVzLmFkZENvbnRyb2woYS5uYW1lLCB0aGlzLl9mYi5jb250cm9sKG51bGwpKTtcclxuICAgICAgdGhpcy5zZWdtZW50c1thLm5hbWVdID0gdGhpcy5fdHlwZS5hbGwoYS5kYXRhVHlwZSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5kaXJ0eSA9IHRydWUpO1xyXG4gICAgdGhpcy5fc2VydmljZS5yb2xlcygpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgdGhpcy5fcmVmLnBvcHVsYXRlKCkuc3Vic2NyaWJlKHAgPT4ge1xyXG4gICAgICAgIHRoaXMuX2NvbHVtbnMocik7XHJcbiAgICAgICAgdGhpcy5fZGF0YXNvdXJjZShwKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZGF0YXNvdXJjZShkYXRhOiBQYXR0ZXJuW10pIHtcclxuICAgIC8vIHJvbGVzIHNvcnRpbmdcclxuICAgIGRhdGEuZm9yRWFjaChwID0+IHAucm9sZXMgJiYgcC5yb2xlcy5mb3JFYWNoKHIgPT4gKHAgYXMgYW55KVtyXSA9IHRydWUpKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoZGF0YSB8fCBbXSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuICAgIHRoaXMucGFnaW5nID0gZGF0YS5sZW5ndGggPiBQQUdFX1NJWkU7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jb2x1bW5zKHJvbGVzOiBSb2xlW10pIHtcclxuICAgIHRoaXMucm9sZXMgPSByb2xlcztcclxuICAgIHJvbGVzLmZvckVhY2goZSA9PiB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaChlLm5hbWUpKTtcclxuICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wdXNoKCdvcHRpb25zJyk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGUocGF0dGVybjogUGF0dGVybiwgcm9sZTogc3RyaW5nLCBldnQ6IE1hdENoZWNrYm94Q2hhbmdlKSB7XHJcbiAgICBpZiAoIXBhdHRlcm4ucm9sZXMpIHBhdHRlcm4ucm9sZXMgPSBbXTtcclxuICAgIGlmIChldnQuY2hlY2tlZCkge1xyXG4gICAgICBwYXR0ZXJuLnJvbGVzLnB1c2gocm9sZSk7XHJcbiAgICAgIChwYXR0ZXJuIGFzIGFueSlbcm9sZV0gPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHBhdHRlcm4ucm9sZXMucmVtb3ZlKHJvbGUpO1xyXG4gICAgICAocGF0dGVybiBhcyBhbnkpW3JvbGVdID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcclxuICB9XHJcbiAgY3JlYXRlKCkge1xyXG4gICAgdGhpcy5mb3JtLnJlc2V0KHsgYXhlczoge30sIHJvbGVzOiBbXSB9LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICB0aGlzLl9kaWFsb2cub3Blbih0aGlzLnByb3BlcnRpZXMsIHtcclxuICAgICAgZGlyZWN0aW9uOiB0aGlzLl9kaXIudmFsdWUsXHJcbiAgICAgIG1pbldpZHRoOiAnNjZ2dycsXHJcbiAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiB0cnVlXHJcbiAgICB9KS5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgocGF0dGVybjogUGF0dGVybikgPT4ge1xyXG4gICAgICBpZiAocGF0dGVybikge1xyXG4gICAgICAgIHBhdHRlcm4ubmFtZSA9IHBhdHRlcm4udGl0bGUubm9ybWFsaXplKCk7XHJcbiAgICAgICAgdGhpcy5fbm9ybWFsaXplKHBhdHRlcm4pO1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5kYXRhLnB1c2gocGF0dGVybik7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmZpbHRlciA9ICcnO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbm9ybWFsaXplKHBhdHRlcm46IFBhdHRlcm4pIHtcclxuICAgIHRoaXMucm9sZXMuZm9yRWFjaChyID0+IChwYXR0ZXJuIGFzIGFueSlbci5uYW1lXSA9IHBhdHRlcm4ucm9sZXMuaW5kZXhPZihyLm5hbWUpID4gLTEpO1xyXG4gICAgT2JqZWN0LmtleXMocGF0dGVybi5heGVzKS5mb3JFYWNoKGsgPT4ge1xyXG4gICAgICBpZiAocGF0dGVybi5heGVzW2tdID09PSBudWxsKVxyXG4gICAgICAgIGRlbGV0ZSBwYXR0ZXJuLmF4ZXNba107XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZShwYXR0ZXJuOiBQYXR0ZXJuKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZGF0YS5yZW1vdmUocGF0dGVybik7XHJcbiAgfVxyXG4gIGVkaXQocGF0dGVybjogUGF0dGVybikge1xyXG4gICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUocGF0dGVybiBhcyBhbnksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKHRoaXMucHJvcGVydGllcykuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgIGlmIChyKSB7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihwYXR0ZXJuLCByKTtcclxuICAgICAgICB0aGlzLl9ub3JtYWxpemUocGF0dGVybik7XHJcbiAgICAgICAgdGhpcy5kaXJ0eSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5fcmVmLmV4ZWN1dGUodGhpcy5kYXRhU291cmNlLmRhdGEpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fc2IudG9hc3QoJ0NoYW5nZXNTYXZlZCcpO1xyXG4gICAgICB9LCBlcnJvcjogKCkgPT4gdGhpcy5fc2IuZXJyb3IoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBPcHRpb25zIHtcclxuICBjdWJlOiBzdHJpbmc7XHJcbiAgYXhlczogc3RyaW5nW107XHJcbn1cclxuaW50ZXJmYWNlIFBhdHRlcm4ge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIHJvbGVzOiBzdHJpbmdbXTtcclxuICBheGVzOiB7XHJcbiAgICBbYXhpczogc3RyaW5nXTogQXhpc1ZhbHVlO1xyXG4gIH07XHJcbn1cclxuaW50ZXJmYWNlIFJvbGUge1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG59XHJcbmludGVyZmFjZSBTb3VyY2Uge1xyXG4gIGtleTogYW55O1xyXG4gIHZhbHVlOiBhbnk7XHJcbn1cclxuIiwiPG1hdC10b29sYmFyPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2F2ZSgpXCIgW2Rpc2FibGVkXT1cIiFkaXJ0eVwiPnt7J1NhdmVDaGFuZ2VzJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY3JlYXRlKClcIiBbYml6ZG9jVG9vbHRpcF09XCInQWRkJ3x0cmFuc2xhdGVcIiBkYXRhLWd1aWRlPVwiY3JlYXRlXCI+PG1hdC1pY29uPmFkZDwvbWF0LWljb24+PC9idXR0b24+XHJcbjwvbWF0LXRvb2xiYXI+XHJcbjx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIG1hdFNvcnQ+XHJcbiAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0aXRsZVwiPlxyXG4gICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXQtc29ydC1oZWFkZXI+e3snVGl0bGUnfHRyYW5zbGF0ZX19PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudC50aXRsZX19IDwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgQGZvciAociBvZiByb2xlczsgdHJhY2sgcikge1xyXG4gICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cInIubmFtZVwiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57e3IudGl0bGV9fTwvdGg+XHJcbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgICAgPG1hdC1jaGVja2JveCBbY2hlY2tlZF09XCJlbGVtZW50LnJvbGVzICYmIGVsZW1lbnQucm9sZXMuaW5kZXhPZihyLm5hbWUpID4gLTFcIiAoY2hhbmdlKT1cInRvZ2dsZShlbGVtZW50LCByLm5hbWUsICRldmVudClcIj48L21hdC1jaGVja2JveD5cclxuICAgICAgPC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIH1cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm9wdGlvbnNcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJvcHRpb25zXCI+PG1hdC1pY29uPm1vcmVfdmVydDwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgIDxtYXQtbWVudSAjb3B0aW9ucz5cclxuICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImVkaXQoZWxlbWVudClcIj57eydFZGl0J3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZGVsZXRlKGVsZW1lbnQpXCI+e3snRGlzY2FyZCd8dHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgPC9tYXQtbWVudT5cclxuICAgIDwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJkaXNwbGF5ZWRDb2x1bW5zOyBzdGlja3k6IHRydWVcIj48L3RyPlxyXG4gIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgZWxlbWVudDsgY29sdW1uczogZGlzcGxheWVkQ29sdW1ucztcIj48L3RyPlxyXG48L3RhYmxlPlxyXG5AaWYgKHBhZ2luZykge1xyXG4gIDxtYXQtcGFnaW5hdG9yIFtwYWdlU2l6ZV09XCJQQUdFX1NJWkVcIiBoaWRlUGFnZVNpemUgc2hvd0ZpcnN0TGFzdEJ1dHRvbnM+PC9tYXQtcGFnaW5hdG9yPlxyXG59XHJcbjwhLS0gZGlhbG9nIC0tPlxyXG48bmctdGVtcGxhdGUgI3Byb3BlcnRpZXM+XHJcbiAgPG1hdC1kaWFsb2ctY29udGVudD5cclxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiBbcGxhY2Vob2xkZXJdPVwiJ1RpdGxlJ3x0cmFuc2xhdGVcIiByZXF1aXJlZCAvPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICBAaWYgKGN1YmUpIHtcclxuICAgICAgICA8ZGl2IGZvcm1Hcm91cE5hbWU9XCJheGVzXCIgY2xhc3M9XCJyb3cgd3JhcCBzbS1jb2x1bW5cIj5cclxuICAgICAgICAgIEBmb3IgKGEgb2YgY3ViZT8uYXhlczsgdHJhY2sgYSkge1xyXG4gICAgICAgICAgICBAaWYgKGluY2x1ZGUuaW5kZXhPZihhLm5hbWUpPi0xKSB7XHJcbiAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0XHJcbiAgICAgICAgICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwic2VnbWVudFwiIFtwYXR0ZXJuXT1cInBhdHRlcm5cIlxyXG4gICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImEubmFtZVwiIFtwbGFjZWhvbGRlcl09XCJhLnRpdGxlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgPG1hdC1hdXRvY29tcGxldGUgI3NlZ21lbnQ+XHJcbiAgICAgICAgICAgICAgICAgICAgQGZvciAobyBvZiBzZWdtZW50c1thLm5hbWVdIHwgYXN5bmM7IHRyYWNrIG8pIHtcclxuICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvLmtleVwiPnt7by52YWx1ZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gICAgICAgICAgICAgICAgICBAaWYgKGF4ZXMuY29udHJvbHNbYS5uYW1lXS5pbnZhbGlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvcj57eydTeXN0ZW1BeGlzUGF0dGVybkVycicgfHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICZuYnNwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgPG1hdC1zZWxlY3QgZm9ybUNvbnRyb2xOYW1lPVwicm9sZXNcIiBbcGxhY2Vob2xkZXJdPVwiJ1JvbGVzJ3x0cmFuc2xhdGVcIiBtdWx0aXBsZSByZXF1aXJlZD5cclxuICAgICAgICAgICAgQGZvciAociBvZiByb2xlczsgdHJhY2sgcikge1xyXG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJyLm5hbWVcIj57e3IudGl0bGV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9tYXQtc2VsZWN0PlxyXG4gICAgICAgICAgQGlmIChmb3JtLmNvbnRyb2xzLnJvbGVzLmhhc0Vycm9yKCdyZXF1aXJlZCcpKSB7XHJcbiAgICAgICAgICAgIDxtYXQtZXJyb3I+e3snQXJlUmVxdWlyZWRFcnInfHRyYW5zbGF0ZTooJ1JvbGVzJ3x0cmFuc2xhdGUpfX08L21hdC1lcnJvcj5cclxuICAgICAgICAgIH1cclxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICA8L2Zvcm0+XHJcbiAgICA8L21hdC1kaWFsb2ctY29udGVudD5cclxuICAgIDxtYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJmb3JtLnZhbHVlXCIgW2Rpc2FibGVkXT1cIiFmb3JtLnZhbGlkXCI+e3snT0snfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIG1hdC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZT57eydDYW5jZWwnfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuICA8c3R5bGUgc2NvcGVkPlxyXG4gICAgdGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCVcclxuICB9XHJcbjwvc3R5bGU+XHJcbiJdfQ==
|
@@ -76,8 +76,8 @@ let PermissionsUtility = class PermissionsUtility {
|
|
76
76
|
}, error: () => this._sb.error()
|
77
77
|
});
|
78
78
|
}
|
79
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
80
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
79
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PermissionsUtility, deps: [{ token: UtilityRef }, { token: i1.SessionService }, { token: i2.PromptService }, { token: i3.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
80
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: PermissionsUtility, selector: "ng-component", viewQueries: [{ propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }], ngImport: i0, template: "<mat-toolbar>\r\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\r\n <span class=\"divider\"></span>\r\n <bizdoc-search-input (valueChange)=\"search($event)\"></bizdoc-search-input>\r\n <button mat-button [matMenuTriggerFor]=\"formMenu\">{{form?.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #formMenu>\r\n @for (f of forms; track f) {\r\n <button mat-menu-item (click)=\"formChange(f.name)\">{{f.title}}</button>\r\n }\r\n </mat-menu>\r\n</mat-toolbar>\r\n<table mat-table matSort [dataSource]=\"dataSource\">\r\n <ng-container matColumnDef=\"title\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Permission' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let item\"> {{item.title || item.name}}</td>\r\n </ng-container>\r\n @for (r of roles; track r) {\r\n <ng-container [matColumnDef]=\"r.name\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\r\n <td mat-cell *matCellDef=\"let item\"> <mat-checkbox [checked]=\"item[r.name]\" [value]=\"r.name\" (change)=\"change(item, $event)\"></mat-checkbox> </td>\r\n </ng-container>\r\n }\r\n <tr mat-header-row *matHeaderRowDef=\"displayColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let item; columns: displayColumns;\"></tr>\r\n</table>\r\n", styles: ["table{width:100%}::ng-deep .mat-mdc-row{cursor:pointer}\n"], dependencies: [{ kind: "component", type: i4.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i4.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i4.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i4.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i4.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i4.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i4.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i4.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i4.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i4.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i5.MatSort, selector: "[matSort]", inputs: ["matSortActive", "matSortStart", "matSortDirection", "matSortDisableClear", "matSortDisabled"], outputs: ["matSortChange"], exportAs: ["matSort"] }, { kind: "component", type: i5.MatSortHeader, selector: "[mat-sort-header]", inputs: ["mat-sort-header", "arrowPosition", "start", "disabled", "sortActionDescription", "disableClear"], exportAs: ["matSortHeader"] }, { kind: "component", type: i6.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i9.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i10.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i10.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i11.SearchInput, selector: "bizdoc-search-input", outputs: ["valueChange"] }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }] }); }
|
81
81
|
};
|
82
82
|
PermissionsUtility = __decorate([
|
83
83
|
BizDoc({
|
@@ -85,7 +85,7 @@ PermissionsUtility = __decorate([
|
|
85
85
|
})
|
86
86
|
], PermissionsUtility);
|
87
87
|
export { PermissionsUtility };
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PermissionsUtility, decorators: [{
|
89
89
|
type: Component,
|
90
90
|
args: [{ template: "<mat-toolbar>\r\n <button mat-button (click)=\"save()\" color=\"primary\" [disabled]=\"!dirty\">{{'SaveChanges'|translate}}</button>\r\n <span class=\"divider\"></span>\r\n <bizdoc-search-input (valueChange)=\"search($event)\"></bizdoc-search-input>\r\n <button mat-button [matMenuTriggerFor]=\"formMenu\">{{form?.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #formMenu>\r\n @for (f of forms; track f) {\r\n <button mat-menu-item (click)=\"formChange(f.name)\">{{f.title}}</button>\r\n }\r\n </mat-menu>\r\n</mat-toolbar>\r\n<table mat-table matSort [dataSource]=\"dataSource\">\r\n <ng-container matColumnDef=\"title\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{'Permission' | translate}}</th>\r\n <td mat-cell *matCellDef=\"let item\"> {{item.title || item.name}}</td>\r\n </ng-container>\r\n @for (r of roles; track r) {\r\n <ng-container [matColumnDef]=\"r.name\">\r\n <th mat-header-cell *matHeaderCellDef mat-sort-header>{{r.title}}</th>\r\n <td mat-cell *matCellDef=\"let item\"> <mat-checkbox [checked]=\"item[r.name]\" [value]=\"r.name\" (change)=\"change(item, $event)\"></mat-checkbox> </td>\r\n </ng-container>\r\n }\r\n <tr mat-header-row *matHeaderRowDef=\"displayColumns; sticky: true\"></tr>\r\n <tr mat-row *matRowDef=\"let item; columns: displayColumns;\"></tr>\r\n</table>\r\n", styles: ["table{width:100%}::ng-deep .mat-mdc-row{cursor:pointer}\n"] }]
|
91
91
|
}], ctorParameters: () => [{ type: i13.UtilityRef, decorators: [{
|
@@ -95,4 +95,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
|
|
95
95
|
type: ViewChild,
|
96
96
|
args: [MatSort, { static: true }]
|
97
97
|
}] } });
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVUxQyxJQUFNLGtCQUFrQixHQUF4QixNQUFNLGtCQUFrQjtJQVM3QixZQUF3QyxXQUF3RCxFQUFVLFFBQXdCLEVBQ3hILEdBQWtCLEVBQVUsR0FBZ0I7UUFEZCxnQkFBVyxHQUFYLFdBQVcsQ0FBNkM7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4SCxRQUFHLEdBQUgsR0FBRyxDQUFlO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBYTtRQU50RCxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBT1osSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFN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Q0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzdDLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ2pDLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUU7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0EzRFUsa0JBQWtCLGtCQVNULFVBQVU7a0dBVG5CLGtCQUFrQiwwRkFPbEIsT0FBTyw4REMxQnBCLHMyQ0F5QkE7O0FETmEsa0JBQWtCO0lBSDlCLE1BQU0sQ0FBQztRQUNOLFFBQVEsRUFBRSxvQkFBb0I7S0FDL0IsQ0FBQztHQUNXLGtCQUFrQixDQTREOUI7OzJGQTVEWSxrQkFBa0I7a0JBUDlCLFNBQVM7OzswQkFnQkssTUFBTTsyQkFBQyxVQUFVOzRIQUZRLElBQUk7c0JBQXpDLFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0NoaWxkLCBPbkluaXQsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFJvbGUsIEZvcm0gfSBmcm9tIFwiLi4vLi4vY29yZS9tb2RlbHNcIjtcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSBcIi4uLy4uL2NvcmUvZGVjb3JhdG9yc1wiO1xyXG5pbXBvcnQgeyBVdGlsaXR5Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvcmUvYmFzZVwiO1xyXG5pbXBvcnQgeyBVdGlsaXR5UmVmIH0gZnJvbSBcIi4uL3V0aWxpdHktcmVmXCI7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vY29yZS9wcm9tcHQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGVcIjtcclxuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zb3J0XCI7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94Q2hhbmdlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vcGVybWlzc2lvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Blcm1pc3Npb25zLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuQEJpekRvYyh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2MtcGVybWlzc2lvbnMnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uc1V0aWxpdHkgaW1wbGVtZW50cyBPbkluaXQsIFV0aWxpdHlDb21wb25lbnQ8Ym9vbGVhbiwgUGVybWlzaW9uTWFwPiB7XHJcbiAgcmVhZG9ubHkgcm9sZXM6IFJvbGVbXTtcclxuICByZWFkb25seSBmb3JtczogRm9ybVtdO1xyXG4gIHJlYWRvbmx5IGRpc3BsYXlDb2x1bW5zOiBzdHJpbmdbXTtcclxuICBkaXJ0eSA9IGZhbHNlO1xyXG4gIGZvcm06IEZvcm07XHJcbiAgZGF0YVNvdXJjZTogTWF0VGFibGVEYXRhU291cmNlPE1vZGVsPjtcclxuICBAVmlld0NoaWxkKE1hdFNvcnQsIHsgc3RhdGljOiB0cnVlIH0pIHNvcnQ6IE1hdFNvcnQ7XHJcbiAgcHJpdmF0ZSBfZGF0YTogUGVybWlzaW9uTWFwO1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoVXRpbGl0eVJlZikgcHJpdmF0ZSBfdXRpbGl0eVJlZjogVXRpbGl0eVJlZjxib29sZWFuLCBhbnksIFBlcm1pc2lvbk1hcCwgYW55PiwgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSwgcHJpdmF0ZSBfZmI6IEZvcm1CdWlsZGVyKSB7XHJcbiAgICB0aGlzLnJvbGVzID0gX3Nlc3Npb24ucHJvZmlsZS5yb2xlcztcclxuICAgIHRoaXMuZm9ybXMgPSBfc2Vzc2lvbi5wcm9maWxlLmZvcm1zO1xyXG4gICAgdGhpcy5kaXNwbGF5Q29sdW1ucyA9IFsndGl0bGUnXS5jb25jYXQodGhpcy5yb2xlcy5tYXAociA9PiByLm5hbWUpKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl91dGlsaXR5UmVmLnBvcHVsYXRlKCkuc3Vic2NyaWJlKHIgPT4ge1xyXG4gICAgICB0aGlzLl9kYXRhID0gcjtcclxuICAgICAgdGhpcy5fcG9wdWxhdGUoKHRoaXMuZm9ybXMuZmluZChmID0+IHJbZi5uYW1lXSkgfHwgdGhpcy5mb3Jtc1swXSkubmFtZSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgc2VhcmNoKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIgPSB2YWx1ZTtcclxuICB9XHJcbiAgZm9ybUNoYW5nZShmb3JtOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3BvcHVsYXRlKGZvcm0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9wb3B1bGF0ZShmb3JtOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZm9ybSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5mb3Jtcy5maW5kKGYgPT4gZi5uYW1lID09PSBmb3JtKTtcclxuICAgIGlmICghdGhpcy5fZGF0YVtmb3JtXSkgdGhpcy5fZGF0YVtmb3JtXSA9IHt9O1xyXG4gICAgY29uc3QgZGF0YSA9IE9iamVjdC5rZXlzKHRoaXMuX2RhdGFbZm9ybV0pLm1hcChrID0+IHtcclxuICAgICAgY29uc3Qgb2JqID0gdGhpcy5fZGF0YVtmb3JtXVtrXTtcclxuICAgICAgaWYgKCFvYmoucm9sZXMpXHJcbiAgICAgICAgb2JqLnJvbGVzID0gW107XHJcbiAgICAgIGVsc2Ugb2JqLnJvbGVzLmZvckVhY2gociA9PiBvYmpbcl0gPSB0cnVlKTtcclxuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oeyBuYW1lOiBrIH0sIG9iaik7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoZGF0YSk7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCA9IHRoaXMuc29ydDtcclxuICB9XHJcbiAgY2hhbmdlKGl0ZW06IE1vZGVsLCBlOiBNYXRDaGVja2JveENoYW5nZSkge1xyXG4gICAgY29uc3QgeyB2YWx1ZTogcm9sZSB9ID0gZS5zb3VyY2U7XHJcbiAgICBpZiAoZS5jaGVja2VkKSB7XHJcbiAgICAgIGl0ZW0ucm9sZXMucHVzaChyb2xlKTtcclxuICAgICAgaXRlbVtyb2xlXSA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgaXRlbS5yb2xlcy5yZW1vdmUocm9sZSk7XHJcbiAgICAgIGl0ZW1bcm9sZV0gPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuZGlydHkgPSB0cnVlO1xyXG4gIH1cclxuICBzYXZlKCkge1xyXG4gICAgdGhpcy5fdXRpbGl0eVJlZi5leGVjdXRlKHRoaXMuX2RhdGEpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fc2IudG9hc3QoJ0NoYW5nZXNTYXZlZCcpO1xyXG4gICAgICB9LCBlcnJvcjogKCkgPT4gdGhpcy5fc2IuZXJyb3IoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBNb2RlbCB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgcm9sZXM6IHN0cmluZ1tdO1xyXG59XHJcblxyXG5pbnRlcmZhY2UgUGVybWlzaW9uTWFwIHtcclxuICBbZm9ybTogc3RyaW5nXToge1xyXG4gICAgW25hbWU6IHN0cmluZ106IE1vZGVsO1xyXG4gIH07XHJcbn1cclxuIiwiPG1hdC10b29sYmFyPlxyXG4gIDxidXR0b24gbWF0LWJ1dHRvbiAoY2xpY2spPVwic2F2ZSgpXCIgY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cIiFkaXJ0eVwiPnt7J1NhdmVDaGFuZ2VzJ3x0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICA8Yml6ZG9jLXNlYXJjaC1pbnB1dCAodmFsdWVDaGFuZ2UpPVwic2VhcmNoKCRldmVudClcIj48L2JpemRvYy1zZWFyY2gtaW5wdXQ+XHJcbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJmb3JtTWVudVwiPnt7Zm9ybT8udGl0bGV9fSA8bWF0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICA8bWF0LW1lbnUgI2Zvcm1NZW51PlxyXG4gICAgQGZvciAoZiBvZiBmb3JtczsgdHJhY2sgZikge1xyXG4gICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImZvcm1DaGFuZ2UoZi5uYW1lKVwiPnt7Zi50aXRsZX19PC9idXR0b24+XHJcbiAgICB9XHJcbiAgPC9tYXQtbWVudT5cclxuPC9tYXQtdG9vbGJhcj5cclxuPHRhYmxlIG1hdC10YWJsZSBtYXRTb3J0IFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIj5cclxuICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInRpdGxlXCI+XHJcbiAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57eydQZXJtaXNzaW9uJyB8IHRyYW5zbGF0ZX19PC90aD5cclxuICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+IHt7aXRlbS50aXRsZSB8fCBpdGVtLm5hbWV9fTwvdGQ+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgQGZvciAociBvZiByb2xlczsgdHJhY2sgcikge1xyXG4gICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cInIubmFtZVwiPlxyXG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIG1hdC1zb3J0LWhlYWRlcj57e3IudGl0bGV9fTwvdGg+XHJcbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBpdGVtXCI+IDxtYXQtY2hlY2tib3ggW2NoZWNrZWRdPVwiaXRlbVtyLm5hbWVdXCIgW3ZhbHVlXT1cInIubmFtZVwiIChjaGFuZ2UpPVwiY2hhbmdlKGl0ZW0sICRldmVudClcIj48L21hdC1jaGVja2JveD4gPC90ZD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIH1cclxuICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXlDb2x1bW5zOyBzdGlja3k6IHRydWVcIj48L3RyPlxyXG4gIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgaXRlbTsgY29sdW1uczogZGlzcGxheUNvbHVtbnM7XCI+PC90cj5cclxuPC90YWJsZT5cclxuIl19
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2FkbWluL3Blcm1pc3Npb25zL3Blcm1pc3Npb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9hZG1pbi9wZXJtaXNzaW9ucy9wZXJtaXNzaW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSXJFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFVMUMsSUFBTSxrQkFBa0IsR0FBeEIsTUFBTSxrQkFBa0I7SUFTN0IsWUFBd0MsV0FBd0QsRUFBVSxRQUF3QixFQUN4SCxHQUFrQixFQUFVLEdBQWdCO1FBRGQsZ0JBQVcsR0FBWCxXQUFXLENBQTZDO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBZ0I7UUFDeEgsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQWE7UUFOdEQsVUFBSyxHQUFHLEtBQUssQ0FBQztRQU9aLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNwQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztZQUNmLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTSxDQUFDLEtBQWE7UUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxVQUFVLENBQUMsSUFBWTtRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFDTyxTQUFTLENBQUMsSUFBWTtRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBRSxDQUFDO1FBQ3BFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzdDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSztnQkFDWixHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQzs7Z0JBQ1osR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBRSxHQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDcEQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkMsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFXLEVBQUUsQ0FBb0I7UUFDdEMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckIsSUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztRQUM3QixDQUFDO2FBQ0ksQ0FBQztZQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZCLElBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7UUFDOUIsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUM3QyxJQUFJLEVBQUUsR0FBRyxFQUFFO2dCQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO2dCQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFO1NBQ2pDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBM0RVLGtCQUFrQixrQkFTVCxVQUFVO2tHQVRuQixrQkFBa0IsMEZBT2xCLE9BQU8sOERDMUJwQixzMkNBeUJBOztBRE5hLGtCQUFrQjtJQUg5QixNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUsb0JBQW9CO0tBQy9CLENBQUM7R0FDVyxrQkFBa0IsQ0E0RDlCOzsyRkE1RFksa0JBQWtCO2tCQVA5QixTQUFTOzs7MEJBZ0JLLE1BQU07MkJBQUMsVUFBVTs0SEFGUSxJQUFJO3NCQUF6QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCwgT25Jbml0LCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyBSb2xlLCBGb3JtIH0gZnJvbSBcIi4uLy4uL2NvcmUvbW9kZWxzXCI7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gXCIuLi8uLi9jb3JlL2RlY29yYXRvcnNcIjtcclxuaW1wb3J0IHsgVXRpbGl0eUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb3JlL2Jhc2VcIjtcclxuaW1wb3J0IHsgVXRpbGl0eVJlZiB9IGZyb20gXCIuLi91dGlsaXR5LXJlZlwiO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydFwiO1xyXG5pbXBvcnQgeyBNYXRDaGVja2JveENoYW5nZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Blcm1pc3Npb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9wZXJtaXNzaW9ucy5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbkBCaXpEb2Moe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXBlcm1pc3Npb25zJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbnNVdGlsaXR5IGltcGxlbWVudHMgT25Jbml0LCBVdGlsaXR5Q29tcG9uZW50PGJvb2xlYW4sIFBlcm1pc2lvbk1hcD4ge1xyXG4gIHJlYWRvbmx5IHJvbGVzOiBSb2xlW107XHJcbiAgcmVhZG9ubHkgZm9ybXM6IEZvcm1bXTtcclxuICByZWFkb25seSBkaXNwbGF5Q29sdW1uczogc3RyaW5nW107XHJcbiAgZGlydHkgPSBmYWxzZTtcclxuICBmb3JtOiBGb3JtO1xyXG4gIGRhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxNb2RlbD47XHJcbiAgQFZpZXdDaGlsZChNYXRTb3J0LCB7IHN0YXRpYzogdHJ1ZSB9KSBzb3J0OiBNYXRTb3J0O1xyXG4gIHByaXZhdGUgX2RhdGE6IFBlcm1pc2lvbk1hcDtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KFV0aWxpdHlSZWYpIHByaXZhdGUgX3V0aWxpdHlSZWY6IFV0aWxpdHlSZWY8Ym9vbGVhbiwgYW55LCBQZXJtaXNpb25NYXAsIGFueT4sIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsIHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcikge1xyXG4gICAgdGhpcy5yb2xlcyA9IF9zZXNzaW9uLnByb2ZpbGUucm9sZXM7XHJcbiAgICB0aGlzLmZvcm1zID0gX3Nlc3Npb24ucHJvZmlsZS5mb3JtcztcclxuICAgIHRoaXMuZGlzcGxheUNvbHVtbnMgPSBbJ3RpdGxlJ10uY29uY2F0KHRoaXMucm9sZXMubWFwKHIgPT4gci5uYW1lKSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fdXRpbGl0eVJlZi5wb3B1bGF0ZSgpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgdGhpcy5fZGF0YSA9IHI7XHJcbiAgICAgIHRoaXMuX3BvcHVsYXRlKCh0aGlzLmZvcm1zLmZpbmQoZiA9PiByW2YubmFtZV0pIHx8IHRoaXMuZm9ybXNbMF0pLm5hbWUpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNlYXJjaCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyID0gdmFsdWU7XHJcbiAgfVxyXG4gIGZvcm1DaGFuZ2UoZm9ybTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9wb3B1bGF0ZShmb3JtKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcG9wdWxhdGUoZm9ybTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmluZChmID0+IGYubmFtZSA9PT0gZm9ybSkhO1xyXG4gICAgaWYgKCF0aGlzLl9kYXRhW2Zvcm1dKSB0aGlzLl9kYXRhW2Zvcm1dID0ge307XHJcbiAgICBjb25zdCBkYXRhID0gT2JqZWN0LmtleXModGhpcy5fZGF0YVtmb3JtXSkubWFwKGsgPT4ge1xyXG4gICAgICBjb25zdCBvYmogPSB0aGlzLl9kYXRhW2Zvcm1dW2tdO1xyXG4gICAgICBpZiAoIW9iai5yb2xlcylcclxuICAgICAgICBvYmoucm9sZXMgPSBbXTtcclxuICAgICAgZWxzZSBvYmoucm9sZXMuZm9yRWFjaChyID0+IChvYmogYXMgYW55KVtyXSA9IHRydWUpO1xyXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7IG5hbWU6IGsgfSwgb2JqKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5kYXRhU291cmNlID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShkYXRhKTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5zb3J0ID0gdGhpcy5zb3J0O1xyXG4gIH1cclxuICBjaGFuZ2UoaXRlbTogTW9kZWwsIGU6IE1hdENoZWNrYm94Q2hhbmdlKSB7XHJcbiAgICBjb25zdCB7IHZhbHVlOiByb2xlIH0gPSBlLnNvdXJjZTtcclxuICAgIGlmIChlLmNoZWNrZWQpIHtcclxuICAgICAgaXRlbS5yb2xlcy5wdXNoKHJvbGUpO1xyXG4gICAgICAoaXRlbSBhcyBhbnkpW3JvbGVdID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBpdGVtLnJvbGVzLnJlbW92ZShyb2xlKTtcclxuICAgICAgKGl0ZW0gYXMgYW55KVtyb2xlXSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kaXJ0eSA9IHRydWU7XHJcbiAgfVxyXG4gIHNhdmUoKSB7XHJcbiAgICB0aGlzLl91dGlsaXR5UmVmLmV4ZWN1dGUodGhpcy5fZGF0YSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZGlydHkgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLl9zYi50b2FzdCgnQ2hhbmdlc1NhdmVkJyk7XHJcbiAgICAgIH0sIGVycm9yOiAoKSA9PiB0aGlzLl9zYi5lcnJvcigpXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuaW50ZXJmYWNlIE1vZGVsIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxuICByb2xlczogc3RyaW5nW107XHJcbn1cclxuXHJcbmludGVyZmFjZSBQZXJtaXNpb25NYXAge1xyXG4gIFtmb3JtOiBzdHJpbmddOiB7XHJcbiAgICBbbmFtZTogc3RyaW5nXTogTW9kZWw7XHJcbiAgfTtcclxufVxyXG4iLCI8bWF0LXRvb2xiYXI+XHJcbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJzYXZlKClcIiBjb2xvcj1cInByaW1hcnlcIiBbZGlzYWJsZWRdPVwiIWRpcnR5XCI+e3snU2F2ZUNoYW5nZXMnfHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gIDxiaXpkb2Mtc2VhcmNoLWlucHV0ICh2YWx1ZUNoYW5nZSk9XCJzZWFyY2goJGV2ZW50KVwiPjwvYml6ZG9jLXNlYXJjaC1pbnB1dD5cclxuICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImZvcm1NZW51XCI+e3tmb3JtPy50aXRsZX19IDxtYXQtaWNvbj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gIDxtYXQtbWVudSAjZm9ybU1lbnU+XHJcbiAgICBAZm9yIChmIG9mIGZvcm1zOyB0cmFjayBmKSB7XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZm9ybUNoYW5nZShmLm5hbWUpXCI+e3tmLnRpdGxlfX08L2J1dHRvbj5cclxuICAgIH1cclxuICA8L21hdC1tZW51PlxyXG48L21hdC10b29sYmFyPlxyXG48dGFibGUgbWF0LXRhYmxlIG1hdFNvcnQgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiPlxyXG4gIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidGl0bGVcIj5cclxuICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7J1Blcm1pc3Npb24nIHwgdHJhbnNsYXRlfX08L3RoPlxyXG4gICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj4ge3tpdGVtLnRpdGxlIHx8IGl0ZW0ubmFtZX19PC90ZD5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICBAZm9yIChyIG9mIHJvbGVzOyB0cmFjayByKSB7XHJcbiAgICA8bmctY29udGFpbmVyIFttYXRDb2x1bW5EZWZdPVwici5uYW1lXCI+XHJcbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0LXNvcnQtaGVhZGVyPnt7ci50aXRsZX19PC90aD5cclxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIj4gPG1hdC1jaGVja2JveCBbY2hlY2tlZF09XCJpdGVtW3IubmFtZV1cIiBbdmFsdWVdPVwici5uYW1lXCIgKGNoYW5nZSk9XCJjaGFuZ2UoaXRlbSwgJGV2ZW50KVwiPjwvbWF0LWNoZWNrYm94PiA8L3RkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgfVxyXG4gIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheUNvbHVtbnM7IHN0aWNreTogdHJ1ZVwiPjwvdHI+XHJcbiAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCBpdGVtOyBjb2x1bW5zOiBkaXNwbGF5Q29sdW1ucztcIj48L3RyPlxyXG48L3RhYmxlPlxyXG4iXX0=
|