@bizdoc/core 2.3.34 → 2.3.36
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/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +3 -3
- package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +3 -4
- package/esm2022/lib/admin/diff/configuration-diff.component.mjs +3 -5
- package/esm2022/lib/admin/document-trace/document-trace.component.mjs +3 -5
- package/esm2022/lib/admin/form/workflow/workflow.component.mjs +3 -5
- package/esm2022/lib/admin/profiler/profiler.component.mjs +3 -5
- package/esm2022/lib/admin/utility.pane.component.mjs +3 -6
- package/esm2022/lib/browse/browse.pane.component.mjs +3 -5
- package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
- package/esm2022/lib/chat/chat-info.mjs +2 -2
- package/esm2022/lib/chat/contacts.pane.component.mjs +3 -6
- package/esm2022/lib/chat/conversation.component.mjs +3 -4
- package/esm2022/lib/chat/conversation.pane.component.mjs +3 -5
- package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +3 -5
- package/esm2022/lib/compose/comments/comment.component.mjs +3 -3
- package/esm2022/lib/compose/comments/comments.component.mjs +3 -4
- package/esm2022/lib/compose/comments/comments.pane.component.mjs +3 -5
- package/esm2022/lib/compose/comments/edit-comment.component.mjs +3 -3
- package/esm2022/lib/compose/compose.pane.component.mjs +3 -5
- package/esm2022/lib/compose/tag/tags.component.mjs +3 -3
- package/esm2022/lib/compose/trace/trace.pane.component.mjs +3 -5
- package/esm2022/lib/compose/version-compare/version.pane.component.mjs +3 -5
- package/esm2022/lib/core/animations.mjs +9 -1
- package/esm2022/lib/core/inputs/combination-picker.mjs +3 -3
- package/esm2022/lib/core/slots/slots.component.mjs +9 -9
- package/esm2022/lib/core/sticky-toolbar.exp.mjs +30 -0
- package/esm2022/lib/core/tagging/edit-input.component.mjs +3 -3
- package/esm2022/lib/core/translations.mjs +14 -8
- package/esm2022/lib/core/virtual-tabs.component.exp.mjs +84 -0
- package/esm2022/lib/cube/explore/explore.pane.component.mjs +3 -5
- package/esm2022/lib/cube/explore/item.pane.component.mjs +3 -5
- package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
- package/esm2022/lib/cube/filter/filter.component.mjs +3 -3
- package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +3 -5
- package/esm2022/lib/cube/view.pane.component.mjs +3 -5
- package/esm2022/lib/dashboard/dashboard.pane.component.mjs +3 -3
- package/esm2022/lib/home/home.desktop.component.mjs +3 -3
- package/esm2022/lib/home/options/options.component.mjs +3 -3
- package/esm2022/lib/modules/chart.module.mjs +3 -3
- package/esm2022/lib/notifications/notifications.pane.component.mjs +3 -6
- package/esm2022/lib/options/options.component.mjs +21 -16
- package/esm2022/lib/options/options.service.mjs +2 -1
- package/esm2022/lib/reports/cube/role-performance.component.mjs +127 -34
- package/esm2022/lib/reports/report-viewer.component.mjs +2 -1
- package/esm2022/lib/reports/report.pane.component.mjs +3 -5
- package/esm2022/lib/routes.desktop.mjs +2 -2
- package/esm2022/lib/scheduler/schedule.component.mjs +3 -3
- package/esm2022/lib/scheduler/scheduler.pane.component.mjs +3 -6
- package/esm2022/lib/shared.module.mjs +7 -6
- package/esm2022/public-api.mjs +3 -2
- package/fesm2022/bizdoc-core.mjs +487 -348
- package/fesm2022/bizdoc-core.mjs.map +1 -1
- package/lib/admin/architecture/elements/performance-report.component.d.ts +0 -1
- package/lib/chat/conversation.component.d.ts +0 -1
- package/lib/compose/comments/comments.component.d.ts +0 -1
- package/lib/core/animations.d.ts +2 -0
- package/lib/core/slots/slots.component.d.ts +1 -1
- package/lib/core/translations.d.ts +11 -5
- package/lib/core/virtual-tabs.component.exp.d.ts +22 -0
- package/lib/options/options.component.d.ts +6 -5
- package/lib/reports/cube/role-performance.component.d.ts +26 -13
- package/lib/shared.module.d.ts +141 -140
- package/package.json +1 -1
- package/public-api.d.ts +2 -1
- package/esm2022/lib/core/StickyToolbar.mjs +0 -30
- /package/lib/core/{StickyToolbar.d.ts → sticky-toolbar.exp.d.ts} +0 -0
@@ -295,11 +295,11 @@ export class HomeComponent extends HomeBase {
|
|
295
295
|
item.instance.onPick();
|
296
296
|
}
|
297
297
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: HomeComponent, deps: [{ token: i1.PanesRouter }, { token: i2.SearchService }, { token: i3.MailboxService }, { token: i4.Popup }, { token: i5.PromptService }, { token: i6.GuideService }, { token: i0.Injector }, { token: i7.SessionService }, { token: i8.HubService }, { token: i9.TranslateService }, { token: i10.MatSnackBar }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
298
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: HomeComponent, selector: "bizdoc-home", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "mat-app-background" }, viewQueries: [{ propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "main", first: true, predicate: SlotsComponent, descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "trigger", first: true, predicate: ["input"], descendants: true, read: MatAutocompleteTrigger }], usesInheritance: true, ngImport: i0, template: "<!-- menu -->\n<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\"\n [class.dialog]=\"dialog\"\n class=\"nav-menu row\">\n <!--[class.loading]=\"loading\"-->\n <div class=\"column\">\n <div>\n @if (forms.length) {\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\">\n <button mat-raised-button\n [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n (click)=\"opennew()\" [disabled]=\"creating\"\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\n <mat-icon>add</mat-icon>\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\n </button>\n </div>\n }\n <mat-nav-list>\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\n data-help=\"dashboard\"\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon>apps</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Dashboard' | translate}}</span>\n </mat-list-item>\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n [class.active]=\"activeMenu === 'mailbox'\"\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\n <mat-icon matListItemIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\" aria-hidden=\"false\">inbox</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{'Mailbox' | translate}}</span>\n </mat-list-item>\n @if (schedulerEnabled) {\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\"\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\" matListItemTitle>{{ 'Scheduler' | translate}}</span>\n </mat-list-item>\n }\n @if (chatEnabled) {\n <mat-list-item data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\" aria-hidden=\"false\">chat</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{ 'Chat' | translate}}</span>\n </mat-list-item>\n }\n <mat-divider></mat-divider>\n @if (enableAnalysis && profile.cubes.length) {\n <mat-list-item (click)=\"opensubmenu('cube')\"\n [class.active]=\"activeMenu === 'cube'\"\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\n <mat-icon matListItemIcon>equalizer</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Cube' | translate}}</span>\n </mat-list-item>\n }\n @if (profile.reports.length) {\n <mat-list-item (click)=\"opensubmenu('reports')\"\n [class.active]=\"activeMenu === 'reports'\"\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\n <mat-icon matListItemIcon>list_alt</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Reports' | translate}}</span>\n </mat-list-item>\n }\n @if (sysAdmin) {\n <mat-divider></mat-divider>\n <mat-list-item (click)=\"opensubmenu('admin')\"\n [class.active]=\"activeMenu === 'admin'\"\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" [attr.aria-label]=\"'System' | translate\">\n <mat-icon matListItemIcon>device_hub</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{'Workflow' | translate}}</span>\n </mat-list-item>\n }\n </mat-nav-list>\n </div>\n <span class=\"divider\"></span>\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\n <!--@animate-->\n <div class=\"sign-in\">\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"above\"\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\n </button>\n <span class=\"divider\"></span>\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"above\">\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\n </button>\n </div>\n </div>\n <!-- -->\n @if (submenu) {\n <div class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\n @if (submenu !== 'new') {\n <div class=\"action\">\n <button mat-icon-button (click)=\"togglePinned()\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">{{pinned ? 'push_pin' : 'menu'}}</mat-icon></button>\n </div>\n }\n @switch (submenu) {\n @case ('new') {\n <bizdoc-new-menu (change)=\"closesubmenu()\"></bizdoc-new-menu>\n }\n @case ('mailbox') {\n <bizdoc-folders-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\n }\n @case ('admin') {\n <bizdoc-admin-menu [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\n }\n @case ('reports') {\n <bizdoc-reports-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\n }\n @case ('cube') {\n <bizdoc-cube-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\n }\n }\n </div>\n }\n @if (dialog) {\n <div class=\"backdrop\"></div>\n }\n</div>\n<div class=\"main\">\n <!-- title -->\n <div class=\"row header\" [@title]=\"main.titleAnimation\">\n <h1>\n @if (main.swap) {\n <button mat-icon-button (click)=\"main.back()\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon></button>\n }\n @for (p of main.panes; track p; let first = $first) {\n @if (!first) {\n <span class=\"breadcrumbs\">\\</span>\n }\n {{p.title}}\n }\n @if (main.panes[0]?.guide) {\n <button mat-icon-button (click)=\"guide(main.panes[0].guide)\" [bizdocTooltip]=\"'Help'|translate\"><mat-icon>help</mat-icon></button>\n }\n </h1>\n <span class=\"divider\">\n </span>\n <!--search-->\n <input type=\"text\"\n [@search]=\"searching\"\n (@search.done)=\"searching && focus()\"\n #input\n (keydown.escape)=\"collapse($event)\"\n [attr.aria-label]=\"'Search'|translate\"\n [formControl]=\"search\"\n [matAutocomplete]=\"auto\" class=\"search-box\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"goto($event)\" [displayWith]=\"displayWith\">\n @for (o of results | async; track o) {\n <mat-option [value]=\"o\">\n <ng-container (attached)=\"onAttached(o, $event)\" [cdkPortalOutlet]=\"o.portal\"></ng-container>\n </mat-option>\n }\n </mat-autocomplete>\n <button mat-icon-button (click)=\"toggle($event)\" [bizdocTooltip]=\"'Search'|translate\" class=\"tool\"><mat-icon>search</mat-icon></button>\n <!--tool-->\n <button mat-icon-button (click)=\"notifs($event)\" [bizdocTooltip]=\"'Notifications'|translate\" bizdocTooltipPosition=\"start\" class=\"tool\"\n [attr.aria-label]=\"'Notifications'| translate\"\n data-help=\"notifications\">\n <mat-icon matListItemIcon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\"\n matBadgeColor=\"accent\" aria-hidden=\"false\"\n [class.filled]=\"profile.notificationsCount\">\n {{profile.options.notifications.active ? 'notifications':'notifications_off'}}\n </mat-icon>\n </button>\n </div>\n\n <bizdoc-panes-outlet (dialogChange)=\"dialog = $event\" #main></bizdoc-panes-outlet>\n</div>\n", styles: [":host{display:flex;position:absolute;height:100%;width:100%}::ng-deep .nav-collapsed .mdc-list-item{padding-right:0}::ng-deep [dir=rtl] .nav-collapsed .mdc-list-item{padding-left:0}.nav-menu{height:100%;z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden;align-self:stretch}.nav-menu .sub-menu .action{display:flex;-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0;text-align:center}.nav-menu .new-container button{min-width:35px;padding:0 14px;height:40px}.nav-menu .new-container button .mat-icon{margin-right:2px;margin-left:2px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;overflow:hidden;margin-bottom:5px;align-items:baseline}.backdrop{position:absolute;z-index:200;width:100%;height:100%;display:block;background:#424242;opacity:.8}.main{flex-grow:1;position:relative;overflow-x:hidden;display:inline-flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;flex-basis:100%}.main .header{align-items:center;min-width:max-content}.main .header h1{font-size:xx-large;margin:12px;font-weight:100}.main .header h1 button{vertical-align:middle}.main .header h1 .breadcrumbs{font-size:smaller}.main .header .search-box{font-size:large}\n"], dependencies: [{ kind: "directive", type: i11.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: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i11.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i12.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i14.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i14.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i14.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i15.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i14.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i16.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i17.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i16.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i18.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i18.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i19.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i20.MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: i21.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i22.AdminMenuComponent, selector: "bizdoc-admin-menu", inputs: ["collapsed"] }, { kind: "component", type: i23.SlotsComponent, selector: "bizdoc-panes-outlet", outputs: ["dialogChange"] }, { kind: "component", type: i24.CubeMenuComponent, selector: "bizdoc-cube-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: i25.ReportsMenuComponent, selector: "bizdoc-reports-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: i26.FoldersMenuComponent, selector: "bizdoc-folders-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: i27.ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: ["change"] }, { kind: "pipe", type: i28.AsyncPipe, name: "async" }, { kind: "pipe", type: i29.TranslatePipe, name: "translate" }], animations: [submenuAnimation, panesTitleAnimation, searchAnimation] }); }
|
298
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: HomeComponent, selector: "bizdoc-home", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "mat-app-background" }, viewQueries: [{ propertyName: "drawer", first: true, predicate: MatSidenav, descendants: true, static: true }, { propertyName: "main", first: true, predicate: SlotsComponent, descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }, { propertyName: "trigger", first: true, predicate: ["input"], descendants: true, read: MatAutocompleteTrigger }], usesInheritance: true, ngImport: i0, template: "<!-- menu -->\n<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\"\n [class.dialog]=\"dialog\"\n class=\"nav-menu row\">\n <div class=\"column\">\n <div>\n @if (forms.length) {\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\">\n <button mat-raised-button\n [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n (click)=\"opennew()\" [disabled]=\"creating\"\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\n <mat-icon>add</mat-icon>\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\n </button>\n </div>\n }\n <mat-nav-list>\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\n data-help=\"dashboard\"\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon>apps</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Dashboard' | translate}}</span>\n </mat-list-item>\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n [class.active]=\"activeMenu === 'mailbox'\"\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\n <mat-icon matListItemIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\" aria-hidden=\"false\">inbox</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{'Mailbox' | translate}}</span>\n </mat-list-item>\n @if (schedulerEnabled) {\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\"\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\" matListItemTitle>{{ 'Scheduler' | translate}}</span>\n </mat-list-item>\n }\n @if (chatEnabled) {\n <mat-list-item data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\" aria-hidden=\"false\">chat</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{ 'Chat' | translate}}</span>\n </mat-list-item>\n }\n <mat-divider></mat-divider>\n @if (enableAnalysis && profile.cubes.length) {\n <mat-list-item (click)=\"opensubmenu('cube')\"\n [class.active]=\"activeMenu === 'cube'\"\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\n <mat-icon matListItemIcon>equalizer</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Cube' | translate}}</span>\n </mat-list-item>\n }\n @if (profile.reports.length) {\n <mat-list-item (click)=\"opensubmenu('reports')\"\n [class.active]=\"activeMenu === 'reports'\"\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\n <mat-icon matListItemIcon>list_alt</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Reports' | translate}}</span>\n </mat-list-item>\n }\n @if (sysAdmin) {\n <mat-divider></mat-divider>\n <mat-list-item (click)=\"opensubmenu('admin')\"\n [class.active]=\"activeMenu === 'admin'\"\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" [attr.aria-label]=\"'System' | translate\">\n <mat-icon matListItemIcon>device_hub</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{'Workflow' | translate}}</span>\n </mat-list-item>\n }\n </mat-nav-list>\n </div>\n <span class=\"divider\"></span>\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\n <div class=\"sign-in\">\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"above\"\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\n </button>\n <span class=\"divider\"></span>\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"above\">\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\n </button>\n </div>\n </div>\n <!-- -->\n @if (submenu) {\n <div class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\n @if (submenu !== 'new') {\n <div class=\"action\">\n <button mat-icon-button (click)=\"togglePinned()\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">{{pinned ? 'push_pin' : 'menu'}}</mat-icon></button>\n </div>\n }\n @switch (submenu) {\n @case ('new') {\n <bizdoc-new-menu (change)=\"closesubmenu()\"></bizdoc-new-menu>\n }\n @case ('mailbox') {\n <bizdoc-folders-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\n }\n @case ('admin') {\n <bizdoc-admin-menu [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\n }\n @case ('reports') {\n <bizdoc-reports-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\n }\n @case ('cube') {\n <bizdoc-cube-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\n }\n }\n </div>\n }\n @if (dialog) {\n <div class=\"backdrop\"></div>\n }\n</div>\n<div class=\"main\">\n <!-- title -->\n <div class=\"row header\" [@title]=\"main.titleVariant\">\n <h1>\n @if (main.swap) {\n <button mat-icon-button (click)=\"main.back()\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon></button>\n }\n @for (p of main.panes; track p; let first = $first) {\n @if (!first) {\n <span class=\"breadcrumbs\">\\</span>\n }\n {{p.title}}\n }\n @if (main.panes[0]?.guide) {\n <button mat-icon-button (click)=\"guide(main.panes[0].guide)\" [bizdocTooltip]=\"'Help'|translate\"><mat-icon>help</mat-icon></button>\n }\n </h1>\n <span class=\"divider\">\n </span>\n <!--search-->\n <input type=\"text\"\n [@search]=\"searching\"\n (@search.done)=\"searching && focus()\"\n #input\n (keydown.escape)=\"collapse($event)\"\n [attr.aria-label]=\"'Search'|translate\"\n [formControl]=\"search\"\n [matAutocomplete]=\"auto\" class=\"search-box\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"goto($event)\" [displayWith]=\"displayWith\">\n @for (o of results | async; track o) {\n <mat-option [value]=\"o\">\n <ng-container (attached)=\"onAttached(o, $event)\" [cdkPortalOutlet]=\"o.portal\"></ng-container>\n </mat-option>\n }\n </mat-autocomplete>\n <button mat-icon-button (click)=\"toggle($event)\" [bizdocTooltip]=\"'Search'|translate\" class=\"tool\"><mat-icon>search</mat-icon></button>\n <!--notifications-->\n <button mat-icon-button (click)=\"notifs($event)\" [bizdocTooltip]=\"'Notifications'|translate\" bizdocTooltipPosition=\"start\" class=\"tool\"\n [attr.aria-label]=\"'Notifications'| translate\"\n data-help=\"notifications\">\n <mat-icon matListItemIcon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\"\n matBadgeColor=\"accent\" aria-hidden=\"false\"\n [class.filled]=\"profile.notificationsCount\">\n {{profile.options.notifications.active ? 'notifications':'notifications_off'}}\n </mat-icon>\n </button>\n </div>\n <!--panes & tabs-->\n <bizdoc-panes-outlet (dialogChange)=\"dialog = $event\" #main></bizdoc-panes-outlet>\n</div>\n", styles: [":host{display:flex;height:100%}::ng-deep .nav-collapsed .mdc-list-item{padding-right:0}::ng-deep [dir=rtl] .nav-collapsed .mdc-list-item{padding-left:0}.nav-menu{z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden;align-self:stretch}.nav-menu .sub-menu .action{display:flex;-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0;text-align:center}.nav-menu .new-container button{min-width:35px;padding:0 14px;height:40px}.nav-menu .new-container button .mat-icon{margin-right:2px;margin-left:2px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;overflow:hidden;margin-bottom:5px;align-items:baseline}.backdrop{position:absolute;z-index:200;width:100%;height:100%;display:block;background:#424242;opacity:.8}.main{flex:1;overflow-x:hidden;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.main .header{align-items:center;min-width:max-content}.main .header h1{font-size:xx-large;margin:12px;font-weight:100}.main .header h1 button{vertical-align:middle}.main .header h1 .breadcrumbs{font-size:smaller}.main .header .search-box{font-size:large}\n"], dependencies: [{ kind: "directive", type: i11.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: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i11.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i12.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "directive", type: i13.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i14.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "component", type: i14.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i14.MatListItemIcon, selector: "[matListItemIcon]" }, { kind: "component", type: i15.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i14.MatListItemTitle, selector: "[matListItemTitle]" }, { kind: "component", type: i16.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i17.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i16.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i18.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i18.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i19.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i20.MatIconAnimate, selector: "[matAnimate]" }, { kind: "directive", type: i21.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "component", type: i22.AdminMenuComponent, selector: "bizdoc-admin-menu", inputs: ["collapsed"] }, { kind: "component", type: i23.SlotsComponent, selector: "bizdoc-panes-outlet", outputs: ["dialogChange"] }, { kind: "component", type: i24.CubeMenuComponent, selector: "bizdoc-cube-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: i25.ReportsMenuComponent, selector: "bizdoc-reports-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: i26.FoldersMenuComponent, selector: "bizdoc-folders-menu", inputs: ["collapsed"], outputs: ["change"] }, { kind: "component", type: i27.ComposeMenuComponent, selector: "bizdoc-new-menu", outputs: ["change"] }, { kind: "pipe", type: i28.AsyncPipe, name: "async" }, { kind: "pipe", type: i29.TranslatePipe, name: "translate" }], animations: [submenuAnimation, panesTitleAnimation, searchAnimation] }); }
|
299
299
|
}
|
300
300
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: HomeComponent, decorators: [{
|
301
301
|
type: Component,
|
302
|
-
args: [{ selector: 'bizdoc-home', host: { class: 'mat-app-background' }, animations: [submenuAnimation, panesTitleAnimation, searchAnimation], template: "<!-- menu -->\n<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\"\n [class.dialog]=\"dialog\"\n class=\"nav-menu row\">\n <!--[class.loading]=\"loading\"-->\n <div class=\"column\">\n <div>\n @if (forms.length) {\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\">\n <button mat-raised-button\n [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n (click)=\"opennew()\" [disabled]=\"creating\"\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\n <mat-icon>add</mat-icon>\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\n </button>\n </div>\n }\n <mat-nav-list>\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\n data-help=\"dashboard\"\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon>apps</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Dashboard' | translate}}</span>\n </mat-list-item>\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n [class.active]=\"activeMenu === 'mailbox'\"\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\n <mat-icon matListItemIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\" aria-hidden=\"false\">inbox</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{'Mailbox' | translate}}</span>\n </mat-list-item>\n @if (schedulerEnabled) {\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\"\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\" matListItemTitle>{{ 'Scheduler' | translate}}</span>\n </mat-list-item>\n }\n @if (chatEnabled) {\n <mat-list-item data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\" aria-hidden=\"false\">chat</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{ 'Chat' | translate}}</span>\n </mat-list-item>\n }\n <mat-divider></mat-divider>\n @if (enableAnalysis && profile.cubes.length) {\n <mat-list-item (click)=\"opensubmenu('cube')\"\n [class.active]=\"activeMenu === 'cube'\"\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\n <mat-icon matListItemIcon>equalizer</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Cube' | translate}}</span>\n </mat-list-item>\n }\n @if (profile.reports.length) {\n <mat-list-item (click)=\"opensubmenu('reports')\"\n [class.active]=\"activeMenu === 'reports'\"\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\n <mat-icon matListItemIcon>list_alt</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Reports' | translate}}</span>\n </mat-list-item>\n }\n @if (sysAdmin) {\n <mat-divider></mat-divider>\n <mat-list-item (click)=\"opensubmenu('admin')\"\n [class.active]=\"activeMenu === 'admin'\"\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" [attr.aria-label]=\"'System' | translate\">\n <mat-icon matListItemIcon>device_hub</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{'Workflow' | translate}}</span>\n </mat-list-item>\n }\n </mat-nav-list>\n </div>\n <span class=\"divider\"></span>\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\n <!--@animate-->\n <div class=\"sign-in\">\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"above\"\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\n </button>\n <span class=\"divider\"></span>\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"above\">\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\n </button>\n </div>\n </div>\n <!-- -->\n @if (submenu) {\n <div class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\n @if (submenu !== 'new') {\n <div class=\"action\">\n <button mat-icon-button (click)=\"togglePinned()\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">{{pinned ? 'push_pin' : 'menu'}}</mat-icon></button>\n </div>\n }\n @switch (submenu) {\n @case ('new') {\n <bizdoc-new-menu (change)=\"closesubmenu()\"></bizdoc-new-menu>\n }\n @case ('mailbox') {\n <bizdoc-folders-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\n }\n @case ('admin') {\n <bizdoc-admin-menu [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\n }\n @case ('reports') {\n <bizdoc-reports-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\n }\n @case ('cube') {\n <bizdoc-cube-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\n }\n }\n </div>\n }\n @if (dialog) {\n <div class=\"backdrop\"></div>\n }\n</div>\n<div class=\"main\">\n <!-- title -->\n <div class=\"row header\" [@title]=\"main.titleAnimation\">\n <h1>\n @if (main.swap) {\n <button mat-icon-button (click)=\"main.back()\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon></button>\n }\n @for (p of main.panes; track p; let first = $first) {\n @if (!first) {\n <span class=\"breadcrumbs\">\\</span>\n }\n {{p.title}}\n }\n @if (main.panes[0]?.guide) {\n <button mat-icon-button (click)=\"guide(main.panes[0].guide)\" [bizdocTooltip]=\"'Help'|translate\"><mat-icon>help</mat-icon></button>\n }\n </h1>\n <span class=\"divider\">\n </span>\n <!--search-->\n <input type=\"text\"\n [@search]=\"searching\"\n (@search.done)=\"searching && focus()\"\n #input\n (keydown.escape)=\"collapse($event)\"\n [attr.aria-label]=\"'Search'|translate\"\n [formControl]=\"search\"\n [matAutocomplete]=\"auto\" class=\"search-box\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"goto($event)\" [displayWith]=\"displayWith\">\n @for (o of results | async; track o) {\n <mat-option [value]=\"o\">\n <ng-container (attached)=\"onAttached(o, $event)\" [cdkPortalOutlet]=\"o.portal\"></ng-container>\n </mat-option>\n }\n </mat-autocomplete>\n <button mat-icon-button (click)=\"toggle($event)\" [bizdocTooltip]=\"'Search'|translate\" class=\"tool\"><mat-icon>search</mat-icon></button>\n <!--tool-->\n <button mat-icon-button (click)=\"notifs($event)\" [bizdocTooltip]=\"'Notifications'|translate\" bizdocTooltipPosition=\"start\" class=\"tool\"\n [attr.aria-label]=\"'Notifications'| translate\"\n data-help=\"notifications\">\n <mat-icon matListItemIcon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\"\n matBadgeColor=\"accent\" aria-hidden=\"false\"\n [class.filled]=\"profile.notificationsCount\">\n {{profile.options.notifications.active ? 'notifications':'notifications_off'}}\n </mat-icon>\n </button>\n </div>\n\n <bizdoc-panes-outlet (dialogChange)=\"dialog = $event\" #main></bizdoc-panes-outlet>\n</div>\n", styles: [":host{display:flex;position:absolute;height:100%;width:100%}::ng-deep .nav-collapsed .mdc-list-item{padding-right:0}::ng-deep [dir=rtl] .nav-collapsed .mdc-list-item{padding-left:0}.nav-menu{height:100%;z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden;align-self:stretch}.nav-menu .sub-menu .action{display:flex;-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0;text-align:center}.nav-menu .new-container button{min-width:35px;padding:0 14px;height:40px}.nav-menu .new-container button .mat-icon{margin-right:2px;margin-left:2px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;overflow:hidden;margin-bottom:5px;align-items:baseline}.backdrop{position:absolute;z-index:200;width:100%;height:100%;display:block;background:#424242;opacity:.8}.main{flex-grow:1;position:relative;overflow-x:hidden;display:inline-flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;flex-basis:100%}.main .header{align-items:center;min-width:max-content}.main .header h1{font-size:xx-large;margin:12px;font-weight:100}.main .header h1 button{vertical-align:middle}.main .header h1 .breadcrumbs{font-size:smaller}.main .header .search-box{font-size:large}\n"] }]
|
302
|
+
args: [{ selector: 'bizdoc-home', host: { class: 'mat-app-background' }, animations: [submenuAnimation, panesTitleAnimation, searchAnimation], template: "<!-- menu -->\n<div [class.nav-collapsed]=\"collapsed\" [class.nav-open]=\"submenu\"\n [class.dialog]=\"dialog\"\n class=\"nav-menu row\">\n <div class=\"column\">\n <div>\n @if (forms.length) {\n <div [class.active]=\"activeMenu === 'new'\" class=\"new-container\">\n <button mat-raised-button\n [bizdocTooltip]=\"'Compose'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n (click)=\"opennew()\" [disabled]=\"creating\"\n [attr.aria-label]=\"'Compose'| translate\" color=\"primary\" data-help=\"compose\">\n <mat-icon>add</mat-icon>\n <span class=\"nav-label\">{{'Compose'| translate}}</span>\n </button>\n </div>\n }\n <mat-nav-list>\n <mat-list-item [attr.aria-label]=\"'Dashboard' | translate\"\n (click)=\"nav('dashboard')\" [class.active]=\"activeMenu === 'dashboard'\"\n data-help=\"dashboard\"\n [bizdocTooltip]=\"'Dashboard'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon>apps</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Dashboard' | translate}}</span>\n </mat-list-item>\n <mat-list-item (click)=\"mails()\" [bizdocTooltip]=\"'Mailbox'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n [class.active]=\"activeMenu === 'mailbox'\"\n [attr.aria-label]=\"'Mailbox' | translate\" data-help=\"folders\">\n <mat-icon matListItemIcon [matBadge]=\"profile.inboxCount\" [matBadgeHidden]=\"profile.inboxCount < 1\" matBadgeColor=\"accent\" aria-hidden=\"false\">inbox</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{'Mailbox' | translate}}</span>\n </mat-list-item>\n @if (schedulerEnabled) {\n <mat-list-item [attr.aria-label]=\"'Scheduler' | translate\"\n (click)=\"nav('schedule')\" [class.active]=\"activeMenu === 'schedule'\"\n [bizdocTooltip]=\"'Scheduler'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon class=\"mat-icon-rtl-mirror\">date_range</mat-icon><span class=\"nav-label\" matListItemTitle>{{ 'Scheduler' | translate}}</span>\n </mat-list-item>\n }\n @if (chatEnabled) {\n <mat-list-item data-help=\"chat\" [attr.aria-label]=\"'Chat' | translate\"\n (click)=\"nav('contacts')\" [class.active]=\"activeMenu === 'contacts'\"\n [bizdocTooltip]=\"'Chat'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\">\n <mat-icon matListItemIcon [matBadge]=\"profile.conversationsCount\" [matBadgeHidden]=\"!profile.conversationsCount\" matBadgeColor=\"accent\" aria-hidden=\"false\">chat</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{ 'Chat' | translate}}</span>\n </mat-list-item>\n }\n <mat-divider></mat-divider>\n @if (enableAnalysis && profile.cubes.length) {\n <mat-list-item (click)=\"opensubmenu('cube')\"\n [class.active]=\"activeMenu === 'cube'\"\n [bizdocTooltip]=\"'Cube'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\"\n data-help=\"cube\" [attr.aria-label]=\"'Cube' | translate\">\n <mat-icon matListItemIcon>equalizer</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Cube' | translate}}</span>\n </mat-list-item>\n }\n @if (profile.reports.length) {\n <mat-list-item (click)=\"opensubmenu('reports')\"\n [class.active]=\"activeMenu === 'reports'\"\n [bizdocTooltip]=\"'Reports'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" data-help=\"reports\" [attr.aria-label]=\"'Reports' | translate\">\n <mat-icon matListItemIcon>list_alt</mat-icon><span class=\"nav-label\" matListItemTitle>{{'Reports' | translate}}</span>\n </mat-list-item>\n }\n @if (sysAdmin) {\n <mat-divider></mat-divider>\n <mat-list-item (click)=\"opensubmenu('admin')\"\n [class.active]=\"activeMenu === 'admin'\"\n [bizdocTooltip]=\"'System'|translate\" bizdocTooltipPosition=\"end\" [bizdocTooltipDisabled]=\"!collapsed\" [attr.aria-label]=\"'System' | translate\">\n <mat-icon matListItemIcon>device_hub</mat-icon>\n <span class=\"nav-label\" matListItemTitle>{{'Workflow' | translate}}</span>\n </mat-list-item>\n }\n </mat-nav-list>\n </div>\n <span class=\"divider\"></span>\n <!--<lottie name=\"lf30_editor_qr7zgmcs\" *ngIf=\"loading\"></lottie>-->\n <div class=\"sign-in\">\n <button mat-icon-button data-help=\"sign-in\" [bizdocTooltip]=\"'Settings' | translate\" bizdocTooltipPosition=\"above\"\n [attr.aria-label]=\"'Settings' | translate\" (click)=\"options($event)\">\n <mat-icon matAnimate=\"rotate\">settingson</mat-icon>\n </button>\n <span class=\"divider\"></span>\n <button mat-icon-button [attr.aria-label]=\"'Power' | translate\" (click)=\"signout($event)\" [bizdocTooltip]=\"'Exit'|translate\" bizdocTooltipPosition=\"above\">\n <mat-icon class=\"mat-icon-rtl-mirror\">logout</mat-icon>\n </button>\n </div>\n </div>\n <!-- -->\n @if (submenu) {\n <div class=\"sub-menu\" (mouseleave)=\"collapsesubmenu()\" [@submenu]=\"submenuMode\" (@submenu.done)=\"resize()\">\n @if (submenu !== 'new') {\n <div class=\"action\">\n <button mat-icon-button (click)=\"togglePinned()\" [bizdocTooltip]=\"(pinned?'Collapse':'Expand')|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">{{pinned ? 'push_pin' : 'menu'}}</mat-icon></button>\n </div>\n }\n @switch (submenu) {\n @case ('new') {\n <bizdoc-new-menu (change)=\"closesubmenu()\"></bizdoc-new-menu>\n }\n @case ('mailbox') {\n <bizdoc-folders-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-folders-menu>\n }\n @case ('admin') {\n <bizdoc-admin-menu [collapsed]=\"submenuMode === 'shrink'\"></bizdoc-admin-menu>\n }\n @case ('reports') {\n <bizdoc-reports-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-reports-menu>\n }\n @case ('cube') {\n <bizdoc-cube-menu [collapsed]=\"submenuMode === 'shrink'\" (change)=\"collapsesubmenu()\"></bizdoc-cube-menu>\n }\n }\n </div>\n }\n @if (dialog) {\n <div class=\"backdrop\"></div>\n }\n</div>\n<div class=\"main\">\n <!-- title -->\n <div class=\"row header\" [@title]=\"main.titleVariant\">\n <h1>\n @if (main.swap) {\n <button mat-icon-button (click)=\"main.back()\" [bizdocTooltip]=\"'Back'|translate\"><mat-icon class=\"mat-icon-rtl-mirror\">arrow_circle_left</mat-icon></button>\n }\n @for (p of main.panes; track p; let first = $first) {\n @if (!first) {\n <span class=\"breadcrumbs\">\\</span>\n }\n {{p.title}}\n }\n @if (main.panes[0]?.guide) {\n <button mat-icon-button (click)=\"guide(main.panes[0].guide)\" [bizdocTooltip]=\"'Help'|translate\"><mat-icon>help</mat-icon></button>\n }\n </h1>\n <span class=\"divider\">\n </span>\n <!--search-->\n <input type=\"text\"\n [@search]=\"searching\"\n (@search.done)=\"searching && focus()\"\n #input\n (keydown.escape)=\"collapse($event)\"\n [attr.aria-label]=\"'Search'|translate\"\n [formControl]=\"search\"\n [matAutocomplete]=\"auto\" class=\"search-box\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\" (optionSelected)=\"goto($event)\" [displayWith]=\"displayWith\">\n @for (o of results | async; track o) {\n <mat-option [value]=\"o\">\n <ng-container (attached)=\"onAttached(o, $event)\" [cdkPortalOutlet]=\"o.portal\"></ng-container>\n </mat-option>\n }\n </mat-autocomplete>\n <button mat-icon-button (click)=\"toggle($event)\" [bizdocTooltip]=\"'Search'|translate\" class=\"tool\"><mat-icon>search</mat-icon></button>\n <!--notifications-->\n <button mat-icon-button (click)=\"notifs($event)\" [bizdocTooltip]=\"'Notifications'|translate\" bizdocTooltipPosition=\"start\" class=\"tool\"\n [attr.aria-label]=\"'Notifications'| translate\"\n data-help=\"notifications\">\n <mat-icon matListItemIcon [matBadge]=\"profile.notificationsCount\" [matBadgeHidden]=\"!profile.notificationsCount\"\n matBadgeColor=\"accent\" aria-hidden=\"false\"\n [class.filled]=\"profile.notificationsCount\">\n {{profile.options.notifications.active ? 'notifications':'notifications_off'}}\n </mat-icon>\n </button>\n </div>\n <!--panes & tabs-->\n <bizdoc-panes-outlet (dialogChange)=\"dialog = $event\" #main></bizdoc-panes-outlet>\n</div>\n", styles: [":host{display:flex;height:100%}::ng-deep .nav-collapsed .mdc-list-item{padding-right:0}::ng-deep [dir=rtl] .nav-collapsed .mdc-list-item{padding-left:0}.nav-menu{z-index:1}.nav-menu .sub-menu{min-width:200px;display:block;z-index:1;overflow-x:hidden;align-self:stretch}.nav-menu .sub-menu .action{display:flex;-ms-flex-direction:row-reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}.nav-menu .new-container{margin:8px 8px 0;text-align:center}.nav-menu .new-container button{min-width:35px;padding:0 14px;height:40px}.nav-menu .new-container button .mat-icon{margin-right:2px;margin-left:2px}.nav-menu .nav-icon{display:none}.nav-menu.nav-collapsed .nav-icon{display:unset}.nav-menu.nav-collapsed .nav-label{display:none}.nav-menu.nav-collapsed .sign-in{-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column;align-items:center}.nav-menu .sign-in{display:flex;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row;overflow:hidden;margin-bottom:5px;align-items:baseline}.backdrop{position:absolute;z-index:200;width:100%;height:100%;display:block;background:#424242;opacity:.8}.main{flex:1;overflow-x:hidden;display:flex;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.main .header{align-items:center;min-width:max-content}.main .header h1{font-size:xx-large;margin:12px;font-weight:100}.main .header h1 button{vertical-align:middle}.main .header h1 .breadcrumbs{font-size:smaller}.main .header .search-box{font-size:large}\n"] }]
|
303
303
|
}], ctorParameters: () => [{ type: i1.PanesRouter }, { type: i2.SearchService }, { type: i3.MailboxService }, { type: i4.Popup }, { type: i5.PromptService }, { type: i6.GuideService }, { type: i0.Injector }, { type: i7.SessionService }, { type: i8.HubService }, { type: i9.TranslateService }, { type: i10.MatSnackBar }, { type: undefined, decorators: [{
|
304
304
|
type: Inject,
|
305
305
|
args: [BIZDOC_CONFIG]
|
@@ -319,4 +319,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
319
319
|
type: HostListener,
|
320
320
|
args: ['document:keydown', ['$event']]
|
321
321
|
}] } });
|
322
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5kZXNrdG9wLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvaG9tZS9ob21lLmRlc2t0b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9ob21lL2hvbWUuZGVza3RvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFzQyxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdkQsT0FBTyxFQUFjLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFnQixhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBTzVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQXNCLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSTdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUvRCxPQUFPLEVBQWdDLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsMkJB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QUM7OzBCQTJFakUsTUFBTTsyQkFBQyxhQUFhO3lDQXJCa0IsTUFBTTtzQkFBOUMsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNaLElBQUk7c0JBQTlCLFNBQVM7dUJBQUMsY0FBYztnQkFDTCxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ29DLE9BQU87c0JBQTVELFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFO2dCQThIcEQsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIEluamVjdCwgSG9zdExpc3RlbmVyLCBJbmplY3RvciwgRWxlbWVudFJlZiwgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcsIE9wZW5Qb2xpY3kgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBwYW5lc1RpdGxlQW5pbWF0aW9uLCBzZWFyY2hBbmltYXRpb24sIHN1Ym1lbnVBbmltYXRpb24gfSBmcm9tICcuLi9jb3JlL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBQcm9maWxlLCBSZWNpcGllbnRNb2RlbCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFBhbmVzUm91dGVyIH0gZnJvbSAnLi4vY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFBvcHVwIH0gZnJvbSAnLi4vY29yZS9wb3B1cC9wb3B1cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IEhvbWVCYXNlIH0gZnJvbSAnLi9ob21lLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblBhbmVCYXNlLCBOYXZpZ2F0aW9uU3RhcnQgfSBmcm9tICcuLi9jb3JlL3Nsb3RzL3BhbmUtcmVmJztcclxuaW1wb3J0IHsgTWFpbGJveFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFF1aWNrT3B0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9ucy9vcHRpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFF1aWNrU2lnbkNvbXBvbmVudCB9IGZyb20gJy4vc2lnbi9zaWduLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNsb3RzQ29tcG9uZW50IH0gZnJvbSAnLi4vY29yZS9zbG90cy9zbG90cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHdWlkZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2d1aWRlL2d1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50LCBNYXRBdXRvY29tcGxldGVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IExpc3RpbmdJdGVtLCBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vc2VhcmNoL3NlYXJjaC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICcuLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IExpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2gvZGVjbGFyYXRpb25zJztcclxuaW1wb3J0IHsgUXVpY2tOb3RpZmljYXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMuY29tcG9uZW50JztcclxuXHJcbi8qKiBkZXNrdG9wIGhvbWUgY29tcCAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1ob21lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaG9tZS5kZXNrdG9wLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ob21lLmRlc2t0b3AuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7IGNsYXNzOiAnbWF0LWFwcC1iYWNrZ3JvdW5kJyB9LFxyXG4gIGFuaW1hdGlvbnM6IFtzdWJtZW51QW5pbWF0aW9uLCBwYW5lc1RpdGxlQW5pbWF0aW9uLCBzZWFyY2hBbmltYXRpb25dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIb21lQ29tcG9uZW50IGV4dGVuZHMgSG9tZUJhc2Uge1xyXG4gIGRpYWxvZzogYm9vbGVhbjtcclxuICByZWFkb25seSBzeXNBZG1pbiA9IHRoaXMuX3Nlc3Npb24uaXNTeXN0ZW07XHJcbiAgcmVhZG9ubHkgZm9ybXMgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmlsdGVyKGYgPT4gZi5jcmVhdGFibGUpO1xyXG4gIGNyZWF0aW5nOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX3N1Ym1lbnVNb2RlOiAnZnVsbCcgfCAnc2hyaW5rJyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdWJtZW51TW9kZScpIGFzIGFueSB8fCAnZnVsbCc7XHJcbiAgcHVibGljIGdldCBzdWJtZW51TW9kZSgpOiAnZnVsbCcgfCAnc2hyaW5rJyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3VibWVudU1vZGU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgc3VibWVudU1vZGUodmFsdWU6ICdmdWxsJyB8ICdzaHJpbmsnKSB7XHJcbiAgICB0aGlzLl9zdWJtZW51TW9kZSA9IHZhbHVlO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3N1Ym1lbnVNb2RlJywgdmFsdWUpXHJcbiAgfVxyXG4gIHByaXZhdGUgX3N1Ym1lbnU6IHN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdWJtZW51Jyk7XHJcbiAgcHJpdmF0ZSBfcGF0aDogc3RyaW5nO1xyXG4gIGdldCBhY3RpdmVNZW51KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N1Ym1lbnUgfHwgdGhpcy5fcGF0aDtcclxuICB9XHJcbiAgcHVibGljIGdldCBzdWJtZW51KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3VibWVudTtcclxuICB9XHJcbiAgcHVibGljIHNldCBzdWJtZW51KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3N1Ym1lbnUgPSB2YWx1ZTtcclxuICAgIGlmICh2YWx1ZSkgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3N1Ym1lbnUnLCB2YWx1ZSk7XHJcbiAgICBlbHNlIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdzdWJtZW51Jyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lzKG5hbWUsIHZhbD86IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWwgPT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKG5hbWUpID09PSAnMSc7XHJcbiAgICBlbHNlXHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKG5hbWUsIHZhbCA/ICcxJyA6ICcwJyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lzT3JEZWZhdWx0KG5hbWUsICRkZWZhdWx0KSB7XHJcbiAgICBjb25zdCB2YWwgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShuYW1lKTtcclxuICAgIHJldHVybiB2YWwgPyB2YWwgPT09ICcxJyA6ICRkZWZhdWx0O1xyXG4gIH1cclxuICBwcml2YXRlIF9jb2xsYXBzZWQgPSB0aGlzLl9pc09yRGVmYXVsdCgnY29sbGFwc2VkJywgdHJ1ZSk7XHJcbiAgcHVibGljIGdldCBjb2xsYXBzZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sbGFwc2VkO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGNvbGxhcHNlZCh2YWx1ZSkge1xyXG4gICAgdGhpcy5fY29sbGFwc2VkID0gdmFsdWU7XHJcbiAgICB0aGlzLl9pcygnY29sbGFwc2VkJywgdGhpcy5jb2xsYXBzZWQpO1xyXG4gIH1cclxuICBwcml2YXRlIF9waW5uZWQgPSB0aGlzLl9pc09yRGVmYXVsdCgncGlubmVkJywgdHJ1ZSk7XHJcbiAgcHVibGljIGdldCBwaW5uZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGlubmVkO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHBpbm5lZCh2YWx1ZSkge1xyXG4gICAgdGhpcy5fcGlubmVkID0gdmFsdWU7XHJcbiAgICB0aGlzLl9pcygncGlubmVkJywgdmFsdWUpXHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoTWF0U2lkZW5hdiwgeyBzdGF0aWM6IHRydWUgfSkgZHJhd2VyOiBNYXRTaWRlbmF2O1xyXG4gIEBWaWV3Q2hpbGQoU2xvdHNDb21wb25lbnQpIG1haW46IFNsb3RzQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHJlYWQ6IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIgfSkgdHJpZ2dlcjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcjtcclxuICBwcm9maWxlOiBQcm9maWxlO1xyXG4gIHJlYWRvbmx5IHNlYXJjaCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIHJlc3VsdHM6IE9ic2VydmFibGU8TGlzdGluZ0l0ZW1bXT47XHJcbiAgc2VhcmNoaW5nID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfY29sbGFwc2VUb2dnbGUgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXIsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfbWFpbGJveDogTWFpbGJveFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wb3B1cDogUG9wdXAsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX2d1aWRlOiBHdWlkZVNlcnZpY2UsXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIG1lc3NhZ2luZzogSHViU2VydmljZSxcclxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHNuYWNrQmFyOiBNYXRTbmFja0JhcixcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgY29uZmlnOiBCaXpEb2NDb25maWcpIHtcclxuICAgIHN1cGVyKHNlc3Npb24sIG1lc3NhZ2luZywgdHJhbnNsYXRlLCBzbmFja0JhciwgaW5qZWN0b3IsIGNvbmZpZyk7XHJcbiAgICB0aGlzLnByb2ZpbGUgPSBzZXNzaW9uLnByb2ZpbGU7XHJcbiAgICBfcm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgJiYgZS5wYW5lLnBhdGggJiYgZS5wYW5lLm1vZGUgPT09ICdwYW5lJykpLlxyXG4gICAgICBzdWJzY3JpYmUoKGU6IE5hdmlnYXRpb25QYW5lQmFzZSkgPT5cclxuICAgICAgICB0aGlzLl9wYXRoID0gZS5wYW5lLnBhdGguc3BsaXQoJy8nKVswXVxyXG4gICAgICApO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVzdWx0cyA9IHRoaXMuc2VhcmNoLnZhbHVlQ2hhbmdlcy5waXBlKGZpbHRlcih2ID0+IGlzU3RyaW5nKHYpKSxcclxuICAgICAgbWFwKHYgPT4gdGhpcy5fc2VydmljZS5zZWFyY2godikpKTtcclxuICB9XHJcbiAgLyoqIG9wdGlvbnMgKi9cclxuICBvcHRpb25zKGV2dDogRXZlbnQpIHtcclxuICAgIHRoaXMuX3BvcHVwLm9wZW4oUXVpY2tPcHRpb25zQ29tcG9uZW50LCBldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50LCB7IHBvc2l0aW9uOiAnZW5kJyB9KTtcclxuICB9XHJcbiAgc2lnbm91dChldnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLl9wb3B1cC5vcGVuKFF1aWNrU2lnbkNvbXBvbmVudCwgZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCwgeyBwb3NpdGlvbjogJ2VuZCcgfSk7XHJcbiAgfVxyXG4gIG5hdihwYXRoKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoW3BhdGhdKTtcclxuICAgIHRoaXMuc3VibWVudSA9IG51bGw7XHJcbiAgICB0aGlzLmNvbGxhcHNlc3VibWVudSgpO1xyXG4gIH1cclxuICBvbk5ld01lc3NhZ2UobW9kZWw6IFJlY2lwaWVudE1vZGVsKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2knLCBtb2RlbC5pZC5lbmNvZGVJZCgpXSxcclxuICAgICAge1xyXG4gICAgICAgIHN0YXRlOiB7IGl0ZW06IG1vZGVsIH0sXHJcbiAgICAgICAgcG9saWN5OiBPcGVuUG9saWN5LkNsZWFyXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBjbG9zZXN1Ym1lbnUoKSB7XHJcbiAgICB0aGlzLnN1Ym1lbnUgPSBudWxsO1xyXG4gIH1cclxuICBvcGVubmV3KCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybXMubGVuZ3RoID4gMSkge1xyXG4gICAgICBpZiAodGhpcy5zdWJtZW51ID09PSAnbmV3JylcclxuICAgICAgICB0aGlzLmNsb3Nlc3VibWVudSgpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5vcGVuc3VibWVudSgnbmV3Jyk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHRoaXMuX2NyZWF0ZSgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jcmVhdGUoKSB7XHJcbiAgICB0aGlzLmNyZWF0aW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuX21haWxib3guY3JlYXRlKHRoaXMuZm9ybXNbMF0ubmFtZSkuXHJcbiAgICAgIHN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNyZWF0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2knLCByLmlkLmVuY29kZUlkKCldLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgcG9saWN5OiBPcGVuUG9saWN5LkNsZWFyLFxyXG4gICAgICAgICAgICAgIHN0YXRlOiB7IGl0ZW06IHIgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LCBlcnJvcjogKGU6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFcnIoZSk7XHJcbiAgICAgICAgICB0aGlzLmNyZWF0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaGFuZGxlRXJyKHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSB8IEdlb2xvY2F0aW9uUG9zaXRpb25FcnJvcikge1xyXG4gICAgaWYgKHJlc3BvbnNlLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdQb3NpdGlvbkVycm9yJylcclxuICAgICAgc3dpdGNoICgocmVzcG9uc2UgYXMgR2VvbG9jYXRpb25Qb3NpdGlvbkVycm9yKS5jb2RlKSB7XHJcbiAgICAgICAgY2FzZSAxOlxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ1VzZXJEZW5pZWRHZW9FcnInKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignR2VvRXJyJyk7XHJcbiAgICAgIH1cclxuICAgIGVsc2Ugc3dpdGNoICgocmVzcG9uc2UgYXMgSHR0cEVycm9yUmVzcG9uc2UpLnN0YXR1cykge1xyXG4gICAgICBjYXNlIDQwMTpcclxuICAgICAgICB0aGlzLl9zYi5lcnJvcignVW5hdXRob3JpemVkJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNDA2OlxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yU3RyaW5nKChyZXNwb25zZSBhcyBIdHRwRXJyb3JSZXNwb25zZSkuZXJyb3IpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDQyNjogLy8gbGljZW5zZVxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKCdMaWNlbnNlRXJyJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5zdWJtZW51KG1lbnU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuc3VibWVudSA9PT0gbWVudSlcclxuICAgICAgdGhpcy5zdWJtZW51TW9kZSA9IHRoaXMuc3VibWVudU1vZGUgPT09ICdmdWxsJyA/ICdzaHJpbmsnIDogJ2Z1bGwnO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc3VibWVudSA9IG1lbnU7XHJcbiAgICAgIHRoaXMuc3VibWVudU1vZGUgPSAnZnVsbCc7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbGxhcHNlc3VibWVudSgpIHtcclxuICAgIGlmICghdGhpcy5waW5uZWQgJiYgdGhpcy5zdWJtZW51ICE9PSAnbmV3JykgdGhpcy5zdWJtZW51TW9kZSA9ICdzaHJpbmsnO1xyXG4gIH1cclxuICB0b2dnbGVQaW5uZWQoKSB7XHJcbiAgICB0aGlzLnBpbm5lZCA9ICF0aGlzLnBpbm5lZDtcclxuICAgIHRoaXMuc3VibWVudU1vZGUgPSB0aGlzLnBpbm5lZCA/ICdmdWxsJyA6ICdzaHJpbmsnO1xyXG4gIH1cclxuICBvdmVycmlkZSBtYWlscygpIHtcclxuICAgIHN1cGVyLm1haWxzKCk7XHJcbiAgICB0aGlzLm9wZW5zdWJtZW51KCdtYWlsYm94Jyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEFsdCtuLCBBbHQrYSwgQ3RybCArIC5cclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQuYWx0S2V5KSB7XHJcbiAgICAgIGlmICgoZXZlbnQua2V5ID09PSAnbicgfHwgZXZlbnQua2V5ID09PSAnTicpKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3VibWVudSA9PT0gJ25ldycpXHJcbiAgICAgICAgICB0aGlzLnN1Ym1lbnUgPSBudWxsO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHRoaXMuZm9ybXMubGVuZ3RoID09PSAxKVxyXG4gICAgICAgICAgICB0aGlzLl9jcmVhdGUoKTtcclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnN1Ym1lbnUgPSAnbmV3JztcclxuICAgICAgICAgICAgdGhpcy5zdWJtZW51TW9kZSA9ICdmdWxsJztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChldmVudC5rZXkgPT09ICdhJyB8fCBldmVudC5rZXkgPT09ICdBJykge1xyXG4gICAgICAgIGlmICh0aGlzLnN1Ym1lbnUgPT09ICdjdWJlJylcclxuICAgICAgICAgIHRoaXMuc3VibWVudSA9IG51bGw7XHJcbiAgICAgICAgZWxzZSBpZiAodGhpcy5wcm9maWxlLmN1YmVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMucHJvZmlsZS5jdWJlcy5sZW5ndGggPT09IDEgJiYgdGhpcy5wcm9maWxlLmN1YmVzWzBdLnZpZXdzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgICAgICBjb25zdCBjdWJlID0gdGhpcy5wcm9maWxlLmN1YmVzWzBdO1xyXG4gICAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydjdWJlJywgY3ViZS5uYW1lLCAndicsIGN1YmUudmlld3NbMF0ubmFtZV0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJtZW51ID0gJ2N1YmUnO1xyXG4gICAgICAgICAgICB0aGlzLnN1Ym1lbnVNb2RlID0gJ2Z1bGwnO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICgoZXZlbnQua2V5ID09PSAncycgfHwgZXZlbnQua2V5ID09PSAnUycpICYmIGxvY2F0aW9uLnBhdGhuYW1lLmluZGV4T2YoJy9tYWlsYm94L2YnKSA8IDApIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VhcmNoaW5nKVxyXG4gICAgICAgICAgdGhpcy5zZWFyY2hpbmcgPSB0cnVlO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuZm9jdXMoKTtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ2gnIHx8IGV2ZW50LmtleSA9PT0gJ0gnKSB7XHJcbiAgICAgICAgY29uc3QgeyBoZWxwIH0gPSB0aGlzLm1haW4ucGFuZXNbdGhpcy5tYWluLnNlbGVjdGVkSW5kZXhdO1xyXG4gICAgICAgIHRoaXMuZ3VpZGUoaGVscCA/PyAnaW50cm8nKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXZlbnQuY3RybEtleSAmJiBldmVudC5rZXkgPT09ICcuJykge1xyXG4gICAgICBpZiAodGhpcy5zdWJtZW51ICYmICF0aGlzLl9jb2xsYXBzZVRvZ2dsZSkge1xyXG4gICAgICAgIHRoaXMuc3VibWVudU1vZGUgPSB0aGlzLnN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJyA/ICdmdWxsJyA6ICdzaHJpbmsnO1xyXG4gICAgICAgIHRoaXMuX2NvbGxhcHNlVG9nZ2xlID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcclxuICAgICAgICB0aGlzLl9jb2xsYXBzZVRvZ2dsZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGd1aWRlKG5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fZ3VpZGUuc3RhcnQobmFtZSk7XHJcbiAgfVxyXG4gIG5vdGlmcyhldnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLnByb2ZpbGUubm90aWZpY2F0aW9ucy5sZW5ndGggJiZcclxuICAgICAgdGhpcy5fc2Vzc2lvbi5ub3RpZmljYXRpb25zVG91Y2goKTtcclxuICAgIHRoaXMuX3BvcHVwLm9wZW4oUXVpY2tOb3RpZmljYXRpb25zQ29tcG9uZW50LCBldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50LCB7IHBvc2l0aW9uOiAnc3RhcnQnIH0pO1xyXG4gICAgc3VwZXIubm90aWZzKCk7XHJcbiAgfVxyXG4gIHRvZ2dsZShldnQ6IEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5zZWFyY2hpbmcpIHRoaXMuY29sbGFwc2UoZXZ0KTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZWFyY2hpbmcgPSB0cnVlO1xyXG4gIH1cclxuICBjb2xsYXBzZShldnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLnNlYXJjaGluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy50cmlnZ2VyLmNsb3NlUGFuZWwoKTtcclxuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcbiAgZm9jdXMoKSB7XHJcbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy50cmlnZ2VyLm9wZW5QYW5lbCgpLCAyMDApO1xyXG4gIH1cclxuICBkaXNwbGF5V2l0aCA9IF8gPT4gbnVsbDtcclxuICBvbkF0dGFjaGVkKGl0ZW06IExpc3RpbmdJdGVtLCBjb21wUmVmOiBDb21wb25lbnRSZWY8TGlzdGluZ0NvbXBvbmVudDxhbnk+Pikge1xyXG4gICAgaXRlbS5pbnN0YW5jZSA9IGNvbXBSZWYuaW5zdGFuY2U7XHJcbiAgICBjb21wUmVmLmluc3RhbmNlLm9uQmluZChpdGVtLm1vZGVsKTtcclxuICB9XHJcbiAgZ290byhldnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpIHtcclxuICAgIHRoaXMuc2VhcmNoaW5nID0gZmFsc2U7XHJcbiAgICBjb25zdCBpdGVtID0gZXZ0Lm9wdGlvbi52YWx1ZSBhcyBMaXN0aW5nSXRlbTtcclxuICAgIGl0ZW0uaW5zdGFuY2Uub25QaWNrKCk7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gbWVudSAtLT5cbjxkaXYgW2NsYXNzLm5hdi1jb2xsYXBzZWRdPVwiY29sbGFwc2VkXCIgW2NsYXNzLm5hdi1vcGVuXT1cInN1Ym1lbnVcIlxuICAgICBbY2xhc3MuZGlhbG9nXT1cImRpYWxvZ1wiXG4gICAgIGNsYXNzPVwibmF2LW1lbnUgcm93XCI+XG4gIDwhLS1bY2xhc3MubG9hZGluZ109XCJsb2FkaW5nXCItLT5cbiAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxuICAgIDxkaXY+XG4gICAgICBAaWYgKGZvcm1zLmxlbmd0aCkge1xuICAgICAgPGRpdiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICduZXcnXCIgY2xhc3M9XCJuZXctY29udGFpbmVyXCI+XG4gICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b25cbiAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInQ29tcG9zZSd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCIgW2JpemRvY1Rvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwib3Blbm5ldygpXCIgW2Rpc2FibGVkXT1cImNyZWF0aW5nXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidDb21wb3NlJ3wgdHJhbnNsYXRlXCIgY29sb3I9XCJwcmltYXJ5XCIgZGF0YS1oZWxwPVwiY29tcG9zZVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5hZGQ8L21hdC1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmF2LWxhYmVsXCI+e3snQ29tcG9zZSd8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgICAgPG1hdC1uYXYtbGlzdD5cbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gW2F0dHIuYXJpYS1sYWJlbF09XCInRGFzaGJvYXJkJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuYXYoJ2Rhc2hib2FyZCcpXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnZGFzaGJvYXJkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaGVscD1cImRhc2hib2FyZFwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidEYXNoYm9hcmQnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24+YXBwczwvbWF0LWljb24+PHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIiBtYXRMaXN0SXRlbVRpdGxlPnt7J0Rhc2hib2FyZCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAoY2xpY2spPVwibWFpbHMoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidNYWlsYm94J3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICdtYWlsYm94J1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ01haWxib3gnIHwgdHJhbnNsYXRlXCIgZGF0YS1oZWxwPVwiZm9sZGVyc1wiPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24gW21hdEJhZGdlXT1cInByb2ZpbGUuaW5ib3hDb3VudFwiIFttYXRCYWRnZUhpZGRlbl09XCJwcm9maWxlLmluYm94Q291bnQgPCAxXCIgbWF0QmFkZ2VDb2xvcj1cImFjY2VudFwiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIj5pbmJveDwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIiBtYXRMaXN0SXRlbVRpdGxlPnt7J01haWxib3gnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgQGlmIChzY2hlZHVsZXJFbmFibGVkKSB7XG4gICAgICAgIDxtYXQtbGlzdC1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NjaGVkdWxlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2KCdzY2hlZHVsZScpXCIgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnc2NoZWR1bGUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2JpemRvY1Rvb2x0aXBdPVwiJ1NjaGVkdWxlcid8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCIgW2JpemRvY1Rvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkXCI+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJdGVtSWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5kYXRlX3JhbmdlPC9tYXQtaWNvbj48c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiIG1hdExpc3RJdGVtVGl0bGU+e3sgJ1NjaGVkdWxlcicgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoY2hhdEVuYWJsZWQpIHtcbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gZGF0YS1oZWxwPVwiY2hhdFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0NoYXQnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdignY29udGFjdHMnKVwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ2NvbnRhY3RzJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidDaGF0J3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIj5cbiAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEl0ZW1JY29uIFttYXRCYWRnZV09XCJwcm9maWxlLmNvbnZlcnNhdGlvbnNDb3VudFwiIFttYXRCYWRnZUhpZGRlbl09XCIhcHJvZmlsZS5jb252ZXJzYXRpb25zQ291bnRcIiBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCIgYXJpYS1oaWRkZW49XCJmYWxzZVwiPmNoYXQ8L21hdC1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmF2LWxhYmVsXCIgbWF0TGlzdEl0ZW1UaXRsZT57eyAnQ2hhdCcgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICB9XG4gICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICBAaWYgKGVuYWJsZUFuYWx5c2lzICYmIHByb2ZpbGUuY3ViZXMubGVuZ3RoKSB7XG4gICAgICAgIDxtYXQtbGlzdC1pdGVtIChjbGljayk9XCJvcGVuc3VibWVudSgnY3ViZScpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnY3ViZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInQ3ViZSd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCIgW2JpemRvY1Rvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1oZWxwPVwiY3ViZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0N1YmUnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJdGVtSWNvbj5lcXVhbGl6ZXI8L21hdC1pY29uPjxzcGFuIGNsYXNzPVwibmF2LWxhYmVsXCIgbWF0TGlzdEl0ZW1UaXRsZT57eydDdWJlJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChwcm9maWxlLnJlcG9ydHMubGVuZ3RoKSB7XG4gICAgICAgIDxtYXQtbGlzdC1pdGVtIChjbGljayk9XCJvcGVuc3VibWVudSgncmVwb3J0cycpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAncmVwb3J0cydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInUmVwb3J0cyd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCIgW2JpemRvY1Rvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkXCIgZGF0YS1oZWxwPVwicmVwb3J0c1wiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1JlcG9ydHMnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJdGVtSWNvbj5saXN0X2FsdDwvbWF0LWljb24+PHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIiBtYXRMaXN0SXRlbVRpdGxlPnt7J1JlcG9ydHMnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKHN5c0FkbWluKSB7XG4gICAgICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICAgICAgICA8bWF0LWxpc3QtaXRlbSAoY2xpY2spPVwib3BlbnN1Ym1lbnUoJ2FkbWluJylcIlxuICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICdhZG1pbidcIlxuICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInU3lzdGVtJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidTeXN0ZW0nIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJdGVtSWNvbj5kZXZpY2VfaHViPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiIG1hdExpc3RJdGVtVGl0bGU+e3snV29ya2Zsb3cnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgfVxuICAgICAgPC9tYXQtbmF2LWxpc3Q+XG4gICAgPC9kaXY+XG4gICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgIDwhLS08bG90dGllIG5hbWU9XCJsZjMwX2VkaXRvcl9xcjd6Z21jc1wiICpuZ0lmPVwibG9hZGluZ1wiPjwvbG90dGllPi0tPlxuICAgIDwhLS1AYW5pbWF0ZS0tPlxuICAgIDxkaXYgY2xhc3M9XCJzaWduLWluXCI+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBkYXRhLWhlbHA9XCJzaWduLWluXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1NldHRpbmdzJyB8IHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU2V0dGluZ3MnIHwgdHJhbnNsYXRlXCIgKGNsaWNrKT1cIm9wdGlvbnMoJGV2ZW50KVwiPlxuICAgICAgICA8bWF0LWljb24gbWF0QW5pbWF0ZT1cInJvdGF0ZVwiPnNldHRpbmdzb248L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbYXR0ci5hcmlhLWxhYmVsXT1cIidQb3dlcicgfCB0cmFuc2xhdGVcIiAoY2xpY2spPVwic2lnbm91dCgkZXZlbnQpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0V4aXQnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5sb2dvdXQ8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8IS0tIC0tPlxuICBAaWYgKHN1Ym1lbnUpIHtcbiAgPGRpdiBjbGFzcz1cInN1Yi1tZW51XCIgKG1vdXNlbGVhdmUpPVwiY29sbGFwc2VzdWJtZW51KClcIiBbQHN1Ym1lbnVdPVwic3VibWVudU1vZGVcIiAoQHN1Ym1lbnUuZG9uZSk9XCJyZXNpemUoKVwiPlxuICAgIEBpZiAoc3VibWVudSAhPT0gJ25ldycpIHtcbiAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uXCI+XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlUGlubmVkKClcIiBbYml6ZG9jVG9vbHRpcF09XCIocGlubmVkPydDb2xsYXBzZSc6J0V4cGFuZCcpfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj57e3Bpbm5lZCA/ICdwdXNoX3BpbicgOiAnbWVudSd9fTwvbWF0LWljb24+PC9idXR0b24+XG4gICAgPC9kaXY+XG4gICAgfVxuICAgIEBzd2l0Y2ggKHN1Ym1lbnUpIHtcbiAgICBAY2FzZSAoJ25ldycpIHtcbiAgICA8Yml6ZG9jLW5ldy1tZW51IChjaGFuZ2UpPVwiY2xvc2VzdWJtZW51KClcIj48L2JpemRvYy1uZXctbWVudT5cbiAgICB9XG4gICAgQGNhc2UgKCdtYWlsYm94Jykge1xuICAgIDxiaXpkb2MtZm9sZGVycy1tZW51IFtjb2xsYXBzZWRdPVwic3VibWVudU1vZGUgPT09ICdzaHJpbmsnXCIgKGNoYW5nZSk9XCJjb2xsYXBzZXN1Ym1lbnUoKVwiPjwvYml6ZG9jLWZvbGRlcnMtbWVudT5cbiAgICB9XG4gICAgQGNhc2UgKCdhZG1pbicpIHtcbiAgICA8Yml6ZG9jLWFkbWluLW1lbnUgW2NvbGxhcHNlZF09XCJzdWJtZW51TW9kZSA9PT0gJ3NocmluaydcIj48L2JpemRvYy1hZG1pbi1tZW51PlxuICAgIH1cbiAgICBAY2FzZSAoJ3JlcG9ydHMnKSB7XG4gICAgPGJpemRvYy1yZXBvcnRzLW1lbnUgW2NvbGxhcHNlZF09XCJzdWJtZW51TW9kZSA9PT0gJ3NocmluaydcIiAoY2hhbmdlKT1cImNvbGxhcHNlc3VibWVudSgpXCI+PC9iaXpkb2MtcmVwb3J0cy1tZW51PlxuICAgIH1cbiAgICBAY2FzZSAoJ2N1YmUnKSB7XG4gICAgPGJpemRvYy1jdWJlLW1lbnUgW2NvbGxhcHNlZF09XCJzdWJtZW51TW9kZSA9PT0gJ3NocmluaydcIiAoY2hhbmdlKT1cImNvbGxhcHNlc3VibWVudSgpXCI+PC9iaXpkb2MtY3ViZS1tZW51PlxuICAgIH1cbiAgICB9XG4gIDwvZGl2PlxuICB9XG4gIEBpZiAoZGlhbG9nKSB7XG4gIDxkaXYgY2xhc3M9XCJiYWNrZHJvcFwiPjwvZGl2PlxuICB9XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJtYWluXCI+XG4gIDwhLS0gdGl0bGUgLS0+XG4gIDxkaXYgY2xhc3M9XCJyb3cgaGVhZGVyXCIgW0B0aXRsZV09XCJtYWluLnRpdGxlQW5pbWF0aW9uXCI+XG4gICAgPGgxPlxuICAgICAgQGlmIChtYWluLnN3YXApIHtcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJtYWluLmJhY2soKVwiIFtiaXpkb2NUb29sdGlwXT1cIidCYWNrJ3x0cmFuc2xhdGVcIj48bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+YXJyb3dfY2lyY2xlX2xlZnQ8L21hdC1pY29uPjwvYnV0dG9uPlxuICAgICAgfVxuICAgICAgQGZvciAocCBvZiBtYWluLnBhbmVzOyB0cmFjayBwOyBsZXQgZmlyc3QgPSAkZmlyc3QpIHtcbiAgICAgIEBpZiAoIWZpcnN0KSB7XG4gICAgICA8c3BhbiBjbGFzcz1cImJyZWFkY3J1bWJzXCI+XFw8L3NwYW4+XG4gICAgICB9XG4gICAgICB7e3AudGl0bGV9fVxuICAgICAgfVxuICAgICAgQGlmIChtYWluLnBhbmVzWzBdPy5ndWlkZSkge1xuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImd1aWRlKG1haW4ucGFuZXNbMF0uZ3VpZGUpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0hlbHAnfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5oZWxwPC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2gxPlxuICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPlxuICAgIDwvc3Bhbj5cbiAgICA8IS0tc2VhcmNoLS0+XG4gICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgW0BzZWFyY2hdPVwic2VhcmNoaW5nXCJcbiAgICAgICAgICAgKEBzZWFyY2guZG9uZSk9XCJzZWFyY2hpbmcgJiYgZm9jdXMoKVwiXG4gICAgICAgICAgICNpbnB1dFxuICAgICAgICAgICAoa2V5ZG93bi5lc2NhcGUpPVwiY29sbGFwc2UoJGV2ZW50KVwiXG4gICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NlYXJjaCd8dHJhbnNsYXRlXCJcbiAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaFwiXG4gICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiIGNsYXNzPVwic2VhcmNoLWJveFwiPlxuICAgIDxtYXQtYXV0b2NvbXBsZXRlIGF1dG9BY3RpdmVGaXJzdE9wdGlvbiAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIChvcHRpb25TZWxlY3RlZCk9XCJnb3RvKCRldmVudClcIiBbZGlzcGxheVdpdGhdPVwiZGlzcGxheVdpdGhcIj5cbiAgICAgIEBmb3IgKG8gb2YgcmVzdWx0cyB8IGFzeW5jOyB0cmFjayBvKSB7XG4gICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIm9cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAoYXR0YWNoZWQpPVwib25BdHRhY2hlZChvLCAkZXZlbnQpXCIgW2Nka1BvcnRhbE91dGxldF09XCJvLnBvcnRhbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgfVxuICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwidG9nZ2xlKCRldmVudClcIiBbYml6ZG9jVG9vbHRpcF09XCInU2VhcmNoJ3x0cmFuc2xhdGVcIiBjbGFzcz1cInRvb2xcIj48bWF0LWljb24+c2VhcmNoPC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICA8IS0tdG9vbC0tPlxuICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJub3RpZnMoJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidOb3RpZmljYXRpb25zJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJzdGFydFwiIGNsYXNzPVwidG9vbFwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidOb3RpZmljYXRpb25zJ3wgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgIGRhdGEtaGVscD1cIm5vdGlmaWNhdGlvbnNcIj5cbiAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24gW21hdEJhZGdlXT1cInByb2ZpbGUubm90aWZpY2F0aW9uc0NvdW50XCIgW21hdEJhZGdlSGlkZGVuXT1cIiFwcm9maWxlLm5vdGlmaWNhdGlvbnNDb3VudFwiXG4gICAgICAgICAgICAgICAgbWF0QmFkZ2VDb2xvcj1cImFjY2VudFwiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5maWxsZWRdPVwicHJvZmlsZS5ub3RpZmljYXRpb25zQ291bnRcIj5cbiAgICAgICAge3twcm9maWxlLm9wdGlvbnMubm90aWZpY2F0aW9ucy5hY3RpdmUgPyAnbm90aWZpY2F0aW9ucyc6J25vdGlmaWNhdGlvbnNfb2ZmJ319XG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8Yml6ZG9jLXBhbmVzLW91dGxldCAoZGlhbG9nQ2hhbmdlKT1cImRpYWxvZyA9ICRldmVudFwiICNtYWluPjwvYml6ZG9jLXBhbmVzLW91dGxldD5cbjwvZGl2PlxuIl19
|
322
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5kZXNrdG9wLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvaG9tZS9ob21lLmRlc2t0b3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9ob21lL2hvbWUuZGVza3RvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFzQyxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdkQsT0FBTyxFQUFjLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFnQixhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBTzVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQXNCLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSTdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUvRCxPQUFPLEVBQWdDLHNCQUFzQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsMkJB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QUM7OzBCQTJFakUsTUFBTTsyQkFBQyxhQUFhO3lDQXJCa0IsTUFBTTtzQkFBOUMsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNaLElBQUk7c0JBQTlCLFNBQVM7dUJBQUMsY0FBYztnQkFDTCxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ29DLE9BQU87c0JBQTVELFNBQVM7dUJBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFO2dCQThIcEQsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIEluamVjdCwgSG9zdExpc3RlbmVyLCBJbmplY3RvciwgRWxlbWVudFJlZiwgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNpZGVuYXYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zaWRlbmF2JztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcsIE9wZW5Qb2xpY3kgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBwYW5lc1RpdGxlQW5pbWF0aW9uLCBzZWFyY2hBbmltYXRpb24sIHN1Ym1lbnVBbmltYXRpb24gfSBmcm9tICcuLi9jb3JlL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBQcm9maWxlLCBSZWNpcGllbnRNb2RlbCB9IGZyb20gJy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFBhbmVzUm91dGVyIH0gZnJvbSAnLi4vY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFBvcHVwIH0gZnJvbSAnLi4vY29yZS9wb3B1cC9wb3B1cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IEhvbWVCYXNlIH0gZnJvbSAnLi9ob21lLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblBhbmVCYXNlLCBOYXZpZ2F0aW9uU3RhcnQgfSBmcm9tICcuLi9jb3JlL3Nsb3RzL3BhbmUtcmVmJztcclxuaW1wb3J0IHsgTWFpbGJveFNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL21haWxib3guc2VydmljZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBQcm9tcHRTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS9wcm9tcHQuc2VydmljZSc7XHJcbmltcG9ydCB7IFF1aWNrT3B0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9ucy9vcHRpb25zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFF1aWNrU2lnbkNvbXBvbmVudCB9IGZyb20gJy4vc2lnbi9zaWduLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNsb3RzQ29tcG9uZW50IH0gZnJvbSAnLi4vY29yZS9zbG90cy9zbG90cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBHdWlkZVNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL2d1aWRlL2d1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50LCBNYXRBdXRvY29tcGxldGVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IExpc3RpbmdJdGVtLCBTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vc2VhcmNoL3NlYXJjaC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgaXNTdHJpbmcgfSBmcm9tICcuLi9jb3JlL2Z1bmN0aW9ucyc7XHJcbmltcG9ydCB7IExpc3RpbmdDb21wb25lbnQgfSBmcm9tICcuLi9zZWFyY2gvZGVjbGFyYXRpb25zJztcclxuaW1wb3J0IHsgUXVpY2tOb3RpZmljYXRpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMuY29tcG9uZW50JztcclxuXHJcbi8qKiBkZXNrdG9wIGhvbWUgY29tcCAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1ob21lJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaG9tZS5kZXNrdG9wLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9ob21lLmRlc2t0b3AuY29tcG9uZW50LnNjc3MnXSxcclxuICBob3N0OiB7IGNsYXNzOiAnbWF0LWFwcC1iYWNrZ3JvdW5kJyB9LFxyXG4gIGFuaW1hdGlvbnM6IFtzdWJtZW51QW5pbWF0aW9uLCBwYW5lc1RpdGxlQW5pbWF0aW9uLCBzZWFyY2hBbmltYXRpb25dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIb21lQ29tcG9uZW50IGV4dGVuZHMgSG9tZUJhc2Uge1xyXG4gIGRpYWxvZzogYm9vbGVhbjtcclxuICByZWFkb25seSBzeXNBZG1pbiA9IHRoaXMuX3Nlc3Npb24uaXNTeXN0ZW07XHJcbiAgcmVhZG9ubHkgZm9ybXMgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuZm9ybXMuZmlsdGVyKGYgPT4gZi5jcmVhdGFibGUpO1xyXG4gIGNyZWF0aW5nOiBib29sZWFuO1xyXG4gIHByaXZhdGUgX3N1Ym1lbnVNb2RlOiAnZnVsbCcgfCAnc2hyaW5rJyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdWJtZW51TW9kZScpIGFzIGFueSB8fCAnZnVsbCc7XHJcbiAgcHVibGljIGdldCBzdWJtZW51TW9kZSgpOiAnZnVsbCcgfCAnc2hyaW5rJyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3VibWVudU1vZGU7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgc3VibWVudU1vZGUodmFsdWU6ICdmdWxsJyB8ICdzaHJpbmsnKSB7XHJcbiAgICB0aGlzLl9zdWJtZW51TW9kZSA9IHZhbHVlO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3N1Ym1lbnVNb2RlJywgdmFsdWUpXHJcbiAgfVxyXG4gIHByaXZhdGUgX3N1Ym1lbnU6IHN0cmluZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdzdWJtZW51Jyk7XHJcbiAgcHJpdmF0ZSBfcGF0aDogc3RyaW5nO1xyXG4gIGdldCBhY3RpdmVNZW51KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N1Ym1lbnUgfHwgdGhpcy5fcGF0aDtcclxuICB9XHJcbiAgcHVibGljIGdldCBzdWJtZW51KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3VibWVudTtcclxuICB9XHJcbiAgcHVibGljIHNldCBzdWJtZW51KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3N1Ym1lbnUgPSB2YWx1ZTtcclxuICAgIGlmICh2YWx1ZSkgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3N1Ym1lbnUnLCB2YWx1ZSk7XHJcbiAgICBlbHNlIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdzdWJtZW51Jyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lzKG5hbWUsIHZhbD86IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWwgPT09IHVuZGVmaW5lZClcclxuICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKG5hbWUpID09PSAnMSc7XHJcbiAgICBlbHNlXHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKG5hbWUsIHZhbCA/ICcxJyA6ICcwJyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2lzT3JEZWZhdWx0KG5hbWUsICRkZWZhdWx0KSB7XHJcbiAgICBjb25zdCB2YWwgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShuYW1lKTtcclxuICAgIHJldHVybiB2YWwgPyB2YWwgPT09ICcxJyA6ICRkZWZhdWx0O1xyXG4gIH1cclxuICBwcml2YXRlIF9jb2xsYXBzZWQgPSB0aGlzLl9pc09yRGVmYXVsdCgnY29sbGFwc2VkJywgdHJ1ZSk7XHJcbiAgcHVibGljIGdldCBjb2xsYXBzZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sbGFwc2VkO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IGNvbGxhcHNlZCh2YWx1ZSkge1xyXG4gICAgdGhpcy5fY29sbGFwc2VkID0gdmFsdWU7XHJcbiAgICB0aGlzLl9pcygnY29sbGFwc2VkJywgdGhpcy5jb2xsYXBzZWQpO1xyXG4gIH1cclxuICBwcml2YXRlIF9waW5uZWQgPSB0aGlzLl9pc09yRGVmYXVsdCgncGlubmVkJywgdHJ1ZSk7XHJcbiAgcHVibGljIGdldCBwaW5uZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcGlubmVkO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHBpbm5lZCh2YWx1ZSkge1xyXG4gICAgdGhpcy5fcGlubmVkID0gdmFsdWU7XHJcbiAgICB0aGlzLl9pcygncGlubmVkJywgdmFsdWUpXHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoTWF0U2lkZW5hdiwgeyBzdGF0aWM6IHRydWUgfSkgZHJhd2VyOiBNYXRTaWRlbmF2O1xyXG4gIEBWaWV3Q2hpbGQoU2xvdHNDb21wb25lbnQpIG1haW46IFNsb3RzQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHJlYWQ6IE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIgfSkgdHJpZ2dlcjogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcjtcclxuICBwcm9maWxlOiBQcm9maWxlO1xyXG4gIHJlYWRvbmx5IHNlYXJjaCA9IG5ldyBGb3JtQ29udHJvbCgpO1xyXG4gIHJlc3VsdHM6IE9ic2VydmFibGU8TGlzdGluZ0l0ZW1bXT47XHJcbiAgc2VhcmNoaW5nID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfY29sbGFwc2VUb2dnbGUgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXIsXHJcbiAgICBwcml2YXRlIF9zZXJ2aWNlOiBTZWFyY2hTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfbWFpbGJveDogTWFpbGJveFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9wb3B1cDogUG9wdXAsXHJcbiAgICBwcml2YXRlIF9zYjogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX2d1aWRlOiBHdWlkZVNlcnZpY2UsXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIG1lc3NhZ2luZzogSHViU2VydmljZSxcclxuICAgIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHNuYWNrQmFyOiBNYXRTbmFja0JhcixcclxuICAgIEBJbmplY3QoQklaRE9DX0NPTkZJRykgY29uZmlnOiBCaXpEb2NDb25maWcpIHtcclxuICAgIHN1cGVyKHNlc3Npb24sIG1lc3NhZ2luZywgdHJhbnNsYXRlLCBzbmFja0JhciwgaW5qZWN0b3IsIGNvbmZpZyk7XHJcbiAgICB0aGlzLnByb2ZpbGUgPSBzZXNzaW9uLnByb2ZpbGU7XHJcbiAgICBfcm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgJiYgZS5wYW5lLnBhdGggJiYgZS5wYW5lLm1vZGUgPT09ICdwYW5lJykpLlxyXG4gICAgICBzdWJzY3JpYmUoKGU6IE5hdmlnYXRpb25QYW5lQmFzZSkgPT5cclxuICAgICAgICB0aGlzLl9wYXRoID0gZS5wYW5lLnBhdGguc3BsaXQoJy8nKVswXVxyXG4gICAgICApO1xyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVzdWx0cyA9IHRoaXMuc2VhcmNoLnZhbHVlQ2hhbmdlcy5waXBlKGZpbHRlcih2ID0+IGlzU3RyaW5nKHYpKSxcclxuICAgICAgbWFwKHYgPT4gdGhpcy5fc2VydmljZS5zZWFyY2godikpKTtcclxuICB9XHJcbiAgLyoqIG9wdGlvbnMgKi9cclxuICBvcHRpb25zKGV2dDogRXZlbnQpIHtcclxuICAgIHRoaXMuX3BvcHVwLm9wZW4oUXVpY2tPcHRpb25zQ29tcG9uZW50LCBldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50LCB7IHBvc2l0aW9uOiAnZW5kJyB9KTtcclxuICB9XHJcbiAgc2lnbm91dChldnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLl9wb3B1cC5vcGVuKFF1aWNrU2lnbkNvbXBvbmVudCwgZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCwgeyBwb3NpdGlvbjogJ2VuZCcgfSk7XHJcbiAgfVxyXG4gIG5hdihwYXRoKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoW3BhdGhdKTtcclxuICAgIHRoaXMuc3VibWVudSA9IG51bGw7XHJcbiAgICB0aGlzLmNvbGxhcHNlc3VibWVudSgpO1xyXG4gIH1cclxuICBvbk5ld01lc3NhZ2UobW9kZWw6IFJlY2lwaWVudE1vZGVsKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2knLCBtb2RlbC5pZC5lbmNvZGVJZCgpXSxcclxuICAgICAge1xyXG4gICAgICAgIHN0YXRlOiB7IGl0ZW06IG1vZGVsIH0sXHJcbiAgICAgICAgcG9saWN5OiBPcGVuUG9saWN5LkNsZWFyXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICBjbG9zZXN1Ym1lbnUoKSB7XHJcbiAgICB0aGlzLnN1Ym1lbnUgPSBudWxsO1xyXG4gIH1cclxuICBvcGVubmV3KCkge1xyXG4gICAgaWYgKHRoaXMuZm9ybXMubGVuZ3RoID4gMSkge1xyXG4gICAgICBpZiAodGhpcy5zdWJtZW51ID09PSAnbmV3JylcclxuICAgICAgICB0aGlzLmNsb3Nlc3VibWVudSgpO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5vcGVuc3VibWVudSgnbmV3Jyk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHRoaXMuX2NyZWF0ZSgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9jcmVhdGUoKSB7XHJcbiAgICB0aGlzLmNyZWF0aW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuX21haWxib3guY3JlYXRlKHRoaXMuZm9ybXNbMF0ubmFtZSkuXHJcbiAgICAgIHN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogciA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNyZWF0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydtYWlsYm94L2knLCByLmlkLmVuY29kZUlkKCldLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgcG9saWN5OiBPcGVuUG9saWN5LkNsZWFyLFxyXG4gICAgICAgICAgICAgIHN0YXRlOiB7IGl0ZW06IHIgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9LCBlcnJvcjogKGU6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9oYW5kbGVFcnIoZSk7XHJcbiAgICAgICAgICB0aGlzLmNyZWF0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfaGFuZGxlRXJyKHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSB8IEdlb2xvY2F0aW9uUG9zaXRpb25FcnJvcikge1xyXG4gICAgaWYgKHJlc3BvbnNlLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdQb3NpdGlvbkVycm9yJylcclxuICAgICAgc3dpdGNoICgocmVzcG9uc2UgYXMgR2VvbG9jYXRpb25Qb3NpdGlvbkVycm9yKS5jb2RlKSB7XHJcbiAgICAgICAgY2FzZSAxOlxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3IoJ1VzZXJEZW5pZWRHZW9FcnInKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0aGlzLl9zYi5lcnJvcignR2VvRXJyJyk7XHJcbiAgICAgIH1cclxuICAgIGVsc2Ugc3dpdGNoICgocmVzcG9uc2UgYXMgSHR0cEVycm9yUmVzcG9uc2UpLnN0YXR1cykge1xyXG4gICAgICBjYXNlIDQwMTpcclxuICAgICAgICB0aGlzLl9zYi5lcnJvcignVW5hdXRob3JpemVkJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgNDA2OlxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yU3RyaW5nKChyZXNwb25zZSBhcyBIdHRwRXJyb3JSZXNwb25zZSkuZXJyb3IpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIDQyNjogLy8gbGljZW5zZVxyXG4gICAgICAgIHRoaXMuX3NiLmVycm9yKCdMaWNlbnNlRXJyJyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhpcy5fc2IuZXJyb3IoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5zdWJtZW51KG1lbnU6IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuc3VibWVudSA9PT0gbWVudSlcclxuICAgICAgdGhpcy5zdWJtZW51TW9kZSA9IHRoaXMuc3VibWVudU1vZGUgPT09ICdmdWxsJyA/ICdzaHJpbmsnIDogJ2Z1bGwnO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc3VibWVudSA9IG1lbnU7XHJcbiAgICAgIHRoaXMuc3VibWVudU1vZGUgPSAnZnVsbCc7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGNvbGxhcHNlc3VibWVudSgpIHtcclxuICAgIGlmICghdGhpcy5waW5uZWQgJiYgdGhpcy5zdWJtZW51ICE9PSAnbmV3JykgdGhpcy5zdWJtZW51TW9kZSA9ICdzaHJpbmsnO1xyXG4gIH1cclxuICB0b2dnbGVQaW5uZWQoKSB7XHJcbiAgICB0aGlzLnBpbm5lZCA9ICF0aGlzLnBpbm5lZDtcclxuICAgIHRoaXMuc3VibWVudU1vZGUgPSB0aGlzLnBpbm5lZCA/ICdmdWxsJyA6ICdzaHJpbmsnO1xyXG4gIH1cclxuICBvdmVycmlkZSBtYWlscygpIHtcclxuICAgIHN1cGVyLm1haWxzKCk7XHJcbiAgICB0aGlzLm9wZW5zdWJtZW51KCdtYWlsYm94Jyk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEFsdCtuLCBBbHQrYSwgQ3RybCArIC5cclxuICAgKiBAcGFyYW0gZXZlbnRcclxuICAgKi9cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQuYWx0S2V5KSB7XHJcbiAgICAgIGlmICgoZXZlbnQua2V5ID09PSAnbicgfHwgZXZlbnQua2V5ID09PSAnTicpKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3VibWVudSA9PT0gJ25ldycpXHJcbiAgICAgICAgICB0aGlzLnN1Ym1lbnUgPSBudWxsO1xyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHRoaXMuZm9ybXMubGVuZ3RoID09PSAxKVxyXG4gICAgICAgICAgICB0aGlzLl9jcmVhdGUoKTtcclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnN1Ym1lbnUgPSAnbmV3JztcclxuICAgICAgICAgICAgdGhpcy5zdWJtZW51TW9kZSA9ICdmdWxsJztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmIChldmVudC5rZXkgPT09ICdhJyB8fCBldmVudC5rZXkgPT09ICdBJykge1xyXG4gICAgICAgIGlmICh0aGlzLnN1Ym1lbnUgPT09ICdjdWJlJylcclxuICAgICAgICAgIHRoaXMuc3VibWVudSA9IG51bGw7XHJcbiAgICAgICAgZWxzZSBpZiAodGhpcy5wcm9maWxlLmN1YmVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMucHJvZmlsZS5jdWJlcy5sZW5ndGggPT09IDEgJiYgdGhpcy5wcm9maWxlLmN1YmVzWzBdLnZpZXdzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICAgICAgICBjb25zdCBjdWJlID0gdGhpcy5wcm9maWxlLmN1YmVzWzBdO1xyXG4gICAgICAgICAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydjdWJlJywgY3ViZS5uYW1lLCAndicsIGN1YmUudmlld3NbMF0ubmFtZV0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJtZW51ID0gJ2N1YmUnO1xyXG4gICAgICAgICAgICB0aGlzLnN1Ym1lbnVNb2RlID0gJ2Z1bGwnO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICgoZXZlbnQua2V5ID09PSAncycgfHwgZXZlbnQua2V5ID09PSAnUycpICYmIGxvY2F0aW9uLnBhdGhuYW1lLmluZGV4T2YoJy9tYWlsYm94L2YnKSA8IDApIHtcclxuICAgICAgICBpZiAoIXRoaXMuc2VhcmNoaW5nKVxyXG4gICAgICAgICAgdGhpcy5zZWFyY2hpbmcgPSB0cnVlO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRoaXMuZm9jdXMoKTtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ2gnIHx8IGV2ZW50LmtleSA9PT0gJ0gnKSB7XHJcbiAgICAgICAgY29uc3QgeyBoZWxwIH0gPSB0aGlzLm1haW4ucGFuZXNbdGhpcy5tYWluLnNlbGVjdGVkSW5kZXhdO1xyXG4gICAgICAgIHRoaXMuZ3VpZGUoaGVscCA/PyAnaW50cm8nKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXZlbnQuY3RybEtleSAmJiBldmVudC5rZXkgPT09ICcuJykge1xyXG4gICAgICBpZiAodGhpcy5zdWJtZW51ICYmICF0aGlzLl9jb2xsYXBzZVRvZ2dsZSkge1xyXG4gICAgICAgIHRoaXMuc3VibWVudU1vZGUgPSB0aGlzLnN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJyA/ICdmdWxsJyA6ICdzaHJpbmsnO1xyXG4gICAgICAgIHRoaXMuX2NvbGxhcHNlVG9nZ2xlID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLmNvbGxhcHNlZCA9ICF0aGlzLmNvbGxhcHNlZDtcclxuICAgICAgICB0aGlzLl9jb2xsYXBzZVRvZ2dsZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIGd1aWRlKG5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fZ3VpZGUuc3RhcnQobmFtZSk7XHJcbiAgfVxyXG4gIG5vdGlmcyhldnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLnByb2ZpbGUubm90aWZpY2F0aW9ucy5sZW5ndGggJiZcclxuICAgICAgdGhpcy5fc2Vzc2lvbi5ub3RpZmljYXRpb25zVG91Y2goKTtcclxuICAgIHRoaXMuX3BvcHVwLm9wZW4oUXVpY2tOb3RpZmljYXRpb25zQ29tcG9uZW50LCBldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50LCB7IHBvc2l0aW9uOiAnc3RhcnQnIH0pO1xyXG4gICAgc3VwZXIubm90aWZzKCk7XHJcbiAgfVxyXG4gIHRvZ2dsZShldnQ6IEV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5zZWFyY2hpbmcpIHRoaXMuY29sbGFwc2UoZXZ0KTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5zZWFyY2hpbmcgPSB0cnVlO1xyXG4gIH1cclxuICBjb2xsYXBzZShldnQ6IEV2ZW50KSB7XHJcbiAgICB0aGlzLnNlYXJjaGluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy50cmlnZ2VyLmNsb3NlUGFuZWwoKTtcclxuICAgIGV2dC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcbiAgZm9jdXMoKSB7XHJcbiAgICB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy50cmlnZ2VyLm9wZW5QYW5lbCgpLCAyMDApO1xyXG4gIH1cclxuICBkaXNwbGF5V2l0aCA9IF8gPT4gbnVsbDtcclxuICBvbkF0dGFjaGVkKGl0ZW06IExpc3RpbmdJdGVtLCBjb21wUmVmOiBDb21wb25lbnRSZWY8TGlzdGluZ0NvbXBvbmVudDxhbnk+Pikge1xyXG4gICAgaXRlbS5pbnN0YW5jZSA9IGNvbXBSZWYuaW5zdGFuY2U7XHJcbiAgICBjb21wUmVmLmluc3RhbmNlLm9uQmluZChpdGVtLm1vZGVsKTtcclxuICB9XHJcbiAgZ290byhldnQ6IE1hdEF1dG9jb21wbGV0ZVNlbGVjdGVkRXZlbnQpIHtcclxuICAgIHRoaXMuc2VhcmNoaW5nID0gZmFsc2U7XHJcbiAgICBjb25zdCBpdGVtID0gZXZ0Lm9wdGlvbi52YWx1ZSBhcyBMaXN0aW5nSXRlbTtcclxuICAgIGl0ZW0uaW5zdGFuY2Uub25QaWNrKCk7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gbWVudSAtLT5cbjxkaXYgW2NsYXNzLm5hdi1jb2xsYXBzZWRdPVwiY29sbGFwc2VkXCIgW2NsYXNzLm5hdi1vcGVuXT1cInN1Ym1lbnVcIlxuICAgICBbY2xhc3MuZGlhbG9nXT1cImRpYWxvZ1wiXG4gICAgIGNsYXNzPVwibmF2LW1lbnUgcm93XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cbiAgICA8ZGl2PlxuICAgICAgQGlmIChmb3Jtcy5sZW5ndGgpIHtcbiAgICAgIDxkaXYgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnbmV3J1wiIGNsYXNzPVwibmV3LWNvbnRhaW5lclwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgW2JpemRvY1Rvb2x0aXBdPVwiJ0NvbXBvc2UnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5uZXcoKVwiIFtkaXNhYmxlZF09XCJjcmVhdGluZ1wiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInQ29tcG9zZSd8IHRyYW5zbGF0ZVwiIGNvbG9yPVwicHJpbWFyeVwiIGRhdGEtaGVscD1cImNvbXBvc2VcIj5cbiAgICAgICAgICA8bWF0LWljb24+YWRkPC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiPnt7J0NvbXBvc2UnfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICAgIDxtYXQtbmF2LWxpc3Q+XG4gICAgICAgIDxtYXQtbGlzdC1pdGVtIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0Rhc2hib2FyZCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwibmF2KCdkYXNoYm9hcmQnKVwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ2Rhc2hib2FyZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWhlbHA9XCJkYXNoYm9hcmRcIlxuICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInRGFzaGJvYXJkJ3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJlbmRcIiBbYml6ZG9jVG9vbHRpcERpc2FibGVkXT1cIiFjb2xsYXBzZWRcIj5cbiAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEl0ZW1JY29uPmFwcHM8L21hdC1pY29uPjxzcGFuIGNsYXNzPVwibmF2LWxhYmVsXCIgbWF0TGlzdEl0ZW1UaXRsZT57eydEYXNoYm9hcmQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gKGNsaWNrKT1cIm1haWxzKClcIiBbYml6ZG9jVG9vbHRpcF09XCInTWFpbGJveCd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCIgW2JpemRvY1Rvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnbWFpbGJveCdcIlxuICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidNYWlsYm94JyB8IHRyYW5zbGF0ZVwiIGRhdGEtaGVscD1cImZvbGRlcnNcIj5cbiAgICAgICAgICA8bWF0LWljb24gbWF0TGlzdEl0ZW1JY29uIFttYXRCYWRnZV09XCJwcm9maWxlLmluYm94Q291bnRcIiBbbWF0QmFkZ2VIaWRkZW5dPVwicHJvZmlsZS5pbmJveENvdW50IDwgMVwiIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIiBhcmlhLWhpZGRlbj1cImZhbHNlXCI+aW5ib3g8L21hdC1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmF2LWxhYmVsXCIgbWF0TGlzdEl0ZW1UaXRsZT57eydNYWlsYm94JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgIEBpZiAoc2NoZWR1bGVyRW5hYmxlZCkge1xuICAgICAgICA8bWF0LWxpc3QtaXRlbSBbYXR0ci5hcmlhLWxhYmVsXT1cIidTY2hlZHVsZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm5hdignc2NoZWR1bGUnKVwiIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ3NjaGVkdWxlJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgIFtiaXpkb2NUb29sdGlwXT1cIidTY2hlZHVsZXInfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24gY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+ZGF0ZV9yYW5nZTwvbWF0LWljb24+PHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIiBtYXRMaXN0SXRlbVRpdGxlPnt7ICdTY2hlZHVsZXInIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgfVxuICAgICAgICBAaWYgKGNoYXRFbmFibGVkKSB7XG4gICAgICAgIDxtYXQtbGlzdC1pdGVtIGRhdGEtaGVscD1cImNoYXRcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidDaGF0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJuYXYoJ2NvbnRhY3RzJylcIiBbY2xhc3MuYWN0aXZlXT1cImFjdGl2ZU1lbnUgPT09ICdjb250YWN0cydcIlxuICAgICAgICAgICAgICAgICAgICAgICBbYml6ZG9jVG9vbHRpcF09XCInQ2hhdCd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCIgW2JpemRvY1Rvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkXCI+XG4gICAgICAgICAgPG1hdC1pY29uIG1hdExpc3RJdGVtSWNvbiBbbWF0QmFkZ2VdPVwicHJvZmlsZS5jb252ZXJzYXRpb25zQ291bnRcIiBbbWF0QmFkZ2VIaWRkZW5dPVwiIXByb2ZpbGUuY29udmVyc2F0aW9uc0NvdW50XCIgbWF0QmFkZ2VDb2xvcj1cImFjY2VudFwiIGFyaWEtaGlkZGVuPVwiZmFsc2VcIj5jaGF0PC9tYXQtaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiIG1hdExpc3RJdGVtVGl0bGU+e3sgJ0NoYXQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICAgICAgfVxuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgQGlmIChlbmFibGVBbmFseXNpcyAmJiBwcm9maWxlLmN1YmVzLmxlbmd0aCkge1xuICAgICAgICA8bWF0LWxpc3QtaXRlbSAoY2xpY2spPVwib3BlbnN1Ym1lbnUoJ2N1YmUnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ2N1YmUnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2JpemRvY1Rvb2x0aXBdPVwiJ0N1YmUnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgIGRhdGEtaGVscD1cImN1YmVcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidDdWJlJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24+ZXF1YWxpemVyPC9tYXQtaWNvbj48c3BhbiBjbGFzcz1cIm5hdi1sYWJlbFwiIG1hdExpc3RJdGVtVGl0bGU+e3snQ3ViZScgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAocHJvZmlsZS5yZXBvcnRzLmxlbmd0aCkge1xuICAgICAgICA8bWF0LWxpc3QtaXRlbSAoY2xpY2spPVwib3BlbnN1Ym1lbnUoJ3JlcG9ydHMnKVwiXG4gICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiYWN0aXZlTWVudSA9PT0gJ3JlcG9ydHMnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2JpemRvY1Rvb2x0aXBdPVwiJ1JlcG9ydHMnfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImVuZFwiIFtiaXpkb2NUb29sdGlwRGlzYWJsZWRdPVwiIWNvbGxhcHNlZFwiIGRhdGEtaGVscD1cInJlcG9ydHNcIiBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZXBvcnRzJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24+bGlzdF9hbHQ8L21hdC1pY29uPjxzcGFuIGNsYXNzPVwibmF2LWxhYmVsXCIgbWF0TGlzdEl0ZW1UaXRsZT57eydSZXBvcnRzJyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgIH1cbiAgICAgICAgQGlmIChzeXNBZG1pbikge1xuICAgICAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICAgICAgPG1hdC1saXN0LWl0ZW0gKGNsaWNrKT1cIm9wZW5zdWJtZW51KCdhZG1pbicpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJhY3RpdmVNZW51ID09PSAnYWRtaW4nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2JpemRvY1Rvb2x0aXBdPVwiJ1N5c3RlbSd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiZW5kXCIgW2JpemRvY1Rvb2x0aXBEaXNhYmxlZF09XCIhY29sbGFwc2VkXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInU3lzdGVtJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgIDxtYXQtaWNvbiBtYXRMaXN0SXRlbUljb24+ZGV2aWNlX2h1YjwvbWF0LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJuYXYtbGFiZWxcIiBtYXRMaXN0SXRlbVRpdGxlPnt7J1dvcmtmbG93JyB8IHRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8L21hdC1saXN0LWl0ZW0+XG4gICAgICAgIH1cbiAgICAgIDwvbWF0LW5hdi1saXN0PlxuICAgIDwvZGl2PlxuICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cbiAgICA8IS0tPGxvdHRpZSBuYW1lPVwibGYzMF9lZGl0b3JfcXI3emdtY3NcIiAqbmdJZj1cImxvYWRpbmdcIj48L2xvdHRpZT4tLT5cbiAgICA8ZGl2IGNsYXNzPVwic2lnbi1pblwiPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gZGF0YS1oZWxwPVwic2lnbi1pblwiIFtiaXpkb2NUb29sdGlwXT1cIidTZXR0aW5ncycgfCB0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NldHRpbmdzJyB8IHRyYW5zbGF0ZVwiIChjbGljayk9XCJvcHRpb25zKCRldmVudClcIj5cbiAgICAgICAgPG1hdC1pY29uIG1hdEFuaW1hdGU9XCJyb3RhdGVcIj5zZXR0aW5nc29uPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCInUG93ZXInIHwgdHJhbnNsYXRlXCIgKGNsaWNrKT1cInNpZ25vdXQoJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidFeGl0J3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+bG9nb3V0PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPCEtLSAtLT5cbiAgQGlmIChzdWJtZW51KSB7XG4gIDxkaXYgY2xhc3M9XCJzdWItbWVudVwiIChtb3VzZWxlYXZlKT1cImNvbGxhcHNlc3VibWVudSgpXCIgW0BzdWJtZW51XT1cInN1Ym1lbnVNb2RlXCIgKEBzdWJtZW51LmRvbmUpPVwicmVzaXplKClcIj5cbiAgICBAaWYgKHN1Ym1lbnUgIT09ICduZXcnKSB7XG4gICAgPGRpdiBjbGFzcz1cImFjdGlvblwiPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInRvZ2dsZVBpbm5lZCgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiKHBpbm5lZD8nQ29sbGFwc2UnOidFeHBhbmQnKXx0cmFuc2xhdGVcIj48bWF0LWljb24gY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+e3twaW5uZWQgPyAncHVzaF9waW4nIDogJ21lbnUnfX08L21hdC1pY29uPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIH1cbiAgICBAc3dpdGNoIChzdWJtZW51KSB7XG4gICAgQGNhc2UgKCduZXcnKSB7XG4gICAgPGJpemRvYy1uZXctbWVudSAoY2hhbmdlKT1cImNsb3Nlc3VibWVudSgpXCI+PC9iaXpkb2MtbmV3LW1lbnU+XG4gICAgfVxuICAgIEBjYXNlICgnbWFpbGJveCcpIHtcbiAgICA8Yml6ZG9jLWZvbGRlcnMtbWVudSBbY29sbGFwc2VkXT1cInN1Ym1lbnVNb2RlID09PSAnc2hyaW5rJ1wiIChjaGFuZ2UpPVwiY29sbGFwc2VzdWJtZW51KClcIj48L2JpemRvYy1mb2xkZXJzLW1lbnU+XG4gICAgfVxuICAgIEBjYXNlICgnYWRtaW4nKSB7XG4gICAgPGJpemRvYy1hZG1pbi1tZW51IFtjb2xsYXBzZWRdPVwic3VibWVudU1vZGUgPT09ICdzaHJpbmsnXCI+PC9iaXpkb2MtYWRtaW4tbWVudT5cbiAgICB9XG4gICAgQGNhc2UgKCdyZXBvcnRzJykge1xuICAgIDxiaXpkb2MtcmVwb3J0cy1tZW51IFtjb2xsYXBzZWRdPVwic3VibWVudU1vZGUgPT09ICdzaHJpbmsnXCIgKGNoYW5nZSk9XCJjb2xsYXBzZXN1Ym1lbnUoKVwiPjwvYml6ZG9jLXJlcG9ydHMtbWVudT5cbiAgICB9XG4gICAgQGNhc2UgKCdjdWJlJykge1xuICAgIDxiaXpkb2MtY3ViZS1tZW51IFtjb2xsYXBzZWRdPVwic3VibWVudU1vZGUgPT09ICdzaHJpbmsnXCIgKGNoYW5nZSk9XCJjb2xsYXBzZXN1Ym1lbnUoKVwiPjwvYml6ZG9jLWN1YmUtbWVudT5cbiAgICB9XG4gICAgfVxuICA8L2Rpdj5cbiAgfVxuICBAaWYgKGRpYWxvZykge1xuICA8ZGl2IGNsYXNzPVwiYmFja2Ryb3BcIj48L2Rpdj5cbiAgfVxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibWFpblwiPlxuICA8IS0tIHRpdGxlIC0tPlxuICA8ZGl2IGNsYXNzPVwicm93IGhlYWRlclwiIFtAdGl0bGVdPVwibWFpbi50aXRsZVZhcmlhbnRcIj5cbiAgICA8aDE+XG4gICAgICBAaWYgKG1haW4uc3dhcCkge1xuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm1haW4uYmFjaygpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0JhY2snfHRyYW5zbGF0ZVwiPjxtYXQtaWNvbiBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIj5hcnJvd19jaXJjbGVfbGVmdDwvbWF0LWljb24+PC9idXR0b24+XG4gICAgICB9XG4gICAgICBAZm9yIChwIG9mIG1haW4ucGFuZXM7IHRyYWNrIHA7IGxldCBmaXJzdCA9ICRmaXJzdCkge1xuICAgICAgQGlmICghZmlyc3QpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwiYnJlYWRjcnVtYnNcIj5cXDwvc3Bhbj5cbiAgICAgIH1cbiAgICAgIHt7cC50aXRsZX19XG4gICAgICB9XG4gICAgICBAaWYgKG1haW4ucGFuZXNbMF0/Lmd1aWRlKSB7XG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZ3VpZGUobWFpbi5wYW5lc1swXS5ndWlkZSlcIiBbYml6ZG9jVG9vbHRpcF09XCInSGVscCd8dHJhbnNsYXRlXCI+PG1hdC1pY29uPmhlbHA8L21hdC1pY29uPjwvYnV0dG9uPlxuICAgICAgfVxuICAgIDwvaDE+XG4gICAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+XG4gICAgPC9zcGFuPlxuICAgIDwhLS1zZWFyY2gtLT5cbiAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICBbQHNlYXJjaF09XCJzZWFyY2hpbmdcIlxuICAgICAgICAgICAoQHNlYXJjaC5kb25lKT1cInNlYXJjaGluZyAmJiBmb2N1cygpXCJcbiAgICAgICAgICAgI2lucHV0XG4gICAgICAgICAgIChrZXlkb3duLmVzY2FwZSk9XCJjb2xsYXBzZSgkZXZlbnQpXCJcbiAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU2VhcmNoJ3x0cmFuc2xhdGVcIlxuICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic2VhcmNoXCJcbiAgICAgICAgICAgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvXCIgY2xhc3M9XCJzZWFyY2gtYm94XCI+XG4gICAgPG1hdC1hdXRvY29tcGxldGUgYXV0b0FjdGl2ZUZpcnN0T3B0aW9uICNhdXRvPVwibWF0QXV0b2NvbXBsZXRlXCIgKG9wdGlvblNlbGVjdGVkKT1cImdvdG8oJGV2ZW50KVwiIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5V2l0aFwiPlxuICAgICAgQGZvciAobyBvZiByZXN1bHRzIHwgYXN5bmM7IHRyYWNrIG8pIHtcbiAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJvXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKGF0dGFjaGVkKT1cIm9uQXR0YWNoZWQobywgJGV2ZW50KVwiIFtjZGtQb3J0YWxPdXRsZXRdPVwiby5wb3J0YWxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbWF0LW9wdGlvbj5cbiAgICAgIH1cbiAgICA8L21hdC1hdXRvY29tcGxldGU+XG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInRvZ2dsZSgkZXZlbnQpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1NlYXJjaCd8dHJhbnNsYXRlXCIgY2xhc3M9XCJ0b29sXCI+PG1hdC1pY29uPnNlYXJjaDwvbWF0LWljb24+PC9idXR0b24+XG4gICAgPCEtLW5vdGlmaWNhdGlvbnMtLT5cbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwibm90aWZzKCRldmVudClcIiBbYml6ZG9jVG9vbHRpcF09XCInTm90aWZpY2F0aW9ucyd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwic3RhcnRcIiBjbGFzcz1cInRvb2xcIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInTm90aWZpY2F0aW9ucyd8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBkYXRhLWhlbHA9XCJub3RpZmljYXRpb25zXCI+XG4gICAgICA8bWF0LWljb24gbWF0TGlzdEl0ZW1JY29uIFttYXRCYWRnZV09XCJwcm9maWxlLm5vdGlmaWNhdGlvbnNDb3VudFwiIFttYXRCYWRnZUhpZGRlbl09XCIhcHJvZmlsZS5ub3RpZmljYXRpb25zQ291bnRcIlxuICAgICAgICAgICAgICAgIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIiBhcmlhLWhpZGRlbj1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICBbY2xhc3MuZmlsbGVkXT1cInByb2ZpbGUubm90aWZpY2F0aW9uc0NvdW50XCI+XG4gICAgICAgIHt7cHJvZmlsZS5vcHRpb25zLm5vdGlmaWNhdGlvbnMuYWN0aXZlID8gJ25vdGlmaWNhdGlvbnMnOidub3RpZmljYXRpb25zX29mZid9fVxuICAgICAgPC9tYXQtaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDwhLS1wYW5lcyAmIHRhYnMtLT5cbiAgPGJpemRvYy1wYW5lcy1vdXRsZXQgKGRpYWxvZ0NoYW5nZSk9XCJkaWFsb2cgPSAkZXZlbnRcIiAjbWFpbj48L2JpemRvYy1wYW5lcy1vdXRsZXQ+XG48L2Rpdj5cbiJdfQ==
|
@@ -83,15 +83,15 @@ export class QuickOptionsComponent {
|
|
83
83
|
this._destroy.complete();
|
84
84
|
}
|
85
85
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: QuickOptionsComponent, deps: [{ token: i1.PromptService }, { token: i2.FormBuilder }, { token: i3.GuideService }, { token: i4.PopupRef, optional: true }, { token: i5.HubService }, { token: i6.SessionService }, { token: i7.MatDialog }, { token: BIZDOC_CONFIG }], target: i0.ɵɵFactoryTarget.Component }); }
|
86
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: QuickOptionsComponent, selector: "bizdoc-quick-options", ngImport: i0, template: "<div class=\"column\">\n <div class=\"profile-name\">\n <span class=\"mat-headline-6\">\n @if (profile.byName) {\n {{profile.byName}} \\\n }\n {{profile.name}}\n </span>\n </div>\n <mat-divider />\n <bizdoc-options section=\"notifications\"></bizdoc-options>\n <mat-divider />\n <!--keys-->\n <div *ngTemplateOutlet=\"keysTmpl\"></div>\n <!--themes-->\n @if (themes.length > 1) {\n <div class=\"row center\">\n @for (t of themes; track t) {\n <button (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\" bizdocTooltip=\"Theme\"></button>\n }\n </div>\n }\n</div>\n<!--guide-->\n<mat-nav-list role=\"list\">\n <mat-divider></mat-divider>\n <h3 mat-subheader [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\">{{'Help'|translate}}</h3>\n @for (g of guides; track g) {\n <button mat-menu-item (click)=\"guide(g.name)\">{{g.title}}</button>\n }\n</mat-nav-list>\n<mat-divider></mat-divider>\n<!--footer-->\n<div class=\"row\">\n <button mat-button role=\"listitem\" [matMenuTriggerFor]=\"language\">\n {{currentLanguage | translate}}\n <mat-icon>arrow_drop_down</mat-icon>\n <!--'ChangeLanguage'-->\n </button>\n <mat-menu #language>\n @for (l of languages; track l) {\n <button mat-menu-item (click)=\"changeLanguage(l)\">{{l | translate}}</button>\n }\n </mat-menu>\n @if (online) {\n <button mat-button [matMenuTriggerFor]=\"availability\">\n {{'ShowAs' | translate : (available | translate | lowercase)}}\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n }\n <mat-menu #availability>\n @for (m of modes; track m) {\n <button mat-menu-item (click)=\"setAvailable(m)\">{{m | translate}}</button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n <button mat-button role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</button>\n @if (!online) {\n <button mat-icon-button (click)=\"revive()\" [bizdocTooltip]=\"'Connect'|translate\">\n <mat-icon>wifi_off</mat-icon>\n </button>\n }\n</div>\n<!---->\n<ng-template #keysTmpl>\n <dl class=\"keys mat-body-2\">\n <dt>Alt+n</dt>\n <dd>{{'AltNHelp'|translate}}</dd>\n <dt>Ctrl+s</dt>\n <dd>{{'CtrlSHelp'|translate}}</dd>\n <dt>Alt+s</dt>\n <dd>{{'AltSHelp'|translate}}</dd>\n <dt>Alt+q</dt>\n <dd>{{'AltQHelp'|translate}}</dd>\n <dt>Alt+a</dt>\n <dd>{{'AltAHelp'|translate}}</dd>\n <dt>Alt+h</dt>\n <dd>{{'AltHHelp'|translate}}</dd>\n <dt>Ctrl+.</dt>\n <dd>{{'CtrlDotHelp'|translate}}</dd>\n </dl>\n</ng-template>\n", styles: [".profile-name{margin:8px}.theme{height:22px;width:22px;-moz-border-radius:13px 13px;-webkit-border-radius:13px 13px;border-radius:13px;margin:4px}.theme.active.dark{border:2px solid #f4f4f4}button{font-weight:300!important}.keys dt{width:72px;float:inline-start;clear:both;font-variant-caps:all-small-caps}.keys dd{float:inline-end;font-size:small;margin:0}\n"], dependencies: [{ kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i9.OptionsComponent, selector: "bizdoc-options", inputs: ["section"] }, { kind: "directive", type: i10.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i11.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "directive", type: i11.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i13.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i13.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i14.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i15.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i15.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i15.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i16.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i8.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i17.TranslatePipe, name: "translate" }] }); }
|
86
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: QuickOptionsComponent, selector: "bizdoc-quick-options", ngImport: i0, template: "<div class=\"column\">\n <div class=\"profile-name\">\n <span class=\"mat-headline-6\">\n @if (profile.byName) {\n {{profile.byName}} \\\n }\n {{profile.name}}\n </span>\n </div>\n <mat-divider />\n <bizdoc-options section=\"notifications\"></bizdoc-options>\n <mat-divider />\n <!--keys-->\n <div *ngTemplateOutlet=\"keysTmpl\"></div>\n <!--themes-->\n @if (themes.length > 1) {\n <div class=\"row center\">\n @for (t of themes; track t) {\n <button (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\" [bizdocTooltip]=\"'Theme'|translate\"></button>\n }\n </div>\n }\n</div>\n<!--guide-->\n<mat-nav-list role=\"list\">\n <mat-divider></mat-divider>\n <h3 mat-subheader [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\">{{'Help'|translate}}</h3>\n @for (g of guides; track g) {\n <button mat-menu-item (click)=\"guide(g.name)\">{{g.title}}</button>\n }\n</mat-nav-list>\n<mat-divider></mat-divider>\n<!--footer-->\n<div class=\"row\">\n <button mat-button role=\"listitem\" [matMenuTriggerFor]=\"language\">\n {{currentLanguage | translate}}\n <mat-icon>arrow_drop_down</mat-icon>\n <!--'ChangeLanguage'-->\n </button>\n <mat-menu #language>\n @for (l of languages; track l) {\n <button mat-menu-item (click)=\"changeLanguage(l)\">{{l | translate}}</button>\n }\n </mat-menu>\n @if (online) {\n <button mat-button [matMenuTriggerFor]=\"availability\">\n {{'ShowAs' | translate : (available | translate | lowercase)}}\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n }\n <mat-menu #availability>\n @for (m of modes; track m) {\n <button mat-menu-item (click)=\"setAvailable(m)\">{{m | translate}}</button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n <button mat-button role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</button>\n @if (!online) {\n <button mat-icon-button (click)=\"revive()\" [bizdocTooltip]=\"'Connect'|translate\">\n <mat-icon>wifi_off</mat-icon>\n </button>\n }\n</div>\n<!---->\n<ng-template #keysTmpl>\n <dl class=\"keys mat-body-2\">\n <dt>Alt+n</dt>\n <dd>{{'AltNHelp'|translate}}</dd>\n <dt>Ctrl+s</dt>\n <dd>{{'CtrlSHelp'|translate}}</dd>\n <dt>Alt+s</dt>\n <dd>{{'AltSHelp'|translate}}</dd>\n <dt>Alt+q</dt>\n <dd>{{'AltQHelp'|translate}}</dd>\n <dt>Alt+a</dt>\n <dd>{{'AltAHelp'|translate}}</dd>\n <dt>Alt+h</dt>\n <dd>{{'AltHHelp'|translate}}</dd>\n <dt>Ctrl+.</dt>\n <dd>{{'CtrlDotHelp'|translate}}</dd>\n </dl>\n</ng-template>\n", styles: [".profile-name{margin:8px}.theme{height:22px;width:22px;-moz-border-radius:13px 13px;-webkit-border-radius:13px 13px;border-radius:13px;margin:4px}.theme.active.dark{border:2px solid #f4f4f4}button{font-weight:300!important}.keys dt{width:72px;float:inline-start;clear:both;font-variant-caps:all-small-caps}.keys dd{float:inline-end;font-size:small;margin:0}\n"], dependencies: [{ kind: "directive", type: i8.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i9.OptionsComponent, selector: "bizdoc-options", inputs: ["section"] }, { kind: "directive", type: i10.MatBadge, selector: "[matBadge]", inputs: ["matBadgeColor", "matBadgeOverlap", "matBadgeDisabled", "matBadgePosition", "matBadge", "matBadgeDescription", "matBadgeSize", "matBadgeHidden"] }, { kind: "component", type: i11.MatNavList, selector: "mat-nav-list", exportAs: ["matNavList"] }, { kind: "directive", type: i11.MatListSubheaderCssMatStyler, selector: "[mat-subheader], [matSubheader]" }, { kind: "component", type: i12.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i13.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i13.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i14.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i15.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i15.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i15.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i16.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i8.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i17.TranslatePipe, name: "translate" }] }); }
|
87
87
|
}
|
88
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: QuickOptionsComponent, decorators: [{
|
89
89
|
type: Component,
|
90
|
-
args: [{ selector: 'bizdoc-quick-options', template: "<div class=\"column\">\n <div class=\"profile-name\">\n <span class=\"mat-headline-6\">\n @if (profile.byName) {\n {{profile.byName}} \\\n }\n {{profile.name}}\n </span>\n </div>\n <mat-divider />\n <bizdoc-options section=\"notifications\"></bizdoc-options>\n <mat-divider />\n <!--keys-->\n <div *ngTemplateOutlet=\"keysTmpl\"></div>\n <!--themes-->\n @if (themes.length > 1) {\n <div class=\"row center\">\n @for (t of themes; track t) {\n <button (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\" bizdocTooltip=\"Theme\"></button>\n }\n </div>\n }\n</div>\n<!--guide-->\n<mat-nav-list role=\"list\">\n <mat-divider></mat-divider>\n <h3 mat-subheader [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\">{{'Help'|translate}}</h3>\n @for (g of guides; track g) {\n <button mat-menu-item (click)=\"guide(g.name)\">{{g.title}}</button>\n }\n</mat-nav-list>\n<mat-divider></mat-divider>\n<!--footer-->\n<div class=\"row\">\n <button mat-button role=\"listitem\" [matMenuTriggerFor]=\"language\">\n {{currentLanguage | translate}}\n <mat-icon>arrow_drop_down</mat-icon>\n <!--'ChangeLanguage'-->\n </button>\n <mat-menu #language>\n @for (l of languages; track l) {\n <button mat-menu-item (click)=\"changeLanguage(l)\">{{l | translate}}</button>\n }\n </mat-menu>\n @if (online) {\n <button mat-button [matMenuTriggerFor]=\"availability\">\n {{'ShowAs' | translate : (available | translate | lowercase)}}\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n }\n <mat-menu #availability>\n @for (m of modes; track m) {\n <button mat-menu-item (click)=\"setAvailable(m)\">{{m | translate}}</button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n <button mat-button role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</button>\n @if (!online) {\n <button mat-icon-button (click)=\"revive()\" [bizdocTooltip]=\"'Connect'|translate\">\n <mat-icon>wifi_off</mat-icon>\n </button>\n }\n</div>\n<!---->\n<ng-template #keysTmpl>\n <dl class=\"keys mat-body-2\">\n <dt>Alt+n</dt>\n <dd>{{'AltNHelp'|translate}}</dd>\n <dt>Ctrl+s</dt>\n <dd>{{'CtrlSHelp'|translate}}</dd>\n <dt>Alt+s</dt>\n <dd>{{'AltSHelp'|translate}}</dd>\n <dt>Alt+q</dt>\n <dd>{{'AltQHelp'|translate}}</dd>\n <dt>Alt+a</dt>\n <dd>{{'AltAHelp'|translate}}</dd>\n <dt>Alt+h</dt>\n <dd>{{'AltHHelp'|translate}}</dd>\n <dt>Ctrl+.</dt>\n <dd>{{'CtrlDotHelp'|translate}}</dd>\n </dl>\n</ng-template>\n", styles: [".profile-name{margin:8px}.theme{height:22px;width:22px;-moz-border-radius:13px 13px;-webkit-border-radius:13px 13px;border-radius:13px;margin:4px}.theme.active.dark{border:2px solid #f4f4f4}button{font-weight:300!important}.keys dt{width:72px;float:inline-start;clear:both;font-variant-caps:all-small-caps}.keys dd{float:inline-end;font-size:small;margin:0}\n"] }]
|
90
|
+
args: [{ selector: 'bizdoc-quick-options', template: "<div class=\"column\">\n <div class=\"profile-name\">\n <span class=\"mat-headline-6\">\n @if (profile.byName) {\n {{profile.byName}} \\\n }\n {{profile.name}}\n </span>\n </div>\n <mat-divider />\n <bizdoc-options section=\"notifications\"></bizdoc-options>\n <mat-divider />\n <!--keys-->\n <div *ngTemplateOutlet=\"keysTmpl\"></div>\n <!--themes-->\n @if (themes.length > 1) {\n <div class=\"row center\">\n @for (t of themes; track t) {\n <button (click)=\"changeTheme(t)\" mat-icon-button class=\"theme\" [style.background]=\"t.color\" [class.active]=\"t.name === theme\" [class.dark]=\"t.dark\" [bizdocTooltip]=\"'Theme'|translate\"></button>\n }\n </div>\n }\n</div>\n<!--guide-->\n<mat-nav-list role=\"list\">\n <mat-divider></mat-divider>\n <h3 mat-subheader [matBadge]=\"guidesCount\" matBadgeColor=\"accent\" matBadgeOverlap=\"false\" matBadgeSize=\"small\">{{'Help'|translate}}</h3>\n @for (g of guides; track g) {\n <button mat-menu-item (click)=\"guide(g.name)\">{{g.title}}</button>\n }\n</mat-nav-list>\n<mat-divider></mat-divider>\n<!--footer-->\n<div class=\"row\">\n <button mat-button role=\"listitem\" [matMenuTriggerFor]=\"language\">\n {{currentLanguage | translate}}\n <mat-icon>arrow_drop_down</mat-icon>\n <!--'ChangeLanguage'-->\n </button>\n <mat-menu #language>\n @for (l of languages; track l) {\n <button mat-menu-item (click)=\"changeLanguage(l)\">{{l | translate}}</button>\n }\n </mat-menu>\n @if (online) {\n <button mat-button [matMenuTriggerFor]=\"availability\">\n {{'ShowAs' | translate : (available | translate | lowercase)}}\n <mat-icon>arrow_drop_down</mat-icon>\n </button>\n }\n <mat-menu #availability>\n @for (m of modes; track m) {\n <button mat-menu-item (click)=\"setAvailable(m)\">{{m | translate}}</button>\n }\n </mat-menu>\n <span class=\"divider\"></span>\n <button mat-button role=\"listitem\" (click)=\"about()\">{{ 'About' | translate}}</button>\n @if (!online) {\n <button mat-icon-button (click)=\"revive()\" [bizdocTooltip]=\"'Connect'|translate\">\n <mat-icon>wifi_off</mat-icon>\n </button>\n }\n</div>\n<!---->\n<ng-template #keysTmpl>\n <dl class=\"keys mat-body-2\">\n <dt>Alt+n</dt>\n <dd>{{'AltNHelp'|translate}}</dd>\n <dt>Ctrl+s</dt>\n <dd>{{'CtrlSHelp'|translate}}</dd>\n <dt>Alt+s</dt>\n <dd>{{'AltSHelp'|translate}}</dd>\n <dt>Alt+q</dt>\n <dd>{{'AltQHelp'|translate}}</dd>\n <dt>Alt+a</dt>\n <dd>{{'AltAHelp'|translate}}</dd>\n <dt>Alt+h</dt>\n <dd>{{'AltHHelp'|translate}}</dd>\n <dt>Ctrl+.</dt>\n <dd>{{'CtrlDotHelp'|translate}}</dd>\n </dl>\n</ng-template>\n", styles: [".profile-name{margin:8px}.theme{height:22px;width:22px;-moz-border-radius:13px 13px;-webkit-border-radius:13px 13px;border-radius:13px;margin:4px}.theme.active.dark{border:2px solid #f4f4f4}button{font-weight:300!important}.keys dt{width:72px;float:inline-start;clear:both;font-variant-caps:all-small-caps}.keys dd{float:inline-end;font-size:small;margin:0}\n"] }]
|
91
91
|
}], ctorParameters: () => [{ type: i1.PromptService }, { type: i2.FormBuilder }, { type: i3.GuideService }, { type: i4.PopupRef, decorators: [{
|
92
92
|
type: Optional
|
93
93
|
}] }, { type: i5.HubService }, { type: i6.SessionService }, { type: i7.MatDialog }, { type: undefined, decorators: [{
|
94
94
|
type: Inject,
|
95
95
|
args: [BIZDOC_CONFIG]
|
96
96
|
}] }] });
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2hvbWUvb3B0aW9ucy9vcHRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvaG9tZS9vcHRpb25zL29wdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFNeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBELE9BQU8sRUFBRSxhQUFhLEVBQXVCLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHOUUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUF3QixDQUFDO0FBT3JHLHVCQUF1QjtBQUN2QixNQUFNLE9BQU8scUJBQXFCO0lBYWhDLG1CQUFtQjtJQUNuQixZQUFvQixHQUFrQixFQUM1QixHQUFnQixFQUNoQixNQUFvQixFQUNSLFNBQTBDLEVBQ3RELElBQWdCLEVBQ2hCLFFBQXdCLEVBQ3hCLE9BQWtCLEVBQ0gsTUFBb0I7UUFQekIsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUM1QixRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDUixjQUFTLEdBQVQsU0FBUyxDQUFpQztRQUN0RCxTQUFJ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QUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBbEVVLHFCQUFxQiwrTkFxQnRCLGFBQWE7a0dBckJaLHFCQUFxQiw0REN2QmxDLDhtRkFrRkE7OzJGRDNEYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0Usc0JBQXNCOzswQkFzQjdCLFFBQVE7OzBCQUlSLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHViQ29ubmVjdGlvblN0YXRlIH0gZnJvbSAnQG1pY3Jvc29mdC9zaWduYWxyJztcclxuaW1wb3J0IHsgQXZhaWxhYmlsaXR5U3RhdGUsIEd1aWRlLCBQcm9maWxlIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHdWlkZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2d1aWRlL2d1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFib3V0RGlhbG9nIH0gZnJvbSAnLi4vYWJvdXQvYWJvdXQuZGlhbG9nJztcclxuaW1wb3J0IHsgUG9wdXBSZWYgfSBmcm9tIFwiLi4vLi4vY29yZS9wb3B1cC9wb3B1cC1yZWZcIjtcclxuaW1wb3J0IHsgQklaRE9DX0NPTkZJRywgQml6RG9jQ29uZmlnLCBUaGVtZSB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuY29uc3QgTW9kZXMgPSBbJ09mZmxpbmUnLCAnT25saW5lJywgJ091dE9mT2ZmaWNlJywgJ1ZhY2F0aW9uJywgJ1dvcmtpbmdIb21lJ10gYXMgQXZhaWxhYmlsaXR5U3RhdGVbXTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXF1aWNrLW9wdGlvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vcHRpb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9vcHRpb25zLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbi8qKiBvcHRpb25zIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBRdWlja09wdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgb25saW5lOiBib29sZWFuO1xyXG4gIHRoZW1lOiBzdHJpbmc7XHJcbiAgYXZhaWxhYmxlOiBBdmFpbGFiaWxpdHlTdGF0ZTtcclxuICBndWlkZXNDb3VudDogbnVtYmVyO1xyXG4gIHNhdmVpbmcgPSBmYWxzZTtcclxuICByZWFkb25seSBsYW5ndWFnZXMgPSB0aGlzLl9zZXNzaW9uLmxhbmd1YWdlcztcclxuICByZWFkb25seSB0aGVtZXMgPSB0aGlzLl9zZXNzaW9uLlRoZW1lcztcclxuICByZWFkb25seSBndWlkZXM6IEd1aWRlW107XHJcbiAgcmVhZG9ubHkgY3VycmVudExhbmd1YWdlOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgcHJvZmlsZTogUHJvZmlsZTtcclxuICByZWFkb25seSBtb2RlcyA9IE1vZGVzO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIC8qKiBvcHRpb25zIGN0b3IgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wczogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgX2d1aWRlOiBHdWlkZVNlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9wb3B1cFJlZjogUG9wdXBSZWY8UXVpY2tPcHRpb25zQ29tcG9uZW50PixcclxuICAgIHByaXZhdGUgX2h1YjogSHViU2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBASW5qZWN0KEJJWkRPQ19DT05GSUcpIGNvbmZpZzogQml6RG9jQ29uZmlnKSB7XHJcbiAgICB0aGlzLmd1aWRlcyA9IHRoaXMuX2d1aWRlLmd1aWRlcy5maWx0ZXIoZyA9PiBnLm1vZGUgIT09ICdQcml2YXRlJyk7XHJcbiAgICB0aGlzLmxhbmd1YWdlcyA9IHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2VzO1xyXG4gICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UgPSB0aGlzLl9zZXNzaW9uLmxhbmd1YWdlO1xyXG4gICAgdGhpcy5hdmFpbGFibGUgPSB0aGlzLl9zZXNzaW9uLnN0YXRlO1xyXG4gICAgdGhpcy50aGVtZSA9IHRoaXMuX3Nlc3Npb24udGhlbWUubmFtZTtcclxuICAgIHRoaXMucHJvZmlsZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9odWIuc3RhdGUkLnBpcGUoc3RhcnRXaXRoKHRoaXMuX2h1Yi5zdGF0ZSksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKHMgPT5cclxuICAgICAgdGhpcy5vbmxpbmUgPSBzID09PSBIdWJDb25uZWN0aW9uU3RhdGUuQ29ubmVjdGVkXHJcbiAgICApO1xyXG4gICAgaWYgKCF0aGlzLl9zZXNzaW9uLmlzSW1wZXJzb25hdGluZykge1xyXG4gICAgICB0aGlzLmd1aWRlc0NvdW50ID0gdGhpcy5ndWlkZXMuZmlsdGVyKHcgPT4gdy5tb2RlID09PSAnRWFnZXInKS5sZW5ndGggfHwgbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgcmV2aXZlKCkge1xyXG4gICAgdGhpcy5faHViLnN0YXJ0KCk7XHJcbiAgfVxyXG4gIGFib3V0KCkge1xyXG4gICAgdGhpcy5fY2xvc2UoKTtcclxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKEFib3V0RGlhbG9nKTtcclxuICB9XHJcbiAgZ3VpZGUoZ3VpZGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fY2xvc2UoKTtcclxuICAgIHRoaXMuX2d1aWRlLnN0YXJ0KGd1aWRlKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY2xvc2UoKSB7XHJcbiAgICB0aGlzLl9wb3B1cFJlZj8uY2xvc2UoKTtcclxuICB9XHJcbiAgc2V0QXZhaWxhYmxlKHZhbDogQXZhaWxhYmlsaXR5U3RhdGUpIHtcclxuICAgIHRoaXMuX2Nsb3NlKCk7XHJcbiAgICB0aGlzLl9zZXNzaW9uLnN0YXRlID0gdmFsO1xyXG4gIH1cclxuICBjaGFuZ2VUaGVtZShuYW1lOiBUaGVtZSkge1xyXG4gICAgdGhpcy5fc2Vzc2lvbi50aGVtZSA9IG5hbWU7XHJcbiAgfVxyXG4gIGNoYW5nZUxhbmd1YWdlKGNvZGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc2Vzc2lvbi5sYW5ndWFnZSA9IGNvZGU7XHJcbiAgICB0aGlzLl9wcy5tYXNrKCdSZWZyZXNoaW5nJyk7XHJcbiAgICBsb2NhdGlvbi5yZWxvYWQoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbHVtblwiPlxuICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1uYW1lXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJtYXQtaGVhZGxpbmUtNlwiPlxuICAgICAgQGlmIChwcm9maWxlLmJ5TmFtZSkge1xuICAgICAge3twcm9maWxlLmJ5TmFtZX19IFxcXG4gICAgICB9XG4gICAgICB7e3Byb2ZpbGUubmFtZX19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbiAgPG1hdC1kaXZpZGVyIC8+XG4gIDxiaXpkb2Mtb3B0aW9ucyBzZWN0aW9uPVwibm90aWZpY2F0aW9uc1wiPjwvYml6ZG9jLW9wdGlvbnM+XG4gIDxtYXQtZGl2aWRlciAvPlxuICA8IS0ta2V5cy0tPlxuICA8ZGl2ICpuZ1RlbXBsYXRlT3V0bGV0PVwia2V5c1RtcGxcIj48L2Rpdj5cbiAgPCEtLXRoZW1lcy0tPlxuICBAaWYgKHRoZW1lcy5sZW5ndGggPiAxKSB7XG4gIDxkaXYgY2xhc3M9XCJyb3cgY2VudGVyXCI+XG4gICAgQGZvciAodCBvZiB0aGVtZXM7IHRyYWNrIHQpIHtcbiAgICA8YnV0dG9uIChjbGljayk9XCJjaGFuZ2VUaGVtZSh0KVwiIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cInRoZW1lXCIgW3N0eWxlLmJhY2tncm91bmRdPVwidC5jb2xvclwiIFtjbGFzcy5hY3RpdmVdPVwidC5uYW1lID09PSB0aGVtZVwiIFtjbGFzcy5kYXJrXT1cInQuZGFya1wiIGJpemRvY1Rvb2x0aXA9XCJUaGVtZVwiPjwvYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG4gIH1cbjwvZGl2PlxuPCEtLWd1aWRlLS0+XG48bWF0LW5hdi1saXN0IHJvbGU9XCJsaXN0XCI+XG4gIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICA8aDMgbWF0LXN1YmhlYWRlciBbbWF0QmFkZ2VdPVwiZ3VpZGVzQ291bnRcIiBtYXRCYWRnZUNvbG9yPVwiYWNjZW50XCIgbWF0QmFkZ2VPdmVybGFwPVwiZmFsc2VcIiBtYXRCYWRnZVNpemU9XCJzbWFsbFwiPnt7J0hlbHAnfHRyYW5zbGF0ZX19PC9oMz5cbiAgQGZvciAoZyBvZiBndWlkZXM7IHRyYWNrIGcpIHtcbiAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJndWlkZShnLm5hbWUpXCI+e3tnLnRpdGxlfX08L2J1dHRvbj5cbiAgfVxuPC9tYXQtbmF2LWxpc3Q+XG48bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbjwhLS1mb290ZXItLT5cbjxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIHJvbGU9XCJsaXN0aXRlbVwiIFttYXRNZW51VHJpZ2dlckZvcl09XCJsYW5ndWFnZVwiPlxuICAgIHt7Y3VycmVudExhbmd1YWdlIHwgdHJhbnNsYXRlfX1cbiAgICA8bWF0LWljb24+YXJyb3dfZHJvcF9kb3duPC9tYXQtaWNvbj5cbiAgICA8IS0tJ0NoYW5nZUxhbmd1YWdlJy0tPlxuICA8L2J1dHRvbj5cbiAgPG1hdC1tZW51ICNsYW5ndWFnZT5cbiAgICBAZm9yIChsIG9mIGxhbmd1YWdlczsgdHJhY2sgbCkge1xuICAgIDxidXR0b24gbWF0LW1lbnUtaXRlbSAoY2xpY2spPVwiY2hhbmdlTGFuZ3VhZ2UobClcIj57e2wgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgIH1cbiAgPC9tYXQtbWVudT5cbiAgQGlmIChvbmxpbmUpIHtcbiAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXRNZW51VHJpZ2dlckZvcl09XCJhdmFpbGFiaWxpdHlcIj5cbiAgICB7eydTaG93QXMnIHwgdHJhbnNsYXRlIDogKGF2YWlsYWJsZSB8IHRyYW5zbGF0ZSB8IGxvd2VyY2FzZSl9fVxuICAgIDxtYXQtaWNvbj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgfVxuICA8bWF0LW1lbnUgI2F2YWlsYWJpbGl0eT5cbiAgICBAZm9yIChtIG9mIG1vZGVzOyB0cmFjayBtKSB7XG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJzZXRBdmFpbGFibGUobSlcIj57e20gfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICAgIH1cbiAgPC9tYXQtbWVudT5cbiAgPHNwYW4gY2xhc3M9XCJkaXZpZGVyXCI+PC9zcGFuPlxuICA8YnV0dG9uIG1hdC1idXR0b24gcm9sZT1cImxpc3RpdGVtXCIgKGNsaWNrKT1cImFib3V0KClcIj57eyAnQWJvdXQnIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgQGlmICghb25saW5lKSB7XG4gIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJyZXZpdmUoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidDb25uZWN0J3x0cmFuc2xhdGVcIj5cbiAgICA8bWF0LWljb24+d2lmaV9vZmY8L21hdC1pY29uPlxuICA8L2J1dHRvbj5cbiAgfVxuPC9kaXY+XG48IS0tLS0+XG48bmctdGVtcGxhdGUgI2tleXNUbXBsPlxuICA8ZGwgY2xhc3M9XCJrZXlzIG1hdC1ib2R5LTJcIj5cbiAgICA8ZHQ+QWx0K248L2R0PlxuICAgIDxkZD57eydBbHROSGVscCd8dHJhbnNsYXRlfX08L2RkPlxuICAgIDxkdD5DdHJsK3M8L2R0PlxuICAgIDxkZD57eydDdHJsU0hlbHAnfHRyYW5zbGF0ZX19PC9kZD5cbiAgICA8ZHQ+QWx0K3M8L2R0PlxuICAgIDxkZD57eydBbHRTSGVscCd8dHJhbnNsYXRlfX08L2RkPlxuICAgIDxkdD5BbHQrcTwvZHQ+XG4gICAgPGRkPnt7J0FsdFFIZWxwJ3x0cmFuc2xhdGV9fTwvZGQ+XG4gICAgPGR0PkFsdCthPC9kdD5cbiAgICA8ZGQ+e3snQWx0QUhlbHAnfHRyYW5zbGF0ZX19PC9kZD5cbiAgICA8ZHQ+QWx0K2g8L2R0PlxuICAgIDxkZD57eydBbHRISGVscCd8dHJhbnNsYXRlfX08L2RkPlxuICAgIDxkdD5DdHJsKy48L2R0PlxuICAgIDxkZD57eydDdHJsRG90SGVscCd8dHJhbnNsYXRlfX08L2RkPlxuICA8L2RsPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2hvbWUvb3B0aW9ucy9vcHRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvaG9tZS9vcHRpb25zL29wdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFNeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBELE9BQU8sRUFBRSxhQUFhLEVBQXVCLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHOUUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsYUFBYSxDQUF3QixDQUFDO0FBT3JHLHVCQUF1QjtBQUN2QixNQUFNLE9BQU8scUJBQXFCO0lBYWhDLG1CQUFtQjtJQUNuQixZQUFvQixHQUFrQixFQUM1QixHQUFnQixFQUNoQixNQUFvQixFQUNSLFNBQTBDLEVBQ3RELElBQWdCLEVBQ2hCLFFBQXdCLEVBQ3hCLE9BQWtCLEVBQ0gsTUFBb0I7UUFQekIsUUFBRyxHQUFILEdBQUcsQ0FBZTtRQUM1QixRQUFHLEdBQUgsR0FBRyxDQUFhO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDUixjQUFTLEdBQVQsU0FBUyxDQUFpQztRQUN0RCxTQUFJ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QUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBbEVVLHFCQUFxQiwrTkFxQnRCLGFBQWE7a0dBckJaLHFCQUFxQiw0REN2QmxDLDRuRkFrRkE7OzJGRDNEYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0Usc0JBQXNCOzswQkFzQjdCLFFBQVE7OzBCQUlSLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHViQ29ubmVjdGlvblN0YXRlIH0gZnJvbSAnQG1pY3Jvc29mdC9zaWduYWxyJztcclxuaW1wb3J0IHsgQXZhaWxhYmlsaXR5U3RhdGUsIEd1aWRlLCBQcm9maWxlIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHdWlkZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2d1aWRlL2d1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9odWIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFib3V0RGlhbG9nIH0gZnJvbSAnLi4vYWJvdXQvYWJvdXQuZGlhbG9nJztcclxuaW1wb3J0IHsgUG9wdXBSZWYgfSBmcm9tIFwiLi4vLi4vY29yZS9wb3B1cC9wb3B1cC1yZWZcIjtcclxuaW1wb3J0IHsgQklaRE9DX0NPTkZJRywgQml6RG9jQ29uZmlnLCBUaGVtZSB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuY29uc3QgTW9kZXMgPSBbJ09mZmxpbmUnLCAnT25saW5lJywgJ091dE9mT2ZmaWNlJywgJ1ZhY2F0aW9uJywgJ1dvcmtpbmdIb21lJ10gYXMgQXZhaWxhYmlsaXR5U3RhdGVbXTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXF1aWNrLW9wdGlvbnMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vcHRpb25zLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9vcHRpb25zLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbi8qKiBvcHRpb25zIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBRdWlja09wdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgb25saW5lOiBib29sZWFuO1xyXG4gIHRoZW1lOiBzdHJpbmc7XHJcbiAgYXZhaWxhYmxlOiBBdmFpbGFiaWxpdHlTdGF0ZTtcclxuICBndWlkZXNDb3VudDogbnVtYmVyO1xyXG4gIHNhdmVpbmcgPSBmYWxzZTtcclxuICByZWFkb25seSBsYW5ndWFnZXMgPSB0aGlzLl9zZXNzaW9uLmxhbmd1YWdlcztcclxuICByZWFkb25seSB0aGVtZXMgPSB0aGlzLl9zZXNzaW9uLlRoZW1lcztcclxuICByZWFkb25seSBndWlkZXM6IEd1aWRlW107XHJcbiAgcmVhZG9ubHkgY3VycmVudExhbmd1YWdlOiBzdHJpbmc7XHJcbiAgcmVhZG9ubHkgcHJvZmlsZTogUHJvZmlsZTtcclxuICByZWFkb25seSBtb2RlcyA9IE1vZGVzO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIC8qKiBvcHRpb25zIGN0b3IgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wczogUHJvbXB0U2VydmljZSxcclxuICAgIHByaXZhdGUgX2ZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByaXZhdGUgX2d1aWRlOiBHdWlkZVNlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9wb3B1cFJlZjogUG9wdXBSZWY8UXVpY2tPcHRpb25zQ29tcG9uZW50PixcclxuICAgIHByaXZhdGUgX2h1YjogSHViU2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBASW5qZWN0KEJJWkRPQ19DT05GSUcpIGNvbmZpZzogQml6RG9jQ29uZmlnKSB7XHJcbiAgICB0aGlzLmd1aWRlcyA9IHRoaXMuX2d1aWRlLmd1aWRlcy5maWx0ZXIoZyA9PiBnLm1vZGUgIT09ICdQcml2YXRlJyk7XHJcbiAgICB0aGlzLmxhbmd1YWdlcyA9IHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2VzO1xyXG4gICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UgPSB0aGlzLl9zZXNzaW9uLmxhbmd1YWdlO1xyXG4gICAgdGhpcy5hdmFpbGFibGUgPSB0aGlzLl9zZXNzaW9uLnN0YXRlO1xyXG4gICAgdGhpcy50aGVtZSA9IHRoaXMuX3Nlc3Npb24udGhlbWUubmFtZTtcclxuICAgIHRoaXMucHJvZmlsZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9odWIuc3RhdGUkLnBpcGUoc3RhcnRXaXRoKHRoaXMuX2h1Yi5zdGF0ZSksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKHMgPT5cclxuICAgICAgdGhpcy5vbmxpbmUgPSBzID09PSBIdWJDb25uZWN0aW9uU3RhdGUuQ29ubmVjdGVkXHJcbiAgICApO1xyXG4gICAgaWYgKCF0aGlzLl9zZXNzaW9uLmlzSW1wZXJzb25hdGluZykge1xyXG4gICAgICB0aGlzLmd1aWRlc0NvdW50ID0gdGhpcy5ndWlkZXMuZmlsdGVyKHcgPT4gdy5tb2RlID09PSAnRWFnZXInKS5sZW5ndGggfHwgbnVsbDtcclxuICAgIH1cclxuICB9XHJcbiAgcmV2aXZlKCkge1xyXG4gICAgdGhpcy5faHViLnN0YXJ0KCk7XHJcbiAgfVxyXG4gIGFib3V0KCkge1xyXG4gICAgdGhpcy5fY2xvc2UoKTtcclxuICAgIHRoaXMuX2RpYWxvZy5vcGVuKEFib3V0RGlhbG9nKTtcclxuICB9XHJcbiAgZ3VpZGUoZ3VpZGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fY2xvc2UoKTtcclxuICAgIHRoaXMuX2d1aWRlLnN0YXJ0KGd1aWRlKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY2xvc2UoKSB7XHJcbiAgICB0aGlzLl9wb3B1cFJlZj8uY2xvc2UoKTtcclxuICB9XHJcbiAgc2V0QXZhaWxhYmxlKHZhbDogQXZhaWxhYmlsaXR5U3RhdGUpIHtcclxuICAgIHRoaXMuX2Nsb3NlKCk7XHJcbiAgICB0aGlzLl9zZXNzaW9uLnN0YXRlID0gdmFsO1xyXG4gIH1cclxuICBjaGFuZ2VUaGVtZShuYW1lOiBUaGVtZSkge1xyXG4gICAgdGhpcy5fc2Vzc2lvbi50aGVtZSA9IG5hbWU7XHJcbiAgfVxyXG4gIGNoYW5nZUxhbmd1YWdlKGNvZGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc2Vzc2lvbi5sYW5ndWFnZSA9IGNvZGU7XHJcbiAgICB0aGlzLl9wcy5tYXNrKCdSZWZyZXNoaW5nJyk7XHJcbiAgICBsb2NhdGlvbi5yZWxvYWQoKTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbHVtblwiPlxuICA8ZGl2IGNsYXNzPVwicHJvZmlsZS1uYW1lXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJtYXQtaGVhZGxpbmUtNlwiPlxuICAgICAgQGlmIChwcm9maWxlLmJ5TmFtZSkge1xuICAgICAge3twcm9maWxlLmJ5TmFtZX19IFxcXG4gICAgICB9XG4gICAgICB7e3Byb2ZpbGUubmFtZX19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbiAgPG1hdC1kaXZpZGVyIC8+XG4gIDxiaXpkb2Mtb3B0aW9ucyBzZWN0aW9uPVwibm90aWZpY2F0aW9uc1wiPjwvYml6ZG9jLW9wdGlvbnM+XG4gIDxtYXQtZGl2aWRlciAvPlxuICA8IS0ta2V5cy0tPlxuICA8ZGl2ICpuZ1RlbXBsYXRlT3V0bGV0PVwia2V5c1RtcGxcIj48L2Rpdj5cbiAgPCEtLXRoZW1lcy0tPlxuICBAaWYgKHRoZW1lcy5sZW5ndGggPiAxKSB7XG4gIDxkaXYgY2xhc3M9XCJyb3cgY2VudGVyXCI+XG4gICAgQGZvciAodCBvZiB0aGVtZXM7IHRyYWNrIHQpIHtcbiAgICA8YnV0dG9uIChjbGljayk9XCJjaGFuZ2VUaGVtZSh0KVwiIG1hdC1pY29uLWJ1dHRvbiBjbGFzcz1cInRoZW1lXCIgW3N0eWxlLmJhY2tncm91bmRdPVwidC5jb2xvclwiIFtjbGFzcy5hY3RpdmVdPVwidC5uYW1lID09PSB0aGVtZVwiIFtjbGFzcy5kYXJrXT1cInQuZGFya1wiIFtiaXpkb2NUb29sdGlwXT1cIidUaGVtZSd8dHJhbnNsYXRlXCI+PC9idXR0b24+XG4gICAgfVxuICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG48IS0tZ3VpZGUtLT5cbjxtYXQtbmF2LWxpc3Qgcm9sZT1cImxpc3RcIj5cbiAgPG1hdC1kaXZpZGVyPjwvbWF0LWRpdmlkZXI+XG4gIDxoMyBtYXQtc3ViaGVhZGVyIFttYXRCYWRnZV09XCJndWlkZXNDb3VudFwiIG1hdEJhZGdlQ29sb3I9XCJhY2NlbnRcIiBtYXRCYWRnZU92ZXJsYXA9XCJmYWxzZVwiIG1hdEJhZGdlU2l6ZT1cInNtYWxsXCI+e3snSGVscCd8dHJhbnNsYXRlfX08L2gzPlxuICBAZm9yIChnIG9mIGd1aWRlczsgdHJhY2sgZykge1xuICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cImd1aWRlKGcubmFtZSlcIj57e2cudGl0bGV9fTwvYnV0dG9uPlxuICB9XG48L21hdC1uYXYtbGlzdD5cbjxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuPCEtLWZvb3Rlci0tPlxuPGRpdiBjbGFzcz1cInJvd1wiPlxuICA8YnV0dG9uIG1hdC1idXR0b24gcm9sZT1cImxpc3RpdGVtXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cImxhbmd1YWdlXCI+XG4gICAge3tjdXJyZW50TGFuZ3VhZ2UgfCB0cmFuc2xhdGV9fVxuICAgIDxtYXQtaWNvbj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPlxuICAgIDwhLS0nQ2hhbmdlTGFuZ3VhZ2UnLS0+XG4gIDwvYnV0dG9uPlxuICA8bWF0LW1lbnUgI2xhbmd1YWdlPlxuICAgIEBmb3IgKGwgb2YgbGFuZ3VhZ2VzOyB0cmFjayBsKSB7XG4gICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIChjbGljayk9XCJjaGFuZ2VMYW5ndWFnZShsKVwiPnt7bCB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgfVxuICA8L21hdC1tZW51PlxuICBAaWYgKG9ubGluZSkge1xuICA8YnV0dG9uIG1hdC1idXR0b24gW21hdE1lbnVUcmlnZ2VyRm9yXT1cImF2YWlsYWJpbGl0eVwiPlxuICAgIHt7J1Nob3dBcycgfCB0cmFuc2xhdGUgOiAoYXZhaWxhYmxlIHwgdHJhbnNsYXRlIHwgbG93ZXJjYXNlKX19XG4gICAgPG1hdC1pY29uPmFycm93X2Ryb3BfZG93bjwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICB9XG4gIDxtYXQtbWVudSAjYXZhaWxhYmlsaXR5PlxuICAgIEBmb3IgKG0gb2YgbW9kZXM7IHRyYWNrIG0pIHtcbiAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKGNsaWNrKT1cInNldEF2YWlsYWJsZShtKVwiPnt7bSB8IHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgfVxuICA8L21hdC1tZW51PlxuICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XG4gIDxidXR0b24gbWF0LWJ1dHRvbiByb2xlPVwibGlzdGl0ZW1cIiAoY2xpY2spPVwiYWJvdXQoKVwiPnt7ICdBYm91dCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxuICBAaWYgKCFvbmxpbmUpIHtcbiAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJldml2ZSgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0Nvbm5lY3QnfHRyYW5zbGF0ZVwiPlxuICAgIDxtYXQtaWNvbj53aWZpX29mZjwvbWF0LWljb24+XG4gIDwvYnV0dG9uPlxuICB9XG48L2Rpdj5cbjwhLS0tLT5cbjxuZy10ZW1wbGF0ZSAja2V5c1RtcGw+XG4gIDxkbCBjbGFzcz1cImtleXMgbWF0LWJvZHktMlwiPlxuICAgIDxkdD5BbHQrbjwvZHQ+XG4gICAgPGRkPnt7J0FsdE5IZWxwJ3x0cmFuc2xhdGV9fTwvZGQ+XG4gICAgPGR0PkN0cmwrczwvZHQ+XG4gICAgPGRkPnt7J0N0cmxTSGVscCd8dHJhbnNsYXRlfX08L2RkPlxuICAgIDxkdD5BbHQrczwvZHQ+XG4gICAgPGRkPnt7J0FsdFNIZWxwJ3x0cmFuc2xhdGV9fTwvZGQ+XG4gICAgPGR0PkFsdCtxPC9kdD5cbiAgICA8ZGQ+e3snQWx0UUhlbHAnfHRyYW5zbGF0ZX19PC9kZD5cbiAgICA8ZHQ+QWx0K2E8L2R0PlxuICAgIDxkZD57eydBbHRBSGVscCd8dHJhbnNsYXRlfX08L2RkPlxuICAgIDxkdD5BbHQraDwvZHQ+XG4gICAgPGRkPnt7J0FsdEhIZWxwJ3x0cmFuc2xhdGV9fTwvZGQ+XG4gICAgPGR0PkN0cmwrLjwvZHQ+XG4gICAgPGRkPnt7J0N0cmxEb3RIZWxwJ3x0cmFuc2xhdGV9fTwvZGQ+XG4gIDwvZGw+XG48L25nLXRlbXBsYXRlPlxuIl19
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { NgModule } from "@angular/core";
|
2
|
-
import { RangeNavigatorModule, RangeTooltipService, ChartModule, LineSeriesService, ScatterSeriesService, ColumnSeriesService, SplineSeriesService, SplineAreaSeriesService, StripLineService, AreaSeriesService, ScrollBarService, StepLineSeriesService, StepAreaSeriesService, StackingColumnSeriesService, StackingLineSeriesService, StackingAreaSeriesService, BarSeriesService, StackingBarSeriesService, RangeColumnSeriesService, BubbleSeriesService, TooltipService, CrosshairService, CategoryService, DateTimeService, LogarithmicService, LegendService, ZoomService, DataLabelService, SelectionService, ChartAnnotationService, WaterfallSeriesService, SplineRangeAreaSeriesService, RangeAreaSeriesService, PolarSeriesService, RadarSeriesService, DateTimeCategoryService, MultiLevelLabelService, ParetoSeriesService, TooltipRenderService, AccumulationDistributionIndicatorService, FunnelSeriesService, PyramidSeriesService, SparklineModule, PieSeriesService, StackingStepAreaSeriesService, SparklineTooltipService, AccumulationSelection, SparklineTooltip, AccumulationChartModule, AccumulationAnnotationService, AccumulationDataLabelService, AccumulationLegendService, AccumulationSelectionService, AccumulationTooltipService, Selection, AccumulationChart, AccumulationDataLabel, AccumulationLegend, AccumulationTooltip, FunnelSeries, PieSeries, PyramidSeries, AreaSeries, BarSeries, BubbleSeries, Category, Chart, ColumnSeries, DateTime, Legend, LineSeries, PolarSeries, RadarSeries, ScatterSeries, SplineAreaSeries, SplineSeries, StackingAreaSeries, StackingBarSeries, StackingColumnSeries, StackingLineSeries, StackingStepAreaSeries, StepAreaSeries, StepLineSeries, Tooltip, AccumulationAnnotation, Sparkline, RangeNavigator, RangeTooltip, Zoom, Crosshair, DataLabel } from '@syncfusion/ej2-angular-charts';
|
2
|
+
import { RangeNavigatorModule, RangeTooltipService, ChartModule, LineSeriesService, ScatterSeriesService, ColumnSeriesService, SplineSeriesService, SplineAreaSeriesService, StripLineService, AreaSeriesService, ScrollBarService, StepLineSeriesService, StepAreaSeriesService, StackingColumnSeriesService, StackingLineSeriesService, StackingAreaSeriesService, BarSeriesService, StackingBarSeriesService, RangeColumnSeriesService, BubbleSeriesService, TooltipService, CrosshairService, CategoryService, DateTimeService, LogarithmicService, LegendService, ZoomService, DataLabelService, SelectionService, ChartAnnotationService, WaterfallSeriesService, SplineRangeAreaSeriesService, RangeAreaSeriesService, PolarSeriesService, RadarSeriesService, DateTimeCategoryService, MultiLevelLabelService, ParetoSeriesService, TooltipRenderService, AccumulationDistributionIndicatorService, FunnelSeriesService, PyramidSeriesService, SparklineModule, PieSeriesService, StackingStepAreaSeriesService, SparklineTooltipService, AccumulationSelection, SparklineTooltip, AccumulationChartModule, AccumulationAnnotationService, AccumulationDataLabelService, AccumulationLegendService, AccumulationSelectionService, AccumulationTooltipService, Selection, AccumulationChart, AccumulationDataLabel, AccumulationLegend, AccumulationTooltip, FunnelSeries, PieSeries, PyramidSeries, AreaSeries, BarSeries, BubbleSeries, Category, Chart, ColumnSeries, DateTime, Legend, LineSeries, PolarSeries, RadarSeries, ScatterSeries, SplineAreaSeries, SplineSeries, StackingAreaSeries, StackingBarSeries, StackingColumnSeries, StackingLineSeries, StackingStepAreaSeries, StepAreaSeries, StepLineSeries, Tooltip, AccumulationAnnotation, Sparkline, RangeNavigator, RangeTooltip, Zoom, Crosshair, DataLabel, ChartAnnotation } from '@syncfusion/ej2-angular-charts';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
export class SyncfusionChartModule {
|
5
5
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SyncfusionChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
@@ -35,5 +35,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
|
|
35
35
|
RangeNavigator.Inject(AreaSeries, LineSeries, DateTime, RangeTooltip);
|
36
36
|
Sparkline.Inject(SparklineTooltip);
|
37
37
|
AccumulationChart.Inject(PieSeries, PyramidSeries, FunnelSeries, AccumulationDataLabel, AccumulationTooltip, AccumulationAnnotation, AccumulationLegend, AccumulationSelection);
|
38
|
-
Chart.Inject(Category, DateTime, Tooltip, Legend, Selection, Zoom, Crosshair, DataLabel, BarSeries, AreaSeries, BubbleSeries, ColumnSeries, LineSeries, PolarSeries, RadarSeries, SplineSeries, SplineAreaSeries, ScatterSeries, StackingStepAreaSeries, StackingLineSeries, StackingAreaSeries, StackingColumnSeries, StackingBarSeries, StepAreaSeries, StepLineSeries);
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2NoYXJ0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxvQkFBb0IsRUFBRSxtQkFBbUIsRUFDekMsV0FBVyxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUM5Rix1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFDckcscUJBQXFCLEVBQUUsMkJBQTJCLEVBQUUseUJBQXlCLEVBQUUseUJBQXlCLEVBQ3hHLGdCQUFnQixFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFDekcsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUNwSCxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSw0QkFBNEIsRUFDOUYsc0JBQXNCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQ3ZGLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLHdDQUF3QyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUN0SixlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsNkJBQTZCLEVBQUUsdUJBQXVCLEVBQ3pGLHFCQUFxQixFQUFFLGdCQUFnQixFQUN2Qyx1QkFBdUIsRUFBRSw2QkFBNkIsRUFBRSw0QkFBNEIsRUFBRSx5QkFBeUIsRUFDL0csNEJBQTRCLEVBQUUsMEJBQTBCLEVBQUUsU0FBUyxFQUNuRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQy9GLFNBQVMsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUN0RyxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFDL0csaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFDbkgsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUNyRyxNQUFNLGdDQUFnQyxDQUFDOztBQWdCeEMsTUFBTSxPQUNFLHFCQUFxQjs4R0FBckIscUJBQXFCOytHQUFyQixxQkFBcUIsWUFkakIsV0FBVyxFQUFFLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsYUFDM0UsV0FBVyxFQUFFLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxvQkFBb0I7K0dBYS9FLHFCQUFxQixhQVpoQixDQUFDLG1CQUFtQixFQUFFLHdDQUF3QyxFQUFFLG1CQUFtQixFQUFFLDZCQUE2QixFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLG1CQUFtQjtZQUN0UCx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUI7WUFDckcscUJBQXFCLEVBQUUsMkJBQTJCLEVBQUUseUJBQXlCLEVBQUUseUJBQXlCO1lBQ3hHLGdCQUFnQixFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLG1CQUFtQixFQUFFLGNBQWM7WUFDekcsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGdCQUFnQjtZQUNwSCxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0I7WUFDaEUsc0JBQXNCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCO1lBQ3ZGLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLG9CQUFvQjtZQUNqRSx1QkFBdUIsRUFBRSw0QkFBNEI7WUFDckQsNkJBQTZCLEVBQUUsNEJBQTRCLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsMEJBQTBCLENBQUMsWUFYekksV0FBVyxFQUFFLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFDM0UsV0FBVyxFQUFFLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxvQkFBb0I7OzJGQWEvRSxxQkFBcUI7a0JBZjVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsV0FBVyxFQUFFLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQztvQkFDdEYsT0FBTyxFQUFFLENBQUMsV0FBVyxFQUFFLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxvQkFBb0IsQ0FBQztvQkFDdEYsU0FBUyxFQUFFLENBQUMsbUJBQW1CLEVBQUUsd0NBQXdDLEVBQUUsbUJBQW1CLEVBQUUsNkJBQTZCLEVBQUUsZ0JBQWdCLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CO3dCQUN0UCx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUI7d0JBQ3JHLHFCQUFxQixFQUFFLDJCQUEyQixFQUFFLHlCQUF5QixFQUFFLHlCQUF5Qjt3QkFDeEcsZ0JBQWdCLEVBQUUsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUsbUJBQW1CLEVBQUUsY0FBYzt3QkFDekcsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGdCQUFnQjt3QkFDcEgsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCO3dCQUNoRSxzQkFBc0IsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUI7d0JBQ3ZGLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLG9CQUFvQjt3QkFDakUsdUJBQXVCLEVBQUUsNEJBQTRCO3dCQUNyRCw2QkFBNkIsRUFBRSw0QkFBNEIsRUFBRSx5QkFBeUIsRUFBRSw0QkFBNEIsRUFBRSwwQkFBMEIsQ0FBQztpQkFDcEo7O0FBS0QsY0FBYyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUV0RSxTQUFTLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFbkMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUM3RCxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFDbEUsa0JBQWtCLEVBQUUscUJBQXFCLENBQUMsQ0FBQztBQUU3QyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQ3JGLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQ3JHLGdCQUFnQixFQUFFLGFBQWEsRUFDL0Isc0JBQXNCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLEVBQ3ZHLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICBSYW5nZU5hdmlnYXRvck1vZHVsZSwgUmFuZ2VUb29sdGlwU2VydmljZSxcclxuICBDaGFydE1vZHVsZSwgTGluZVNlcmllc1NlcnZpY2UsIFNjYXR0ZXJTZXJpZXNTZXJ2aWNlLCBDb2x1bW5TZXJpZXNTZXJ2aWNlLCBTcGxpbmVTZXJpZXNTZXJ2aWNlLFxyXG4gIFNwbGluZUFyZWFTZXJpZXNTZXJ2aWNlLCBTdHJpcExpbmVTZXJ2aWNlLCBBcmVhU2VyaWVzU2VydmljZSwgU2Nyb2xsQmFyU2VydmljZSwgU3RlcExpbmVTZXJpZXNTZXJ2aWNlLFxyXG4gIFN0ZXBBcmVhU2VyaWVzU2VydmljZSwgU3RhY2tpbmdDb2x1bW5TZXJpZXNTZXJ2aWNlLCBTdGFja2luZ0xpbmVTZXJpZXNTZXJ2aWNlLCBTdGFja2luZ0FyZWFTZXJpZXNTZXJ2aWNlLFxyXG4gIEJhclNlcmllc1NlcnZpY2UsIFN0YWNraW5nQmFyU2VyaWVzU2VydmljZSwgUmFuZ2VDb2x1bW5TZXJpZXNTZXJ2aWNlLCBCdWJibGVTZXJpZXNTZXJ2aWNlLCBUb29sdGlwU2VydmljZSxcclxuICBDcm9zc2hhaXJTZXJ2aWNlLCBDYXRlZ29yeVNlcnZpY2UsIERhdGVUaW1lU2VydmljZSwgTG9nYXJpdGhtaWNTZXJ2aWNlLCBMZWdlbmRTZXJ2aWNlLCBab29tU2VydmljZSwgRGF0YUxhYmVsU2VydmljZSxcclxuICBTZWxlY3Rpb25TZXJ2aWNlLCBDaGFydEFubm90YXRpb25TZXJ2aWNlLCBXYXRlcmZhbGxTZXJpZXNTZXJ2aWNlLCBTcGxpbmVSYW5nZUFyZWFTZXJpZXNTZXJ2aWNlLFxyXG4gIFJhbmdlQXJlYVNlcmllc1NlcnZpY2UsIFBvbGFyU2VyaWVzU2VydmljZSwgUmFkYXJTZXJpZXNTZXJ2aWNlLCBEYXRlVGltZUNhdGVnb3J5U2VydmljZSxcclxuICBNdWx0aUxldmVsTGFiZWxTZXJ2aWNlLCBQYXJldG9TZXJpZXNTZXJ2aWNlLCBUb29sdGlwUmVuZGVyU2VydmljZSwgQWNjdW11bGF0aW9uRGlzdHJpYnV0aW9uSW5kaWNhdG9yU2VydmljZSwgRnVubmVsU2VyaWVzU2VydmljZSwgUHlyYW1pZFNlcmllc1NlcnZpY2UsXHJcbiAgU3BhcmtsaW5lTW9kdWxlLCBQaWVTZXJpZXNTZXJ2aWNlLCBTdGFja2luZ1N0ZXBBcmVhU2VyaWVzU2VydmljZSwgU3BhcmtsaW5lVG9vbHRpcFNlcnZpY2UsXHJcbiAgQWNjdW11bGF0aW9uU2VsZWN0aW9uLCBTcGFya2xpbmVUb29sdGlwLFxyXG4gIEFjY3VtdWxhdGlvbkNoYXJ0TW9kdWxlLCBBY2N1bXVsYXRpb25Bbm5vdGF0aW9uU2VydmljZSwgQWNjdW11bGF0aW9uRGF0YUxhYmVsU2VydmljZSwgQWNjdW11bGF0aW9uTGVnZW5kU2VydmljZSxcclxuICBBY2N1bXVsYXRpb25TZWxlY3Rpb25TZXJ2aWNlLCBBY2N1bXVsYXRpb25Ub29sdGlwU2VydmljZSwgU2VsZWN0aW9uLFxyXG4gIEFjY3VtdWxhdGlvbkNoYXJ0LCBBY2N1bXVsYXRpb25EYXRhTGFiZWwsIEFjY3VtdWxhdGlvbkxlZ2VuZCwgQWNjdW11bGF0aW9uVG9vbHRpcCwgRnVubmVsU2VyaWVzLFxyXG4gIFBpZVNlcmllcywgUHlyYW1pZFNlcmllcywgQXJlYVNlcmllcywgQmFyU2VyaWVzLCBCdWJibGVTZXJpZXMsIENhdGVnb3J5LCBDaGFydCwgQ29sdW1uU2VyaWVzLCBEYXRlVGltZSxcclxuICBMZWdlbmQsIExpbmVTZXJpZXMsIFBvbGFyU2VyaWVzLCBSYWRhclNlcmllcywgU2NhdHRlclNlcmllcywgU3BsaW5lQXJlYVNlcmllcywgU3BsaW5lU2VyaWVzLCBTdGFja2luZ0FyZWFTZXJpZXMsXHJcbiAgU3RhY2tpbmdCYXJTZXJpZXMsIFN0YWNraW5nQ29sdW1uU2VyaWVzLCBTdGFja2luZ0xpbmVTZXJpZXMsIFN0YWNraW5nU3RlcEFyZWFTZXJpZXMsIFN0ZXBBcmVhU2VyaWVzLCBTdGVwTGluZVNlcmllcyxcclxuICBUb29sdGlwLCBBY2N1bXVsYXRpb25Bbm5vdGF0aW9uLCBTcGFya2xpbmUsIFJhbmdlTmF2aWdhdG9yLCBSYW5nZVRvb2x0aXAsIFpvb20sIENyb3NzaGFpciwgRGF0YUxhYmVsXHJcbn0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItY2hhcnRzJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0NoYXJ0TW9kdWxlLCBBY2N1bXVsYXRpb25DaGFydE1vZHVsZSwgU3BhcmtsaW5lTW9kdWxlLCBSYW5nZU5hdmlnYXRvck1vZHVsZV0sXHJcbiAgZXhwb3J0czogW0NoYXJ0TW9kdWxlLCBBY2N1bXVsYXRpb25DaGFydE1vZHVsZSwgU3BhcmtsaW5lTW9kdWxlLCBSYW5nZU5hdmlnYXRvck1vZHVsZV0sXHJcbiAgcHJvdmlkZXJzOiBbUmFuZ2VUb29sdGlwU2VydmljZSwgQWNjdW11bGF0aW9uRGlzdHJpYnV0aW9uSW5kaWNhdG9yU2VydmljZSwgRnVubmVsU2VyaWVzU2VydmljZSwgU3RhY2tpbmdTdGVwQXJlYVNlcmllc1NlcnZpY2UsIFBpZVNlcmllc1NlcnZpY2UsIFB5cmFtaWRTZXJpZXNTZXJ2aWNlLCBMaW5lU2VyaWVzU2VydmljZSwgU2NhdHRlclNlcmllc1NlcnZpY2UsIENvbHVtblNlcmllc1NlcnZpY2UsIFNwbGluZVNlcmllc1NlcnZpY2UsXHJcbiAgICBTcGxpbmVBcmVhU2VyaWVzU2VydmljZSwgU3RyaXBMaW5lU2VydmljZSwgQXJlYVNlcmllc1NlcnZpY2UsIFNjcm9sbEJhclNlcnZpY2UsIFN0ZXBMaW5lU2VyaWVzU2VydmljZSxcclxuICAgIFN0ZXBBcmVhU2VyaWVzU2VydmljZSwgU3RhY2tpbmdDb2x1bW5TZXJpZXNTZXJ2aWNlLCBTdGFja2luZ0xpbmVTZXJpZXNTZXJ2aWNlLCBTdGFja2luZ0FyZWFTZXJpZXNTZXJ2aWNlLFxyXG4gICAgQmFyU2VyaWVzU2VydmljZSwgU3RhY2tpbmdCYXJTZXJpZXNTZXJ2aWNlLCBSYW5nZUNvbHVtblNlcmllc1NlcnZpY2UsIEJ1YmJsZVNlcmllc1NlcnZpY2UsIFRvb2x0aXBTZXJ2aWNlLFxyXG4gICAgQ3Jvc3NoYWlyU2VydmljZSwgQ2F0ZWdvcnlTZXJ2aWNlLCBEYXRlVGltZVNlcnZpY2UsIExvZ2FyaXRobWljU2VydmljZSwgTGVnZW5kU2VydmljZSwgWm9vbVNlcnZpY2UsIERhdGFMYWJlbFNlcnZpY2UsXHJcbiAgICBTZWxlY3Rpb25TZXJ2aWNlLCBDaGFydEFubm90YXRpb25TZXJ2aWNlLCBXYXRlcmZhbGxTZXJpZXNTZXJ2aWNlLFxyXG4gICAgUmFuZ2VBcmVhU2VyaWVzU2VydmljZSwgUG9sYXJTZXJpZXNTZXJ2aWNlLCBSYWRhclNlcmllc1NlcnZpY2UsIERhdGVUaW1lQ2F0ZWdvcnlTZXJ2aWNlLFxyXG4gICAgTXVsdGlMZXZlbExhYmVsU2VydmljZSwgUGFyZXRvU2VyaWVzU2VydmljZSwgVG9vbHRpcFJlbmRlclNlcnZpY2UsXHJcbiAgICBTcGFya2xpbmVUb29sdGlwU2VydmljZSwgU3BsaW5lUmFuZ2VBcmVhU2VyaWVzU2VydmljZSxcclxuICAgIEFjY3VtdWxhdGlvbkFubm90YXRpb25TZXJ2aWNlLCBBY2N1bXVsYXRpb25EYXRhTGFiZWxTZXJ2aWNlLCBBY2N1bXVsYXRpb25MZWdlbmRTZXJ2aWNlLCBBY2N1bXVsYXRpb25TZWxlY3Rpb25TZXJ2aWNlLCBBY2N1bXVsYXRpb25Ub29sdGlwU2VydmljZV1cclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgU3luY2Z1c2lvbkNoYXJ0TW9kdWxlIHtcclxufVxyXG5cclxuUmFuZ2VOYXZpZ2F0b3IuSW5qZWN0KEFyZWFTZXJpZXMsIExpbmVTZXJpZXMsIERhdGVUaW1lLCBSYW5nZVRvb2x0aXApO1xyXG5cclxuU3BhcmtsaW5lLkluamVjdChTcGFya2xpbmVUb29sdGlwKTtcclxuXHJcbkFjY3VtdWxhdGlvbkNoYXJ0LkluamVjdChQaWVTZXJpZXMsIFB5cmFtaWRTZXJpZXMsIEZ1bm5lbFNlcmllcyxcclxuICBBY2N1bXVsYXRpb25EYXRhTGFiZWwsIEFjY3VtdWxhdGlvblRvb2x0aXAsIEFjY3VtdWxhdGlvbkFubm90YXRpb24sXHJcbiAgQWNjdW11bGF0aW9uTGVnZW5kLCBBY2N1bXVsYXRpb25TZWxlY3Rpb24pO1xyXG5cclxuQ2hhcnQuSW5qZWN0KENhdGVnb3J5LCBEYXRlVGltZSwgVG9vbHRpcCwgTGVnZW5kLCBTZWxlY3Rpb24sIFpvb20sIENyb3NzaGFpciwgRGF0YUxhYmVsLFxyXG4gIEJhclNlcmllcywgQXJlYVNlcmllcywgQnViYmxlU2VyaWVzLCBDb2x1bW5TZXJpZXMsIExpbmVTZXJpZXMsIFBvbGFyU2VyaWVzLCBSYWRhclNlcmllcywgU3BsaW5lU2VyaWVzLFxyXG4gIFNwbGluZUFyZWFTZXJpZXMsIFNjYXR0ZXJTZXJpZXMsXHJcbiAgU3RhY2tpbmdTdGVwQXJlYVNlcmllcywgU3RhY2tpbmdMaW5lU2VyaWVzLCBTdGFja2luZ0FyZWFTZXJpZXMsIFN0YWNraW5nQ29sdW1uU2VyaWVzLCBTdGFja2luZ0JhclNlcmllcyxcclxuICBTdGVwQXJlYVNlcmllcywgU3RlcExpbmVTZXJpZXMpO1xyXG4iXX0=
|
38
|
+
Chart.Inject(Category, DateTime, Tooltip, Legend, Selection, Zoom, Crosshair, DataLabel, BarSeries, AreaSeries, BubbleSeries, ColumnSeries, LineSeries, PolarSeries, RadarSeries, SplineSeries, SplineAreaSeries, ScatterSeries, StackingStepAreaSeries, StackingLineSeries, StackingAreaSeries, StackingColumnSeries, StackingBarSeries, StepAreaSeries, StepLineSeries, ChartAnnotation);
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9tb2R1bGVzL2NoYXJ0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxvQkFBb0IsRUFBRSxtQkFBbUIsRUFDekMsV0FBVyxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLG1CQUFtQixFQUFFLG1CQUFtQixFQUM5Rix1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxxQkFBcUIsRUFDckcscUJBQXFCLEVBQUUsMkJBQTJCLEVBQUUseUJBQXlCLEVBQUUseUJBQXlCLEVBQ3hHLGdCQUFnQixFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFDekcsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUNwSCxnQkFBZ0IsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSw0QkFBNEIsRUFDOUYsc0JBQXNCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQ3ZGLHNCQUFzQixFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLHdDQUF3QyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUN0SixlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsNkJBQTZCLEVBQUUsdUJBQXVCLEVBQ3pGLHFCQUFxQixFQUFFLGdCQUFnQixFQUN2Qyx1QkFBdUIsRUFBRSw2QkFBNkIsRUFBRSw0QkFBNEIsRUFBRSx5QkFBeUIsRUFDL0csNEJBQTRCLEVBQUUsMEJBQTBCLEVBQUUsU0FBUyxFQUNuRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFB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Qjt3QkFDaEUsc0JBQXNCLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCO3dCQUN2RixzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0I7d0JBQ2pFLHVCQUF1QixFQUFFLDRCQUE0Qjt3QkFDckQsNkJBQTZCLEVBQUUsNEJBQTRCLEVBQUUseUJBQXlCLEVBQUUsNEJBQTRCLEVBQUUsMEJBQTBCLENBQUM7aUJBQ3BKOztBQUtELGNBQWMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUM7QUFFdEUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRW5DLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFDN0QscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQ2xFLGtCQUFrQixFQUFFLHFCQUFxQixDQUFDLENBQUM7QUFFN0MsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUNyRixTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUNyRyxnQkFBZ0IsRUFBRSxhQUFhLEVBQy9CLHNCQUFzQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixFQUN2RyxjQUFjLEVBQUUsY0FBYyxFQUFFLGVBQWUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1xyXG4gIFJhbmdlTmF2aWdhdG9yTW9kdWxlLCBSYW5nZVRvb2x0aXBTZXJ2aWNlLFxyXG4gIENoYXJ0TW9kdWxlLCBMaW5lU2VyaWVzU2VydmljZSwgU2NhdHRlclNlcmllc1NlcnZpY2UsIENvbHVtblNlcmllc1NlcnZpY2UsIFNwbGluZVNlcmllc1NlcnZpY2UsXHJcbiAgU3BsaW5lQXJlYVNlcmllc1NlcnZpY2UsIFN0cmlwTGluZVNlcnZpY2UsIEFyZWFTZXJpZXNTZXJ2aWNlLCBTY3JvbGxCYXJTZXJ2aWNlLCBTdGVwTGluZVNlcmllc1NlcnZpY2UsXHJcbiAgU3RlcEFyZWFTZXJpZXNTZXJ2aWNlLCBTdGFja2luZ0NvbHVtblNlcmllc1NlcnZpY2UsIFN0YWNraW5nTGluZVNlcmllc1NlcnZpY2UsIFN0YWNraW5nQXJlYVNlcmllc1NlcnZpY2UsXHJcbiAgQmFyU2VyaWVzU2VydmljZSwgU3RhY2tpbmdCYXJTZXJpZXNTZXJ2aWNlLCBSYW5nZUNvbHVtblNlcmllc1NlcnZpY2UsIEJ1YmJsZVNlcmllc1NlcnZpY2UsIFRvb2x0aXBTZXJ2aWNlLFxyXG4gIENyb3NzaGFpclNlcnZpY2UsIENhdGVnb3J5U2VydmljZSwgRGF0ZVRpbWVTZXJ2aWNlLCBMb2dhcml0aG1pY1NlcnZpY2UsIExlZ2VuZFNlcnZpY2UsIFpvb21TZXJ2aWNlLCBEYXRhTGFiZWxTZXJ2aWNlLFxyXG4gIFNlbGVjdGlvblNlcnZpY2UsIENoYXJ0QW5ub3RhdGlvblNlcnZpY2UsIFdhdGVyZmFsbFNlcmllc1NlcnZpY2UsIFNwbGluZVJhbmdlQXJlYVNlcmllc1NlcnZpY2UsXHJcbiAgUmFuZ2VBcmVhU2VyaWVzU2VydmljZSwgUG9sYXJTZXJpZXNTZXJ2aWNlLCBSYWRhclNlcmllc1NlcnZpY2UsIERhdGVUaW1lQ2F0ZWdvcnlTZXJ2aWNlLFxyXG4gIE11bHRpTGV2ZWxMYWJlbFNlcnZpY2UsIFBhcmV0b1Nlcmllc1NlcnZpY2UsIFRvb2x0aXBSZW5kZXJTZXJ2aWNlLCBBY2N1bXVsYXRpb25EaXN0cmlidXRpb25JbmRpY2F0b3JTZXJ2aWNlLCBGdW5uZWxTZXJpZXNTZXJ2aWNlLCBQeXJhbWlkU2VyaWVzU2VydmljZSxcclxuICBTcGFya2xpbmVNb2R1bGUsIFBpZVNlcmllc1NlcnZpY2UsIFN0YWNraW5nU3RlcEFyZWFTZXJpZXNTZXJ2aWNlLCBTcGFya2xpbmVUb29sdGlwU2VydmljZSxcclxuICBBY2N1bXVsYXRpb25TZWxlY3Rpb24sIFNwYXJrbGluZVRvb2x0aXAsXHJcbiAgQWNjdW11bGF0aW9uQ2hhcnRNb2R1bGUsIEFjY3VtdWxhdGlvbkFubm90YXRpb25TZXJ2aWNlLCBBY2N1bXVsYXRpb25EYXRhTGFiZWxTZXJ2aWNlLCBBY2N1bXVsYXRpb25MZWdlbmRTZXJ2aWNlLFxyXG4gIEFjY3VtdWxhdGlvblNlbGVjdGlvblNlcnZpY2UsIEFjY3VtdWxhdGlvblRvb2x0aXBTZXJ2aWNlLCBTZWxlY3Rpb24sXHJcbiAgQWNjdW11bGF0aW9uQ2hhcnQsIEFjY3VtdWxhdGlvbkRhdGFMYWJlbCwgQWNjdW11bGF0aW9uTGVnZW5kLCBBY2N1bXVsYXRpb25Ub29sdGlwLCBGdW5uZWxTZXJpZXMsXHJcbiAgUGllU2VyaWVzLCBQeXJhbWlkU2VyaWVzLCBBcmVhU2VyaWVzLCBCYXJTZXJpZXMsIEJ1YmJsZVNlcmllcywgQ2F0ZWdvcnksIENoYXJ0LCBDb2x1bW5TZXJpZXMsIERhdGVUaW1lLFxyXG4gIExlZ2VuZCwgTGluZVNlcmllcywgUG9sYXJTZXJpZXMsIFJhZGFyU2VyaWVzLCBTY2F0dGVyU2VyaWVzLCBTcGxpbmVBcmVhU2VyaWVzLCBTcGxpbmVTZXJpZXMsIFN0YWNraW5nQXJlYVNlcmllcyxcclxuICBTdGFja2luZ0JhclNlcmllcywgU3RhY2tpbmdDb2x1bW5TZXJpZXMsIFN0YWNraW5nTGluZVNlcmllcywgU3RhY2tpbmdTdGVwQXJlYVNlcmllcywgU3RlcEFyZWFTZXJpZXMsIFN0ZXBMaW5lU2VyaWVzLFxyXG4gIFRvb2x0aXAsIEFjY3VtdWxhdGlvbkFubm90YXRpb24sIFNwYXJrbGluZSwgUmFuZ2VOYXZpZ2F0b3IsIFJhbmdlVG9vbHRpcCwgWm9vbSwgQ3Jvc3NoYWlyLCBEYXRhTGFiZWwsIENoYXJ0QW5ub3RhdGlvblxyXG59IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWNoYXJ0cyc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtDaGFydE1vZHVsZSwgQWNjdW11bGF0aW9uQ2hhcnRNb2R1bGUsIFNwYXJrbGluZU1vZHVsZSwgUmFuZ2VOYXZpZ2F0b3JNb2R1bGVdLFxyXG4gIGV4cG9ydHM6IFtDaGFydE1vZHVsZSwgQWNjdW11bGF0aW9uQ2hhcnRNb2R1bGUsIFNwYXJrbGluZU1vZHVsZSwgUmFuZ2VOYXZpZ2F0b3JNb2R1bGVdLFxyXG4gIHByb3ZpZGVyczogW1JhbmdlVG9vbHRpcFNlcnZpY2UsIEFjY3VtdWxhdGlvbkRpc3RyaWJ1dGlvbkluZGljYXRvclNlcnZpY2UsIEZ1bm5lbFNlcmllc1NlcnZpY2UsIFN0YWNraW5nU3RlcEFyZWFTZXJpZXNTZXJ2aWNlLCBQaWVTZXJpZXNTZXJ2aWNlLCBQeXJhbWlkU2VyaWVzU2VydmljZSwgTGluZVNlcmllc1NlcnZpY2UsIFNjYXR0ZXJTZXJpZXNTZXJ2aWNlLCBDb2x1bW5TZXJpZXNTZXJ2aWNlLCBTcGxpbmVTZXJpZXNTZXJ2aWNlLFxyXG4gICAgU3BsaW5lQXJlYVNlcmllc1NlcnZpY2UsIFN0cmlwTGluZVNlcnZpY2UsIEFyZWFTZXJpZXNTZXJ2aWNlLCBTY3JvbGxCYXJTZXJ2aWNlLCBTdGVwTGluZVNlcmllc1NlcnZpY2UsXHJcbiAgICBTdGVwQXJlYVNlcmllc1NlcnZpY2UsIFN0YWNraW5nQ29sdW1uU2VyaWVzU2VydmljZSwgU3RhY2tpbmdMaW5lU2VyaWVzU2VydmljZSwgU3RhY2tpbmdBcmVhU2VyaWVzU2VydmljZSxcclxuICAgIEJhclNlcmllc1NlcnZpY2UsIFN0YWNraW5nQmFyU2VyaWVzU2VydmljZSwgUmFuZ2VDb2x1bW5TZXJpZXNTZXJ2aWNlLCBCdWJibGVTZXJpZXNTZXJ2aWNlLCBUb29sdGlwU2VydmljZSxcclxuICAgIENyb3NzaGFpclNlcnZpY2UsIENhdGVnb3J5U2VydmljZSwgRGF0ZVRpbWVTZXJ2aWNlLCBMb2dhcml0aG1pY1NlcnZpY2UsIExlZ2VuZFNlcnZpY2UsIFpvb21TZXJ2aWNlLCBEYXRhTGFiZWxTZXJ2aWNlLFxyXG4gICAgU2VsZWN0aW9uU2VydmljZSwgQ2hhcnRBbm5vdGF0aW9uU2VydmljZSwgV2F0ZXJmYWxsU2VyaWVzU2VydmljZSxcclxuICAgIFJhbmdlQXJlYVNlcmllc1NlcnZpY2UsIFBvbGFyU2VyaWVzU2VydmljZSwgUmFkYXJTZXJpZXNTZXJ2aWNlLCBEYXRlVGltZUNhdGVnb3J5U2VydmljZSxcclxuICAgIE11bHRpTGV2ZWxMYWJlbFNlcnZpY2UsIFBhcmV0b1Nlcmllc1NlcnZpY2UsIFRvb2x0aXBSZW5kZXJTZXJ2aWNlLFxyXG4gICAgU3BhcmtsaW5lVG9vbHRpcFNlcnZpY2UsIFNwbGluZVJhbmdlQXJlYVNlcmllc1NlcnZpY2UsXHJcbiAgICBBY2N1bXVsYXRpb25Bbm5vdGF0aW9uU2VydmljZSwgQWNjdW11bGF0aW9uRGF0YUxhYmVsU2VydmljZSwgQWNjdW11bGF0aW9uTGVnZW5kU2VydmljZSwgQWNjdW11bGF0aW9uU2VsZWN0aW9uU2VydmljZSwgQWNjdW11bGF0aW9uVG9vbHRpcFNlcnZpY2VdXHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFN5bmNmdXNpb25DaGFydE1vZHVsZSB7XHJcbn1cclxuXHJcblJhbmdlTmF2aWdhdG9yLkluamVjdChBcmVhU2VyaWVzLCBMaW5lU2VyaWVzLCBEYXRlVGltZSwgUmFuZ2VUb29sdGlwKTtcclxuXHJcblNwYXJrbGluZS5JbmplY3QoU3BhcmtsaW5lVG9vbHRpcCk7XHJcblxyXG5BY2N1bXVsYXRpb25DaGFydC5JbmplY3QoUGllU2VyaWVzLCBQeXJhbWlkU2VyaWVzLCBGdW5uZWxTZXJpZXMsXHJcbiAgQWNjdW11bGF0aW9uRGF0YUxhYmVsLCBBY2N1bXVsYXRpb25Ub29sdGlwLCBBY2N1bXVsYXRpb25Bbm5vdGF0aW9uLFxyXG4gIEFjY3VtdWxhdGlvbkxlZ2VuZCwgQWNjdW11bGF0aW9uU2VsZWN0aW9uKTtcclxuXHJcbkNoYXJ0LkluamVjdChDYXRlZ29yeSwgRGF0ZVRpbWUsIFRvb2x0aXAsIExlZ2VuZCwgU2VsZWN0aW9uLCBab29tLCBDcm9zc2hhaXIsIERhdGFMYWJlbCxcclxuICBCYXJTZXJpZXMsIEFyZWFTZXJpZXMsIEJ1YmJsZVNlcmllcywgQ29sdW1uU2VyaWVzLCBMaW5lU2VyaWVzLCBQb2xhclNlcmllcywgUmFkYXJTZXJpZXMsIFNwbGluZVNlcmllcyxcclxuICBTcGxpbmVBcmVhU2VyaWVzLCBTY2F0dGVyU2VyaWVzLFxyXG4gIFN0YWNraW5nU3RlcEFyZWFTZXJpZXMsIFN0YWNraW5nTGluZVNlcmllcywgU3RhY2tpbmdBcmVhU2VyaWVzLCBTdGFja2luZ0NvbHVtblNlcmllcywgU3RhY2tpbmdCYXJTZXJpZXMsXHJcbiAgU3RlcEFyZWFTZXJpZXMsIFN0ZXBMaW5lU2VyaWVzLCBDaGFydEFubm90YXRpb24pO1xyXG4iXX0=
|
@@ -9,15 +9,12 @@ export class NotificationsPaneComponent {
|
|
9
9
|
pane.title = translate.get('Notifications');
|
10
10
|
}
|
11
11
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: NotificationsPaneComponent, deps: [{ token: i1.PaneRef }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: NotificationsPaneComponent, selector: "ng-component",
|
12
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: NotificationsPaneComponent, selector: "ng-component", ngImport: i0, template: '<bizdoc-notifications-table></bizdoc-notifications-table>', isInline: true, dependencies: [{ kind: "component", type: i3.NotificationsTableComponent, selector: "bizdoc-notifications-table" }] }); }
|
13
13
|
}
|
14
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: NotificationsPaneComponent, decorators: [{
|
15
15
|
type: Component,
|
16
16
|
args: [{
|
17
|
-
template: '<bizdoc-notifications-table></bizdoc-notifications-table>'
|
18
|
-
host: {
|
19
|
-
class: 'pane'
|
20
|
-
}
|
17
|
+
template: '<bizdoc-notifications-table></bizdoc-notifications-table>'
|
21
18
|
}]
|
22
19
|
}], ctorParameters: () => [{ type: i1.PaneRef }, { type: i2.TranslateService }] });
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5wYW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvbm90aWZpY2F0aW9ucy9ub3RpZmljYXRpb25zLnBhbmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBTzFDLDZCQUE2QjtBQUM3QixNQUFNLE9BQU8sMEJBQTBCO0lBQ25DLFlBQVksSUFBYSxFQUFFLFNBQTJCO1FBQ2xELElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNoRCxDQUFDOzhHQUhRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLG9EQUZ6QiwyREFBMkQ7OzJGQUU1RCwwQkFBMEI7a0JBSHRDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLDJEQUEyRDtpQkFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFBhbmVSZWYgfSBmcm9tICcuLi9jb3JlL3Nsb3RzL3BhbmUtcmVmJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHRlbXBsYXRlOiAnPGJpemRvYy1ub3RpZmljYXRpb25zLXRhYmxlPjwvYml6ZG9jLW5vdGlmaWNhdGlvbnMtdGFibGU+J30pXHJcbi8qKiBub3RpZmljYXRpb25zIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zUGFuZUNvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3RvcihwYW5lOiBQYW5lUmVmLCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgICBwYW5lLnRpdGxlID0gdHJhbnNsYXRlLmdldCgnTm90aWZpY2F0aW9ucycpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
|