@bizdoc/core 1.16.30 → 1.16.32
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 +7 -2
- 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 +1 -1
- package/assets/themes/green.min.css +1 -1
- package/assets/themes/indigo.min.css +1 -1
- package/esm2020/lib/admin/admin-dismiss.service.mjs +4 -4
- package/esm2020/lib/admin/admin-menu.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/cube-axes-filter.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/designer-element.component.mjs +13 -13
- package/esm2020/lib/admin/configuration-designer/designer-privileges.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/designer.base.mjs +10 -10
- package/esm2020/lib/admin/configuration-designer/designer.component.mjs +7 -6
- package/esm2020/lib/admin/configuration-designer/elements/action.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/analysis-view.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/analysis-widget.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/anomaly-rule.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/box-form.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/configuration-datasource.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/cube-index-utility.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/cube-view.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/cube.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/documents-report.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/documents-widget.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/explore-view.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/folder.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/form.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/guide.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/matrix-view.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/node.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/parallel-view.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/performance-widget.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/pivot-view.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/policy.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/report.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/return-to-role-action.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/role.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/rule.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/state.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/sum-view.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/tasks-report.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/type.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/usage-report.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/utility.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/view.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/elements/widget.component.mjs +4 -4
- package/esm2020/lib/admin/configuration-designer/icon-picker.component.mjs +4 -4
- package/esm2020/lib/admin/core/ace.input.mjs +4 -4
- package/esm2020/lib/admin/core/color-picker.input.mjs +4 -4
- package/esm2020/lib/admin/core/search.input.mjs +4 -4
- package/esm2020/lib/admin/diff/configuration-diff.component.mjs +4 -4
- package/esm2020/lib/admin/document-trace/document-trace.component.mjs +5 -5
- package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +4 -4
- package/esm2020/lib/admin/document-trace/trace-element.component.mjs +4 -4
- package/esm2020/lib/admin/form/designer/designer.component.mjs +4 -4
- package/esm2020/lib/admin/form/form.resolve.service.mjs +4 -4
- package/esm2020/lib/admin/form/workflow/node.component.mjs +4 -4
- package/esm2020/lib/admin/form/workflow/role-node.component.mjs +4 -4
- package/esm2020/lib/admin/form/workflow/workflow.component.mjs +4 -4
- package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +4 -4
- package/esm2020/lib/admin/localized-string.component.mjs +4 -4
- package/esm2020/lib/admin/patterns/patterns.component.mjs +4 -4
- package/esm2020/lib/admin/permissions/permissions.component.mjs +4 -4
- package/esm2020/lib/admin/positions/positions-popup.component.mjs +4 -4
- package/esm2020/lib/admin/positions/positions.component.mjs +4 -4
- package/esm2020/lib/admin/profiler/outofoffice.component.mjs +4 -4
- package/esm2020/lib/admin/profiler/profiler.component.mjs +4 -4
- package/esm2020/lib/admin/system.service.mjs +8 -5
- package/esm2020/lib/admin/utility-wrapper.component.mjs +4 -4
- package/esm2020/lib/admin/utility.pane.component.mjs +4 -4
- package/esm2020/lib/app.component.mjs +7 -7
- package/esm2020/lib/bizdoc.module.mjs +5 -5
- package/esm2020/lib/browse/browse-items.component.mjs +4 -4
- package/esm2020/lib/browse/browse.mobile.component.mjs +4 -4
- package/esm2020/lib/browse/browse.pane.component.mjs +4 -4
- package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +4 -4
- package/esm2020/lib/browse/filter/filter.component.mjs +4 -4
- package/esm2020/lib/browse/folders-menu.component.mjs +4 -4
- package/esm2020/lib/chat/chat-info.mjs +4 -4
- package/esm2020/lib/chat/chat.mobile.component.mjs +4 -4
- package/esm2020/lib/chat/chat.service.mjs +4 -4
- package/esm2020/lib/chat/contacts.component.mjs +7 -7
- package/esm2020/lib/chat/contacts.pane.component.mjs +4 -4
- package/esm2020/lib/chat/conversation.component.mjs +4 -4
- package/esm2020/lib/chat/conversation.pane.component.mjs +4 -4
- package/esm2020/lib/compose/action/action-picker.component.mjs +4 -4
- package/esm2020/lib/compose/action/action.dialog.mjs +4 -4
- package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +4 -4
- package/esm2020/lib/compose/action/assign-action.component.mjs +5 -5
- package/esm2020/lib/compose/action/moveto-action.component.mjs +4 -4
- package/esm2020/lib/compose/action/return-action.component.mjs +4 -4
- package/esm2020/lib/compose/attachments/attachments.component.mjs +4 -4
- package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +4 -4
- package/esm2020/lib/compose/attachments/progress-button.directive.mjs +4 -4
- package/esm2020/lib/compose/box/box.component.mjs +4 -4
- package/esm2020/lib/compose/can-deactivate-changes.service.mjs +4 -4
- package/esm2020/lib/compose/comments/comment.component.mjs +4 -4
- package/esm2020/lib/compose/comments/comments.component.mjs +4 -4
- package/esm2020/lib/compose/comments/comments.pane.component.mjs +4 -4
- package/esm2020/lib/compose/comments/edit-comment.component.mjs +4 -4
- package/esm2020/lib/compose/comments/edits.component.mjs +4 -4
- package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +4 -4
- package/esm2020/lib/compose/comments/votes.component.mjs +4 -4
- package/esm2020/lib/compose/compose-resolve.service.mjs +7 -7
- package/esm2020/lib/compose/compose.mobile.component.mjs +4 -4
- package/esm2020/lib/compose/compose.pane.component.mjs +4 -4
- package/esm2020/lib/compose/copy/copy.dialog.mjs +4 -4
- package/esm2020/lib/compose/dismiss.service.mjs +4 -4
- package/esm2020/lib/compose/document-resolver.service.mjs +4 -4
- package/esm2020/lib/compose/document.component.mjs +4 -4
- package/esm2020/lib/compose/document.mobile.component.mjs +4 -4
- package/esm2020/lib/compose/document.pane.component.mjs +4 -4
- package/esm2020/lib/compose/events/events.component.mjs +4 -4
- package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +4 -4
- package/esm2020/lib/compose/form.component.mjs +4 -4
- package/esm2020/lib/compose/new-menu.component.mjs +4 -4
- package/esm2020/lib/compose/privilage.directive.mjs +7 -7
- package/esm2020/lib/compose/recipient-resolver.service.mjs +4 -4
- package/esm2020/lib/compose/state.component.mjs +4 -4
- package/esm2020/lib/compose/tag/tags.component.mjs +4 -4
- package/esm2020/lib/compose/trace/flow.component.mjs +4 -4
- package/esm2020/lib/compose/trace/people.component.mjs +4 -4
- package/esm2020/lib/compose/trace/trace.base.mjs +4 -4
- package/esm2020/lib/compose/trace/trace.component.mjs +4 -4
- package/esm2020/lib/compose/trace/trace.pane.component.mjs +4 -4
- package/esm2020/lib/compose/version-compare/version-compare.component.mjs +4 -4
- package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +10 -10
- package/esm2020/lib/compose/version-compare/version.pane.component.mjs +4 -4
- package/esm2020/lib/core/NgComponentOutlet.mjs +4 -4
- package/esm2020/lib/core/account.service.mjs +4 -4
- package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +4 -4
- package/esm2020/lib/core/avatar/avatar.component.mjs +4 -4
- package/esm2020/lib/core/component-factory-resolver.mjs +4 -4
- package/esm2020/lib/core/controls/address.input.mjs +4 -4
- package/esm2020/lib/core/controls/auto-complete.input.mjs +4 -4
- package/esm2020/lib/core/controls/combination-picker-body.mjs +4 -4
- package/esm2020/lib/core/controls/combination-picker.mjs +4 -4
- package/esm2020/lib/core/controls/combination-pool.mjs +4 -4
- package/esm2020/lib/core/controls/file.input.mjs +4 -4
- package/esm2020/lib/core/controls/select.input.mjs +4 -4
- package/esm2020/lib/core/controls/signature.input.mjs +4 -4
- package/esm2020/lib/core/controls/time-picker.mjs +4 -4
- package/esm2020/lib/core/controls/timespan.input.mjs +4 -4
- package/esm2020/lib/core/datasource.service.mjs +4 -4
- package/esm2020/lib/core/guide/guide.component.mjs +4 -4
- package/esm2020/lib/core/guide/guide.service.mjs +4 -4
- package/esm2020/lib/core/guide/help-tip.component.mjs +4 -4
- package/esm2020/lib/core/http.interceptor.mjs +4 -4
- package/esm2020/lib/core/hub.service.mjs +4 -4
- package/esm2020/lib/core/identity/identity.component.mjs +4 -4
- package/esm2020/lib/core/info/attachment-info.service.mjs +4 -4
- package/esm2020/lib/core/info/document-info.service.mjs +4 -4
- package/esm2020/lib/core/info/location-info.component.mjs +4 -4
- package/esm2020/lib/core/info/map-info.mjs +4 -4
- package/esm2020/lib/core/layout/autocomplete.field.mjs +4 -4
- package/esm2020/lib/core/layout/checkbox.field.mjs +4 -4
- package/esm2020/lib/core/layout/checkbox.mjs +4 -4
- package/esm2020/lib/core/layout/date-range.field.mjs +4 -4
- package/esm2020/lib/core/layout/date.field.mjs +4 -4
- package/esm2020/lib/core/layout/expression.field.mjs +4 -4
- package/esm2020/lib/core/layout/file.field.mjs +4 -4
- package/esm2020/lib/core/layout/html.field.mjs +4 -4
- package/esm2020/lib/core/layout/input.base.mjs +4 -4
- package/esm2020/lib/core/layout/input.field.mjs +4 -4
- package/esm2020/lib/core/layout/layout.component.mjs +4 -4
- package/esm2020/lib/core/layout/numeric.field.mjs +4 -4
- package/esm2020/lib/core/layout/select.field.mjs +4 -4
- package/esm2020/lib/core/layout/switch.field.mjs +4 -4
- package/esm2020/lib/core/layout/textarea.field.mjs +4 -4
- package/esm2020/lib/core/layout/timespan.field.mjs +4 -4
- package/esm2020/lib/core/lottie-animation.mjs +4 -4
- package/esm2020/lib/core/mailbox.service.mjs +4 -4
- package/esm2020/lib/core/none.component.mjs +4 -4
- package/esm2020/lib/core/pipes/action.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/calendar.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/date-format.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/daterange.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/difference.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/duration-format.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/duration.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/form.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/join.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/localized-string.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/role.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/sanitize-html.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/sort.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/state.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/time-ago.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/translate.pipe.mjs +7 -7
- package/esm2020/lib/core/pipes/type-value.pipe.mjs +4 -4
- package/esm2020/lib/core/pipes/user-name.pipe.mjs +4 -4
- package/esm2020/lib/core/popup/popup.component.mjs +4 -4
- package/esm2020/lib/core/popup/popup.service.mjs +4 -4
- package/esm2020/lib/core/popup/tooltip.directive.mjs +7 -7
- package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +4 -4
- package/esm2020/lib/core/prompt/mask/mask.component.mjs +4 -4
- package/esm2020/lib/core/prompt.service.mjs +4 -4
- package/esm2020/lib/core/router.mjs +7 -7
- package/esm2020/lib/core/save-changes.dialog.mjs +4 -4
- package/esm2020/lib/core/session.service.mjs +4 -4
- package/esm2020/lib/core/slots/router.directive.mjs +4 -4
- package/esm2020/lib/core/slots/router.service.mjs +4 -4
- package/esm2020/lib/core/slots/slots.component.mjs +4 -4
- package/esm2020/lib/core/tagging/documents.component.mjs +4 -4
- package/esm2020/lib/core/tagging/edit-input.component.mjs +4 -4
- package/esm2020/lib/core/tagging/emoji.component.mjs +4 -4
- package/esm2020/lib/core/tagging/tagging-item.directive.mjs +4 -4
- package/esm2020/lib/core/tagging/tagging.component-base.mjs +4 -4
- package/esm2020/lib/core/tagging/tagging.directive.mjs +4 -4
- package/esm2020/lib/core/tagging/tagging.pipe.mjs +4 -4
- package/esm2020/lib/core/tagging/users.component.mjs +4 -4
- package/esm2020/lib/core/translate.service.mjs +4 -4
- package/esm2020/lib/core/window-title.service.mjs +4 -4
- package/esm2020/lib/cube/accum/accum.component.mjs +4 -4
- package/esm2020/lib/cube/chart/chart.component.mjs +4 -4
- package/esm2020/lib/cube/cube-info.service.mjs +4 -4
- package/esm2020/lib/cube/cube-menu.component.mjs +4 -4
- package/esm2020/lib/cube/cube-view.component.mjs +4 -4
- package/esm2020/lib/cube/cube.service.mjs +4 -4
- package/esm2020/lib/cube/explore/document-item.component.mjs +4 -4
- package/esm2020/lib/cube/explore/explore-item.component.mjs +4 -4
- package/esm2020/lib/cube/explore/explore-items.component.mjs +4 -4
- package/esm2020/lib/cube/explore/explore.pane.component.mjs +4 -4
- package/esm2020/lib/cube/explore/item-resolver.service.mjs +7 -7
- package/esm2020/lib/cube/explore/item.pane.component.mjs +4 -4
- package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +4 -4
- package/esm2020/lib/cube/filter/filter.component.mjs +4 -4
- package/esm2020/lib/cube/grid/grid.component.mjs +4 -4
- package/esm2020/lib/cube/grid/spreadsheet.component.mjs +4 -4
- package/esm2020/lib/cube/matrix/matrix.base.mjs +4 -4
- package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +4 -4
- package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +4 -4
- package/esm2020/lib/cube/matrix/popup.component.mjs +4 -4
- package/esm2020/lib/cube/matrix/table.component.mjs +4 -4
- package/esm2020/lib/cube/parallel/parallel.component.mjs +4 -4
- package/esm2020/lib/cube/pivot/pivot.component.mjs +4 -4
- package/esm2020/lib/cube/sum/sum.component.mjs +4 -4
- package/esm2020/lib/cube/view-base.mjs +4 -4
- package/esm2020/lib/cube/view.mobile.component.mjs +4 -4
- package/esm2020/lib/cube/view.pane.component.mjs +4 -4
- package/esm2020/lib/dashboard/actions/actions.widget.mjs +4 -4
- package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +4 -4
- package/esm2020/lib/dashboard/cube/compare.widget.mjs +4 -4
- package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +4 -4
- package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +4 -4
- package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +4 -4
- package/esm2020/lib/dashboard/cube/documents.widget.mjs +4 -4
- package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +4 -4
- package/esm2020/lib/dashboard/dashboard.component.mjs +4 -4
- package/esm2020/lib/dashboard/dashboard.pane.component.mjs +4 -4
- package/esm2020/lib/dashboard/recents/recents.widget.mjs +4 -4
- package/esm2020/lib/dashboard/score/activity.widget.mjs +4 -4
- package/esm2020/lib/dashboard/score/compare-groups.widget.mjs +4 -4
- package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +4 -4
- package/esm2020/lib/dashboard/score/pending-results.widget.mjs +4 -4
- package/esm2020/lib/dashboard/score/personal-score.widget.mjs +4 -4
- package/esm2020/lib/dashboard/widget-item.component.mjs +4 -4
- package/esm2020/lib/desktop.module.mjs +5 -5
- package/esm2020/lib/home/about/about.dialog.mjs +4 -4
- package/esm2020/lib/home/home-base.component.mjs +4 -4
- package/esm2020/lib/home/home.desktop.component.mjs +4 -4
- package/esm2020/lib/home/home.mobile.component.mjs +4 -4
- package/esm2020/lib/home/notifications/notifications.component.mjs +4 -4
- package/esm2020/lib/home/options/options.component.mjs +4 -4
- package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +4 -4
- package/esm2020/lib/home/sign/sign.component.mjs +4 -4
- package/esm2020/lib/home/tools.component.mjs +4 -4
- package/esm2020/lib/impersonate/impersonate.component.mjs +4 -4
- package/esm2020/lib/mobile.module.mjs +5 -5
- package/esm2020/lib/modules/chart.module.mjs +5 -5
- package/esm2020/lib/modules/circular-gauge.module.mjs +5 -5
- package/esm2020/lib/modules/datepicker.intl.mjs +4 -4
- package/esm2020/lib/modules/dayjs.module.mjs +5 -5
- package/esm2020/lib/modules/diagram.module.mjs +5 -5
- package/esm2020/lib/modules/gantt.module.mjs +5 -5
- package/esm2020/lib/modules/grid.module.mjs +5 -5
- package/esm2020/lib/modules/material.module.mjs +5 -5
- package/esm2020/lib/modules/paginator.intl.mjs +4 -4
- package/esm2020/lib/modules/pivot.module.mjs +5 -5
- package/esm2020/lib/modules/schedule.module.mjs +5 -5
- package/esm2020/lib/modules/spreadsheet.module.mjs +5 -5
- package/esm2020/lib/modules/stepper.intl.mjs +4 -4
- package/esm2020/lib/modules/texteditor.module.mjs +5 -5
- package/esm2020/lib/notifications/filter.component.mjs +4 -4
- package/esm2020/lib/notifications/notifications-table.component.mjs +4 -4
- package/esm2020/lib/notifications/notifications.mobile.component.mjs +4 -4
- package/esm2020/lib/notifications/notifications.pane.component.mjs +4 -4
- package/esm2020/lib/notifications/notifications.service.mjs +4 -4
- package/esm2020/lib/notifications/types/commented.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/escalated.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/liked.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/long-running-task.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/notification-base.mjs +4 -4
- package/esm2020/lib/notifications/types/nudge.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/state-changed.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/tagged.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/text.notification.mjs +4 -4
- package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +4 -4
- package/esm2020/lib/options/options.component.mjs +4 -4
- package/esm2020/lib/options/options.service.mjs +4 -4
- package/esm2020/lib/reports/arguments-component.mjs +4 -4
- package/esm2020/lib/reports/cube/documents.component.mjs +4 -4
- package/esm2020/lib/reports/cube/grid-documents.component.mjs +4 -4
- package/esm2020/lib/reports/cube/table-documents.component.mjs +4 -4
- package/esm2020/lib/reports/cube/usage-args.component.mjs +4 -4
- package/esm2020/lib/reports/cube/usage-base.mjs +4 -4
- package/esm2020/lib/reports/cube/usage-chart.component.mjs +4 -4
- package/esm2020/lib/reports/cube/usage-pivot.component.mjs +4 -4
- package/esm2020/lib/reports/cube/usage.component.mjs +4 -4
- package/esm2020/lib/reports/report-viewer.component.mjs +4 -4
- package/esm2020/lib/reports/report.mobile.component.mjs +4 -4
- package/esm2020/lib/reports/report.pane.component.mjs +4 -4
- package/esm2020/lib/reports/reports-menu.component.mjs +4 -4
- package/esm2020/lib/reports/substitution/substitution.component.mjs +4 -4
- package/esm2020/lib/reports/table/table-view.component.mjs +4 -4
- package/esm2020/lib/reports/tasks/tasks.component.mjs +4 -4
- package/esm2020/lib/scheduler/schedule.component.mjs +4 -4
- package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +4 -4
- package/esm2020/lib/scheduler/scheduler.pane.component.mjs +4 -4
- package/esm2020/lib/search/cube.component.mjs +4 -4
- package/esm2020/lib/search/document.component.mjs +4 -4
- package/esm2020/lib/search/guide.component.mjs +4 -4
- package/esm2020/lib/search/path.component.mjs +4 -4
- package/esm2020/lib/search/search.service.mjs +4 -4
- package/esm2020/lib/shared.module.mjs +5 -5
- package/esm2020/lib/system.module.mjs +5 -5
- package/esm2020/lib/views/cube/chart.component.mjs +4 -4
- package/esm2020/lib/views/cube/cube-base.mjs +4 -4
- package/esm2020/lib/views/cube/explore.component.mjs +4 -4
- package/esm2020/lib/views/cube/matrix.component.mjs +4 -4
- package/esm2020/lib/views/cube/parallel.component.mjs +4 -4
- package/esm2020/lib/views/cube/pivot.component.mjs +4 -4
- package/esm2020/lib/views/cube/sum.component.mjs +4 -4
- package/esm2020/lib/views/cube/view.component.mjs +4 -4
- package/esm2020/lib/views/timeline/timeline.component.exp.mjs +4 -4
- package/esm2020/lib/views/view-item.component.mjs +4 -4
- package/esm2020/lib/views/views.component.mjs +4 -4
- package/esm2020/lib/views/views.mobile.component.mjs +4 -4
- package/esm2020/lib/views/views.pane.component.mjs +4 -4
- package/fesm2015/bizdoc-core.mjs +1081 -1077
- package/fesm2015/bizdoc-core.mjs.map +1 -1
- package/fesm2020/bizdoc-core.mjs +1081 -1077
- package/fesm2020/bizdoc-core.mjs.map +1 -1
- package/lib/admin/configuration-designer/designer.component.d.ts.map +1 -1
- package/lib/admin/system.service.d.ts.map +1 -1
- package/lib/compose/action/return-action.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/esm2020/lib/admin/architecture/cube-axes-filter.component.mjs +0 -237
- package/esm2020/lib/admin/architecture/declarations.mjs +0 -55
- package/esm2020/lib/admin/architecture/designer-element.component.mjs +0 -443
- package/esm2020/lib/admin/architecture/designer-privileges.component.mjs +0 -169
- package/esm2020/lib/admin/architecture/designer.base.mjs +0 -133
- package/esm2020/lib/admin/architecture/designer.component.mjs +0 -473
- package/esm2020/lib/admin/architecture/elements/action.component.mjs +0 -84
- package/esm2020/lib/admin/architecture/elements/analysis-view.component.mjs +0 -475
- package/esm2020/lib/admin/architecture/elements/analysis-widget.component.mjs +0 -459
- package/esm2020/lib/admin/architecture/elements/anomaly-rule.component.mjs +0 -41
- package/esm2020/lib/admin/architecture/elements/attribute.component.mjs +0 -62
- package/esm2020/lib/admin/architecture/elements/box-form.component.mjs +0 -117
- package/esm2020/lib/admin/architecture/elements/configuration-datasource.component.mjs +0 -132
- package/esm2020/lib/admin/architecture/elements/control.component.mjs +0 -43
- package/esm2020/lib/admin/architecture/elements/cube-index-utility.component.mjs +0 -98
- package/esm2020/lib/admin/architecture/elements/cube-view.component.mjs +0 -133
- package/esm2020/lib/admin/architecture/elements/cube.component.mjs +0 -1763
- package/esm2020/lib/admin/architecture/elements/documents-report.component.mjs +0 -86
- package/esm2020/lib/admin/architecture/elements/documents-widget.component.mjs +0 -93
- package/esm2020/lib/admin/architecture/elements/explore-view.component.mjs +0 -113
- package/esm2020/lib/admin/architecture/elements/feedback-widget.component.mjs +0 -125
- package/esm2020/lib/admin/architecture/elements/folder.component.mjs +0 -353
- package/esm2020/lib/admin/architecture/elements/form-invite.dialog.mjs +0 -239
- package/esm2020/lib/admin/architecture/elements/form.component.mjs +0 -432
- package/esm2020/lib/admin/architecture/elements/guide.component.mjs +0 -236
- package/esm2020/lib/admin/architecture/elements/matrix-view.component.mjs +0 -445
- package/esm2020/lib/admin/architecture/elements/node.component.mjs +0 -30
- package/esm2020/lib/admin/architecture/elements/parallel-view.component.mjs +0 -246
- package/esm2020/lib/admin/architecture/elements/performance-report.component.mjs +0 -118
- package/esm2020/lib/admin/architecture/elements/performance-widget.component.mjs +0 -121
- package/esm2020/lib/admin/architecture/elements/pivot-view.component.mjs +0 -232
- package/esm2020/lib/admin/architecture/elements/policy.component.mjs +0 -30
- package/esm2020/lib/admin/architecture/elements/report.component.mjs +0 -75
- package/esm2020/lib/admin/architecture/elements/return-to-role-action.component.mjs +0 -69
- package/esm2020/lib/admin/architecture/elements/role.component.mjs +0 -120
- package/esm2020/lib/admin/architecture/elements/rule.component.mjs +0 -30
- package/esm2020/lib/admin/architecture/elements/state.component.mjs +0 -64
- package/esm2020/lib/admin/architecture/elements/sum-view.component.mjs +0 -228
- package/esm2020/lib/admin/architecture/elements/tasks-report.component.mjs +0 -152
- package/esm2020/lib/admin/architecture/elements/type.component.mjs +0 -378
- package/esm2020/lib/admin/architecture/elements/usage-report.component.mjs +0 -277
- package/esm2020/lib/admin/architecture/elements/utility.component.mjs +0 -30
- package/esm2020/lib/admin/architecture/elements/view.component.mjs +0 -30
- package/esm2020/lib/admin/architecture/elements/widget.component.mjs +0 -75
- package/esm2020/lib/admin/architecture/icon-picker.component.mjs +0 -219
- package/esm2020/lib/admin/core/localized-string.component.mjs +0 -241
- package/esm2020/lib/admin/form/designer/box-designer.component.mjs +0 -496
- package/esm2020/lib/admin/form/designer/declarations.mjs +0 -2
- package/esm2020/lib/admin/form/designer/properties.component.mjs +0 -133
- package/esm2020/lib/admin/form/designer/section.component.mjs +0 -106
- package/esm2020/lib/admin/form/designer/settings.component.mjs +0 -61
- package/esm2020/lib/compose/box/control.component.mjs +0 -47
- package/esm2020/lib/compose/box/row.component.mjs +0 -41
- package/esm2020/lib/core/checkbox.mjs +0 -49
- package/esm2020/lib/core/fields/address.designer.mjs +0 -47
- package/esm2020/lib/core/fields/address.field.mjs +0 -104
- package/esm2020/lib/core/fields/autocomplete.field.mjs +0 -198
- package/esm2020/lib/core/fields/checkbox.designer.mjs +0 -43
- package/esm2020/lib/core/fields/checkbox.field.mjs +0 -95
- package/esm2020/lib/core/fields/checklist.designer.mjs +0 -98
- package/esm2020/lib/core/fields/checklist.field.mjs +0 -144
- package/esm2020/lib/core/fields/date-range.designer.mjs +0 -55
- package/esm2020/lib/core/fields/date-range.field.mjs +0 -113
- package/esm2020/lib/core/fields/date.designer.mjs +0 -49
- package/esm2020/lib/core/fields/date.field.mjs +0 -114
- package/esm2020/lib/core/fields/expression.field.mjs +0 -80
- package/esm2020/lib/core/fields/file.designer.mjs +0 -49
- package/esm2020/lib/core/fields/file.field.mjs +0 -90
- package/esm2020/lib/core/fields/html.designer.mjs +0 -76
- package/esm2020/lib/core/fields/html.field.mjs +0 -114
- package/esm2020/lib/core/fields/input.designer.mjs +0 -112
- package/esm2020/lib/core/fields/input.field.mjs +0 -212
- package/esm2020/lib/core/fields/numeric.designer.mjs +0 -91
- package/esm2020/lib/core/fields/numeric.field.mjs +0 -95
- package/esm2020/lib/core/fields/options.base.mjs +0 -41
- package/esm2020/lib/core/fields/options.component.mjs +0 -106
- package/esm2020/lib/core/fields/radio-button.designer.mjs +0 -83
- package/esm2020/lib/core/fields/radio-button.field.mjs +0 -114
- package/esm2020/lib/core/fields/select.designer.mjs +0 -105
- package/esm2020/lib/core/fields/select.field.mjs +0 -157
- package/esm2020/lib/core/fields/signature.designer.mjs +0 -46
- package/esm2020/lib/core/fields/signature.field.mjs +0 -114
- package/esm2020/lib/core/fields/switch.field.mjs +0 -82
- package/esm2020/lib/core/fields/textarea.designer.mjs +0 -62
- package/esm2020/lib/core/fields/textarea.field.mjs +0 -106
- package/esm2020/lib/core/fields/timespan.field.mjs +0 -93
- package/esm2020/lib/core/fields/yesno.designer.mjs +0 -104
- package/esm2020/lib/core/fields/yesno.field.mjs +0 -101
- package/esm2020/lib/core/inputs/address.input.mjs +0 -229
- package/esm2020/lib/core/inputs/auto-complete.input.mjs +0 -320
- package/esm2020/lib/core/inputs/combination-picker-body.mjs +0 -309
- package/esm2020/lib/core/inputs/combination-picker.mjs +0 -296
- package/esm2020/lib/core/inputs/combination-pool.mjs +0 -161
- package/esm2020/lib/core/inputs/file.input.mjs +0 -685
- package/esm2020/lib/core/inputs/select.input.mjs +0 -293
- package/esm2020/lib/core/inputs/signature.input.mjs +0 -162
- package/esm2020/lib/core/inputs/time-picker.mjs +0 -220
- package/esm2020/lib/core/inputs/timespan.input.mjs +0 -202
- package/esm2020/lib/core/layout.component.mjs +0 -146
- package/esm2020/lib/dashboard/cube/document-state.widget.mjs +0 -85
- package/esm2020/lib/designer.module.mjs +0 -98
- package/esm2020/lib/notifications/types/invite.notification.mjs +0 -51
- package/esm2020/lib/reports/cube/role-performance.component.mjs +0 -61
- package/lib/admin/architecture/cube-axes-filter.component.d.ts +0 -32
- package/lib/admin/architecture/cube-axes-filter.component.d.ts.map +0 -1
- package/lib/admin/architecture/declarations.d.ts +0 -229
- package/lib/admin/architecture/declarations.d.ts.map +0 -1
- package/lib/admin/architecture/designer-element.component.d.ts +0 -87
- package/lib/admin/architecture/designer-element.component.d.ts.map +0 -1
- package/lib/admin/architecture/designer-privileges.component.d.ts +0 -34
- package/lib/admin/architecture/designer-privileges.component.d.ts.map +0 -1
- package/lib/admin/architecture/designer.base.d.ts +0 -55
- package/lib/admin/architecture/designer.base.d.ts.map +0 -1
- package/lib/admin/architecture/designer.component.d.ts +0 -60
- package/lib/admin/architecture/designer.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/action.component.d.ts +0 -23
- package/lib/admin/architecture/elements/action.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/analysis-view.component.d.ts +0 -21
- package/lib/admin/architecture/elements/analysis-view.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/analysis-widget.component.d.ts +0 -20
- package/lib/admin/architecture/elements/analysis-widget.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/anomaly-rule.component.d.ts +0 -10
- package/lib/admin/architecture/elements/anomaly-rule.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/attribute.component.d.ts +0 -13
- package/lib/admin/architecture/elements/attribute.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/box-form.component.d.ts +0 -23
- package/lib/admin/architecture/elements/box-form.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/configuration-datasource.component.d.ts +0 -28
- package/lib/admin/architecture/elements/configuration-datasource.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/control.component.d.ts +0 -14
- package/lib/admin/architecture/elements/control.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/cube-index-utility.component.d.ts +0 -13
- package/lib/admin/architecture/elements/cube-index-utility.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/cube-view.component.d.ts +0 -15
- package/lib/admin/architecture/elements/cube-view.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/cube.component.d.ts +0 -51
- package/lib/admin/architecture/elements/cube.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/documents-report.component.d.ts +0 -14
- package/lib/admin/architecture/elements/documents-report.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/documents-widget.component.d.ts +0 -20
- package/lib/admin/architecture/elements/documents-widget.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/explore-view.component.d.ts +0 -16
- package/lib/admin/architecture/elements/explore-view.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/feedback-widget.component.d.ts +0 -35
- package/lib/admin/architecture/elements/feedback-widget.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/folder.component.d.ts +0 -23
- package/lib/admin/architecture/elements/folder.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/form-invite.dialog.d.ts +0 -48
- package/lib/admin/architecture/elements/form-invite.dialog.d.ts.map +0 -1
- package/lib/admin/architecture/elements/form.component.d.ts +0 -51
- package/lib/admin/architecture/elements/form.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/guide.component.d.ts +0 -15
- package/lib/admin/architecture/elements/guide.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/matrix-view.component.d.ts +0 -22
- package/lib/admin/architecture/elements/matrix-view.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/node.component.d.ts +0 -8
- package/lib/admin/architecture/elements/node.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/parallel-view.component.d.ts +0 -19
- package/lib/admin/architecture/elements/parallel-view.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/performance-report.component.d.ts +0 -16
- package/lib/admin/architecture/elements/performance-report.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/performance-widget.component.d.ts +0 -15
- package/lib/admin/architecture/elements/performance-widget.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/pivot-view.component.d.ts +0 -20
- package/lib/admin/architecture/elements/pivot-view.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/policy.component.d.ts +0 -8
- package/lib/admin/architecture/elements/policy.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/report.component.d.ts +0 -13
- package/lib/admin/architecture/elements/report.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/return-to-role-action.component.d.ts +0 -18
- package/lib/admin/architecture/elements/return-to-role-action.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/role.component.d.ts +0 -17
- package/lib/admin/architecture/elements/role.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/rule.component.d.ts +0 -8
- package/lib/admin/architecture/elements/rule.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/state.component.d.ts +0 -14
- package/lib/admin/architecture/elements/state.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/sum-view.component.d.ts +0 -18
- package/lib/admin/architecture/elements/sum-view.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/tasks-report.component.d.ts +0 -18
- package/lib/admin/architecture/elements/tasks-report.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/type.component.d.ts +0 -32
- package/lib/admin/architecture/elements/type.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/usage-report.component.d.ts +0 -24
- package/lib/admin/architecture/elements/usage-report.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/utility.component.d.ts +0 -8
- package/lib/admin/architecture/elements/utility.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/view.component.d.ts +0 -8
- package/lib/admin/architecture/elements/view.component.d.ts.map +0 -1
- package/lib/admin/architecture/elements/widget.component.d.ts +0 -13
- package/lib/admin/architecture/elements/widget.component.d.ts.map +0 -1
- package/lib/admin/architecture/icon-picker.component.d.ts +0 -69
- package/lib/admin/architecture/icon-picker.component.d.ts.map +0 -1
- package/lib/admin/core/localized-string.component.d.ts +0 -57
- package/lib/admin/core/localized-string.component.d.ts.map +0 -1
- package/lib/admin/form/designer/box-designer.component.d.ts +0 -93
- package/lib/admin/form/designer/box-designer.component.d.ts.map +0 -1
- package/lib/admin/form/designer/declarations.d.ts +0 -27
- package/lib/admin/form/designer/declarations.d.ts.map +0 -1
- package/lib/admin/form/designer/properties.component.d.ts +0 -27
- package/lib/admin/form/designer/properties.component.d.ts.map +0 -1
- package/lib/admin/form/designer/section.component.d.ts +0 -28
- package/lib/admin/form/designer/section.component.d.ts.map +0 -1
- package/lib/admin/form/designer/settings.component.d.ts +0 -20
- package/lib/admin/form/designer/settings.component.d.ts.map +0 -1
- package/lib/compose/box/control.component.d.ts +0 -23
- package/lib/compose/box/control.component.d.ts.map +0 -1
- package/lib/compose/box/row.component.d.ts +0 -21
- package/lib/compose/box/row.component.d.ts.map +0 -1
- package/lib/core/checkbox.d.ts +0 -11
- package/lib/core/checkbox.d.ts.map +0 -1
- package/lib/core/fields/address.designer.d.ts +0 -22
- package/lib/core/fields/address.designer.d.ts.map +0 -1
- package/lib/core/fields/address.field.d.ts +0 -22
- package/lib/core/fields/address.field.d.ts.map +0 -1
- package/lib/core/fields/autocomplete.field.d.ts +0 -56
- package/lib/core/fields/autocomplete.field.d.ts.map +0 -1
- package/lib/core/fields/checkbox.designer.d.ts +0 -20
- package/lib/core/fields/checkbox.designer.d.ts.map +0 -1
- package/lib/core/fields/checkbox.field.d.ts +0 -18
- package/lib/core/fields/checkbox.field.d.ts.map +0 -1
- package/lib/core/fields/checklist.designer.d.ts +0 -33
- package/lib/core/fields/checklist.designer.d.ts.map +0 -1
- package/lib/core/fields/checklist.field.d.ts +0 -21
- package/lib/core/fields/checklist.field.d.ts.map +0 -1
- package/lib/core/fields/date-range.designer.d.ts +0 -28
- package/lib/core/fields/date-range.designer.d.ts.map +0 -1
- package/lib/core/fields/date-range.field.d.ts +0 -33
- package/lib/core/fields/date-range.field.d.ts.map +0 -1
- package/lib/core/fields/date.designer.d.ts +0 -26
- package/lib/core/fields/date.designer.d.ts.map +0 -1
- package/lib/core/fields/date.field.d.ts +0 -23
- package/lib/core/fields/date.field.d.ts.map +0 -1
- package/lib/core/fields/expression.field.d.ts +0 -21
- package/lib/core/fields/expression.field.d.ts.map +0 -1
- package/lib/core/fields/file.designer.d.ts +0 -22
- package/lib/core/fields/file.designer.d.ts.map +0 -1
- package/lib/core/fields/file.field.d.ts +0 -22
- package/lib/core/fields/file.field.d.ts.map +0 -1
- package/lib/core/fields/html.designer.d.ts +0 -24
- package/lib/core/fields/html.designer.d.ts.map +0 -1
- package/lib/core/fields/html.field.d.ts +0 -24
- package/lib/core/fields/html.field.d.ts.map +0 -1
- package/lib/core/fields/input.designer.d.ts +0 -34
- package/lib/core/fields/input.designer.d.ts.map +0 -1
- package/lib/core/fields/input.field.d.ts +0 -29
- package/lib/core/fields/input.field.d.ts.map +0 -1
- package/lib/core/fields/numeric.designer.d.ts +0 -30
- package/lib/core/fields/numeric.designer.d.ts.map +0 -1
- package/lib/core/fields/numeric.field.d.ts +0 -26
- package/lib/core/fields/numeric.field.d.ts.map +0 -1
- package/lib/core/fields/options.base.d.ts +0 -29
- package/lib/core/fields/options.base.d.ts.map +0 -1
- package/lib/core/fields/options.component.d.ts +0 -25
- package/lib/core/fields/options.component.d.ts.map +0 -1
- package/lib/core/fields/radio-button.designer.d.ts +0 -31
- package/lib/core/fields/radio-button.designer.d.ts.map +0 -1
- package/lib/core/fields/radio-button.field.d.ts +0 -17
- package/lib/core/fields/radio-button.field.d.ts.map +0 -1
- package/lib/core/fields/select.designer.d.ts +0 -34
- package/lib/core/fields/select.designer.d.ts.map +0 -1
- package/lib/core/fields/select.field.d.ts +0 -23
- package/lib/core/fields/select.field.d.ts.map +0 -1
- package/lib/core/fields/signature.designer.d.ts +0 -20
- package/lib/core/fields/signature.designer.d.ts.map +0 -1
- package/lib/core/fields/signature.field.d.ts +0 -24
- package/lib/core/fields/signature.field.d.ts.map +0 -1
- package/lib/core/fields/switch.field.d.ts +0 -17
- package/lib/core/fields/switch.field.d.ts.map +0 -1
- package/lib/core/fields/textarea.designer.d.ts +0 -28
- package/lib/core/fields/textarea.designer.d.ts.map +0 -1
- package/lib/core/fields/textarea.field.d.ts +0 -24
- package/lib/core/fields/textarea.field.d.ts.map +0 -1
- package/lib/core/fields/timespan.field.d.ts +0 -21
- package/lib/core/fields/timespan.field.d.ts.map +0 -1
- package/lib/core/fields/yesno.designer.d.ts +0 -26
- package/lib/core/fields/yesno.designer.d.ts.map +0 -1
- package/lib/core/fields/yesno.field.d.ts +0 -18
- package/lib/core/fields/yesno.field.d.ts.map +0 -1
- package/lib/core/inputs/address.input.d.ts +0 -66
- package/lib/core/inputs/address.input.d.ts.map +0 -1
- package/lib/core/inputs/auto-complete.input.d.ts +0 -87
- package/lib/core/inputs/auto-complete.input.d.ts.map +0 -1
- package/lib/core/inputs/combination-picker-body.d.ts +0 -115
- package/lib/core/inputs/combination-picker-body.d.ts.map +0 -1
- package/lib/core/inputs/combination-picker.d.ts +0 -83
- package/lib/core/inputs/combination-picker.d.ts.map +0 -1
- package/lib/core/inputs/combination-pool.d.ts +0 -43
- package/lib/core/inputs/combination-pool.d.ts.map +0 -1
- package/lib/core/inputs/file.input.d.ts +0 -100
- package/lib/core/inputs/file.input.d.ts.map +0 -1
- package/lib/core/inputs/select.input.d.ts +0 -85
- package/lib/core/inputs/select.input.d.ts.map +0 -1
- package/lib/core/inputs/signature.input.d.ts +0 -54
- package/lib/core/inputs/signature.input.d.ts.map +0 -1
- package/lib/core/inputs/time-picker.d.ts +0 -53
- package/lib/core/inputs/time-picker.d.ts.map +0 -1
- package/lib/core/inputs/timespan.input.d.ts +0 -60
- package/lib/core/inputs/timespan.input.d.ts.map +0 -1
- package/lib/core/layout.component.d.ts +0 -29
- package/lib/core/layout.component.d.ts.map +0 -1
- package/lib/dashboard/cube/document-state.widget.d.ts +0 -30
- package/lib/dashboard/cube/document-state.widget.d.ts.map +0 -1
- package/lib/designer.module.d.ts +0 -30
- package/lib/designer.module.d.ts.map +0 -1
- package/lib/notifications/types/invite.notification.d.ts +0 -22
- package/lib/notifications/types/invite.notification.d.ts.map +0 -1
- package/lib/reports/cube/role-performance.component.d.ts +0 -37
- package/lib/reports/cube/role-performance.component.d.ts.map +0 -1
@@ -367,9 +367,9 @@ export class FileInput {
|
|
367
367
|
}
|
368
368
|
}
|
369
369
|
FileInput.nextId = 0;
|
370
|
-
FileInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
371
|
-
FileInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
372
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
370
|
+
FileInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileInput, deps: [{ token: i0.ElementRef }, { token: i1.MailboxService }, { token: i2.DomSanitizer }, { token: i3.AttachmentInfo }, { token: i4.TranslateService }, { token: i5.SessionService }, { token: i6.PromptService }, { token: i7.NgControl, optional: true, self: true }, { token: DOCUMENT_MODEL }], target: i0.ɵɵFactoryTarget.Component });
|
371
|
+
FileInput.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: FileInput, selector: "bizdoc-file-upload", inputs: { multiple: "multiple", accept: "accept", icon: "icon", value: "value", placeholder: "placeholder", required: "required", disabled: "disabled" }, host: { listeners: { "document:drop": "handleDocumentDrop($event)", "drop": "handleDrop($event)", "dragenter": "handleEnter($event)", "dragleave": "handleLeave($event)", "dragover": "handleOver($event)" }, properties: { "id": "this.id", "attr.aria-describedby": "this.describedBy" }, classAttribute: "file-dropable" }, viewQueries: [{ propertyName: "_input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<button mat-button *ngIf=\"!items.length; else preview\" (click)=\"open()\">\r\n <mat-icon class=\"filled\">{{icon}}</mat-icon>\r\n <span class=\"mat-h3\">{{placeholder}}</span>\r\n</button>\r\n<input type=\"file\" #input\r\n [accept]=accept [multiple]=multiple (change)='_change($event)' style=\"display: none\" />\r\n<ng-template #preview>\r\n <div *ngFor='let a of items' class=\"attachment-item\"\r\n [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\"\r\n [progressIndicator]=\"a.progress\">\r\n <div class=\"file-preview\">\r\n <img *ngIf=\"a.isImage\" [src]=\"a.url\" (click)=\"apreview(a)\" height=\"80\">\r\n <button mat-icon-button *ngIf=\"a.hasPreview && !a.isImage\" [bizdocTooltip]=\"'Preview'|translate\" (click)=\"apreview(a)\" [ngSwitch]=\"a.icon !== undefined\">\r\n <mat-icon *ngSwitchCase=\"true\" [svgIcon]=\"a.icon\" [inline]=\"false\"></mat-icon>\r\n <mat-icon *ngSwitchDefault class=\"mat-icon-rtl-mirror\">find_in_page</mat-icon>\r\n </button>\r\n <mat-icon *ngIf=\"!a.hasPreview && a.icon\" [svgIcon]=\"a.icon\" [inline]=\"false\"></mat-icon>\r\n </div>\r\n <div class=\"file-overlay row\">\r\n <span class=\"filename\">{{a.fileName}}</span>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button class=\"options\" [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Options' | translate\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </div>\r\n <mat-menu #menu>\r\n <ng-container *ngIf=\"!a.failed\">\r\n <ng-container *ngIf=\"canEdit(a) && !a.failed\">\r\n <ng-container *ngIf=\"!a.checkedOut\">\r\n <button mat-menu-item (click)=\"checkOut(a)\">{{\"CheckOut\" | translate}}</button>\r\n <button mat-menu-item *ngIf=\"multiple\" (click)=\"open()\">{{\"Add\" | translate}}</button>\r\n </ng-container>\r\n <button mat-menu-item (click)=\"checkIn(a)\" *ngIf=\"a.checkedOut\">{{\"CheckIn\" | translate}}</button>\r\n </ng-container>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\r\n <button mat-menu-item *ngIf=\"a.hasPreview\" (click)=\"apreview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\r\n <ng-container *ngIf=\"hasVersions(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item *ngFor=\"let v of getVersions(a)\" (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"canEdit(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\r\n </ng-container>\r\n </ng-container>\r\n <button mat-menu-item (click)=\"cancel(a)\" *ngIf=\"a.failed\">{{\"Cancel\" | translate}}</button>\r\n </mat-menu>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:flex}.attachment-item{height:80px;position:relative;display:inline-flex}.attachment-item img{cursor:zoom-in}.attachment-item .file-overlay{position:relative;height:inherit}.attachment-item .file-overlay .filename{font-size:x-small;cursor:pointer;background:rgba(255,255,255,.4);align-self:flex-end}.attachment-item .file-overlay:hover .filename{background:white;opacity:.5}\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i8.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i8.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i9.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i10.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i11.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i12.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i12.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i12.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i13.ProgressDirective, selector: "[progressIndicator]", inputs: ["progressIndicator"] }, { kind: "directive", type: i14.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i15.CalendarPipe, name: "amCalendar" }, { kind: "pipe", type: i16.TranslatePipe, name: "translate" }] });
|
372
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: FileInput, decorators: [{
|
373
373
|
type: Component,
|
374
374
|
args: [{ host: { class: 'file-dropable' }, selector: 'bizdoc-file-upload', template: "<button mat-button *ngIf=\"!items.length; else preview\" (click)=\"open()\">\r\n <mat-icon class=\"filled\">{{icon}}</mat-icon>\r\n <span class=\"mat-h3\">{{placeholder}}</span>\r\n</button>\r\n<input type=\"file\" #input\r\n [accept]=accept [multiple]=multiple (change)='_change($event)' style=\"display: none\" />\r\n<ng-template #preview>\r\n <div *ngFor='let a of items' class=\"attachment-item\"\r\n [class.deleted]=\"a.deleted\" [class.failed]=\"a.failed\"\r\n [progressIndicator]=\"a.progress\">\r\n <div class=\"file-preview\">\r\n <img *ngIf=\"a.isImage\" [src]=\"a.url\" (click)=\"apreview(a)\" height=\"80\">\r\n <button mat-icon-button *ngIf=\"a.hasPreview && !a.isImage\" [bizdocTooltip]=\"'Preview'|translate\" (click)=\"apreview(a)\" [ngSwitch]=\"a.icon !== undefined\">\r\n <mat-icon *ngSwitchCase=\"true\" [svgIcon]=\"a.icon\" [inline]=\"false\"></mat-icon>\r\n <mat-icon *ngSwitchDefault class=\"mat-icon-rtl-mirror\">find_in_page</mat-icon>\r\n </button>\r\n <mat-icon *ngIf=\"!a.hasPreview && a.icon\" [svgIcon]=\"a.icon\" [inline]=\"false\"></mat-icon>\r\n </div>\r\n <div class=\"file-overlay row\">\r\n <span class=\"filename\">{{a.fileName}}</span>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button class=\"options\" [matMenuTriggerFor]=\"menu\" [bizdocTooltip]=\"'Options' | translate\">\r\n <mat-icon>more_vert</mat-icon>\r\n </button>\r\n </div>\r\n <mat-menu #menu>\r\n <ng-container *ngIf=\"!a.failed\">\r\n <ng-container *ngIf=\"canEdit(a) && !a.failed\">\r\n <ng-container *ngIf=\"!a.checkedOut\">\r\n <button mat-menu-item (click)=\"checkOut(a)\">{{\"CheckOut\" | translate}}</button>\r\n <button mat-menu-item *ngIf=\"multiple\" (click)=\"open()\">{{\"Add\" | translate}}</button>\r\n </ng-container>\r\n <button mat-menu-item (click)=\"checkIn(a)\" *ngIf=\"a.checkedOut\">{{\"CheckIn\" | translate}}</button>\r\n </ng-container>\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"download(a)\">{{\"Download\" | translate}}</button>\r\n <button mat-menu-item *ngIf=\"a.hasPreview\" (click)=\"apreview(a)\"><mat-icon>landscape</mat-icon> {{\"Preview\" | translate}}</button>\r\n <ng-container *ngIf=\"hasVersions(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item *ngFor=\"let v of getVersions(a)\" (click)=\"previewOrDownload(v)\">{{v.time | amCalendar}}</button>\r\n </ng-container>\r\n <ng-container *ngIf=\"canEdit(a)\">\r\n <mat-divider></mat-divider>\r\n <button mat-menu-item (click)=\"discard(a)\">{{\"Discard\" | translate}}</button>\r\n </ng-container>\r\n </ng-container>\r\n <button mat-menu-item (click)=\"cancel(a)\" *ngIf=\"a.failed\">{{\"Cancel\" | translate}}</button>\r\n </mat-menu>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:flex}.attachment-item{height:80px;position:relative;display:inline-flex}.attachment-item img{cursor:zoom-in}.attachment-item .file-overlay{position:relative;height:inherit}.attachment-item .file-overlay .filename{font-size:x-small;cursor:pointer;background:rgba(255,255,255,.4);align-self:flex-end}.attachment-item .file-overlay:hover .filename{background:white;opacity:.5}\n"] }]
|
375
375
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MailboxService }, { type: i2.DomSanitizer }, { type: i3.AttachmentInfo }, { type: i4.TranslateService }, { type: i5.SessionService }, { type: i6.PromptService }, { type: i7.NgControl, decorators: [{
|
@@ -417,4 +417,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
|
|
417
417
|
type: HostBinding,
|
418
418
|
args: ['attr.aria-describedby']
|
419
419
|
}] } });
|
420
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9jb250cm9scy9maWxlLmlucHV0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2NvbnRyb2xzL2ZpbGUuaW5wdXQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJOUksT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQW1CLGNBQWMsRUFBa0IsY0FBYyxFQUFlLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1sSCxNQUFNLGVBQWUsR0FBRyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztBQVFoRyxNQUFNLE9BQ0UsU0FBUztJQXdCZixZQUNVLGdCQUE0QixFQUM1QixRQUF3QixFQUN4QixVQUF3QixFQUN4QixlQUErQixFQUMvQixVQUE0QixFQUM1QixRQUF3QixFQUN4QixHQUFrQixF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QUFFLENBQUMsUUFBUSxDQUFDO2dCQU16QyxVQUFVO3NCQURULFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWVoQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU1yQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU1yQyxVQUFVO3NCQURULFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWdDdkIsS0FBSztzQkFBakIsS0FBSztnQkFPTyxXQUFXO3NCQUF2QixLQUFLO2dCQVdGLFFBQVE7c0JBRFgsS0FBSztnQkFTRixRQUFRO3NCQURYLEtBQUs7Z0JBUWdDLFdBQVc7c0JBQWhELFdBQVc7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFNlbGYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0NvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRhcCwgZmlyc3QsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnRJbmZvIH0gZnJvbSAnLi4vaW5mby9hdHRhY2htZW50LWluZm8uc2VydmljZSc7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnRFeHRyYSwgRE9DVU1FTlRfTU9ERUwsIE1haWxib3hTZXJ2aWNlLCByZXBvcnRQcm9ncmVzcywgVXBsb2FkRXZlbnQgfSBmcm9tICcuLi9tYWlsYm94LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50LCBSZWNpcGllbnRNb2RlbCB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuXHJcbmNvbnN0IEVYVEVOVElPTl9JQ09OUyA9IHsgJ3hsc3gnOiAnZXhjZWwnLCAnZG9jeCc6ICd3b3JkJywgJ3BwdHgnOiAncG93ZXJwb2ludCcsICdwZGYnOiAncGRmJyB9O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICdmaWxlLmlucHV0Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWydmaWxlLmlucHV0LnNjc3MnXSxcclxuICBob3N0OiB7IGNsYXNzOiAnZmlsZS1kcm9wYWJsZScgfSxcclxuICBzZWxlY3RvcjogJ2JpemRvYy1maWxlLXVwbG9hZCdcclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgRmlsZUlucHV0IGltcGxlbWVudHMgTWF0Rm9ybUZpZWxkQ29udHJvbDxudW1iZXIgfCBudW1iZXJbXT4sIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgbmV4dElkID0gMDtcclxuICBASG9zdEJpbmRpbmcoKSByZWFkb25seSBpZCA9IGB0eXBlLWZpbGUtdXBsb2FkLSR7RmlsZUlucHV0Lm5leHRJZCsrfWA7XHJcbiAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIF9tdWx0aXBsZSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBnZXQgbXVsdGlwbGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbXVsdGlwbGU7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBtdWx0aXBsZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5fbXVsdGlwbGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuICBASW5wdXQoKSBhY2NlcHQgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGljb24gPSAncHVibGlzaCc7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBfaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgaXRlbXMgPSBbXSBhcyBBdHRhY2htZW50RXh0cmFbXTtcclxuICBwcml2YXRlIF9wbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3JlcXVpcmVkOiBhbnk7XHJcbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfb25DaGFuZ2U6IGFueTtcclxuICBwcml2YXRlIF9vblRvdWNoZWQ6IGFueTtcclxuICBwcml2YXRlIF92YWx1ZTogbnVtYmVyIHwgbnVtYmVyW107XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZHJhZ0Ryb3AgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3BlbmRpbmcgPSBuZXcgU3ViamVjdDxGaWxlW10+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9kcm9wYWJsZUVsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIF9tYWlsYm94OiBNYWlsYm94U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgcHJpdmF0ZSBfYXR0YWNobWVudEluZm86IEF0dGFjaG1lbnRJbmZvLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxyXG4gICAgQEluamVjdChET0NVTUVOVF9NT0RFTCkgcHJpdmF0ZSBfbW9kZWw6IFJlY2lwaWVudE1vZGVsPGFueT4sXHJcbiAgKSB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcclxuICAgIH1cclxuICB9XHJcbiAgaGFzVmVyc2lvbnMoaXRlbTogQXR0YWNobWVudCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX21vZGVsLmF0dGFjaG1lbnRzLmZpbmQoYSA9PiBhLmZpbGVOYW1lID09PSBpdGVtLmZpbGVOYW1lICYmIGEuaWQgIT09IGl0ZW0uaWQpICE9PSBudWxsO1xyXG4gIH1cclxuICBnZXRWZXJzaW9ucyhpdGVtOiBBdHRhY2htZW50KTogQXR0YWNobWVudFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9tb2RlbC5hdHRhY2htZW50cy5maWx0ZXIoYSA9PiBhLmZpbGVOYW1lID09PSBpdGVtLmZpbGVOYW1lICYmIGEuaWQgIT09IGl0ZW0uaWQpO1xyXG4gIH1cclxuICBkb3dubG9hZChpdGVtOiBBdHRhY2htZW50RXh0cmEpIHtcclxuICAgIGxvY2F0aW9uLmhyZWYgPSB0aGlzLl9tYWlsYm94LmZvcm1hdERvd25sb2FkVXJsKHRoaXMuX21vZGVsLmRvY3VtZW50SWQsIGl0ZW0uaWQpO1xyXG4gICAgKGl0ZW0gYXMgQXR0YWNobWVudEV4dHJhKS52aWV3ZWQgPSBuZXcgRGF0ZSgpO1xyXG4gIH1cclxuICBwcmV2aWV3T3JEb3dubG9hZChpdGVtOiBBdHRhY2htZW50RXh0cmEpIHtcclxuICAgIGlmIChBdHRhY2htZW50SW5mby5leGlzdHMoaXRlbS5jb250ZW50VHlwZSkpXHJcbiAgICAgIHRoaXMuYXByZXZpZXcoaXRlbSk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuZG93bmxvYWQoaXRlbSk7XHJcbiAgfVxyXG4gIGNhbkVkaXQoaXRlbTogQXR0YWNobWVudEV4dHJhKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMuX21vZGVsLmNvbXBsZXRlZCAmJiBpdGVtLnVzZXJJZCA9PT0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLnVzZXJJZCAmJiAhaXRlbS5kZWxldGVkO1xyXG4gIH1cclxuICBhcHJldmlldyhpdGVtOiBBdHRhY2htZW50RXh0cmEpIHtcclxuICAgIHRoaXMuX2F0dGFjaG1lbnRJbmZvLnByZXZpZXcodGhpcy5fbW9kZWwsIGl0ZW0uaWQpO1xyXG4gIH1cclxuICBjYW5jZWwoaXRlbTogQXR0YWNobWVudEV4dHJhKSB7XHJcbiAgICB0aGlzLl9tb2RlbC5hdHRhY2htZW50cy5yZW1vdmUoaXRlbSk7XHJcbiAgfVxyXG4gIGNoZWNrSW4oaXRlbTogQXR0YWNobWVudEV4dHJhKSB7XHJcbiAgICBjb25zdCBhY2NlcHQgPSBpdGVtLmlzSW1hZ2UgPyAnaW1hZ2UvKicgOlxyXG4gICAgICAnLicgKyBBdHRhY2htZW50SW5mby5maWxlRXh0KGl0ZW0uZmlsZU5hbWUpICsgJywnICsgaXRlbS5jb250ZW50VHlwZTtcclxuICAgIHRoaXMuX3Byb21wdCh7IG11bHRpcGxlOiBmYWxzZSwgYWNjZXB0IH0pLnRoZW4oZmlsZXMgPT4ge1xyXG4gICAgICB0aGlzLl9tYWlsYm94LmNoZWNrSW4odGhpcy5fbW9kZWwuaWQsIHRoaXMuX21vZGVsLnZlcnNpb24sIGl0ZW0uaWQsIGZpbGVzWzBdKS5cclxuICAgICAgICBwaXBlKCkuXHJcbiAgICAgICAgc3Vic2NyaWJlKGEgPT4ge1xyXG4gICAgICAgICAgZGVsZXRlIGl0ZW0uY2hlY2tlZE91dDtcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXRlbSwgYSk7XHJcbiAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICBjb25zdCBpbmRleCA9ICh0aGlzLnZhbHVlIGFzIG51bWJlcltdKS5pbmRleE9mKGl0ZW0uaWQpO1xyXG4gICAgICAgICAgICAvLyByZXBsYWNlIHZhbHVlIHdpdGggbmV3IGlkXHJcbiAgICAgICAgICAgICh0aGlzLnZhbHVlIGFzIG51bWJlcltdKS5zcGxpY2UoaW5kZXgsIDEsIGEuaWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gYS5pZDtcclxuICAgICAgICAgIHRoaXMuX3NiLnRvYXN0KHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0NoZWNrZWRJbicsIGl0ZW0uZmlsZU5hbWUpKTtcclxuICAgICAgICB9LCBlID0+IHRoaXMuX2hhbmRsZUVycm9yKGUpKTtcclxuICAgIH1cclxuICAgIClcclxuICB9XHJcbiAgY2hlY2tPdXQoaXRlbTogQXR0YWNobWVudEV4dHJhKSB7XHJcbiAgICB0aGlzLl9tYWlsYm94LmNoZWNrT3V0KHRoaXMuX21vZGVsLmlkLCB0aGlzLl9tb2RlbC52ZXJzaW9uLCBpdGVtLmlkKS5cclxuICAgICAgc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpdGVtLmNoZWNrZWRPdXQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZG93bmxvYWQoaXRlbSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBkaXNjYXJkKGl0ZW06IEF0dGFjaG1lbnRFeHRyYSkge1xyXG4gICAgY29uc3QgdGFzayA9ICgpID0+XHJcbiAgICAgIHRoaXMuX21haWxib3gucmVtb3ZlYXR0YWNobWVudCh0aGlzLl9tb2RlbC5pZCwgaXRlbS5pZCkuc3Vic2NyaWJlKF8gPT4ge1xyXG4gICAgICAgIHRoaXMuaXRlbXMucmVtb3ZlKGl0ZW0pO1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5tdWx0aXBsZSA/IHRoaXMuaXRlbXMubGVuZ3RoID8gdGhpcy5pdGVtcy5tYXAoaSA9PiBpLmlkKSA6IG51bGwgOiBudWxsO1xyXG4gICAgICAgIHRoaXMuX29uQ2hhbmdlICYmIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgICAgIGNvbnN0IGFpdGVtID0gdGhpcy5fbW9kZWwuYXR0YWNobWVudHMuZmluZChhID0+IGEuaWQgPT09IGl0ZW0uaWQpO1xyXG4gICAgICAgIGFpdGVtLmRlbGV0ZWQgPSB0cnVlO1xyXG4gICAgICB9LCBlID0+XHJcbiAgICAgICAgdGhpcy5faGFuZGxlRXJyb3IoZSkpO1xyXG4gICAgaWYgKHRoaXMuX21vZGVsLmRyYWZ0KVxyXG4gICAgICB0YXNrKCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuX3NiLmFzaygnRGVsZXRlRmlsZUFzaycsICdEZWxldGVGaWxlJywgeyBjb2xvcjogJ3dhcm4nIH0pLnN1YnNjcmliZShvayA9PlxyXG4gICAgICAgIG9rICYmIHRhc2soKSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2hhbmRsZUVycm9yKHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSk6IHZvaWQge1xyXG4gICAgc3dpdGNoIChyZXNwb25zZS5zdGF0dXMpIHtcclxuICAgICAgY2FzZSA0MDE6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNDA5OiAvLyB2ZXJzaW9uIGNoYW5nZVxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdWZXJzaW9uRXJyJywgdGhpcy5fbW9kZWwubnVtYmVyKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgY2FzZSA0MDY6IC8vIHZhbGlkYXRpb24gZXhjZXB0aW9uXHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3JTdHJpbmcocmVzcG9uc2UuZXJyb3IpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuX2Ryb3BhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5fZHJhZ0Ryb3Auc3Vic2NyaWJlKG9rID0+IHtcclxuICAgICAgaWYgKG9rKSBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgnZHJhZycpO1xyXG4gICAgICBlbHNlIGNvbnRhaW5lci5jbGFzc0xpc3QucmVtb3ZlKCdkcmFnJyk7XHJcbiAgICB9KTtcclxuICAgIGlmICghdGhpcy5fcGxhY2Vob2xkZXIpIHRoaXMuX3BsYWNlaG9sZGVyID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnRHJhZ0ZpbGUnKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6ZHJvcCcsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlRG9jdW1lbnREcm9wKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZURyb3AoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuX2RyYWdEcm9wLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5fb25Ub3VjaGVkICYmIHRoaXMuX29uVG91Y2hlZCgpO1xyXG4gICAgLy8gdG8gYXJyYXlcclxuICAgIGNvbnN0IHsgaXRlbXMgfSA9IGV2ZW50LmRhdGFUcmFuc2ZlcjtcclxuICAgIGNvbnN0IGZpbGVzID0gW10gYXMgRmlsZVtdO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBmaWxlID0gaXRlbXNbaV0uZ2V0QXNGaWxlKCk7XHJcbiAgICAgIGZpbGVzLnB1c2goZmlsZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl91cGxvYWQoZmlsZXMpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdkcmFnZW50ZXInLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUVudGVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLl9kcmFnRHJvcC5uZXh0KHRydWUpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUxlYXZlKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLl9kcmFnRHJvcC5uZXh0KGZhbHNlKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZU92ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICF0aGlzLmRpc2FibGVkICYmIHRoaXMuX2RyYWdEcm9wLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG4gIHdyaXRlVmFsdWUodmFsOiBudW1iZXIgfCBudW1iZXJbXSk6IHZvaWQge1xyXG4gICAgaWYgKCF2YWwpIHtcclxuICAgICAgdGhpcy5pdGVtcyA9IFtdO1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlzQXJyYXkodmFsKSlcclxuICAgICAgdGhpcy5pdGVtcyA9XHJcbiAgICAgICAgdmFsLm1hcChpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGF0dGFjaG1lbnQgPSB0aGlzLl9tb2RlbC5hdHRhY2htZW50cy5maW5kKGEgPT4gYS5pZCA9PT0gaSk7XHJcbiAgICAgICAgICByZXR1cm4gYXR0YWNobWVudCA/IHRoaXMuX2NyZWF0ZUl0ZW0oYXR0YWNobWVudCkgOiBudWxsO1xyXG4gICAgICAgIH0pLmZpbHRlcihhID0+IGEpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGxldCBhdHRhY2htZW50ID0gdGhpcy5fbW9kZWwuYXR0YWNobWVudHMuZmluZChhID0+IGEuaWQgPT09IHZhbCk7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSBhdHRhY2htZW50ID8gW3RoaXMuX2NyZWF0ZUl0ZW0oYXR0YWNobWVudCldIDogW107XHJcbiAgICB9XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbDtcclxuICB9XHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGdldCB2YWx1ZSgpOiBudW1iZXIgfCBudW1iZXJbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG4gIHNldCB2YWx1ZSh2YWw6IG51bWJlciB8IG51bWJlcltdKSB7XHJcbiAgICB0aGlzLndyaXRlVmFsdWUodmFsKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgQElucHV0KCkgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXI7XHJcbiAgfVxyXG4gIHNldCBwbGFjZWhvbGRlcihwbGg6IHN0cmluZykge1xyXG4gICAgdGhpcy5fcGxhY2Vob2xkZXIgPSBwbGg7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIGZvY3VzZWQ6IGJvb2xlYW47XHJcbiAgZ2V0IGVtcHR5KCk6IGJvb2xlYW4geyByZXR1cm4gIXRoaXMuX3ZhbHVlOyB9XHJcbiAgc2hvdWxkTGFiZWxGbG9hdDogYm9vbGVhbjtcclxuICBASW5wdXQoKVxyXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcclxuICB9XHJcbiAgc2V0IHJlcXVpcmVkKHJlcTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkocmVxKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBlcnJvclN0YXRlID0gZmFsc2U7XHJcbiAgY29udHJvbFR5cGU/OiBzdHJpbmcgPSAnYml6ZG9jLWZpbGUtdXBsb2FkJztcclxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kZXNjcmliZWRieScpIGRlc2NyaWJlZEJ5ID0gJyc7XHJcbiAgc2V0RGVzY3JpYmVkQnlJZHMoaWRzOiBzdHJpbmdbXSkge1xyXG4gICAgdGhpcy5kZXNjcmliZWRCeSA9IGlkcy5qb2luKCcgJyk7XHJcbiAgfVxyXG4gIG9uQ29udGFpbmVyQ2xpY2soKTogdm9pZCB7XHJcbiAgfVxyXG4gIG9wZW4oKSB7XHJcbiAgICB0aGlzLl9wcm9tcHQoKS50aGVuKFxyXG4gICAgICB0aGlzLl91cGxvYWQuYmluZCh0aGlzKSlcclxuICB9XHJcbiAgcHJpdmF0ZSBfcHJvbXB0KG9wdGlvbnM/OiB7IG11bHRpcGxlOiBib29sZWFuLCBhY2NlcHQ/OiBzdHJpbmcgfSk6IFByb21pc2U8RmlsZVtdPiB7XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBpZiAob3B0aW9ucy5hY2NlcHQpXHJcbiAgICAgICAgdGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC5hY2NlcHQgPSBvcHRpb25zLmFjY2VwdDtcclxuICAgICAgaWYgKG9wdGlvbnMubXVsdGlwbGUgIT09IHVuZGVmaW5lZClcclxuICAgICAgICB0aGlzLl9pbnB1dC5uYXRpdmVFbGVtZW50Lm11bHRpcGxlID0gb3B0aW9ucy5tdWx0aXBsZTtcclxuICAgIH1cclxuICAgIHRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRoaXMuX3BlbmRpbmcucGlwZShmaXJzdCgpKS5cclxuICAgICAgICBzdWJzY3JpYmUocmVzb2x2ZSwgcmVqZWN0KTtcclxuICAgIH0pXHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBldnRcclxuICAgKi9cclxuICBfY2hhbmdlKGV2dDogSW5wdXRFdmVudCkge1xyXG4gICAgdGhpcy5fb25Ub3VjaGVkICYmIHRoaXMuX29uVG91Y2hlZCgpO1xyXG4gICAgY29uc3QgeyBmaWxlcyB9ID0gZXZ0LnNyY0VsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IGFyciA9IFtdIGFzIEZpbGVbXTtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IGZpbGUgPSBmaWxlcy5pdGVtKGkpO1xyXG4gICAgICBhcnIucHVzaChmaWxlKTtcclxuICAgIH1cclxuICAgIHRoaXMuX3BlbmRpbmcubmV4dChhcnIpO1xyXG4gICAgdGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBhdHRhY2htZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfY3JlYXRlSXRlbShhdHRhY2htZW50OiBBdHRhY2htZW50KSB7XHJcbiAgICBjb25zdCBmaWxlRXh0ID0gQXR0YWNobWVudEluZm8uZmlsZUV4dChhdHRhY2htZW50LmZpbGVOYW1lKSxcclxuICAgICAgaGFzUHJldmlldyA9IEF0dGFjaG1lbnRJbmZvLmV4aXN0cyhhdHRhY2htZW50LmNvbnRlbnRUeXBlKSxcclxuICAgICAgaXNJbWFnZSA9IGhhc1ByZXZpZXcgJiYgQXR0YWNobWVudEluZm8uaXNJbWFnZShhdHRhY2htZW50LmNvbnRlbnRUeXBlKSxcclxuICAgICAgdXJsID0gaXNJbWFnZSA/IHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFxyXG4gICAgICAgIHRoaXMuX21haWxib3guZm9ybWF0RG93bmxvYWRVcmwodGhpcy5fbW9kZWwuZG9jdW1lbnRJZCwgYXR0YWNobWVudC5pZCkpIDogbnVsbDtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIC4uLmF0dGFjaG1lbnQsXHJcbiAgICAgIGhhc1ByZXZpZXcsXHJcbiAgICAgIGlzSW1hZ2UsXHJcbiAgICAgIGZpbGVFeHQsXHJcbiAgICAgIHVybCxcclxuICAgICAgaWNvbjogRVhURU5USU9OX0lDT05TW2ZpbGVFeHRdLFxyXG4gICAgICBjaGVja2VkT3V0OlxyXG4gICAgICAgIGF0dGFjaG1lbnQuY2hlY2tlZE91dCAmJlxyXG4gICAgICAgIGF0dGFjaG1lbnQuaG9sZGluZ0lkID09PSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUudXNlcklkXHJcbiAgICB9IGFzIEF0dGFjaG1lbnRFeHRyYTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGZpbGVzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfdXBsb2FkKGZpbGVzOiBGaWxlW10pIHtcclxuICAgIGNvbnN0IG9ic2VydmFibGVzID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBmaWxlID0gZmlsZXNbaV0sXHJcbiAgICAgICAgaXRlbSA9IHRoaXMuaXRlbXMuZmluZChpID0+IGZpbGUubmFtZSA9PT0gaS5maWxlTmFtZSk7XHJcbiAgICAgIC8vIGV4aXN0c1xyXG4gICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgIC8vIGlzIGNoZWNrZWQgb3V0XHJcbiAgICAgICAgaWYgKGl0ZW0uY2hlY2tlZE91dCkge1xyXG4gICAgICAgICAgLy8gY2hlY2sgaW5cclxuICAgICAgICAgIGxldCBvYnNlcnZhYmxlID0gdGhpcy5fbWFpbGJveC5jaGVja0luKHRoaXMuX21vZGVsLmlkLCB0aGlzLl9tb2RlbC52ZXJzaW9uLCBpdGVtLmlkLCBmaWxlKS5cclxuICAgICAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzcyhpdGVtKSwgY2F0Y2hFcnJvcihlID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUVycm9yKGUpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgICAgICAgICAgICB9KSwgdGFwKChhOiBBdHRhY2htZW50IHwgZmFsc2UpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChhKSB7XHJcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLmNoZWNrZWRPdXQ7XHJcbiAgICAgICAgICAgICAgICAgIC8vIHJlcGxhY2UgaWRcclxuICAgICAgICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLm11bHRpcGxlID8gdGhpcy5pdGVtcy5tYXAoaSA9PiBpLmlkKSA6IGEuaWQ7XHJcbiAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXRlbSwgYSk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlICYmIHRoaXMuX29uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKG9ic2VydmFibGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh0aGlzLmNhbkVkaXQoaXRlbSkpIHtcclxuICAgICAgICAgIC8vIGV4aXN0aW5nIGl0ZW0sIG92ZXJyaWRlXHJcbiAgICAgICAgICBsZXQgb2JzZXJ2YWJsZSA9IHRoaXMuX21haWxib3gudXBsb2FkKHRoaXMuX21vZGVsLmlkLCB0aGlzLl9tb2RlbC5mb3JtSWQsIHRoaXMuX21vZGVsLnZlcnNpb24sXHJcbiAgICAgICAgICAgIGZpbGUsIHsgaXNQcml2YXRlOiB0cnVlIH0pLlxyXG4gICAgICAgICAgICBwaXBlKHJlcG9ydFByb2dyZXNzKGl0ZW0pLCBjYXRjaEVycm9yKGUgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUVycm9yKGUpO1xyXG4gICAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICAgICAgICAgIH0pLCB0YXAoKGE6IEF0dGFjaG1lbnQpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoYSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLm11bHRpcGxlID8gdGhpcy5pdGVtcy5tYXAoaSA9PiBpLmlkKSA6IGEuaWQ7XHJcbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGl0ZW0sIGEpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UgJiYgdGhpcy5fb25DaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgLyogbm8gdG9hc3QgKi9cclxuICAgICAgICAgICAgICBzd2l0Y2hNYXAoXyA9PiBvZihmYWxzZSkpKTtcclxuICAgICAgICAgIG9ic2VydmFibGVzLnB1c2gob2JzZXJ2YWJsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIFRPRE8gYWRkIHBlbmRpbmdcclxuICAgICAgICAvL3RoaXMuaXRlbXMucHVzaCh0aGlzLl9jcmVhdGVJdGVtKGEpKTtcclxuICAgICAgICAvLyB1cGxvYWQgbmV3XHJcbiAgICAgICAgbGV0IG9ic2VydmFibGUgPSB0aGlzLl9tYWlsYm94LnVwbG9hZCh0aGlzLl9tb2RlbC5pZCwgdGhpcy5fbW9kZWwuZm9ybUlkLCB0aGlzLl9tb2RlbC52ZXJzaW9uLFxyXG4gICAgICAgICAgZmlsZSwgeyBpc1ByaXZhdGU6IHRydWUgfSkuXHJcbiAgICAgICAgICBwaXBlKC8qVE9ETyByZXBvcnRQcm9ncmVzcyhpdGVtKSwgKi9jYXRjaEVycm9yKGUgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVFcnJvcihlKTtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgICAgICAgIH0pLCB0YXAoKGE6IEF0dGFjaG1lbnQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGEpIHtcclxuICAgICAgICAgICAgICB0aGlzLl9tb2RlbC5hdHRhY2htZW50cy5wdXNoKGEpO1xyXG4gICAgICAgICAgICAgIHRoaXMuaXRlbXMucHVzaCh0aGlzLl9jcmVhdGVJdGVtKGEpKTtcclxuICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMubXVsdGlwbGUgPyB0aGlzLml0ZW1zLm1hcChpID0+IGkuaWQpIDogYS5pZDtcclxuICAgICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSAmJiB0aGlzLl9vbkNoYW5nZSh0aGlzLl92YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAvKiBubyB0b2FzdCAqL1xyXG4gICAgICAgICAgICBzd2l0Y2hNYXAoXyA9PiBvZihmYWxzZSkpKTtcclxuICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKG9ic2VydmFibGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBmb3JrSm9pbihvYnNlcnZhYmxlcykuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICAvLyBmaWx0ZXIgbm9uIGZhbHNlXHJcbiAgICAgIGNvbnN0IGF0dGFjaG1lbnRzID0gZS5maWx0ZXIoZSA9PiBlKSBhcyBBdHRhY2htZW50W107XHJcbiAgICAgIC8vIGFueVxyXG4gICAgICBhdHRhY2htZW50cy5sZW5ndGggJiZcclxuICAgICAgICB0aGlzLl9zYi50b2FzdChcclxuICAgICAgICAgIGF0dGFjaG1lbnRzLmxlbmd0aCA+IDEgP1xyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2xhdGUuZ2V0KCdDaGVja2VkSW5OJywgYXR0YWNobWVudHMubGVuZ3RoKSA6XHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0NoZWNrZWRJbicsIGF0dGFjaG1lbnRzWzBdLmZpbGVOYW1lKVxyXG4gICAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kcmFnRHJvcC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fcGVuZGluZy5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvbiBtYXQtYnV0dG9uICpuZ0lmPVwiIWl0ZW1zLmxlbmd0aDsgZWxzZSBwcmV2aWV3XCIgKGNsaWNrKT1cIm9wZW4oKVwiPlxyXG4gIDxtYXQtaWNvbiBjbGFzcz1cImZpbGxlZFwiPnt7aWNvbn19PC9tYXQtaWNvbj5cclxuICA8c3BhbiBjbGFzcz1cIm1hdC1oM1wiPnt7cGxhY2Vob2xkZXJ9fTwvc3Bhbj5cclxuPC9idXR0b24+XHJcbjxpbnB1dCB0eXBlPVwiZmlsZVwiICNpbnB1dFxyXG4gICAgICAgW2FjY2VwdF09YWNjZXB0IFttdWx0aXBsZV09bXVsdGlwbGUgKGNoYW5nZSk9J19jaGFuZ2UoJGV2ZW50KScgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgLz5cclxuPG5nLXRlbXBsYXRlICNwcmV2aWV3PlxyXG4gIDxkaXYgKm5nRm9yPSdsZXQgYSBvZiBpdGVtcycgY2xhc3M9XCJhdHRhY2htZW50LWl0ZW1cIlxyXG4gICAgICAgW2NsYXNzLmRlbGV0ZWRdPVwiYS5kZWxldGVkXCIgW2NsYXNzLmZhaWxlZF09XCJhLmZhaWxlZFwiXHJcbiAgICAgICBbcHJvZ3Jlc3NJbmRpY2F0b3JdPVwiYS5wcm9ncmVzc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZpbGUtcHJldmlld1wiPlxyXG4gICAgICA8aW1nICpuZ0lmPVwiYS5pc0ltYWdlXCIgW3NyY109XCJhLnVybFwiIChjbGljayk9XCJhcHJldmlldyhhKVwiIGhlaWdodD1cIjgwXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwiYS5oYXNQcmV2aWV3ICYmICFhLmlzSW1hZ2VcIiBbYml6ZG9jVG9vbHRpcF09XCInUHJldmlldyd8dHJhbnNsYXRlXCIgKGNsaWNrKT1cImFwcmV2aWV3KGEpXCIgW25nU3dpdGNoXT1cImEuaWNvbiAhPT0gdW5kZWZpbmVkXCI+XHJcbiAgICAgICAgPG1hdC1pY29uICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCIgW3N2Z0ljb25dPVwiYS5pY29uXCIgW2lubGluZV09XCJmYWxzZVwiPjwvbWF0LWljb24+XHJcbiAgICAgICAgPG1hdC1pY29uICpuZ1N3aXRjaERlZmF1bHQgY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+ZmluZF9pbl9wYWdlPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIiFhLmhhc1ByZXZpZXcgJiYgYS5pY29uXCIgW3N2Z0ljb25dPVwiYS5pY29uXCIgW2lubGluZV09XCJmYWxzZVwiPjwvbWF0LWljb24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWxlLW92ZXJsYXkgcm93XCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZW5hbWVcIj57e2EuZmlsZU5hbWV9fTwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cIm9wdGlvbnNcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIFtiaXpkb2NUb29sdGlwXT1cIidPcHRpb25zJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG1hdC1tZW51ICNtZW51PlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWEuZmFpbGVkXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhbkVkaXQoYSkgJiYgIWEuZmFpbGVkXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWEuY2hlY2tlZE91dFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImNoZWNrT3V0KGEpXCI+e3tcIkNoZWNrT3V0XCIgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJtdWx0aXBsZVwiIChjbGljayk9XCJvcGVuKClcIj57e1wiQWRkXCIgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImNoZWNrSW4oYSlcIiAqbmdJZj1cImEuY2hlY2tlZE91dFwiPnt7XCJDaGVja0luXCIgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZG93bmxvYWQoYSlcIj57e1wiRG93bmxvYWRcIiB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0lmPVwiYS5oYXNQcmV2aWV3XCIgKGNsaWNrKT1cImFwcmV2aWV3KGEpXCI+PG1hdC1pY29uPmxhbmRzY2FwZTwvbWF0LWljb24+IHt7XCJQcmV2aWV3XCIgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNWZXJzaW9ucyhhKVwiPlxyXG4gICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IHYgb2YgZ2V0VmVyc2lvbnMoYSlcIiAoY2xpY2spPVwicHJldmlld09yRG93bmxvYWQodilcIj57e3YudGltZSB8ICBhbUNhbGVuZGFyfX08L2J1dHRvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2FuRWRpdChhKVwiPlxyXG4gICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImRpc2NhcmQoYSlcIj57e1wiRGlzY2FyZFwiIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiY2FuY2VsKGEpXCIgKm5nSWY9XCJhLmZhaWxlZFwiPnt7XCJDYW5jZWxcIiB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICA8L21hdC1tZW51PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
420
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9jb250cm9scy9maWxlLmlucHV0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2NvbnRyb2xzL2ZpbGUuaW5wdXQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJOUksT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFOUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQW1CLGNBQWMsRUFBa0IsY0FBYyxFQUFlLE1BQU0sb0JBQW9CLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1sSCxNQUFNLGVBQWUsR0FBRyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQztBQVFoRyxNQUFNLE9BQ0UsU0FBUztJQXdCZixZQUNVLGdCQUE0QixFQUM1QixRQUF3QixFQUN4QixVQUF3QixFQUN4QixlQUErQixFQUMvQixVQUE0QixFQUM1QixRQUF3QixFQUN4QixHQUFrQixF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QUFFLENBQUMsUUFBUSxDQUFDO2dCQU16QyxVQUFVO3NCQURULFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWVoQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU1yQyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU1yQyxVQUFVO3NCQURULFlBQVk7dUJBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQWdDdkIsS0FBSztzQkFBakIsS0FBSztnQkFPTyxXQUFXO3NCQUF2QixLQUFLO2dCQVdGLFFBQVE7c0JBRFgsS0FBSztnQkFTRixRQUFRO3NCQURYLEtBQUs7Z0JBUWdDLFdBQVc7c0JBQWhELFdBQVc7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFNlbGYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0NvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIHRhcCwgZmlyc3QsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnRJbmZvIH0gZnJvbSAnLi4vaW5mby9hdHRhY2htZW50LWluZm8uc2VydmljZSc7XHJcbmltcG9ydCB7IEF0dGFjaG1lbnRFeHRyYSwgRE9DVU1FTlRfTU9ERUwsIE1haWxib3hTZXJ2aWNlLCByZXBvcnRQcm9ncmVzcywgVXBsb2FkRXZlbnQgfSBmcm9tICcuLi9tYWlsYm94LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdHRhY2htZW50LCBSZWNpcGllbnRNb2RlbCB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IFByb21wdFNlcnZpY2UgfSBmcm9tICcuLi9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuXHJcbmNvbnN0IEVYVEVOVElPTl9JQ09OUyA9IHsgJ3hsc3gnOiAnZXhjZWwnLCAnZG9jeCc6ICd3b3JkJywgJ3BwdHgnOiAncG93ZXJwb2ludCcsICdwZGYnOiAncGRmJyB9O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICdmaWxlLmlucHV0Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWydmaWxlLmlucHV0LnNjc3MnXSxcclxuICBob3N0OiB7IGNsYXNzOiAnZmlsZS1kcm9wYWJsZScgfSxcclxuICBzZWxlY3RvcjogJ2JpemRvYy1maWxlLXVwbG9hZCdcclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgRmlsZUlucHV0IGltcGxlbWVudHMgTWF0Rm9ybUZpZWxkQ29udHJvbDxudW1iZXIgfCBudW1iZXJbXT4sIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgbmV4dElkID0gMDtcclxuICBASG9zdEJpbmRpbmcoKSByZWFkb25seSBpZCA9IGB0eXBlLWZpbGUtdXBsb2FkLSR7RmlsZUlucHV0Lm5leHRJZCsrfWA7XHJcbiAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIF9tdWx0aXBsZSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBnZXQgbXVsdGlwbGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbXVsdGlwbGU7XHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBtdWx0aXBsZSh2YWx1ZSkge1xyXG4gICAgdGhpcy5fbXVsdGlwbGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuICBASW5wdXQoKSBhY2NlcHQgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGljb24gPSAncHVibGlzaCc7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBfaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgaXRlbXMgPSBbXSBhcyBBdHRhY2htZW50RXh0cmFbXTtcclxuICBwcml2YXRlIF9wbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3JlcXVpcmVkOiBhbnk7XHJcbiAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfb25DaGFuZ2U6IGFueTtcclxuICBwcml2YXRlIF9vblRvdWNoZWQ6IGFueTtcclxuICBwcml2YXRlIF92YWx1ZTogbnVtYmVyIHwgbnVtYmVyW107XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZHJhZ0Ryb3AgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX3BlbmRpbmcgPSBuZXcgU3ViamVjdDxGaWxlW10+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9kcm9wYWJsZUVsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIF9tYWlsYm94OiBNYWlsYm94U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nhbml0aXplcjogRG9tU2FuaXRpemVyLFxyXG4gICAgcHJpdmF0ZSBfYXR0YWNobWVudEluZm86IEF0dGFjaG1lbnRJbmZvLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sLFxyXG4gICAgQEluamVjdChET0NVTUVOVF9NT0RFTCkgcHJpdmF0ZSBfbW9kZWw6IFJlY2lwaWVudE1vZGVsPGFueT4sXHJcbiAgKSB7XHJcbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcclxuICAgIH1cclxuICB9XHJcbiAgaGFzVmVyc2lvbnMoaXRlbTogQXR0YWNobWVudCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX21vZGVsLmF0dGFjaG1lbnRzLmZpbmQoYSA9PiBhLmZpbGVOYW1lID09PSBpdGVtLmZpbGVOYW1lICYmIGEuaWQgIT09IGl0ZW0uaWQpICE9PSBudWxsO1xyXG4gIH1cclxuICBnZXRWZXJzaW9ucyhpdGVtOiBBdHRhY2htZW50KTogQXR0YWNobWVudFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9tb2RlbC5hdHRhY2htZW50cy5maWx0ZXIoYSA9PiBhLmZpbGVOYW1lID09PSBpdGVtLmZpbGVOYW1lICYmIGEuaWQgIT09IGl0ZW0uaWQpO1xyXG4gIH1cclxuICBkb3dubG9hZChpdGVtOiBBdHRhY2htZW50RXh0cmEpIHtcclxuICAgIGxvY2F0aW9uLmhyZWYgPSB0aGlzLl9tYWlsYm94LmZvcm1hdERvd25sb2FkVXJsKHRoaXMuX21vZGVsLmRvY3VtZW50SWQsIGl0ZW0uaWQpO1xyXG4gICAgKGl0ZW0gYXMgQXR0YWNobWVudEV4dHJhKS52aWV3ZWQgPSBuZXcgRGF0ZSgpO1xyXG4gIH1cclxuICBwcmV2aWV3T3JEb3dubG9hZChpdGVtOiBBdHRhY2htZW50RXh0cmEpIHtcclxuICAgIGlmIChBdHRhY2htZW50SW5mby5leGlzdHMoaXRlbS5jb250ZW50VHlwZSkpXHJcbiAgICAgIHRoaXMuYXByZXZpZXcoaXRlbSk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuZG93bmxvYWQoaXRlbSk7XHJcbiAgfVxyXG4gIGNhbkVkaXQoaXRlbTogQXR0YWNobWVudEV4dHJhKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gIXRoaXMuX21vZGVsLmNvbXBsZXRlZCAmJiBpdGVtLnVzZXJJZCA9PT0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLnVzZXJJZCAmJiAhaXRlbS5kZWxldGVkO1xyXG4gIH1cclxuICBhcHJldmlldyhpdGVtOiBBdHRhY2htZW50RXh0cmEpIHtcclxuICAgIHRoaXMuX2F0dGFjaG1lbnRJbmZvLnByZXZpZXcodGhpcy5fbW9kZWwsIGl0ZW0uaWQpO1xyXG4gIH1cclxuICBjYW5jZWwoaXRlbTogQXR0YWNobWVudEV4dHJhKSB7XHJcbiAgICB0aGlzLl9tb2RlbC5hdHRhY2htZW50cy5yZW1vdmUoaXRlbSk7XHJcbiAgfVxyXG4gIGNoZWNrSW4oaXRlbTogQXR0YWNobWVudEV4dHJhKSB7XHJcbiAgICBjb25zdCBhY2NlcHQgPSBpdGVtLmlzSW1hZ2UgPyAnaW1hZ2UvKicgOlxyXG4gICAgICAnLicgKyBBdHRhY2htZW50SW5mby5maWxlRXh0KGl0ZW0uZmlsZU5hbWUpICsgJywnICsgaXRlbS5jb250ZW50VHlwZTtcclxuICAgIHRoaXMuX3Byb21wdCh7IG11bHRpcGxlOiBmYWxzZSwgYWNjZXB0IH0pLnRoZW4oZmlsZXMgPT4ge1xyXG4gICAgICB0aGlzLl9tYWlsYm94LmNoZWNrSW4odGhpcy5fbW9kZWwuaWQsIHRoaXMuX21vZGVsLnZlcnNpb24sIGl0ZW0uaWQsIGZpbGVzWzBdKS5cclxuICAgICAgICBwaXBlKCkuXHJcbiAgICAgICAgc3Vic2NyaWJlKGEgPT4ge1xyXG4gICAgICAgICAgZGVsZXRlIGl0ZW0uY2hlY2tlZE91dDtcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXRlbSwgYSk7XHJcbiAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICBjb25zdCBpbmRleCA9ICh0aGlzLnZhbHVlIGFzIG51bWJlcltdKS5pbmRleE9mKGl0ZW0uaWQpO1xyXG4gICAgICAgICAgICAvLyByZXBsYWNlIHZhbHVlIHdpdGggbmV3IGlkXHJcbiAgICAgICAgICAgICh0aGlzLnZhbHVlIGFzIG51bWJlcltdKS5zcGxpY2UoaW5kZXgsIDEsIGEuaWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gYS5pZDtcclxuICAgICAgICAgIHRoaXMuX3NiLnRvYXN0KHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0NoZWNrZWRJbicsIGl0ZW0uZmlsZU5hbWUpKTtcclxuICAgICAgICB9LCBlID0+IHRoaXMuX2hhbmRsZUVycm9yKGUpKTtcclxuICAgIH1cclxuICAgIClcclxuICB9XHJcbiAgY2hlY2tPdXQoaXRlbTogQXR0YWNobWVudEV4dHJhKSB7XHJcbiAgICB0aGlzLl9tYWlsYm94LmNoZWNrT3V0KHRoaXMuX21vZGVsLmlkLCB0aGlzLl9tb2RlbC52ZXJzaW9uLCBpdGVtLmlkKS5cclxuICAgICAgc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpdGVtLmNoZWNrZWRPdXQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZG93bmxvYWQoaXRlbSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBkaXNjYXJkKGl0ZW06IEF0dGFjaG1lbnRFeHRyYSkge1xyXG4gICAgY29uc3QgdGFzayA9ICgpID0+XHJcbiAgICAgIHRoaXMuX21haWxib3gucmVtb3ZlYXR0YWNobWVudCh0aGlzLl9tb2RlbC5pZCwgaXRlbS5pZCkuc3Vic2NyaWJlKF8gPT4ge1xyXG4gICAgICAgIHRoaXMuaXRlbXMucmVtb3ZlKGl0ZW0pO1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdGhpcy5tdWx0aXBsZSA/IHRoaXMuaXRlbXMubGVuZ3RoID8gdGhpcy5pdGVtcy5tYXAoaSA9PiBpLmlkKSA6IG51bGwgOiBudWxsO1xyXG4gICAgICAgIHRoaXMuX29uQ2hhbmdlICYmIHRoaXMuX29uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgICAgIGNvbnN0IGFpdGVtID0gdGhpcy5fbW9kZWwuYXR0YWNobWVudHMuZmluZChhID0+IGEuaWQgPT09IGl0ZW0uaWQpO1xyXG4gICAgICAgIGFpdGVtLmRlbGV0ZWQgPSB0cnVlO1xyXG4gICAgICB9LCBlID0+XHJcbiAgICAgICAgdGhpcy5faGFuZGxlRXJyb3IoZSkpO1xyXG4gICAgaWYgKHRoaXMuX21vZGVsLmRyYWZ0KVxyXG4gICAgICB0YXNrKCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuX3NiLmFzaygnRGVsZXRlRmlsZUFzaycsICdEZWxldGVGaWxlJywgeyBjb2xvcjogJ3dhcm4nIH0pLnN1YnNjcmliZShvayA9PlxyXG4gICAgICAgIG9rICYmIHRhc2soKSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2hhbmRsZUVycm9yKHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSk6IHZvaWQge1xyXG4gICAgc3dpdGNoIChyZXNwb25zZS5zdGF0dXMpIHtcclxuICAgICAgY2FzZSA0MDE6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNDA5OiAvLyB2ZXJzaW9uIGNoYW5nZVxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRoaXMuX3NiLmVycm9yKCdWZXJzaW9uRXJyJywgdGhpcy5fbW9kZWwubnVtYmVyKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgY2FzZSA0MDY6IC8vIHZhbGlkYXRpb24gZXhjZXB0aW9uXHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3JTdHJpbmcocmVzcG9uc2UuZXJyb3IpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuX2Ryb3BhYmxlRWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgdGhpcy5fZHJhZ0Ryb3Auc3Vic2NyaWJlKG9rID0+IHtcclxuICAgICAgaWYgKG9rKSBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgnZHJhZycpO1xyXG4gICAgICBlbHNlIGNvbnRhaW5lci5jbGFzc0xpc3QucmVtb3ZlKCdkcmFnJyk7XHJcbiAgICB9KTtcclxuICAgIGlmICghdGhpcy5fcGxhY2Vob2xkZXIpIHRoaXMuX3BsYWNlaG9sZGVyID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnRHJhZ0ZpbGUnKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6ZHJvcCcsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlRG9jdW1lbnREcm9wKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG4gIEBIb3N0TGlzdGVuZXIoJ2Ryb3AnLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZURyb3AoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIHRoaXMuX2RyYWdEcm9wLm5leHQoZmFsc2UpO1xyXG4gICAgdGhpcy5fb25Ub3VjaGVkICYmIHRoaXMuX29uVG91Y2hlZCgpO1xyXG4gICAgLy8gdG8gYXJyYXlcclxuICAgIGNvbnN0IHsgaXRlbXMgfSA9IGV2ZW50LmRhdGFUcmFuc2ZlcjtcclxuICAgIGNvbnN0IGZpbGVzID0gW10gYXMgRmlsZVtdO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBmaWxlID0gaXRlbXNbaV0uZ2V0QXNGaWxlKCk7XHJcbiAgICAgIGZpbGVzLnB1c2goZmlsZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl91cGxvYWQoZmlsZXMpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdkcmFnZW50ZXInLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUVudGVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLl9kcmFnRHJvcC5uZXh0KHRydWUpO1xyXG4gIH1cclxuICBASG9zdExpc3RlbmVyKCdkcmFnbGVhdmUnLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZUxlYXZlKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLl9kcmFnRHJvcC5uZXh0KGZhbHNlKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignZHJhZ292ZXInLCBbJyRldmVudCddKVxyXG4gIGhhbmRsZU92ZXIoZXZlbnQ6IERyYWdFdmVudCkge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICF0aGlzLmRpc2FibGVkICYmIHRoaXMuX2RyYWdEcm9wLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG4gIHdyaXRlVmFsdWUodmFsOiBudW1iZXIgfCBudW1iZXJbXSk6IHZvaWQge1xyXG4gICAgaWYgKCF2YWwpIHtcclxuICAgICAgdGhpcy5pdGVtcyA9IFtdO1xyXG4gICAgICB0aGlzLl92YWx1ZSA9IG51bGw7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGlzQXJyYXkodmFsKSlcclxuICAgICAgdGhpcy5pdGVtcyA9XHJcbiAgICAgICAgdmFsLm1hcChpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGF0dGFjaG1lbnQgPSB0aGlzLl9tb2RlbC5hdHRhY2htZW50cy5maW5kKGEgPT4gYS5pZCA9PT0gaSk7XHJcbiAgICAgICAgICByZXR1cm4gYXR0YWNobWVudCA/IHRoaXMuX2NyZWF0ZUl0ZW0oYXR0YWNobWVudCkgOiBudWxsO1xyXG4gICAgICAgIH0pLmZpbHRlcihhID0+IGEpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGxldCBhdHRhY2htZW50ID0gdGhpcy5fbW9kZWwuYXR0YWNobWVudHMuZmluZChhID0+IGEuaWQgPT09IHZhbCk7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSBhdHRhY2htZW50ID8gW3RoaXMuX2NyZWF0ZUl0ZW0oYXR0YWNobWVudCldIDogW107XHJcbiAgICB9XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbDtcclxuICB9XHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGdldCB2YWx1ZSgpOiBudW1iZXIgfCBudW1iZXJbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG4gIHNldCB2YWx1ZSh2YWw6IG51bWJlciB8IG51bWJlcltdKSB7XHJcbiAgICB0aGlzLndyaXRlVmFsdWUodmFsKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgQElucHV0KCkgZ2V0IHBsYWNlaG9sZGVyKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXI7XHJcbiAgfVxyXG4gIHNldCBwbGFjZWhvbGRlcihwbGg6IHN0cmluZykge1xyXG4gICAgdGhpcy5fcGxhY2Vob2xkZXIgPSBwbGg7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIGZvY3VzZWQ6IGJvb2xlYW47XHJcbiAgZ2V0IGVtcHR5KCk6IGJvb2xlYW4geyByZXR1cm4gIXRoaXMuX3ZhbHVlOyB9XHJcbiAgc2hvdWxkTGFiZWxGbG9hdDogYm9vbGVhbjtcclxuICBASW5wdXQoKVxyXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcclxuICB9XHJcbiAgc2V0IHJlcXVpcmVkKHJlcTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkocmVxKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBlcnJvclN0YXRlID0gZmFsc2U7XHJcbiAgY29udHJvbFR5cGU/OiBzdHJpbmcgPSAnYml6ZG9jLWZpbGUtdXBsb2FkJztcclxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kZXNjcmliZWRieScpIGRlc2NyaWJlZEJ5ID0gJyc7XHJcbiAgc2V0RGVzY3JpYmVkQnlJZHMoaWRzOiBzdHJpbmdbXSkge1xyXG4gICAgdGhpcy5kZXNjcmliZWRCeSA9IGlkcy5qb2luKCcgJyk7XHJcbiAgfVxyXG4gIG9uQ29udGFpbmVyQ2xpY2soKTogdm9pZCB7XHJcbiAgfVxyXG4gIG9wZW4oKSB7XHJcbiAgICB0aGlzLl9wcm9tcHQoKS50aGVuKFxyXG4gICAgICB0aGlzLl91cGxvYWQuYmluZCh0aGlzKSlcclxuICB9XHJcbiAgcHJpdmF0ZSBfcHJvbXB0KG9wdGlvbnM/OiB7IG11bHRpcGxlOiBib29sZWFuLCBhY2NlcHQ/OiBzdHJpbmcgfSk6IFByb21pc2U8RmlsZVtdPiB7XHJcbiAgICBpZiAob3B0aW9ucykge1xyXG4gICAgICBpZiAob3B0aW9ucy5hY2NlcHQpXHJcbiAgICAgICAgdGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC5hY2NlcHQgPSBvcHRpb25zLmFjY2VwdDtcclxuICAgICAgaWYgKG9wdGlvbnMubXVsdGlwbGUgIT09IHVuZGVmaW5lZClcclxuICAgICAgICB0aGlzLl9pbnB1dC5uYXRpdmVFbGVtZW50Lm11bHRpcGxlID0gb3B0aW9ucy5tdWx0aXBsZTtcclxuICAgIH1cclxuICAgIHRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRoaXMuX3BlbmRpbmcucGlwZShmaXJzdCgpKS5cclxuICAgICAgICBzdWJzY3JpYmUocmVzb2x2ZSwgcmVqZWN0KTtcclxuICAgIH0pXHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBldnRcclxuICAgKi9cclxuICBfY2hhbmdlKGV2dDogSW5wdXRFdmVudCkge1xyXG4gICAgdGhpcy5fb25Ub3VjaGVkICYmIHRoaXMuX29uVG91Y2hlZCgpO1xyXG4gICAgY29uc3QgeyBmaWxlcyB9ID0gZXZ0LnNyY0VsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGNvbnN0IGFyciA9IFtdIGFzIEZpbGVbXTtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGV0IGZpbGUgPSBmaWxlcy5pdGVtKGkpO1xyXG4gICAgICBhcnIucHVzaChmaWxlKTtcclxuICAgIH1cclxuICAgIHRoaXMuX3BlbmRpbmcubmV4dChhcnIpO1xyXG4gICAgdGhpcy5faW5wdXQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBhdHRhY2htZW50XHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfY3JlYXRlSXRlbShhdHRhY2htZW50OiBBdHRhY2htZW50KSB7XHJcbiAgICBjb25zdCBmaWxlRXh0ID0gQXR0YWNobWVudEluZm8uZmlsZUV4dChhdHRhY2htZW50LmZpbGVOYW1lKSxcclxuICAgICAgaGFzUHJldmlldyA9IEF0dGFjaG1lbnRJbmZvLmV4aXN0cyhhdHRhY2htZW50LmNvbnRlbnRUeXBlKSxcclxuICAgICAgaXNJbWFnZSA9IGhhc1ByZXZpZXcgJiYgQXR0YWNobWVudEluZm8uaXNJbWFnZShhdHRhY2htZW50LmNvbnRlbnRUeXBlKSxcclxuICAgICAgdXJsID0gaXNJbWFnZSA/IHRoaXMuX3Nhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKFxyXG4gICAgICAgIHRoaXMuX21haWxib3guZm9ybWF0RG93bmxvYWRVcmwodGhpcy5fbW9kZWwuZG9jdW1lbnRJZCwgYXR0YWNobWVudC5pZCkpIDogbnVsbDtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIC4uLmF0dGFjaG1lbnQsXHJcbiAgICAgIGhhc1ByZXZpZXcsXHJcbiAgICAgIGlzSW1hZ2UsXHJcbiAgICAgIGZpbGVFeHQsXHJcbiAgICAgIHVybCxcclxuICAgICAgaWNvbjogRVhURU5USU9OX0lDT05TW2ZpbGVFeHRdLFxyXG4gICAgICBjaGVja2VkT3V0OlxyXG4gICAgICAgIGF0dGFjaG1lbnQuY2hlY2tlZE91dCAmJlxyXG4gICAgICAgIGF0dGFjaG1lbnQuaG9sZGluZ0lkID09PSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUudXNlcklkXHJcbiAgICB9IGFzIEF0dGFjaG1lbnRFeHRyYTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIGZpbGVzXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfdXBsb2FkKGZpbGVzOiBGaWxlW10pIHtcclxuICAgIGNvbnN0IG9ic2VydmFibGVzID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxldCBmaWxlID0gZmlsZXNbaV0sXHJcbiAgICAgICAgaXRlbSA9IHRoaXMuaXRlbXMuZmluZChpID0+IGZpbGUubmFtZSA9PT0gaS5maWxlTmFtZSk7XHJcbiAgICAgIC8vIGV4aXN0c1xyXG4gICAgICBpZiAoaXRlbSkge1xyXG4gICAgICAgIC8vIGlzIGNoZWNrZWQgb3V0XHJcbiAgICAgICAgaWYgKGl0ZW0uY2hlY2tlZE91dCkge1xyXG4gICAgICAgICAgLy8gY2hlY2sgaW5cclxuICAgICAgICAgIGxldCBvYnNlcnZhYmxlID0gdGhpcy5fbWFpbGJveC5jaGVja0luKHRoaXMuX21vZGVsLmlkLCB0aGlzLl9tb2RlbC52ZXJzaW9uLCBpdGVtLmlkLCBmaWxlKS5cclxuICAgICAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgICByZXBvcnRQcm9ncmVzcyhpdGVtKSwgY2F0Y2hFcnJvcihlID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUVycm9yKGUpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgICAgICAgICAgICB9KSwgdGFwKChhOiBBdHRhY2htZW50IHwgZmFsc2UpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChhKSB7XHJcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpdGVtLmNoZWNrZWRPdXQ7XHJcbiAgICAgICAgICAgICAgICAgIC8vIHJlcGxhY2UgaWRcclxuICAgICAgICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLm11bHRpcGxlID8gdGhpcy5pdGVtcy5tYXAoaSA9PiBpLmlkKSA6IGEuaWQ7XHJcbiAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXRlbSwgYSk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlICYmIHRoaXMuX29uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKG9ic2VydmFibGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmICh0aGlzLmNhbkVkaXQoaXRlbSkpIHtcclxuICAgICAgICAgIC8vIGV4aXN0aW5nIGl0ZW0sIG92ZXJyaWRlXHJcbiAgICAgICAgICBsZXQgb2JzZXJ2YWJsZSA9IHRoaXMuX21haWxib3gudXBsb2FkKHRoaXMuX21vZGVsLmlkLCB0aGlzLl9tb2RlbC5mb3JtSWQsIHRoaXMuX21vZGVsLnZlcnNpb24sXHJcbiAgICAgICAgICAgIGZpbGUsIHsgaXNQcml2YXRlOiB0cnVlIH0pLlxyXG4gICAgICAgICAgICBwaXBlKHJlcG9ydFByb2dyZXNzKGl0ZW0pLCBjYXRjaEVycm9yKGUgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuX2hhbmRsZUVycm9yKGUpO1xyXG4gICAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICAgICAgICAgIH0pLCB0YXAoKGE6IEF0dGFjaG1lbnQpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoYSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB0aGlzLm11bHRpcGxlID8gdGhpcy5pdGVtcy5tYXAoaSA9PiBpLmlkKSA6IGEuaWQ7XHJcbiAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGl0ZW0sIGEpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UgJiYgdGhpcy5fb25DaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgLyogbm8gdG9hc3QgKi9cclxuICAgICAgICAgICAgICBzd2l0Y2hNYXAoXyA9PiBvZihmYWxzZSkpKTtcclxuICAgICAgICAgIG9ic2VydmFibGVzLnB1c2gob2JzZXJ2YWJsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIFRPRE8gYWRkIHBlbmRpbmdcclxuICAgICAgICAvL3RoaXMuaXRlbXMucHVzaCh0aGlzLl9jcmVhdGVJdGVtKGEpKTtcclxuICAgICAgICAvLyB1cGxvYWQgbmV3XHJcbiAgICAgICAgbGV0IG9ic2VydmFibGUgPSB0aGlzLl9tYWlsYm94LnVwbG9hZCh0aGlzLl9tb2RlbC5pZCwgdGhpcy5fbW9kZWwuZm9ybUlkLCB0aGlzLl9tb2RlbC52ZXJzaW9uLFxyXG4gICAgICAgICAgZmlsZSwgeyBpc1ByaXZhdGU6IHRydWUgfSkuXHJcbiAgICAgICAgICBwaXBlKC8qVE9ETyByZXBvcnRQcm9ncmVzcyhpdGVtKSwgKi9jYXRjaEVycm9yKGUgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVFcnJvcihlKTtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICAgICAgICAgIH0pLCB0YXAoKGE6IEF0dGFjaG1lbnQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGEpIHtcclxuICAgICAgICAgICAgICB0aGlzLl9tb2RlbC5hdHRhY2htZW50cy5wdXNoKGEpO1xyXG4gICAgICAgICAgICAgIHRoaXMuaXRlbXMucHVzaCh0aGlzLl9jcmVhdGVJdGVtKGEpKTtcclxuICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMubXVsdGlwbGUgPyB0aGlzLml0ZW1zLm1hcChpID0+IGkuaWQpIDogYS5pZDtcclxuICAgICAgICAgICAgICB0aGlzLl9vbkNoYW5nZSAmJiB0aGlzLl9vbkNoYW5nZSh0aGlzLl92YWx1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAvKiBubyB0b2FzdCAqL1xyXG4gICAgICAgICAgICBzd2l0Y2hNYXAoXyA9PiBvZihmYWxzZSkpKTtcclxuICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKG9ic2VydmFibGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBmb3JrSm9pbihvYnNlcnZhYmxlcykuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICAvLyBmaWx0ZXIgbm9uIGZhbHNlXHJcbiAgICAgIGNvbnN0IGF0dGFjaG1lbnRzID0gZS5maWx0ZXIoZSA9PiBlKSBhcyBBdHRhY2htZW50W107XHJcbiAgICAgIC8vIGFueVxyXG4gICAgICBhdHRhY2htZW50cy5sZW5ndGggJiZcclxuICAgICAgICB0aGlzLl9zYi50b2FzdChcclxuICAgICAgICAgIGF0dGFjaG1lbnRzLmxlbmd0aCA+IDEgP1xyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2xhdGUuZ2V0KCdDaGVja2VkSW5OJywgYXR0YWNobWVudHMubGVuZ3RoKSA6XHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0NoZWNrZWRJbicsIGF0dGFjaG1lbnRzWzBdLmZpbGVOYW1lKVxyXG4gICAgICAgICk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kcmFnRHJvcC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fcGVuZGluZy5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGJ1dHRvbiBtYXQtYnV0dG9uICpuZ0lmPVwiIWl0ZW1zLmxlbmd0aDsgZWxzZSBwcmV2aWV3XCIgKGNsaWNrKT1cIm9wZW4oKVwiPlxyXG4gIDxtYXQtaWNvbiBjbGFzcz1cImZpbGxlZFwiPnt7aWNvbn19PC9tYXQtaWNvbj5cclxuICA8c3BhbiBjbGFzcz1cIm1hdC1oM1wiPnt7cGxhY2Vob2xkZXJ9fTwvc3Bhbj5cclxuPC9idXR0b24+XHJcbjxpbnB1dCB0eXBlPVwiZmlsZVwiICNpbnB1dFxyXG4gICAgICAgW2FjY2VwdF09YWNjZXB0IFttdWx0aXBsZV09bXVsdGlwbGUgKGNoYW5nZSk9J19jaGFuZ2UoJGV2ZW50KScgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgLz5cclxuPG5nLXRlbXBsYXRlICNwcmV2aWV3PlxyXG4gIDxkaXYgKm5nRm9yPSdsZXQgYSBvZiBpdGVtcycgY2xhc3M9XCJhdHRhY2htZW50LWl0ZW1cIlxyXG4gICAgICAgW2NsYXNzLmRlbGV0ZWRdPVwiYS5kZWxldGVkXCIgW2NsYXNzLmZhaWxlZF09XCJhLmZhaWxlZFwiXHJcbiAgICAgICBbcHJvZ3Jlc3NJbmRpY2F0b3JdPVwiYS5wcm9ncmVzc1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZpbGUtcHJldmlld1wiPlxyXG4gICAgICA8aW1nICpuZ0lmPVwiYS5pc0ltYWdlXCIgW3NyY109XCJhLnVybFwiIChjbGljayk9XCJhcHJldmlldyhhKVwiIGhlaWdodD1cIjgwXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uICpuZ0lmPVwiYS5oYXNQcmV2aWV3ICYmICFhLmlzSW1hZ2VcIiBbYml6ZG9jVG9vbHRpcF09XCInUHJldmlldyd8dHJhbnNsYXRlXCIgKGNsaWNrKT1cImFwcmV2aWV3KGEpXCIgW25nU3dpdGNoXT1cImEuaWNvbiAhPT0gdW5kZWZpbmVkXCI+XHJcbiAgICAgICAgPG1hdC1pY29uICpuZ1N3aXRjaENhc2U9XCJ0cnVlXCIgW3N2Z0ljb25dPVwiYS5pY29uXCIgW2lubGluZV09XCJmYWxzZVwiPjwvbWF0LWljb24+XHJcbiAgICAgICAgPG1hdC1pY29uICpuZ1N3aXRjaERlZmF1bHQgY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+ZmluZF9pbl9wYWdlPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxtYXQtaWNvbiAqbmdJZj1cIiFhLmhhc1ByZXZpZXcgJiYgYS5pY29uXCIgW3N2Z0ljb25dPVwiYS5pY29uXCIgW2lubGluZV09XCJmYWxzZVwiPjwvbWF0LWljb24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJmaWxlLW92ZXJsYXkgcm93XCI+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZW5hbWVcIj57e2EuZmlsZU5hbWV9fTwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cIm9wdGlvbnNcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIFtiaXpkb2NUb29sdGlwXT1cIidPcHRpb25zJyB8IHRyYW5zbGF0ZVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5tb3JlX3ZlcnQ8L21hdC1pY29uPlxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPG1hdC1tZW51ICNtZW51PlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWEuZmFpbGVkXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNhbkVkaXQoYSkgJiYgIWEuZmFpbGVkXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWEuY2hlY2tlZE91dFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImNoZWNrT3V0KGEpXCI+e3tcIkNoZWNrT3V0XCIgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJtdWx0aXBsZVwiIChjbGljayk9XCJvcGVuKClcIj57e1wiQWRkXCIgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImNoZWNrSW4oYSlcIiAqbmdJZj1cImEuY2hlY2tlZE91dFwiPnt7XCJDaGVja0luXCIgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxyXG4gICAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiZG93bmxvYWQoYSlcIj57e1wiRG93bmxvYWRcIiB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtICpuZ0lmPVwiYS5oYXNQcmV2aWV3XCIgKGNsaWNrKT1cImFwcmV2aWV3KGEpXCI+PG1hdC1pY29uPmxhbmRzY2FwZTwvbWF0LWljb24+IHt7XCJQcmV2aWV3XCIgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNWZXJzaW9ucyhhKVwiPlxyXG4gICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nRm9yPVwibGV0IHYgb2YgZ2V0VmVyc2lvbnMoYSlcIiAoY2xpY2spPVwicHJldmlld09yRG93bmxvYWQodilcIj57e3YudGltZSB8ICBhbUNhbGVuZGFyfX08L2J1dHRvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY2FuRWRpdChhKVwiPlxyXG4gICAgICAgICAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImRpc2NhcmQoYSlcIj57e1wiRGlzY2FyZFwiIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiY2FuY2VsKGEpXCIgKm5nSWY9XCJhLmZhaWxlZFwiPnt7XCJDYW5jZWxcIiB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICA8L21hdC1tZW51PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
@@ -167,8 +167,8 @@ export class TypeSelect {
|
|
167
167
|
}
|
168
168
|
}
|
169
169
|
TypeSelect.nextId = 0;
|
170
|
-
TypeSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
171
|
-
TypeSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
170
|
+
TypeSelect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TypeSelect, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i2.FocusMonitor }, { token: i0.ElementRef }, { token: i3.SessionService }, { token: i4.DatasourceService }], target: i0.ɵɵFactoryTarget.Component });
|
171
|
+
TypeSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TypeSelect, selector: "bizdoc-select", inputs: { type: "type", scope: "scope", multiple: "multiple", placeholder: "placeholder", required: "required", disabled: "disabled", text: "text", value: "value" }, outputs: { selectionChange: "selectionChange", textChange: "textChange" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy", "id": "this.id" } }, providers: [{ provide: MatFormFieldControl, useExisting: TypeSelect }], viewQueries: [{ propertyName: "inputElement", first: true, predicate: MatSelect, descendants: true, static: true }], ngImport: i0, template: `<mat-select [placeholder]="placeholder" [formControl]="_control" [multiple]='multiple'
|
172
172
|
(focusin)="_onFocus()" (focusout)="_onBlur()" [compareWith]='_compareWithKey' [required]="required">
|
173
173
|
<mat-option *ngIf="!required && !multiple" [value]="null">
|
174
174
|
{{ 'None' | translate }}
|
@@ -178,7 +178,7 @@ TypeSelect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "1
|
|
178
178
|
<span *ngIf="_column">{{v.value[_column.name]}}</span>
|
179
179
|
</mat-option>
|
180
180
|
</mat-select>`, isInline: true, dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
|
181
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TypeSelect, decorators: [{
|
182
182
|
type: Component,
|
183
183
|
args: [{
|
184
184
|
selector: 'bizdoc-select',
|
@@ -234,4 +234,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
|
|
234
234
|
}], value: [{
|
235
235
|
type: Input
|
236
236
|
}] } });
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2NvbnRyb2xzL3NlbGVjdC5pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBc0IsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQVcsTUFBTSxlQUFlLENBQUM7QUFDdkosT0FBTyxFQUFtQyxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBdUIzQyxNQUFNLE9BQ0UsVUFBVTtJQXFIaEIsWUFBdUMsU0FBb0IsRUFDakQsR0FBaUIsRUFDakIsTUFBK0IsRUFBVSxRQUF3QixFQUNqRSxRQUEyQjtRQUhFLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDakQsUUFBRyxHQUFILEdBQUcsQ0FBYztRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUF5QjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ2pFLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBckg3QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFLakIsYUFBUSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFJN0IsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FB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RSxhQUFhO3FCQUN6QztpQkFDRjs7MEJBdUhjLFFBQVE7OzBCQUFJLElBQUk7NkpBdkdXLFlBQVk7c0JBQW5ELFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDdkIsRUFBRTtzQkFBaEIsV0FBVztnQkFDSCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNhLGVBQWU7c0JBQWpDLE1BQU07Z0JBRU0sUUFBUTtzQkFBcEIsS0FBSztnQkFFTyxXQUFXO3NCQUF2QixLQUFLO2dCQVVGLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBS3pCLFFBQVE7c0JBRFgsS0FBSztnQkFhRixRQUFRO3NCQURYLEtBQUs7Z0JBWUcsSUFBSTtzQkFBWixLQUFLO2dCQUNhLFVBQVU7c0JBQTVCLE1BQU07Z0JBSytCLFdBQVc7c0JBQWhELFdBQVc7dUJBQUMsdUJBQXVCO2dCQXlCdkIsS0FBSztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgSG9zdEJpbmRpbmcsIE9wdGlvbmFsLCBTZWxmLCBPbkluaXQsIEVsZW1lbnRSZWYsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIERvQ2hlY2sgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVHlwZSwgRmllbGRJbmZvIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFNjb3BlVHlwZSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1zZWxlY3QnLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IFR5cGVTZWxlY3QgfV0sXHJcbiAgdGVtcGxhdGU6IGA8bWF0LXNlbGVjdCBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbZm9ybUNvbnRyb2xdPVwiX2NvbnRyb2xcIiBbbXVsdGlwbGVdPSdtdWx0aXBsZSdcclxuICAgIChmb2N1c2luKT1cIl9vbkZvY3VzKClcIiAoZm9jdXNvdXQpPVwiX29uQmx1cigpXCIgW2NvbXBhcmVXaXRoXT0nX2NvbXBhcmVXaXRoS2V5JyBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj5cclxuICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCIhcmVxdWlyZWQgJiYgIW11bHRpcGxlXCIgW3ZhbHVlXT1cIm51bGxcIj5cclxuICAgICAgICB7eyAnTm9uZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdiBvZiBfaXRlbXMkIHwgYXN5bmNcIiBbdmFsdWVdPVwidlwiPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIV9jb2x1bW5cIj57e3YudmFsdWV9fTwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIl9jb2x1bW5cIj57e3YudmFsdWVbX2NvbHVtbi5uYW1lXX19PC9zcGFuPlxyXG4gICAgICA8L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1zZWxlY3Q+YCxcclxuICBob3N0OiB7XHJcbiAgICAnW2NsYXNzLmZsb2F0aW5nXSc6ICdzaG91bGRMYWJlbEZsb2F0JyxcclxuICAgICdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICdkZXNjcmliZWRCeSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFR5cGVTZWxlY3QgaW1wbGVtZW50cyBNYXRGb3JtRmllbGRDb250cm9sPHN0cmluZyB8IHN0cmluZ1tdPiwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIHByaXZhdGUgX3BsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3ZhbHVlPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfb25DaGFuZ2U6IGFueTtcclxuICBwcml2YXRlIF9vblRvdWNoZWQ6IGFueTtcclxuICBwcml2YXRlIF9tdWx0aXBsZTogYm9vbGVhbjtcclxuICByZWFkb25seSBfY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIF9pdGVtcyQ6IE9ic2VydmFibGU8S2V5VmFsdWVbXT47XHJcbiAgX2NvbHVtbjogRmllbGRJbmZvO1xyXG4gIHByaXZhdGUgX2NvbmZpZ3VyYXRpb246IFR5cGU7XHJcbiAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBAVmlld0NoaWxkKE1hdFNlbGVjdCwgeyBzdGF0aWM6IHRydWUgfSkgaW5wdXRFbGVtZW50OiBNYXRTZWxlY3Q7XHJcbiAgQEhvc3RCaW5kaW5nKCkgaWQgPSBgdHlwZS1zZWxlY3QtJHtUeXBlU2VsZWN0Lm5leHRJZCsrfWA7XHJcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNjb3BlOiBTY29wZVR5cGU7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0RXZlbnQ+KCk7XHJcbiAgdG91Y2hlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBzZXQgbXVsdGlwbGUodmFsOiBib29sZWFuKSB7IHRoaXMuX211bHRpcGxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbCk7IH1cclxuICBnZXQgbXVsdGlwbGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9tdWx0aXBsZSB9XHJcbiAgQElucHV0KCkgZ2V0IHBsYWNlaG9sZGVyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyO1xyXG4gIH1cclxuICBzZXQgcGxhY2Vob2xkZXIocGxoKSB7XHJcbiAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHBsaDtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgZm9jdXNlZCA9IGZhbHNlO1xyXG4gIGdldCBlbXB0eSgpOiBib29sZWFuIHsgcmV0dXJuICF0aGlzLl92YWx1ZTsgfVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmxvYXRpbmcnKVxyXG4gIGdldCBzaG91bGRMYWJlbEZsb2F0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9jdXNlZCB8fCAhdGhpcy5lbXB0eTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XHJcbiAgfVxyXG4gIHNldCByZXF1aXJlZChyZXE6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHJlcSk7XHJcbiAgICBpZiAodGhpcy5fcmVxdWlyZWQpXHJcbiAgICAgIHRoaXMuX2NvbnRyb2wuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5fY29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbCk7XHJcbiAgICBpZiAodGhpcy5fY29udHJvbC5kaXNhYmxlZCAhPT0gdGhpcy5fZGlzYWJsZWQpIHtcclxuICAgICAgaWYgKHRoaXMuX2Rpc2FibGVkKVxyXG4gICAgICAgIHRoaXMuX2NvbnRyb2wuZGlzYWJsZSgpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5fY29udHJvbC5lbmFibGUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSB0ZXh0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgZ2V0IGVycm9yU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29udHJvbC5pbnZhbGlkICYmIHRoaXMudG91Y2hlZDtcclxuICB9XHJcbiAgY29udHJvbFR5cGU/OiBzdHJpbmcgPSAnYml6ZG9jLXR5cGUtc2VsZWN0JztcclxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kZXNjcmliZWRieScpIGRlc2NyaWJlZEJ5ID0gJyc7XHJcblxyXG4gIHNldERlc2NyaWJlZEJ5SWRzKGlkczogc3RyaW5nW10pIHtcclxuICAgIHRoaXMuZGVzY3JpYmVkQnkgPSBpZHMuam9pbignICcpO1xyXG4gIH1cclxuICBvbkNvbnRhaW5lckNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnB1dEVsZW1lbnQuZm9jdXMoKTtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZSh2YWw6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWw7XHJcbiAgICB0aGlzLl9zZXRWYWx1ZSh2YWwsIGZhbHNlKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2V0VmFsdWUodmFsOiBhbnksIGVtaXRFdmVudDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fY29udHJvbC5zZXRWYWx1ZSh2YWwgPyB0aGlzLm11bHRpcGxlID8gdmFsLm1hcChrZXkgPT4gKHsga2V5IH0pKSA6IHsga2V5OiB2YWwgfSA6IG51bGwsIHsgZW1pdEV2ZW50IH0pO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG4gIHNldCB2YWx1ZSh2YWw6IHN0cmluZyB8IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbDtcclxuICAgIHRoaXMuX3NldFZhbHVlKHZhbCwgdHJ1ZSk7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIF9vbkZvY3VzKCkge1xyXG4gICAgaWYgKCF0aGlzLmZvY3VzZWQpIHtcclxuICAgICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5fb25Ub3VjaGVkICYmIHRoaXMuX29uVG91Y2hlZCgpO1xyXG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIF9vbkJsdXIoKSB7XHJcbiAgICB0aGlzLnRvdWNoZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5pbnB1dEVsZW1lbnQuZm9jdXMoKTtcclxuICB9XHJcbiAgX2NvbXBhcmVXaXRoS2V5KG9wdGlvbjE6IEtleVZhbHVlLCBvcHRpb24yOiBLZXlWYWx1ZSkge1xyXG4gICAgcmV0dXJuIG9wdGlvbjIgJiYgb3B0aW9uMS5rZXkgPT09IG9wdGlvbjIua2V5O1xyXG4gIH1cclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcclxuICAgIHByaXZhdGUgX2ZtOiBGb2N1c01vbml0b3IsXHJcbiAgICBwcml2YXRlIF9lbFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogRGF0YXNvdXJjZVNlcnZpY2UpIHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgfVxyXG4gICAgX2ZtLm1vbml0b3IoX2VsUmVmLm5hdGl2ZUVsZW1lbnQsIHRydWUpLnN1YnNjcmliZShvcmlnaW4gPT4ge1xyXG4gICAgICB0aGlzLmZvY3VzZWQgPSAhIW9yaWdpbjtcclxuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29uZmlndXJhdGlvbiA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS50eXBlcy5maW5kKHQgPT4gdC5uYW1lID09PSB0aGlzLnR5cGUpO1xyXG4gICAgaWYgKCF0aGlzLl9jb25maWd1cmF0aW9uKVxyXG4gICAgICB0aHJvdyBgJHt0aGlzLnR5cGV9IGlzIG5vdCBhIGtub3duIEJpekRvYyB0eXBlLmA7XHJcbiAgICBpZiAodGhpcy5fY29uZmlndXJhdGlvbi5jb2x1bW5zKSB0aGlzLl9jb2x1bW4gPSB0aGlzLl9jb25maWd1cmF0aW9uLmNvbHVtbnMuZmluZChjID0+ICFjLmtleSk7XHJcbiAgICB0aGlzLl9pdGVtcyQgPSB0aGlzLl9zZXJ2aWNlLmFsbCh0aGlzLnR5cGUpO1xyXG4gICAgdGhpcy5fY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgaWYgKHRoaXMuX211bHRpcGxlKSB7XHJcbiAgICAgICAgY29uc3QgaXRlbXMgPSB2IGFzIEtleVZhbHVlW10gfHwgW10sXHJcbiAgICAgICAgICBrZXkgPSBpdGVtcy5tYXAoaSA9PiBpLmtleSk7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBrZXk7XHJcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgJiYgdGhpcy5fb25DaGFuZ2Uoa2V5KTtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHtcclxuICAgICAgICAgIHZhbHVlczogaXRlbXMubWFwKGkgPT4gaS5rZXkpLFxyXG4gICAgICAgICAgaXRlbXM6IGl0ZW1zLm1hcChpID0+IGkudmFsdWUpXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc3QgeyB2YWx1ZSwga2V5IH0gPSB2IGFzIEtleVZhbHVlIHx8IHt9O1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0ga2V5O1xyXG4gICAgICAgIHRoaXMuX29uQ2hhbmdlICYmIHRoaXMuX29uQ2hhbmdlKGtleSk7XHJcbiAgICAgICAgY29uc3QgdGV4dCA9IHRoaXMuX2NvbHVtbiA/IHZhbHVlW3RoaXMuX2NvbHVtbi5uYW1lXSA6IHZhbHVlO1xyXG4gICAgICAgIHRoaXMudGV4dENoYW5nZS5lbWl0KHRleHQpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoe1xyXG4gICAgICAgICAgdmFsdWU6IGtleSxcclxuICAgICAgICAgIGl0ZW06IHZhbHVlLFxyXG4gICAgICAgICAgdGV4dFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fZm0uc3RvcE1vbml0b3JpbmcodGhpcy5fZWxSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuXHJcbmludGVyZmFjZSBLZXlWYWx1ZSB7IGtleTogYW55OyB2YWx1ZTogYW55IH1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0RXZlbnQge1xyXG4gIHJlYWRvbmx5IHZhbHVlPzogYW55O1xyXG4gIHJlYWRvbmx5IHRleHQ/OiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgaXRlbT86IGFueTtcclxuICByZWFkb25seSB2YWx1ZXM/OiBhbnlbXTtcclxuICByZWFkb25seSBpdGVtcz86IGFueVtdO1xyXG59XHJcbiJdfQ==
|
237
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2NvbnRyb2xzL3NlbGVjdC5pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBc0IsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQVcsTUFBTSxlQUFlLENBQUM7QUFDdkosT0FBTyxFQUFtQyxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBdUIzQyxNQUFNLE9BQ0UsVUFBVTtJQXFIaEIsWUFBdUMsU0FBb0IsRUFDakQsR0FBaUIsRUFDakIsTUFBK0IsRUFBVSxRQUF3QixFQUNqRSxRQUEyQjtRQUhFLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDakQsUUFBRyxHQUFILEdBQUcsQ0FBYztRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUF5QjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ2pFLGFBQVEsR0FBUixRQUFRLENBQW1CO1FBckg3QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFLakIsYUFBUSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFJN0IsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FB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RSxhQUFhO3FCQUN6QztpQkFDRjs7MEJBdUhjLFFBQVE7OzBCQUFJLElBQUk7NkpBdkdXLFlBQVk7c0JBQW5ELFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDdkIsRUFBRTtzQkFBaEIsV0FBVztnQkFDSCxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNhLGVBQWU7c0JBQWpDLE1BQU07Z0JBRU0sUUFBUTtzQkFBcEIsS0FBSztnQkFFTyxXQUFXO3NCQUF2QixLQUFLO2dCQVVGLGdCQUFnQjtzQkFEbkIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBS3pCLFFBQVE7c0JBRFgsS0FBSztnQkFhRixRQUFRO3NCQURYLEtBQUs7Z0JBWUcsSUFBSTtzQkFBWixLQUFLO2dCQUNhLFVBQVU7c0JBQTVCLE1BQU07Z0JBSytCLFdBQVc7c0JBQWhELFdBQVc7dUJBQUMsdUJBQXVCO2dCQXlCdkIsS0FBSztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgSG9zdEJpbmRpbmcsIE9wdGlvbmFsLCBTZWxmLCBPbkluaXQsIEVsZW1lbnRSZWYsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIERvQ2hlY2sgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcclxuaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xyXG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVHlwZSwgRmllbGRJbmZvIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEYXRhc291cmNlU2VydmljZSB9IGZyb20gJy4uL2RhdGFzb3VyY2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFNjb3BlVHlwZSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1zZWxlY3QnLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IFR5cGVTZWxlY3QgfV0sXHJcbiAgdGVtcGxhdGU6IGA8bWF0LXNlbGVjdCBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbZm9ybUNvbnRyb2xdPVwiX2NvbnRyb2xcIiBbbXVsdGlwbGVdPSdtdWx0aXBsZSdcclxuICAgIChmb2N1c2luKT1cIl9vbkZvY3VzKClcIiAoZm9jdXNvdXQpPVwiX29uQmx1cigpXCIgW2NvbXBhcmVXaXRoXT0nX2NvbXBhcmVXaXRoS2V5JyBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj5cclxuICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCIhcmVxdWlyZWQgJiYgIW11bHRpcGxlXCIgW3ZhbHVlXT1cIm51bGxcIj5cclxuICAgICAgICB7eyAnTm9uZScgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgPC9tYXQtb3B0aW9uPlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdiBvZiBfaXRlbXMkIHwgYXN5bmNcIiBbdmFsdWVdPVwidlwiPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIV9jb2x1bW5cIj57e3YudmFsdWV9fTwvc3Bhbj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cIl9jb2x1bW5cIj57e3YudmFsdWVbX2NvbHVtbi5uYW1lXX19PC9zcGFuPlxyXG4gICAgICA8L21hdC1vcHRpb24+XHJcbiAgICA8L21hdC1zZWxlY3Q+YCxcclxuICBob3N0OiB7XHJcbiAgICAnW2NsYXNzLmZsb2F0aW5nXSc6ICdzaG91bGRMYWJlbEZsb2F0JyxcclxuICAgICdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICdkZXNjcmliZWRCeSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFR5cGVTZWxlY3QgaW1wbGVtZW50cyBNYXRGb3JtRmllbGRDb250cm9sPHN0cmluZyB8IHN0cmluZ1tdPiwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIHByaXZhdGUgX3BsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3ZhbHVlPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgcHJpdmF0ZSBfb25DaGFuZ2U6IGFueTtcclxuICBwcml2YXRlIF9vblRvdWNoZWQ6IGFueTtcclxuICBwcml2YXRlIF9tdWx0aXBsZTogYm9vbGVhbjtcclxuICByZWFkb25seSBfY29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIF9pdGVtcyQ6IE9ic2VydmFibGU8S2V5VmFsdWVbXT47XHJcbiAgX2NvbHVtbjogRmllbGRJbmZvO1xyXG4gIHByaXZhdGUgX2NvbmZpZ3VyYXRpb246IFR5cGU7XHJcbiAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBAVmlld0NoaWxkKE1hdFNlbGVjdCwgeyBzdGF0aWM6IHRydWUgfSkgaW5wdXRFbGVtZW50OiBNYXRTZWxlY3Q7XHJcbiAgQEhvc3RCaW5kaW5nKCkgaWQgPSBgdHlwZS1zZWxlY3QtJHtUeXBlU2VsZWN0Lm5leHRJZCsrfWA7XHJcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNjb3BlOiBTY29wZVR5cGU7XHJcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0RXZlbnQ+KCk7XHJcbiAgdG91Y2hlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBzZXQgbXVsdGlwbGUodmFsOiBib29sZWFuKSB7IHRoaXMuX211bHRpcGxlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbCk7IH1cclxuICBnZXQgbXVsdGlwbGUoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9tdWx0aXBsZSB9XHJcbiAgQElucHV0KCkgZ2V0IHBsYWNlaG9sZGVyKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyO1xyXG4gIH1cclxuICBzZXQgcGxhY2Vob2xkZXIocGxoKSB7XHJcbiAgICB0aGlzLl9wbGFjZWhvbGRlciA9IHBsaDtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgZm9jdXNlZCA9IGZhbHNlO1xyXG4gIGdldCBlbXB0eSgpOiBib29sZWFuIHsgcmV0dXJuICF0aGlzLl92YWx1ZTsgfVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuZmxvYXRpbmcnKVxyXG4gIGdldCBzaG91bGRMYWJlbEZsb2F0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9jdXNlZCB8fCAhdGhpcy5lbXB0eTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XHJcbiAgfVxyXG4gIHNldCByZXF1aXJlZChyZXE6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHJlcSk7XHJcbiAgICBpZiAodGhpcy5fcmVxdWlyZWQpXHJcbiAgICAgIHRoaXMuX2NvbnRyb2wuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5fY29udHJvbC5jbGVhclZhbGlkYXRvcnMoKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbCk7XHJcbiAgICBpZiAodGhpcy5fY29udHJvbC5kaXNhYmxlZCAhPT0gdGhpcy5fZGlzYWJsZWQpIHtcclxuICAgICAgaWYgKHRoaXMuX2Rpc2FibGVkKVxyXG4gICAgICAgIHRoaXMuX2NvbnRyb2wuZGlzYWJsZSgpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5fY29udHJvbC5lbmFibGUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgQElucHV0KCkgdGV4dDogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSB0ZXh0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgZ2V0IGVycm9yU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29udHJvbC5pbnZhbGlkICYmIHRoaXMudG91Y2hlZDtcclxuICB9XHJcbiAgY29udHJvbFR5cGU/OiBzdHJpbmcgPSAnYml6ZG9jLXR5cGUtc2VsZWN0JztcclxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kZXNjcmliZWRieScpIGRlc2NyaWJlZEJ5ID0gJyc7XHJcblxyXG4gIHNldERlc2NyaWJlZEJ5SWRzKGlkczogc3RyaW5nW10pIHtcclxuICAgIHRoaXMuZGVzY3JpYmVkQnkgPSBpZHMuam9pbignICcpO1xyXG4gIH1cclxuICBvbkNvbnRhaW5lckNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5pbnB1dEVsZW1lbnQuZm9jdXMoKTtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZSh2YWw6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWw7XHJcbiAgICB0aGlzLl9zZXRWYWx1ZSh2YWwsIGZhbHNlKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfc2V0VmFsdWUodmFsOiBhbnksIGVtaXRFdmVudDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fY29udHJvbC5zZXRWYWx1ZSh2YWwgPyB0aGlzLm11bHRpcGxlID8gdmFsLm1hcChrZXkgPT4gKHsga2V5IH0pKSA6IHsga2V5OiB2YWwgfSA6IG51bGwsIHsgZW1pdEV2ZW50IH0pO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG4gIHNldCB2YWx1ZSh2YWw6IHN0cmluZyB8IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbDtcclxuICAgIHRoaXMuX3NldFZhbHVlKHZhbCwgdHJ1ZSk7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIF9vbkZvY3VzKCkge1xyXG4gICAgaWYgKCF0aGlzLmZvY3VzZWQpIHtcclxuICAgICAgdGhpcy5mb2N1c2VkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5fb25Ub3VjaGVkICYmIHRoaXMuX29uVG91Y2hlZCgpO1xyXG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIF9vbkJsdXIoKSB7XHJcbiAgICB0aGlzLnRvdWNoZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5pbnB1dEVsZW1lbnQuZm9jdXMoKTtcclxuICB9XHJcbiAgX2NvbXBhcmVXaXRoS2V5KG9wdGlvbjE6IEtleVZhbHVlLCBvcHRpb24yOiBLZXlWYWx1ZSkge1xyXG4gICAgcmV0dXJuIG9wdGlvbjIgJiYgb3B0aW9uMS5rZXkgPT09IG9wdGlvbjIua2V5O1xyXG4gIH1cclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCxcclxuICAgIHByaXZhdGUgX2ZtOiBGb2N1c01vbml0b3IsXHJcbiAgICBwcml2YXRlIF9lbFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VydmljZTogRGF0YXNvdXJjZVNlcnZpY2UpIHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgfVxyXG4gICAgX2ZtLm1vbml0b3IoX2VsUmVmLm5hdGl2ZUVsZW1lbnQsIHRydWUpLnN1YnNjcmliZShvcmlnaW4gPT4ge1xyXG4gICAgICB0aGlzLmZvY3VzZWQgPSAhIW9yaWdpbjtcclxuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29uZmlndXJhdGlvbiA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS50eXBlcy5maW5kKHQgPT4gdC5uYW1lID09PSB0aGlzLnR5cGUpO1xyXG4gICAgaWYgKCF0aGlzLl9jb25maWd1cmF0aW9uKVxyXG4gICAgICB0aHJvdyBgJHt0aGlzLnR5cGV9IGlzIG5vdCBhIGtub3duIEJpekRvYyB0eXBlLmA7XHJcbiAgICBpZiAodGhpcy5fY29uZmlndXJhdGlvbi5jb2x1bW5zKSB0aGlzLl9jb2x1bW4gPSB0aGlzLl9jb25maWd1cmF0aW9uLmNvbHVtbnMuZmluZChjID0+ICFjLmtleSk7XHJcbiAgICB0aGlzLl9pdGVtcyQgPSB0aGlzLl9zZXJ2aWNlLmFsbCh0aGlzLnR5cGUpO1xyXG4gICAgdGhpcy5fY29udHJvbC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSh2ID0+IHtcclxuICAgICAgaWYgKHRoaXMuX211bHRpcGxlKSB7XHJcbiAgICAgICAgY29uc3QgaXRlbXMgPSB2IGFzIEtleVZhbHVlW10gfHwgW10sXHJcbiAgICAgICAgICBrZXkgPSBpdGVtcy5tYXAoaSA9PiBpLmtleSk7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBrZXk7XHJcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgJiYgdGhpcy5fb25DaGFuZ2Uoa2V5KTtcclxuICAgICAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5lbWl0KHtcclxuICAgICAgICAgIHZhbHVlczogaXRlbXMubWFwKGkgPT4gaS5rZXkpLFxyXG4gICAgICAgICAgaXRlbXM6IGl0ZW1zLm1hcChpID0+IGkudmFsdWUpXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgY29uc3QgeyB2YWx1ZSwga2V5IH0gPSB2IGFzIEtleVZhbHVlIHx8IHt9O1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0ga2V5O1xyXG4gICAgICAgIHRoaXMuX29uQ2hhbmdlICYmIHRoaXMuX29uQ2hhbmdlKGtleSk7XHJcbiAgICAgICAgY29uc3QgdGV4dCA9IHRoaXMuX2NvbHVtbiA/IHZhbHVlW3RoaXMuX2NvbHVtbi5uYW1lXSA6IHZhbHVlO1xyXG4gICAgICAgIHRoaXMudGV4dENoYW5nZS5lbWl0KHRleHQpO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoe1xyXG4gICAgICAgICAgdmFsdWU6IGtleSxcclxuICAgICAgICAgIGl0ZW06IHZhbHVlLFxyXG4gICAgICAgICAgdGV4dFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fZm0uc3RvcE1vbml0b3JpbmcodGhpcy5fZWxSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNlbGVjdGlvbkNoYW5nZS5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuXHJcbmludGVyZmFjZSBLZXlWYWx1ZSB7IGtleTogYW55OyB2YWx1ZTogYW55IH1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0RXZlbnQge1xyXG4gIHJlYWRvbmx5IHZhbHVlPzogYW55O1xyXG4gIHJlYWRvbmx5IHRleHQ/OiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgaXRlbT86IGFueTtcclxuICByZWFkb25seSB2YWx1ZXM/OiBhbnlbXTtcclxuICByZWFkb25seSBpdGVtcz86IGFueVtdO1xyXG59XHJcbiJdfQ==
|
@@ -99,11 +99,11 @@ export class Signature {
|
|
99
99
|
}
|
100
100
|
}
|
101
101
|
Signature.nextId = 0;
|
102
|
-
Signature.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
103
|
-
Signature.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
102
|
+
Signature.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: Signature, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i2.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
103
|
+
Signature.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: Signature, selector: "bizdoc-signature", inputs: { width: "width", height: "height", velocity: "velocity", placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, host: { properties: { "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy", "id": "this.id" } }, providers: [{ provide: MatFormFieldControl, useExisting: Signature }], viewQueries: [{ propertyName: "_control", first: true, predicate: ["signature"], descendants: true }], ngImport: i0, template: `
|
104
104
|
<canvas ejs-signature #signature (change)="_change($event)"></canvas>
|
105
105
|
`, isInline: true });
|
106
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: Signature, decorators: [{
|
107
107
|
type: Component,
|
108
108
|
args: [{
|
109
109
|
selector: 'bizdoc-signature',
|
@@ -146,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
|
|
146
146
|
}], value: [{
|
147
147
|
type: Input
|
148
148
|
}] } });
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2NvbnRyb2xzL3NpZ25hdHVyZS5pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBYyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQWEvQixNQUFNLE9BQ0UsU0FBUztJQXNGZixZQUF1QyxTQUFvQixFQUNqRCxHQUFpQixFQUNqQixXQUFvQztRQUZQLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDakQsUUFBRyxHQUFILEdBQUcsQ0FBYztRQUNqQixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFyRnRDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVFqQixpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDN0IsT0FBRSxHQUFHLGFBQWEsU0FBUyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFTdEQsWUFBTyxHQUFHLEtBQUssQ0FBQztRQXdCaEIsZ0JBQVcsR0FBWSxvQkFBb0IsQ0FBQztRQUNOLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBMENyRCxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFO1lBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUNyQztRQUNELEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJ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LFdBQVc7c0JBQXZCLEtBQUs7Z0JBVUYsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLGdCQUFnQjtnQkFLekIsUUFBUTtzQkFEWCxLQUFLO2dCQVNGLFFBQVE7c0JBRFgsS0FBSztnQkFXZ0MsV0FBVztzQkFBaEQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBb0J2QixLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBIb3N0QmluZGluZywgT3B0aW9uYWwsIFNlbGYsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0NvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTaWduYXR1cmUgYXMgU3luY2Z1c2lvblNpZ25hdHVyZSwgU2lnbmF0dXJlQ2hhbmdlRXZlbnRBcmdzIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItaW5wdXRzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2Mtc2lnbmF0dXJlJyxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBTaWduYXR1cmUgfV0sXHJcbiAgdGVtcGxhdGU6IGBcclxuPGNhbnZhcyBlanMtc2lnbmF0dXJlICNzaWduYXR1cmUgKGNoYW5nZSk9XCJfY2hhbmdlKCRldmVudClcIj48L2NhbnZhcz5cclxuYCxcclxuICBob3N0OiB7XHJcbiAgICAnW2NsYXNzLmZsb2F0aW5nXSc6ICdzaG91bGRMYWJlbEZsb2F0JyxcclxuICAgICdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICdkZXNjcmliZWRCeSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFNpZ25hdHVyZSBpbXBsZW1lbnRzIE1hdEZvcm1GaWVsZENvbnRyb2w8c3RyaW5nPiwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgbmV4dElkID0gMDtcclxuICBwcml2YXRlIF9wbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3JlcXVpcmVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIF92YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgX29uQ2hhbmdlOiBhbnk7XHJcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkOiBhbnk7XHJcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcclxuICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlcjtcclxuICBASW5wdXQoKSB2ZWxvY2l0eTogbnVtYmVyO1xyXG4gIEBWaWV3Q2hpbGQoJ3NpZ25hdHVyZScpIF9jb250cm9sOiBTeW5jZnVzaW9uU2lnbmF0dXJlO1xyXG4gIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgQEhvc3RCaW5kaW5nKCkgaWQgPSBgc2lnbmF0dXJlLSR7U2lnbmF0dXJlLm5leHRJZCsrfWA7XHJcbiAgdG91Y2hlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBnZXQgcGxhY2Vob2xkZXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXI7XHJcbiAgfVxyXG4gIHNldCBwbGFjZWhvbGRlcihwbGgpIHtcclxuICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gcGxoO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBmb2N1c2VkID0gZmFsc2U7XHJcbiAgZ2V0IGVtcHR5KCk6IGJvb2xlYW4geyByZXR1cm4gIXRoaXMuX3ZhbHVlOyB9XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mbG9hdGluZycpXHJcbiAgZ2V0IHNob3VsZExhYmVsRmxvYXQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb2N1c2VkIHx8ICF0aGlzLmVtcHR5O1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcclxuICB9XHJcbiAgc2V0IHJlcXVpcmVkKHJlcTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkocmVxKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbCk7XHJcbiAgICB0aGlzLl9jb250cm9sLmlzUmVhZE9ubHkgPSB0aGlzLl9kaXNhYmxlZDtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgZ2V0IGVycm9yU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIGNvbnRyb2xUeXBlPzogc3RyaW5nID0gJ2JpemRvYy10eXBlLXNlbGVjdCc7XHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKSBkZXNjcmliZWRCeSA9ICcnO1xyXG5cclxuICBzZXREZXNjcmliZWRCeUlkcyhpZHM6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLmRlc2NyaWJlZEJ5ID0gaWRzLmpvaW4oJyAnKTtcclxuICB9XHJcbiAgb25Db250YWluZXJDbGljaygpOiB2b2lkIHtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZSh2YWw6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29udHJvbC5sb2FkKHZhbCk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcbiAgQElucHV0KCkgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29udHJvbC5nZXRTaWduYXR1cmUoKTtcclxuICB9XHJcbiAgc2V0IHZhbHVlKHZhbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9jb250cm9sLmxvYWQodmFsKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgX29uRm9jdXMoKSB7XHJcbiAgICBpZiAoIXRoaXMuZm9jdXNlZCkge1xyXG4gICAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLl9vblRvdWNoZWQgJiYgdGhpcy5fb25Ub3VjaGVkKCk7XHJcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgX29uQmx1cigpIHtcclxuICAgIHRoaXMudG91Y2hlZCA9IHRydWU7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXHJcbiAgICBwcml2YXRlIF9mbTogRm9jdXNNb25pdG9yLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgfVxyXG4gICAgX2ZtLm1vbml0b3IoX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdHJ1ZSkuc3Vic2NyaWJlKG9yaWdpbiA9PiB7XHJcbiAgICAgIHRoaXMuZm9jdXNlZCA9ICEhb3JpZ2luO1xyXG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgX2NoYW5nZShldnQ6IFNpZ25hdHVyZUNoYW5nZUV2ZW50QXJncykge1xyXG4gICAgY29uc3QgdmFsID0gdGhpcy5fY29udHJvbC5nZXRTaWduYXR1cmUoKTtcclxuICAgIHRoaXMuX29uQ2hhbmdlICYmIHRoaXMuX29uQ2hhbmdlKHZhbCk7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZm0uc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLmlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL2NvbnRyb2xzL3NpZ25hdHVyZS5pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBYyxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFaEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQWEvQixNQUFNLE9BQ0UsU0FBUztJQXNGZixZQUF1QyxTQUFvQixFQUNqRCxHQUFpQixFQUNqQixXQUFvQztRQUZQLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDakQsUUFBRyxHQUFILEdBQUcsQ0FBYztRQUNqQixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFyRnRDLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQVFqQixpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDN0IsT0FBRSxHQUFHLGFBQWEsU0FBUyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFTdEQsWUFBTyxHQUFHLEtBQUssQ0FBQztRQXdCaEIsZ0JBQVcsR0FBWSxvQkFBb0IsQ0FBQztRQUNOLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBMENyRCxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFO1lBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUNyQztRQUNELEdBQUcsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJ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LFdBQVc7c0JBQXZCLEtBQUs7Z0JBVUYsZ0JBQWdCO3NCQURuQixXQUFXO3VCQUFDLGdCQUFnQjtnQkFLekIsUUFBUTtzQkFEWCxLQUFLO2dCQVNGLFFBQVE7c0JBRFgsS0FBSztnQkFXZ0MsV0FBVztzQkFBaEQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBb0J2QixLQUFLO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBIb3N0QmluZGluZywgT3B0aW9uYWwsIFNlbGYsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0NvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTaWduYXR1cmUgYXMgU3luY2Z1c2lvblNpZ25hdHVyZSwgU2lnbmF0dXJlQ2hhbmdlRXZlbnRBcmdzIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItaW5wdXRzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiaXpkb2Mtc2lnbmF0dXJlJyxcclxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsIHVzZUV4aXN0aW5nOiBTaWduYXR1cmUgfV0sXHJcbiAgdGVtcGxhdGU6IGBcclxuPGNhbnZhcyBlanMtc2lnbmF0dXJlICNzaWduYXR1cmUgKGNoYW5nZSk9XCJfY2hhbmdlKCRldmVudClcIj48L2NhbnZhcz5cclxuYCxcclxuICBob3N0OiB7XHJcbiAgICAnW2NsYXNzLmZsb2F0aW5nXSc6ICdzaG91bGRMYWJlbEZsb2F0JyxcclxuICAgICdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICdkZXNjcmliZWRCeSdcclxuICB9XHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFNpZ25hdHVyZSBpbXBsZW1lbnRzIE1hdEZvcm1GaWVsZENvbnRyb2w8c3RyaW5nPiwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgbmV4dElkID0gMDtcclxuICBwcml2YXRlIF9wbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3JlcXVpcmVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIF92YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIHByaXZhdGUgX29uQ2hhbmdlOiBhbnk7XHJcbiAgcHJpdmF0ZSBfb25Ub3VjaGVkOiBhbnk7XHJcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcclxuICBASW5wdXQoKSBoZWlnaHQ6IG51bWJlcjtcclxuICBASW5wdXQoKSB2ZWxvY2l0eTogbnVtYmVyO1xyXG4gIEBWaWV3Q2hpbGQoJ3NpZ25hdHVyZScpIF9jb250cm9sOiBTeW5jZnVzaW9uU2lnbmF0dXJlO1xyXG4gIHJlYWRvbmx5IHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgQEhvc3RCaW5kaW5nKCkgaWQgPSBgc2lnbmF0dXJlLSR7U2lnbmF0dXJlLm5leHRJZCsrfWA7XHJcbiAgdG91Y2hlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBnZXQgcGxhY2Vob2xkZXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXI7XHJcbiAgfVxyXG4gIHNldCBwbGFjZWhvbGRlcihwbGgpIHtcclxuICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gcGxoO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBmb2N1c2VkID0gZmFsc2U7XHJcbiAgZ2V0IGVtcHR5KCk6IGJvb2xlYW4geyByZXR1cm4gIXRoaXMuX3ZhbHVlOyB9XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mbG9hdGluZycpXHJcbiAgZ2V0IHNob3VsZExhYmVsRmxvYXQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb2N1c2VkIHx8ICF0aGlzLmVtcHR5O1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIGdldCByZXF1aXJlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9yZXF1aXJlZDtcclxuICB9XHJcbiAgc2V0IHJlcXVpcmVkKHJlcTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkocmVxKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2Rpc2FibGVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbCk7XHJcbiAgICB0aGlzLl9jb250cm9sLmlzUmVhZE9ubHkgPSB0aGlzLl9kaXNhYmxlZDtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgZ2V0IGVycm9yU3RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIGNvbnRyb2xUeXBlPzogc3RyaW5nID0gJ2JpemRvYy10eXBlLXNlbGVjdCc7XHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKSBkZXNjcmliZWRCeSA9ICcnO1xyXG5cclxuICBzZXREZXNjcmliZWRCeUlkcyhpZHM6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLmRlc2NyaWJlZEJ5ID0gaWRzLmpvaW4oJyAnKTtcclxuICB9XHJcbiAgb25Db250YWluZXJDbGljaygpOiB2b2lkIHtcclxuICB9XHJcbiAgd3JpdGVWYWx1ZSh2YWw6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fY29udHJvbC5sb2FkKHZhbCk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcbiAgQElucHV0KCkgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29udHJvbC5nZXRTaWduYXR1cmUoKTtcclxuICB9XHJcbiAgc2V0IHZhbHVlKHZhbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9jb250cm9sLmxvYWQodmFsKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgX29uRm9jdXMoKSB7XHJcbiAgICBpZiAoIXRoaXMuZm9jdXNlZCkge1xyXG4gICAgICB0aGlzLmZvY3VzZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLl9vblRvdWNoZWQgJiYgdGhpcy5fb25Ub3VjaGVkKCk7XHJcbiAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICAgIH1cclxuICB9XHJcbiAgX29uQmx1cigpIHtcclxuICAgIHRoaXMudG91Y2hlZCA9IHRydWU7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgbmdDb250cm9sOiBOZ0NvbnRyb2wsXHJcbiAgICBwcml2YXRlIF9mbTogRm9jdXNNb25pdG9yLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcclxuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgfVxyXG4gICAgX2ZtLm1vbml0b3IoX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgdHJ1ZSkuc3Vic2NyaWJlKG9yaWdpbiA9PiB7XHJcbiAgICAgIHRoaXMuZm9jdXNlZCA9ICEhb3JpZ2luO1xyXG4gICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgX2NoYW5nZShldnQ6IFNpZ25hdHVyZUNoYW5nZUV2ZW50QXJncykge1xyXG4gICAgY29uc3QgdmFsID0gdGhpcy5fY29udHJvbC5nZXRTaWduYXR1cmUoKTtcclxuICAgIHRoaXMuX29uQ2hhbmdlICYmIHRoaXMuX29uQ2hhbmdlKHZhbCk7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZm0uc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
@@ -169,9 +169,9 @@ export class TimePicker {
|
|
169
169
|
}
|
170
170
|
}
|
171
171
|
TimePicker.nextId = 0;
|
172
|
-
TimePicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.
|
173
|
-
TimePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.
|
174
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.
|
172
|
+
TimePicker.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TimePicker, deps: [{ token: i1.FocusMonitor }, { token: i0.ElementRef }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
173
|
+
TimePicker.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: TimePicker, selector: "mat-time-picker", inputs: { dateControlName: "dateControlName", placeholder: "placeholder", required: "required", disabled: "disabled", value: "value" }, host: { properties: { "class.floating": "shouldLabelFloat", "id": "id", "attr.aria-describedby": "describedBy" } }, providers: [{ provide: MatFormFieldControl, useExisting: TimePicker }], ngImport: i0, template: "<input matInput type=\"text\" [matAutocomplete]=\"auto\" [formControl]=\"control\" [placeholder]=\"placeholder\">\r\n<mat-autocomplete #auto>\r\n <mat-option *ngFor=\"let o of options\" [value]=\"o\">{{o}}</mat-option>\r\n</mat-autocomplete>\r\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "directive", type: i6.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"] }] });
|
174
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: TimePicker, decorators: [{
|
175
175
|
type: Component,
|
176
176
|
args: [{ selector: 'mat-time-picker', providers: [{ provide: MatFormFieldControl, useExisting: TimePicker }], host: {
|
177
177
|
'[class.floating]': 'shouldLabelFloat',
|
@@ -193,4 +193,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.5", ngImpor
|
|
193
193
|
}], value: [{
|
194
194
|
type: Input
|
195
195
|
}] } });
|
196
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvY29udHJvbHMvdGltZS1waWNrZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvY29udHJvbHMvdGltZS1waWNrZXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsV0FBVyxFQUFtQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7QUFFOUMsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLEVBQUUsV0FBVyxHQUFHLDRCQUE0QixDQUFDO0FBRWxGLFNBQVMsY0FBYztJQUNyQixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hCLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDVDtRQUNELENBQUMsRUFB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U0FBUzsrQkFDRSxpQkFBaUIsYUFFaEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLFlBQVksRUFBRSxDQUFDLFFBQ2hFO3dCQUNKLGtCQUFrQixFQUFFLGtCQUFrQjt3QkFDdEMsTUFBTSxFQUFFLElBQUk7d0JBQ1oseUJBQXlCLEVBQUUsYUFBYTtxQkFDekM7OzBCQTJFRSxRQUFROzswQkFBSSxJQUFJOzRDQXJEbkIsZUFBZTtzQkFEZCxLQUFLO2dCQUdGLFdBQVc7c0JBRGQsS0FBSztnQkFTRixRQUFRO3NCQURYLEtBQUs7Z0JBU0YsUUFBUTtzQkFEWCxLQUFLO2dCQVlGLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIElucHV0LCBPcHRpb25hbCwgU2VsZiwgRWxlbWVudFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xyXG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2ExMXlcIjtcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9jb2VyY2lvblwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IGlzRGF0ZSB9IGZyb20gXCIuLi8uLi9jb3JlL2Z1bmN0aW9uc1wiO1xyXG5cclxuY29uc3QgVElNRV9GT1JNQVQgPSAvXFxkezEsMn06XFxkezEsMn0vLCBEQVRFX0ZPUk1BVCA9IC9cXGR7NH0tXFxkXFxkLVxcZFxcZFRcXGRcXGQ6XFxkezJ9LztcclxuXHJcbmZ1bmN0aW9uIGdlbmVyYXRlVmFsdWVzKCk6IHN0cmluZ1tdIHtcclxuICBjb25zdCB0aW1lcyA9IFtdO1xyXG4gIGxldCBoID0gMDtcclxuICB3aGlsZSAoaCA8IDI0KSB7XHJcbiAgICBsZXQgbSA9IDA7XHJcbiAgICB3aGlsZSAobSA8IDYwKSB7XHJcbiAgICAgIHRpbWVzLnB1c2goYCR7aH06JHttfWApO1xyXG4gICAgICBtICs9IDE1O1xyXG4gICAgfVxyXG4gICAgaCsrO1xyXG4gIH1cclxuICByZXR1cm4gdGltZXM7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWF0LXRpbWUtcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJ3RpbWUtcGlja2VyLmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IFRpbWVQaWNrZXIgfV0sXHJcbiAgaG9zdDoge1xyXG4gICAgJ1tjbGFzcy5mbG9hdGluZ10nOiAnc2hvdWxkTGFiZWxGbG9hdCcsXHJcbiAgICAnW2lkXSc6ICdpZCcsXHJcbiAgICAnW2F0dHIuYXJpYS1kZXNjcmliZWRieV0nOiAnZGVzY3JpYmVkQnknXHJcbiAgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGltZVBpY2tlciBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBNYXRGb3JtRmllbGRDb250cm9sPHN0cmluZz4sIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIHJlYWRvbmx5IGNvbnRyb2xUeXBlID0gJ3RpbWUtcGlja2VyJztcclxuICByZWFkb25seSBpZCA9IGB0aW1lLXBpY2tlci0ke1RpbWVQaWNrZXIubmV4dElkKyt9YDtcclxuICBmb2N1c2VkID0gZmFsc2U7XHJcbiAgZXJyb3JTdGF0ZSA9IGZhbHNlO1xyXG4gIGRlc2NyaWJlZEJ5ID0gJyc7XHJcbiAgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcbiAgb25Ub3VjaGVkID0gKCkgPT4geyB9O1xyXG4gIHByaXZhdGUgX2RhdGVDb250cm9sOiBGb3JtQ29udHJvbDtcclxuXHJcbiAgZ2V0IGVtcHR5KCkge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmNvbnRyb2wudmFsdWU7XHJcblxyXG4gICAgcmV0dXJuICF2YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBzaG91bGRMYWJlbEZsb2F0KCkgeyByZXR1cm4gdGhpcy5mb2N1c2VkIHx8ICF0aGlzLmVtcHR5OyB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF0ZUNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyOyB9XHJcbiAgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gdmFsdWU7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3BsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7IH1cclxuICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPyB0aGlzLmNvbnRyb2wuZGlzYWJsZSgpIDogdGhpcy5jb250cm9sLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG4gIHJlYWRvbmx5IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wobnVsbCk7XHJcbiAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICByZWFkb25seSBvcHRpb25zID0gZ2VuZXJhdGVWYWx1ZXMoKTtcclxuICBASW5wdXQoKVxyXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jb250cm9sLnZhbHVlO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuICBzZXQgdmFsdWUodmFsOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICB0aGlzLl9zZXRWYWx1ZSh2YWwsIHRydWUpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9zZXRWYWx1ZSh2YWw6IERhdGUgfCBzdHJpbmcsIGVtaXRFdmVudDogYm9vbGVhbikge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICBpZiAoaXNEYXRlKHZhbCkgfHwgREFURV9GT1JNQVQudGVzdCh2YWwgYXMgc3RyaW5nKSkge1xyXG4gICAgICAgIHZhbCA9IG5ldyBEYXRlKHZhbCk7XHJcbiAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHZhbC5nZXRIb3VycygpICsgJzonICsgdmFsLmdldE1pbnV0ZXMoKSwgeyBlbWl0RXZlbnQgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShUSU1FX0ZPUk1BVC5leGVjKHZhbCBhcyBzdHJpbmcpWzBdLCB7IGVtaXRFdmVudCB9KTtcclxuICAgIH0gZWxzZVxyXG4gICAgICB0aGlzLmNvbnRyb2wucmVzZXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sKSB7XHJcblxyXG4gICAgX2ZvY3VzTW9uaXRvci5tb25pdG9yKF9lbGVtZW50UmVmLCB0cnVlKS5zdWJzY3JpYmUob3JpZ2luID0+IHtcclxuICAgICAgaWYgKHRoaXMuZm9jdXNlZCAmJiAhb3JpZ2luKSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZvY3VzZWQgPSAhIW9yaWdpbjtcclxuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMubmdDb250cm9sICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXREZXNjcmliZWRCeUlkcyhpZHM6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLmRlc2NyaWJlZEJ5ID0gaWRzLmpvaW4oJyAnKTtcclxuICB9XHJcblxyXG4gIG9uQ29udGFpbmVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICgoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLnRhZ05hbWUgIT09ICdJTlBVVCcpXHJcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpLmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2V0VmFsdWUodmFsLCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICAgIHRoaXMuZXJyb3JTdGF0ZSA9ICF0aGlzLl92YWxpZGF0ZSh2KTtcclxuICAgICAgICBpZiAodiAmJiAhdGhpcy5lcnJvclN0YXRlICYmIHRoaXMuZGF0ZUNvbnRyb2xOYW1lKSB7XHJcbiAgICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5fZGF0ZUNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICBkYXRlICYmIHRoaXMuX2FwcGVuZFRpbWUoZGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuZGF0ZUNvbnRyb2xOYW1lKSB7XHJcbiAgICAgIHRoaXMuX2RhdGVDb250cm9sID0gdGhpcy5uZ0NvbnRyb2wuY29udHJvbC5wYXJlbnQuY29udHJvbHNbdGhpcy5kYXRlQ29udHJvbE5hbWVdO1xyXG4gICAgICBpZiAoIXRoaXMuX2RhdGVDb250cm9sKSB0aHJvdyBgJHt0aGlzLmNvbnRyb2xUeXBlfSBkYXRlQ29udHJvbE5hbWUgJHt0aGlzLmRhdGVDb250cm9sTmFtZX1gO1xyXG5cclxuICAgICAgdGhpcy5fZGF0ZUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgICBzdWJzY3JpYmUoKHY6IERhdGUpID0+IHtcclxuICAgICAgICAgIHYgJiYgdGhpcy52YWx1ZSAmJiB0aGlzLl9hcHBlbmRUaW1lKHYpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9hcHBlbmRUaW1lKHZhbDogRGF0ZSkge1xyXG4gICAgaWYgKCFpc0RhdGUodmFsKSkgdmFsID0gbmV3IERhdGUodmFsKTtcclxuICAgIGNvbnN0IHBhcnRzID0gdGhpcy52YWx1ZS5zcGxpdCgnOicpO1xyXG4gICAgdmFsLnNldEhvdXJzKHBhcnNlSW50KHBhcnRzWzBdKSwgcGFyc2VJbnQocGFydHNbMV0pKTtcclxuICAgIHRoaXMuX2RhdGVDb250cm9sLnNldFZhbHVlKHZhbC50b0lTT1N0cmluZygpLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3ZhbGlkYXRlKHZhbDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXZhbCkgcmV0dXJuICF0aGlzLl9yZXF1aXJlZDtcclxuICAgIGNvbnN0IHBhcnRzID0gdmFsLnNwbGl0KCc6Jyk7XHJcbiAgICBpZiAocGFydHMubGVuZ3RoID4gMilcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoIS9cXGR7MSwyfS8udGVzdChwYXJ0c1tpXSkpXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICBjb25zdCBwYXJ0ID0gcGFyc2VJbnQocGFydHNbaV0pO1xyXG4gICAgICBpZiAoaXNOYU4ocGFydCkpXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICBlbHNlIGlmIChpID09PSAwICYmIChwYXJ0IDwgMCB8fCBwYXJ0ID4gMjMpKVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgZWxzZSBpZiAoaSA9PT0gMSAmJiAocGFydCA8IDAgfHwgcGFydCA+IDU5KSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZik7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIj5cclxuPG1hdC1hdXRvY29tcGxldGUgI2F1dG8+XHJcbiAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG8gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvXCI+e3tvfX08L21hdC1vcHRpb24+XHJcbjwvbWF0LWF1dG9jb21wbGV0ZT5cclxuIl19
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvY29udHJvbHMvdGltZS1waWNrZXIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvY29udHJvbHMvdGltZS1waWNrZXIuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUNoRyxPQUFPLEVBQUUsV0FBVyxFQUFtQyxNQUFNLGdCQUFnQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7QUFFOUMsTUFBTSxXQUFXLEdBQUcsaUJBQWlCLEVBQUUsV0FBVyxHQUFHLDRCQUE0QixDQUFDO0FBRWxGLFNBQVMsY0FBYztJQUNyQixNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ2IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1YsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2IsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3hCLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDVDtRQUNELENBQUMsRUFB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U0FBUzsrQkFDRSxpQkFBaUIsYUFFaEIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLFlBQVksRUFBRSxDQUFDLFFBQ2hFO3dCQUNKLGtCQUFrQixFQUFFLGtCQUFrQjt3QkFDdEMsTUFBTSxFQUFFLElBQUk7d0JBQ1oseUJBQXlCLEVBQUUsYUFBYTtxQkFDekM7OzBCQTJFRSxRQUFROzswQkFBSSxJQUFJOzRDQXJEbkIsZUFBZTtzQkFEZCxLQUFLO2dCQUdGLFdBQVc7c0JBRGQsS0FBSztnQkFTRixRQUFRO3NCQURYLEtBQUs7Z0JBU0YsUUFBUTtzQkFEWCxLQUFLO2dCQVlGLEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3ksIElucHV0LCBPcHRpb25hbCwgU2VsZiwgRWxlbWVudFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZENvbnRyb2wgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xyXG5pbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2ExMXlcIjtcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9jb2VyY2lvblwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IGlzRGF0ZSB9IGZyb20gXCIuLi8uLi9jb3JlL2Z1bmN0aW9uc1wiO1xyXG5cclxuY29uc3QgVElNRV9GT1JNQVQgPSAvXFxkezEsMn06XFxkezEsMn0vLCBEQVRFX0ZPUk1BVCA9IC9cXGR7NH0tXFxkXFxkLVxcZFxcZFRcXGRcXGQ6XFxkezJ9LztcclxuXHJcbmZ1bmN0aW9uIGdlbmVyYXRlVmFsdWVzKCk6IHN0cmluZ1tdIHtcclxuICBjb25zdCB0aW1lcyA9IFtdO1xyXG4gIGxldCBoID0gMDtcclxuICB3aGlsZSAoaCA8IDI0KSB7XHJcbiAgICBsZXQgbSA9IDA7XHJcbiAgICB3aGlsZSAobSA8IDYwKSB7XHJcbiAgICAgIHRpbWVzLnB1c2goYCR7aH06JHttfWApO1xyXG4gICAgICBtICs9IDE1O1xyXG4gICAgfVxyXG4gICAgaCsrO1xyXG4gIH1cclxuICByZXR1cm4gdGltZXM7XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbWF0LXRpbWUtcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJ3RpbWUtcGlja2VyLmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTWF0Rm9ybUZpZWxkQ29udHJvbCwgdXNlRXhpc3Rpbmc6IFRpbWVQaWNrZXIgfV0sXHJcbiAgaG9zdDoge1xyXG4gICAgJ1tjbGFzcy5mbG9hdGluZ10nOiAnc2hvdWxkTGFiZWxGbG9hdCcsXHJcbiAgICAnW2lkXSc6ICdpZCcsXHJcbiAgICAnW2F0dHIuYXJpYS1kZXNjcmliZWRieV0nOiAnZGVzY3JpYmVkQnknXHJcbiAgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGltZVBpY2tlciBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBNYXRGb3JtRmllbGRDb250cm9sPHN0cmluZz4sIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHN0YXRpYyBuZXh0SWQgPSAwO1xyXG4gIHJlYWRvbmx5IGNvbnRyb2xUeXBlID0gJ3RpbWUtcGlja2VyJztcclxuICByZWFkb25seSBpZCA9IGB0aW1lLXBpY2tlci0ke1RpbWVQaWNrZXIubmV4dElkKyt9YDtcclxuICBmb2N1c2VkID0gZmFsc2U7XHJcbiAgZXJyb3JTdGF0ZSA9IGZhbHNlO1xyXG4gIGRlc2NyaWJlZEJ5ID0gJyc7XHJcbiAgb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcbiAgb25Ub3VjaGVkID0gKCkgPT4geyB9O1xyXG4gIHByaXZhdGUgX2RhdGVDb250cm9sOiBGb3JtQ29udHJvbDtcclxuXHJcbiAgZ2V0IGVtcHR5KCkge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmNvbnRyb2wudmFsdWU7XHJcblxyXG4gICAgcmV0dXJuICF2YWx1ZTtcclxuICB9XHJcblxyXG4gIGdldCBzaG91bGRMYWJlbEZsb2F0KCkgeyByZXR1cm4gdGhpcy5mb2N1c2VkIHx8ICF0aGlzLmVtcHR5OyB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGF0ZUNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX3BsYWNlaG9sZGVyOyB9XHJcbiAgc2V0IHBsYWNlaG9sZGVyKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gdmFsdWU7XHJcbiAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3BsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IHJlcXVpcmVkKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7IH1cclxuICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3JlcXVpcmVkID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlZDsgfVxyXG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPyB0aGlzLmNvbnRyb2wuZGlzYWJsZSgpIDogdGhpcy5jb250cm9sLmVuYWJsZSgpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xyXG4gIHJlYWRvbmx5IGNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wobnVsbCk7XHJcbiAgcmVhZG9ubHkgc3RhdGVDaGFuZ2VzID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICByZWFkb25seSBvcHRpb25zID0gZ2VuZXJhdGVWYWx1ZXMoKTtcclxuICBASW5wdXQoKVxyXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5jb250cm9sLnZhbHVlO1xyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuICBzZXQgdmFsdWUodmFsOiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICB0aGlzLl9zZXRWYWx1ZSh2YWwsIHRydWUpO1xyXG4gICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9zZXRWYWx1ZSh2YWw6IERhdGUgfCBzdHJpbmcsIGVtaXRFdmVudDogYm9vbGVhbikge1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICBpZiAoaXNEYXRlKHZhbCkgfHwgREFURV9GT1JNQVQudGVzdCh2YWwgYXMgc3RyaW5nKSkge1xyXG4gICAgICAgIHZhbCA9IG5ldyBEYXRlKHZhbCk7XHJcbiAgICAgICAgdGhpcy5jb250cm9sLnNldFZhbHVlKHZhbC5nZXRIb3VycygpICsgJzonICsgdmFsLmdldE1pbnV0ZXMoKSwgeyBlbWl0RXZlbnQgfSk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuY29udHJvbC5zZXRWYWx1ZShUSU1FX0ZPUk1BVC5leGVjKHZhbCBhcyBzdHJpbmcpWzBdLCB7IGVtaXRFdmVudCB9KTtcclxuICAgIH0gZWxzZVxyXG4gICAgICB0aGlzLmNvbnRyb2wucmVzZXQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sKSB7XHJcblxyXG4gICAgX2ZvY3VzTW9uaXRvci5tb25pdG9yKF9lbGVtZW50UmVmLCB0cnVlKS5zdWJzY3JpYmUob3JpZ2luID0+IHtcclxuICAgICAgaWYgKHRoaXMuZm9jdXNlZCAmJiAhb3JpZ2luKSB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmZvY3VzZWQgPSAhIW9yaWdpbjtcclxuICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKHRoaXMubmdDb250cm9sICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXREZXNjcmliZWRCeUlkcyhpZHM6IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLmRlc2NyaWJlZEJ5ID0gaWRzLmpvaW4oJyAnKTtcclxuICB9XHJcblxyXG4gIG9uQ29udGFpbmVyQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGlmICgoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLnRhZ05hbWUgIT09ICdJTlBVVCcpXHJcbiAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCdpbnB1dCcpLmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbDogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2V0VmFsdWUodmFsLCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgc3Vic2NyaWJlKHYgPT4ge1xyXG4gICAgICAgIHRoaXMuZXJyb3JTdGF0ZSA9ICF0aGlzLl92YWxpZGF0ZSh2KTtcclxuICAgICAgICBpZiAodiAmJiAhdGhpcy5lcnJvclN0YXRlICYmIHRoaXMuZGF0ZUNvbnRyb2xOYW1lKSB7XHJcbiAgICAgICAgICBjb25zdCBkYXRlID0gdGhpcy5fZGF0ZUNvbnRyb2wudmFsdWU7XHJcbiAgICAgICAgICBkYXRlICYmIHRoaXMuX2FwcGVuZFRpbWUoZGF0ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgaWYgKHRoaXMuZGF0ZUNvbnRyb2xOYW1lKSB7XHJcbiAgICAgIHRoaXMuX2RhdGVDb250cm9sID0gdGhpcy5uZ0NvbnRyb2wuY29udHJvbC5wYXJlbnQuY29udHJvbHNbdGhpcy5kYXRlQ29udHJvbE5hbWVdO1xyXG4gICAgICBpZiAoIXRoaXMuX2RhdGVDb250cm9sKSB0aHJvdyBgJHt0aGlzLmNvbnRyb2xUeXBlfSBkYXRlQ29udHJvbE5hbWUgJHt0aGlzLmRhdGVDb250cm9sTmFtZX1gO1xyXG5cclxuICAgICAgdGhpcy5fZGF0ZUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5cclxuICAgICAgICBzdWJzY3JpYmUoKHY6IERhdGUpID0+IHtcclxuICAgICAgICAgIHYgJiYgdGhpcy52YWx1ZSAmJiB0aGlzLl9hcHBlbmRUaW1lKHYpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9hcHBlbmRUaW1lKHZhbDogRGF0ZSkge1xyXG4gICAgaWYgKCFpc0RhdGUodmFsKSkgdmFsID0gbmV3IERhdGUodmFsKTtcclxuICAgIGNvbnN0IHBhcnRzID0gdGhpcy52YWx1ZS5zcGxpdCgnOicpO1xyXG4gICAgdmFsLnNldEhvdXJzKHBhcnNlSW50KHBhcnRzWzBdKSwgcGFyc2VJbnQocGFydHNbMV0pKTtcclxuICAgIHRoaXMuX2RhdGVDb250cm9sLnNldFZhbHVlKHZhbC50b0lTT1N0cmluZygpLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3ZhbGlkYXRlKHZhbDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoIXZhbCkgcmV0dXJuICF0aGlzLl9yZXF1aXJlZDtcclxuICAgIGNvbnN0IHBhcnRzID0gdmFsLnNwbGl0KCc6Jyk7XHJcbiAgICBpZiAocGFydHMubGVuZ3RoID4gMilcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJ0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoIS9cXGR7MSwyfS8udGVzdChwYXJ0c1tpXSkpXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICBjb25zdCBwYXJ0ID0gcGFyc2VJbnQocGFydHNbaV0pO1xyXG4gICAgICBpZiAoaXNOYU4ocGFydCkpXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICBlbHNlIGlmIChpID09PSAwICYmIChwYXJ0IDwgMCB8fCBwYXJ0ID4gMjMpKVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgZWxzZSBpZiAoaSA9PT0gMSAmJiAocGFydCA8IDAgfHwgcGFydCA+IDU5KSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZik7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCIgW2Zvcm1Db250cm9sXT1cImNvbnRyb2xcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIj5cclxuPG1hdC1hdXRvY29tcGxldGUgI2F1dG8+XHJcbiAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IG8gb2Ygb3B0aW9uc1wiIFt2YWx1ZV09XCJvXCI+e3tvfX08L21hdC1vcHRpb24+XHJcbjwvbWF0LWF1dG9jb21wbGV0ZT5cclxuIl19
|