@cqa-lib/cqa-ui 1.1.209 → 1.1.211
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/esm2020/lib/detail-side-panel/detail-side-panel.component.mjs +5 -4
- package/esm2020/lib/detail-side-panel/detail-side-panel.styles.mjs +14 -0
- package/esm2020/lib/test-case-details/test-case-details-edit/test-case-details-edit.component.mjs +3 -3
- package/esm2020/lib/test-case-details/test-case-details.component.mjs +3 -3
- package/esm2020/lib/test-case-details/test-case-details.models.mjs +9 -2
- package/fesm2015/cqa-lib-cqa-ui.mjs +32 -12
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +32 -12
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/detail-side-panel/detail-side-panel.styles.d.ts +6 -0
- package/package.json +1 -1
- package/styles.css +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, HostBinding, } from '@angular/core';
|
|
2
|
+
import { DETAIL_SIDE_PANEL_SCROLL_STYLES } from './detail-side-panel.styles';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "@angular/material/icon";
|
|
4
5
|
import * as i2 from "../test-case-details/test-case-details.component";
|
|
@@ -126,13 +127,13 @@ export class DetailSidePanelComponent {
|
|
|
126
127
|
}
|
|
127
128
|
}
|
|
128
129
|
DetailSidePanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DetailSidePanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
129
|
-
DetailSidePanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: DetailSidePanelComponent, selector: "cqa-detail-side-panel", inputs: { tabs: "tabs", activeTab: "activeTab", descriptionTitle: "descriptionTitle", descriptionContent: "descriptionContent", showEditButton: "showEditButton", metadataItems: "metadataItems", labels: "labels", configSections: "configSections", configSectionsRow2: "configSectionsRow2", platform: "platform", configTitle: "configTitle", showCloseButton: "showCloseButton", startInEditMode: "startInEditMode", selectConfigOverrides: "selectConfigOverrides", expanded: "expanded", expandedWidth: "expandedWidth", collapsedWidth: "collapsedWidth", expandTooltip: "expandTooltip", collapseTooltip: "collapseTooltip", closeTooltip: "closeTooltip" }, outputs: { back: "back", tabChange: "tabChange", editDescription: "editDescription", saveChanges: "saveChanges", metadataLinkClick: "metadataLinkClick", selectSearch: "selectSearch", selectLoadMore: "selectLoadMore", selectOpened: "selectOpened", selectionChange: "selectionChange", expandToggle: "expandToggle", close: "close" }, host: { properties: { "style.width": "this.hostWidth", "style.min-width": "this.hostMinWidth", "style.max-width": "this.hostMaxWidth", "style.overflow": "this.hostOverflow" }, styleAttribute: "transition: width 0.3s ease-in-out", classAttribute: "cqa-ui-root cqa-flex cqa-flex-col cqa-h-full cqa-flex-shrink-0 cqa-flex-grow-0 cqa-bg-white cqa-shadow-[-4px_0_6px_-1px_rgba(0,0,0,0.05)]" }, ngImport: i0, template: "<div class=\"cqa-flex cqa-flex-col cqa-h-full cqa-min-w-0 cqa-bg-white\">\n <!-- Main content: Side menu + Scrollable content -->\n <div\n class=\"cqa-grid cqa-flex-1 cqa-min-h-0 cqa-min-w-0 cqa-overflow-hidden\"\n [style.grid-template-columns]=\"expanded ? 'auto 1fr' : 'auto 0fr'\"\n style=\"transition: grid-template-columns 0.3s ease-in-out\">\n <!-- Left vertical icon menu -->\n <div
|
|
130
|
+
DetailSidePanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: DetailSidePanelComponent, selector: "cqa-detail-side-panel", inputs: { tabs: "tabs", activeTab: "activeTab", descriptionTitle: "descriptionTitle", descriptionContent: "descriptionContent", showEditButton: "showEditButton", metadataItems: "metadataItems", labels: "labels", configSections: "configSections", configSectionsRow2: "configSectionsRow2", platform: "platform", configTitle: "configTitle", showCloseButton: "showCloseButton", startInEditMode: "startInEditMode", selectConfigOverrides: "selectConfigOverrides", expanded: "expanded", expandedWidth: "expandedWidth", collapsedWidth: "collapsedWidth", expandTooltip: "expandTooltip", collapseTooltip: "collapseTooltip", closeTooltip: "closeTooltip" }, outputs: { back: "back", tabChange: "tabChange", editDescription: "editDescription", saveChanges: "saveChanges", metadataLinkClick: "metadataLinkClick", selectSearch: "selectSearch", selectLoadMore: "selectLoadMore", selectOpened: "selectOpened", selectionChange: "selectionChange", expandToggle: "expandToggle", close: "close" }, host: { properties: { "style.width": "this.hostWidth", "style.min-width": "this.hostMinWidth", "style.max-width": "this.hostMaxWidth", "style.overflow": "this.hostOverflow" }, styleAttribute: "transition: width 0.3s ease-in-out", classAttribute: "cqa-ui-root cqa-flex cqa-flex-col cqa-h-full cqa-flex-shrink-0 cqa-flex-grow-0 cqa-bg-white cqa-shadow-[-4px_0_6px_-1px_rgba(0,0,0,0.05)]" }, ngImport: i0, template: "<div class=\"cqa-flex cqa-flex-col cqa-h-full cqa-min-w-0 cqa-bg-white\">\n <!-- Main content: Side menu + Scrollable content -->\n <div\n class=\"cqa-grid cqa-flex-1 cqa-min-h-0 cqa-min-w-0 cqa-overflow-hidden\"\n [style.grid-template-columns]=\"expanded ? 'auto 1fr' : 'auto 0fr'\"\n style=\"transition: grid-template-columns 0.3s ease-in-out\">\n <!-- Left vertical icon menu -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-items-center cqa-gap-2 cqa-py-4 cqa-px-2 cqa-border-r cqa-border-[#F5F5F5] cqa-flex-shrink-0 cqa-text-[#0A0A0A]\"\n style=\"box-shadow: 1px 4px 12px 1px rgba(0, 0, 0, 0.05);\">\n <!-- Expand / Collapse button (always visible) -->\n <button\n type=\"button\"\n [matTooltip]=\"expanded ? collapseTooltip : expandTooltip\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg cqa-text-[#64748B] hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155] cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2\"\n (click)=\"onExpandToggle()\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">{{ expanded ? 'chevron_left' : 'chevron_right' }}</mat-icon>\n </button>\n <!-- Close button -->\n <button\n *ngIf=\"showCloseButton\"\n type=\"button\"\n [matTooltip]=\"closeTooltip\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg cqa-text-[#64748B] hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155] cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2\"\n (click)=\"onClose()\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">close</mat-icon>\n </button>\n <!-- Tab buttons (1:1 with tabs) -->\n <button\n *ngFor=\"let tab of tabs; trackBy: trackByTabValue\"\n type=\"button\"\n [matTooltip]=\"tab.label\"\n [class.cqa-bg-[#3F43EE]]=\"activeTab === tab.value\"\n [class.cqa-text-white]=\"activeTab === tab.value\"\n [class.cqa-text-[#64748B]]=\"activeTab !== tab.value\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155] cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2\"\n (click)=\"onTabClick(tab)\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">{{ tab.icon || 'circle' }}</mat-icon>\n </button>\n </div>\n\n <!-- Scrollable content area (collapses with animation when expanded is false) -->\n <div class=\"cqa-flex cqa-flex-col cqa-min-h-0 cqa-min-w-0 cqa-overflow-hidden cqa-w-full cqa-h-full\">\n <div class=\"detail-side-panel-scroll cqa-flex-1 cqa-min-h-0 cqa-min-w-0 cqa-overflow-y-auto cqa-overflow-x-hidden cqa-p-4 cqa-space-y-4\" style=\"overflow-y: auto; overflow-x: hidden; min-height: 0; -webkit-overflow-scrolling: touch;\">\n <!-- Tabs: equally distributed (Figma: purple active, gray inactive) -->\n <div class=\"cqa-flex cqa-gap-[3.5px] cqa-p-[3.5px] cqa-bg-[#F1F5F9] cqa-rounded-lg cqa-w-full\" role=\"tablist\">\n <button\n *ngFor=\"let tab of tabs; trackBy: trackByTabValue\"\n type=\"button\"\n role=\"tab\"\n [attr.aria-selected]=\"activeTab === tab.value\"\n [class.cqa-bg-[#3F43EE]]=\"activeTab === tab.value\"\n [class.cqa-text-white]=\"activeTab === tab.value\"\n [class.cqa-text-[#64748B]]=\"activeTab !== tab.value\"\n class=\"cqa-flex-1 cqa-flex cqa-justify-center cqa-items-center cqa-py-2 cqa-rounded-lg cqa-text-xs cqa-font-medium cqa-transition-colors hover:cqa-opacity-90 focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2\"\n (click)=\"onTabClick(tab)\">\n {{ tab.label }}\n </button>\n </div>\n\n <!-- Test Case tab: use cqa-test-case-details (Figma design) -->\n <cqa-test-case-details\n *ngIf=\"activeTab === 'test-case'\"\n [descriptionTitle]=\"descriptionTitle\"\n [descriptionContent]=\"descriptionContent\"\n [showEditButton]=\"showEditButton\"\n [startInEditMode]=\"startInEditMode\"\n [selectConfigOverrides]=\"selectConfigOverrides\"\n [metadataItems]=\"metadataItems\"\n [labels]=\"labels\"\n [configTitle]=\"configTitle\"\n [configSections]=\"configSections\"\n [configSectionsRow2]=\"configSectionsRow2\"\n [platform]=\"platform\"\n (editDescription)=\"onEditDescription()\"\n (saveChanges)=\"onSaveChanges($event)\"\n (metadataLinkClick)=\"onMetadataLinkClick($event)\"\n (selectSearch)=\"selectSearch.emit($event)\"\n (selectLoadMore)=\"selectLoadMore.emit($event)\"\n (selectOpened)=\"selectOpened.emit($event)\"\n (selectionChange)=\"selectionChange.emit($event)\">\n </cqa-test-case-details>\n\n <!-- Placeholder for other tabs (Data Library, Variables) -->\n <div *ngIf=\"activeTab !== 'test-case'\" class=\"cqa-p-4 cqa-text-[#64748B] cqa-text-sm\">\n {{ activeTab === 'data-library' ? 'Data Library content' : 'Variables content' }} \u2013 coming soon\n </div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".detail-side-panel-scroll{overflow-y:auto!important;overflow-x:hidden!important;min-height:0!important;-webkit-overflow-scrolling:touch}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i2.TestCaseDetailsComponent, selector: "cqa-test-case-details", inputs: ["startInEditMode", "descriptionTitle", "descriptionContent", "showEditButton", "metadataItems", "labels", "configTitle", "configSections", "configSectionsRow2", "platform", "selectConfigOverrides"], outputs: ["editDescription", "saveChanges", "metadataLinkClick", "selectSearch", "selectLoadMore", "selectOpened", "selectionChange"] }], directives: [{ type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
130
131
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DetailSidePanelComponent, decorators: [{
|
|
131
132
|
type: Component,
|
|
132
|
-
args: [{ selector: 'cqa-detail-side-panel', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
133
|
+
args: [{ selector: 'cqa-detail-side-panel', styles: [DETAIL_SIDE_PANEL_SCROLL_STYLES], changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
133
134
|
class: 'cqa-ui-root cqa-flex cqa-flex-col cqa-h-full cqa-flex-shrink-0 cqa-flex-grow-0 cqa-bg-white cqa-shadow-[-4px_0_6px_-1px_rgba(0,0,0,0.05)]',
|
|
134
135
|
style: 'transition: width 0.3s ease-in-out',
|
|
135
|
-
}, template: "<div class=\"cqa-flex cqa-flex-col cqa-h-full cqa-min-w-0 cqa-bg-white\">\n <!-- Main content: Side menu + Scrollable content -->\n <div\n class=\"cqa-grid cqa-flex-1 cqa-min-h-0 cqa-min-w-0 cqa-overflow-hidden\"\n [style.grid-template-columns]=\"expanded ? 'auto 1fr' : 'auto 0fr'\"\n style=\"transition: grid-template-columns 0.3s ease-in-out\">\n <!-- Left vertical icon menu -->\n <div
|
|
136
|
+
}, template: "<div class=\"cqa-flex cqa-flex-col cqa-h-full cqa-min-w-0 cqa-bg-white\">\n <!-- Main content: Side menu + Scrollable content -->\n <div\n class=\"cqa-grid cqa-flex-1 cqa-min-h-0 cqa-min-w-0 cqa-overflow-hidden\"\n [style.grid-template-columns]=\"expanded ? 'auto 1fr' : 'auto 0fr'\"\n style=\"transition: grid-template-columns 0.3s ease-in-out\">\n <!-- Left vertical icon menu -->\n <div\n class=\"cqa-flex cqa-flex-col cqa-items-center cqa-gap-2 cqa-py-4 cqa-px-2 cqa-border-r cqa-border-[#F5F5F5] cqa-flex-shrink-0 cqa-text-[#0A0A0A]\"\n style=\"box-shadow: 1px 4px 12px 1px rgba(0, 0, 0, 0.05);\">\n <!-- Expand / Collapse button (always visible) -->\n <button\n type=\"button\"\n [matTooltip]=\"expanded ? collapseTooltip : expandTooltip\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg cqa-text-[#64748B] hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155] cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2\"\n (click)=\"onExpandToggle()\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">{{ expanded ? 'chevron_left' : 'chevron_right' }}</mat-icon>\n </button>\n <!-- Close button -->\n <button\n *ngIf=\"showCloseButton\"\n type=\"button\"\n [matTooltip]=\"closeTooltip\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg cqa-text-[#64748B] hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155] cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2\"\n (click)=\"onClose()\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">close</mat-icon>\n </button>\n <!-- Tab buttons (1:1 with tabs) -->\n <button\n *ngFor=\"let tab of tabs; trackBy: trackByTabValue\"\n type=\"button\"\n [matTooltip]=\"tab.label\"\n [class.cqa-bg-[#3F43EE]]=\"activeTab === tab.value\"\n [class.cqa-text-white]=\"activeTab === tab.value\"\n [class.cqa-text-[#64748B]]=\"activeTab !== tab.value\"\n class=\"cqa-flex cqa-items-center cqa-justify-center cqa-w-9 cqa-h-9 cqa-rounded-lg hover:cqa-bg-[#E2E8F0] hover:cqa-text-[#334155] cqa-transition-colors focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2\"\n (click)=\"onTabClick(tab)\">\n <mat-icon class=\"cqa-text-[20px] cqa-w-5 cqa-h-5\">{{ tab.icon || 'circle' }}</mat-icon>\n </button>\n </div>\n\n <!-- Scrollable content area (collapses with animation when expanded is false) -->\n <div class=\"cqa-flex cqa-flex-col cqa-min-h-0 cqa-min-w-0 cqa-overflow-hidden cqa-w-full cqa-h-full\">\n <div class=\"detail-side-panel-scroll cqa-flex-1 cqa-min-h-0 cqa-min-w-0 cqa-overflow-y-auto cqa-overflow-x-hidden cqa-p-4 cqa-space-y-4\" style=\"overflow-y: auto; overflow-x: hidden; min-height: 0; -webkit-overflow-scrolling: touch;\">\n <!-- Tabs: equally distributed (Figma: purple active, gray inactive) -->\n <div class=\"cqa-flex cqa-gap-[3.5px] cqa-p-[3.5px] cqa-bg-[#F1F5F9] cqa-rounded-lg cqa-w-full\" role=\"tablist\">\n <button\n *ngFor=\"let tab of tabs; trackBy: trackByTabValue\"\n type=\"button\"\n role=\"tab\"\n [attr.aria-selected]=\"activeTab === tab.value\"\n [class.cqa-bg-[#3F43EE]]=\"activeTab === tab.value\"\n [class.cqa-text-white]=\"activeTab === tab.value\"\n [class.cqa-text-[#64748B]]=\"activeTab !== tab.value\"\n class=\"cqa-flex-1 cqa-flex cqa-justify-center cqa-items-center cqa-py-2 cqa-rounded-lg cqa-text-xs cqa-font-medium cqa-transition-colors hover:cqa-opacity-90 focus:cqa-outline-none focus-visible:cqa-ring-2 focus-visible:cqa-ring-[#3F43EE] focus-visible:cqa-ring-offset-2\"\n (click)=\"onTabClick(tab)\">\n {{ tab.label }}\n </button>\n </div>\n\n <!-- Test Case tab: use cqa-test-case-details (Figma design) -->\n <cqa-test-case-details\n *ngIf=\"activeTab === 'test-case'\"\n [descriptionTitle]=\"descriptionTitle\"\n [descriptionContent]=\"descriptionContent\"\n [showEditButton]=\"showEditButton\"\n [startInEditMode]=\"startInEditMode\"\n [selectConfigOverrides]=\"selectConfigOverrides\"\n [metadataItems]=\"metadataItems\"\n [labels]=\"labels\"\n [configTitle]=\"configTitle\"\n [configSections]=\"configSections\"\n [configSectionsRow2]=\"configSectionsRow2\"\n [platform]=\"platform\"\n (editDescription)=\"onEditDescription()\"\n (saveChanges)=\"onSaveChanges($event)\"\n (metadataLinkClick)=\"onMetadataLinkClick($event)\"\n (selectSearch)=\"selectSearch.emit($event)\"\n (selectLoadMore)=\"selectLoadMore.emit($event)\"\n (selectOpened)=\"selectOpened.emit($event)\"\n (selectionChange)=\"selectionChange.emit($event)\">\n </cqa-test-case-details>\n\n <!-- Placeholder for other tabs (Data Library, Variables) -->\n <div *ngIf=\"activeTab !== 'test-case'\" class=\"cqa-p-4 cqa-text-[#64748B] cqa-text-sm\">\n {{ activeTab === 'data-library' ? 'Data Library content' : 'Variables content' }} \u2013 coming soon\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
136
137
|
}], propDecorators: { tabs: [{
|
|
137
138
|
type: Input
|
|
138
139
|
}], activeTab: [{
|
|
@@ -208,4 +209,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
208
209
|
}], close: [{
|
|
209
210
|
type: Output
|
|
210
211
|
}] } });
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLXNpZGUtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXRhaWwtc2lkZS1wYW5lbC9kZXRhaWwtc2lkZS1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RldGFpbC1zaWRlLXBhbmVsL2RldGFpbC1zaWRlLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBeUJ2QixNQUFNLE9BQU8sd0JBQXdCO0lBWHJDO1FBWUUsNkVBQTZFO1FBQ3BFLFNBQUksR0FBeUI7WUFDcEMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUMvRCxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ2hFLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUU7U0FDekQsQ0FBQztRQUVGLGlDQUFpQztRQUN4QixjQUFTLEdBQUcsV0FBVyxDQUFDO1FBRWpDLGdDQUFnQztRQUN2QixxQkFBZ0IsR0FBRyxhQUFhLENBQUM7UUFFMUMsK0JBQStCO1FBQ3RCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUVqQyxnRUFBZ0U7UUFDdkQsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFFL0IsMERBQTBEO1FBQ2pELGtCQUFhLEdBQWtDLEVBQUUsQ0FBQztRQUUzRCxxREFBcUQ7UUFDNUMsV0FBTSxHQUFhLEVBQUUsQ0FBQztRQUUvQiw2RUFBNkU7UUFDcEUsbUJBQWMsR0FBbUMsRUFBRSxDQUFDO1FBRTdELDBGQUEwRjtRQUNqRix1QkFBa0IsR0FBbUMsRUFBRSxDQUFDO1FBRWpFLGdGQUFnRjtRQUN2RSxhQUFRLEdBQXFCLEtBQUssQ0FBQztRQUU1QyxrQ0FBa0M7UUFDekIsZ0JBQVcsR0FBRyxlQUFlLENBQUM7UUFFdkMsd0RBQXdEO1FBQy9DLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBRWpDLDhFQUE4RTtRQUNyRSxvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUVqQyxtRkFBbUY7UUFDMUUsMEJBQXFCLEdBQTBCLEVBQUUsQ0FBQztRQUUzRCxpRkFBaUY7UUFDeEUsYUFBUSxHQUFHLElBQUksQ0FBQztRQUV6QixzREFBc0Q7UUFDN0Msa0JBQWEsR0FBRyxPQUFPLENBQUM7UUFFakMsNkVBQTZFO1FBQ3BFLG1CQUFjLEdBQUcsTUFBTSxDQUFDO1FBY0YsaUJBQVksR0FBRyxRQUFRLENBQUM7UUFFdkQsd0RBQXdEO1FBQy9DLGtCQUFhLEdBQUcsUUFBUSxDQUFDO1FBRWxDLGtFQUFrRTtRQUN6RCxvQkFBZSxHQUFHLFVBQVUsQ0FBQztRQUV0QywrQkFBK0I7UUFDdEIsaUJBQVksR0FBRyxPQUFPLENBQUM7UUFFdEIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDaEMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkMsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzNDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQStCLENBQUM7UUFDOUQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQStCLENBQUM7UUFDcEUsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBa0MsQ0FBQztRQUNsRSxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFrQyxDQUFDO1FBQ3BFLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFDbkQsb0JBQWUsR0FBRyxJQUFJLFlBQVksRUFBbUMsQ0FBQztRQUN0RSxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDeEMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0ErRDVDO0lBaEdDLElBQWdDLFNBQVM7UUFDdkMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFvQyxZQUFZO1FBQzlDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBb0MsWUFBWTtRQUM5QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDbEUsQ0FBQztJQXlCRCxlQUFlLENBQUMsRUFBVSxFQUFFLEdBQXVCO1FBQ2pELE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQztJQUNuQixDQUFDO0lBRUQsb0JBQW9CLENBQUMsRUFBVSxFQUFFLElBQWlDO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsRUFBVSxFQUFFLE9BQXFDO1FBQ2xFLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUF1QjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQzFCO1FBQ0QsSUFBSSxHQUFHLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2hDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtRQUNmLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFpQztRQUM3QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUFpQztRQUNuRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDYixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25DO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQWlDO1FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLFFBQVEsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN4QixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxrQkFBa0IsQ0FBQztZQUM1QixLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxrQkFBa0IsQ0FBQztZQUM1QixLQUFLLE9BQU87Z0JBQ1YsT0FBTyxrQkFBa0IsQ0FBQztZQUM1QixLQUFLLE1BQU0sQ0FBQztZQUNaO2dCQUNFLE9BQU8sa0JBQWtCLENBQUM7U0FDN0I7SUFDSCxDQUFDOztxSEF2SlUsd0JBQXdCO3lHQUF4Qix3QkFBd0IsbTVDQ2hDckMsa3hLQXlGQTsyRkR6RGEsd0JBQXdCO2tCQVhwQyxTQUFTOytCQUNFLHVCQUF1QixtQkFHaEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQ0gsMklBQTJJO3dCQUM3SSxLQUFLLEVBQUUsb0NBQW9DO3FCQUM1Qzs4QkFJUSxJQUFJO3NCQUFaLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBR0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR0csYUFBYTtzQkFBckIsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBR0csY0FBYztzQkFBdEIsS0FBSztnQkFHRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRyxXQUFXO3NCQUFuQixLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBR0csZUFBZTtzQkFBdkIsS0FBSztnQkFHRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBR0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRyxhQUFhO3NCQUFyQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRTBCLFNBQVM7c0JBQXhDLFdBQVc7dUJBQUMsYUFBYTtnQkFJVSxZQUFZO3NCQUEvQyxXQUFXO3VCQUFDLGlCQUFpQjtnQkFJTSxZQUFZO3NCQUEvQyxXQUFXO3VCQUFDLGlCQUFpQjtnQkFJQyxZQUFZO3NCQUExQyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFHcEIsYUFBYTtzQkFBckIsS0FBSztnQkFHRyxlQUFlO3NCQUF2QixLQUFLO2dCQUdHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksSUFBSTtzQkFBYixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBIb3N0QmluZGluZyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb25maWd1cmF0aW9uSXRlbSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24tY2FyZC9jb25maWd1cmF0aW9uLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIERldGFpbFNpZGVQYW5lbFRhYixcbiAgRGV0YWlsU2lkZVBhbmVsTWV0YWRhdGFJdGVtLFxuICBEZXRhaWxTaWRlUGFuZWxDb25maWdTZWN0aW9uLFxufSBmcm9tICcuL2RldGFpbC1zaWRlLXBhbmVsLm1vZGVscyc7XG5pbXBvcnQge1xuICBUZXN0Q2FzZURldGFpbHNFZGl0Rm9ybURhdGEsXG4gIFNlbGVjdENvbmZpZ092ZXJyaWRlcyxcbn0gZnJvbSAnLi4vdGVzdC1jYXNlLWRldGFpbHMvdGVzdC1jYXNlLWRldGFpbHMtZWRpdC90ZXN0LWNhc2UtZGV0YWlscy1lZGl0LmNvbXBvbmVudCc7XG5cbmV4cG9ydCB0eXBlIHsgRGV0YWlsU2lkZVBhbmVsVGFiLCBEZXRhaWxTaWRlUGFuZWxNZXRhZGF0YUl0ZW0sIERldGFpbFNpZGVQYW5lbENvbmZpZ1NlY3Rpb24gfSBmcm9tICcuL2RldGFpbC1zaWRlLXBhbmVsLm1vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS1kZXRhaWwtc2lkZS1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXRhaWwtc2lkZS1wYW5lbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RldGFpbC1zaWRlLXBhbmVsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6XG4gICAgICAnY3FhLXVpLXJvb3QgY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1oLWZ1bGwgY3FhLWZsZXgtc2hyaW5rLTAgY3FhLWZsZXgtZ3Jvdy0wIGNxYS1iZy13aGl0ZSBjcWEtc2hhZG93LVstNHB4XzBfNnB4Xy0xcHhfcmdiYSgwLDAsMCwwLjA1KV0nLFxuICAgIHN0eWxlOiAndHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIERldGFpbFNpZGVQYW5lbENvbXBvbmVudCB7XG4gIC8qKiBUYWJzIC0gZWFjaCB0YWIgaGFzIGEgc2lkZSBwYW5lbCBpY29uIGJ1dHRvbjsgdGFicyBhbmQgYnV0dG9ucyBhcmUgMToxICovXG4gIEBJbnB1dCgpIHRhYnM6IERldGFpbFNpZGVQYW5lbFRhYltdID0gW1xuICAgIHsgbGFiZWw6ICdUZXN0IENhc2UnLCB2YWx1ZTogJ3Rlc3QtY2FzZScsIGljb246ICdkZXNjcmlwdGlvbicgfSxcbiAgICB7IGxhYmVsOiAnRGF0YSBMaWJyYXJ5JywgdmFsdWU6ICdkYXRhLWxpYnJhcnknLCBpY29uOiAnZm9sZGVyJyB9LFxuICAgIHsgbGFiZWw6ICdWYXJpYWJsZXMnLCB2YWx1ZTogJ3ZhcmlhYmxlcycsIGljb246ICdjb2RlJyB9LFxuICBdO1xuXG4gIC8qKiBDdXJyZW50bHkgYWN0aXZlIHRhYiB2YWx1ZSAqL1xuICBASW5wdXQoKSBhY3RpdmVUYWIgPSAndGVzdC1jYXNlJztcblxuICAvKiogRGVzY3JpcHRpb24gc2VjdGlvbiB0aXRsZSAqL1xuICBASW5wdXQoKSBkZXNjcmlwdGlvblRpdGxlID0gJ0Rlc2NyaXB0aW9uJztcblxuICAvKiogRGVzY3JpcHRpb24gdGV4dCBjb250ZW50ICovXG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uQ29udGVudCA9ICcnO1xuXG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgdGhlIEVkaXQgYnV0dG9uIGluIHRoZSBEZXNjcmlwdGlvbiBoZWFkZXIgKi9cbiAgQElucHV0KCkgc2hvd0VkaXRCdXR0b24gPSB0cnVlO1xuXG4gIC8qKiBNZXRhZGF0YSBpdGVtcyAoQ3JlYXRlZCBvbiwgU3RhdHVzLCBQcmlvcml0eSwgZXRjLikgKi9cbiAgQElucHV0KCkgbWV0YWRhdGFJdGVtczogRGV0YWlsU2lkZVBhbmVsTWV0YWRhdGFJdGVtW10gPSBbXTtcblxuICAvKiogTGFiZWxzL3RhZ3MgKGUuZy4gQXV0b21hdGlvbiwgQVBJLCBTREssIFVJL1VYKSAqL1xuICBASW5wdXQoKSBsYWJlbHM6IHN0cmluZ1tdID0gW107XG5cbiAgLyoqIENvbmZpZ3VyYXRpb24gc2VjdGlvbnMgLSBmdWxsIHdpZHRoIChlLmcuIEV4ZWN1dGlvbiwgQUkgQ29uZmlndXJhdGlvbikgKi9cbiAgQElucHV0KCkgY29uZmlnU2VjdGlvbnM6IERldGFpbFNpZGVQYW5lbENvbmZpZ1NlY3Rpb25bXSA9IFtdO1xuXG4gIC8qKiBPcHRpb25hbCBjb25maWcgc2VjdGlvbnMgZGlzcGxheWVkIGluIGEgMi1jb2x1bW4gcm93IChlLmcuIFdhaXRzICYgUmV0cmllcywgRGV2aWNlKSAqL1xuICBASW5wdXQoKSBjb25maWdTZWN0aW9uc1JvdzI6IERldGFpbFNpZGVQYW5lbENvbmZpZ1NlY3Rpb25bXSA9IFtdO1xuXG4gIC8qKiBQbGF0Zm9ybTogJ3dlYicgb3IgJ21vYmlsZScuIERlZmF1bHRzIHRvICd3ZWInLiBVc2VkIGZvciBEZXZpY2UgU2V0dGluZ3MuICovXG4gIEBJbnB1dCgpIHBsYXRmb3JtOiAnd2ViJyB8ICdtb2JpbGUnID0gJ3dlYic7XG5cbiAgLyoqIENvbmZpZ3VyYXRpb24gc2VjdGlvbiB0aXRsZSAqL1xuICBASW5wdXQoKSBjb25maWdUaXRsZSA9ICdDb25maWd1cmF0aW9uJztcblxuICAvKiogV2hldGhlciB0byBzaG93IHRoZSBjbG9zZSBidXR0b24gaW4gdGhlIHNpZGUgbWVudSAqL1xuICBASW5wdXQoKSBzaG93Q2xvc2VCdXR0b24gPSBmYWxzZTtcblxuICAvKiogV2hlbiB0cnVlLCB0ZXN0IGNhc2UgZGV0YWlscyBzdGFydCBpbiBlZGl0IG1vZGUgKHVzZWZ1bCBmb3IgU3Rvcnlib29rKS4gKi9cbiAgQElucHV0KCkgc3RhcnRJbkVkaXRNb2RlID0gZmFsc2U7XG5cbiAgLyoqIE92ZXJyaWRlIGNvbmZpZyBwZXIgc2VsZWN0IGZvciBBUEktZHJpdmVuIG9wdGlvbnMsIHNlcnZlciBzZWFyY2gsIGxvYWQgbW9yZS4gKi9cbiAgQElucHV0KCkgc2VsZWN0Q29uZmlnT3ZlcnJpZGVzOiBTZWxlY3RDb25maWdPdmVycmlkZXMgPSB7fTtcblxuICAvKiogV2hldGhlciB0aGUgcGFuZWwgaXMgZXhwYW5kZWQgKGFmZmVjdHMgZXhwYW5kIGJ1dHRvbiBpY29uIGFuZCBwYW5lbCB3aWR0aCkgKi9cbiAgQElucHV0KCkgZXhwYW5kZWQgPSB0cnVlO1xuXG4gIC8qKiBQYW5lbCB3aWR0aCB3aGVuIGV4cGFuZGVkIChlLmcuICc0ODBweCcsICcyNSUnKSAqL1xuICBASW5wdXQoKSBleHBhbmRlZFdpZHRoID0gJzM4MHB4JztcblxuICAvKiogUGFuZWwgd2lkdGggd2hlbiBjb2xsYXBzZWQgKGUuZy4gJzU2cHgnIC0gZml0cyBpY29uIGJhciArIGJhY2sgYnV0dG9uKSAqL1xuICBASW5wdXQoKSBjb2xsYXBzZWRXaWR0aCA9ICc1NnB4JztcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJykgZ2V0IGhvc3RXaWR0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmV4cGFuZGVkID8gdGhpcy5leHBhbmRlZFdpZHRoIDogdGhpcy5jb2xsYXBzZWRXaWR0aDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJykgZ2V0IGhvc3RNaW5XaWR0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmV4cGFuZGVkID8gdGhpcy5leHBhbmRlZFdpZHRoIDogdGhpcy5jb2xsYXBzZWRXaWR0aDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoJykgZ2V0IGhvc3RNYXhXaWR0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmV4cGFuZGVkID8gdGhpcy5leHBhbmRlZFdpZHRoIDogdGhpcy5jb2xsYXBzZWRXaWR0aDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUub3ZlcmZsb3cnKSBob3N0T3ZlcmZsb3cgPSAnaGlkZGVuJztcblxuICAvKiogVG9vbHRpcCBmb3IgZXhwYW5kIGJ1dHRvbiB3aGVuIHBhbmVsIGlzIGNvbGxhcHNlZCAqL1xuICBASW5wdXQoKSBleHBhbmRUb29sdGlwID0gJ0V4cGFuZCc7XG5cbiAgLyoqIFRvb2x0aXAgZm9yIGV4cGFuZCBidXR0b24gd2hlbiBwYW5lbCBpcyBleHBhbmRlZCAoY29sbGFwc2UpICovXG4gIEBJbnB1dCgpIGNvbGxhcHNlVG9vbHRpcCA9ICdDb2xsYXBzZSc7XG5cbiAgLyoqIFRvb2x0aXAgZm9yIGNsb3NlIGJ1dHRvbiAqL1xuICBASW5wdXQoKSBjbG9zZVRvb2x0aXAgPSAnQ2xvc2UnO1xuXG4gIEBPdXRwdXQoKSBiYWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgdGFiQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBlZGl0RGVzY3JpcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzYXZlQ2hhbmdlcyA9IG5ldyBFdmVudEVtaXR0ZXI8VGVzdENhc2VEZXRhaWxzRWRpdEZvcm1EYXRhPigpO1xuICBAT3V0cHV0KCkgbWV0YWRhdGFMaW5rQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPERldGFpbFNpZGVQYW5lbE1ldGFkYXRhSXRlbT4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdFNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBrZXk6IHN0cmluZzsgcXVlcnk6IHN0cmluZyB9PigpO1xuICBAT3V0cHV0KCkgc2VsZWN0TG9hZE1vcmUgPSBuZXcgRXZlbnRFbWl0dGVyPHsga2V5OiBzdHJpbmc7IHF1ZXJ5OiBzdHJpbmcgfT4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdE9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBrZXk6IHN0cmluZyB9PigpO1xuICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGtleTogc3RyaW5nOyB2YWx1ZTogdW5rbm93biB9PigpO1xuICBAT3V0cHV0KCkgZXhwYW5kVG9nZ2xlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgdHJhY2tCeVRhYlZhbHVlKF9pOiBudW1iZXIsIHRhYjogRGV0YWlsU2lkZVBhbmVsVGFiKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGFiLnZhbHVlO1xuICB9XG5cbiAgdHJhY2tCeU1ldGFkYXRhTGFiZWwoX2k6IG51bWJlciwgaXRlbTogRGV0YWlsU2lkZVBhbmVsTWV0YWRhdGFJdGVtKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbS5sYWJlbDtcbiAgfVxuXG4gIHRyYWNrQnlDb25maWdUaXRsZShfaTogbnVtYmVyLCBzZWN0aW9uOiBEZXRhaWxTaWRlUGFuZWxDb25maWdTZWN0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc2VjdGlvbi50aXRsZTtcbiAgfVxuXG4gIG9uQmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmJhY2suZW1pdCgpO1xuICB9XG5cbiAgb25UYWJDbGljayh0YWI6IERldGFpbFNpZGVQYW5lbFRhYik6IHZvaWQge1xuICAgIGlmICghdGhpcy5leHBhbmRlZCkge1xuICAgICAgdGhpcy5leHBhbmRUb2dnbGUuZW1pdCgpO1xuICAgIH1cbiAgICBpZiAodGFiLnZhbHVlICE9PSB0aGlzLmFjdGl2ZVRhYikge1xuICAgICAgdGhpcy50YWJDaGFuZ2UuZW1pdCh0YWIudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG9uRWRpdERlc2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdERlc2NyaXB0aW9uLmVtaXQoKTtcbiAgfVxuXG4gIG9uU2F2ZUNoYW5nZXMoZGF0YTogVGVzdENhc2VEZXRhaWxzRWRpdEZvcm1EYXRhKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlQ2hhbmdlcy5lbWl0KGRhdGEpO1xuICB9XG5cbiAgb25FeHBhbmRUb2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmRUb2dnbGUuZW1pdCgpO1xuICB9XG5cbiAgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgfVxuXG4gIG9uTWV0YWRhdGFMaW5rQ2xpY2soaXRlbTogRGV0YWlsU2lkZVBhbmVsTWV0YWRhdGFJdGVtKTogdm9pZCB7XG4gICAgaWYgKGl0ZW0ubGluaykge1xuICAgICAgdGhpcy5tZXRhZGF0YUxpbmtDbGljay5lbWl0KGl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIGdldFN0YXR1c0RvdENsYXNzKGl0ZW06IERldGFpbFNpZGVQYW5lbE1ldGFkYXRhSXRlbSk6IHN0cmluZyB7XG4gICAgaWYgKCFpdGVtLnN0YXR1c0NvbG9yKSByZXR1cm4gJyc7XG4gICAgc3dpdGNoIChpdGVtLnN0YXR1c0NvbG9yKSB7XG4gICAgICBjYXNlICd5ZWxsb3cnOlxuICAgICAgICByZXR1cm4gJ2NxYS1iZy1bI0VBQjMwOF0nO1xuICAgICAgY2FzZSAncmVkJzpcbiAgICAgICAgcmV0dXJuICdjcWEtYmctWyNEQzI2MjZdJztcbiAgICAgIGNhc2UgJ2dyZWVuJzpcbiAgICAgICAgcmV0dXJuICdjcWEtYmctWyMxNkEzNEFdJztcbiAgICAgIGNhc2UgJ2dyYXknOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdjcWEtYmctWyM5NEEzQjhdJztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWgtZnVsbCBjcWEtbWluLXctMCBjcWEtYmctd2hpdGVcIj5cbiAgPCEtLSBNYWluIGNvbnRlbnQ6IFNpZGUgbWVudSArIFNjcm9sbGFibGUgY29udGVudCAtLT5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY3FhLWdyaWQgY3FhLWZsZXgtMSBjcWEtbWluLWgtMCBjcWEtbWluLXctMCBjcWEtb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICBbc3R5bGUuZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zXT1cImV4cGFuZGVkID8gJ2F1dG8gMWZyJyA6ICdhdXRvIDBmcidcIlxuICAgIHN0eWxlPVwidHJhbnNpdGlvbjogZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIDAuM3MgZWFzZS1pbi1vdXRcIj5cbiAgICA8IS0tIExlZnQgdmVydGljYWwgaWNvbiBtZW51IC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTIgY3FhLXB5LTQgY3FhLXB4LTIgY3FhLWJvcmRlci1yIGNxYS1ib3JkZXItWyNFMkU4RjBdIGNxYS1iZy1bI0ZBRkFGQV0gY3FhLWZsZXgtc2hyaW5rLTBcIj5cbiAgICAgIDwhLS0gRXhwYW5kIC8gQ29sbGFwc2UgYnV0dG9uIChhbHdheXMgdmlzaWJsZSkgLS0+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCJleHBhbmRlZCA/IGNvbGxhcHNlVG9vbHRpcCA6IGV4cGFuZFRvb2x0aXBcIlxuICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS13LTkgY3FhLWgtOSBjcWEtcm91bmRlZC1sZyBjcWEtdGV4dC1bIzY0NzQ4Ql0gaG92ZXI6Y3FhLWJnLVsjRTJFOEYwXSBob3ZlcjpjcWEtdGV4dC1bIzMzNDE1NV0gY3FhLXRyYW5zaXRpb24tY29sb3JzIGZvY3VzOmNxYS1vdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpjcWEtcmluZy0yIGZvY3VzLXZpc2libGU6Y3FhLXJpbmctWyMzRjQzRUVdIGZvY3VzLXZpc2libGU6Y3FhLXJpbmctb2Zmc2V0LTJcIlxuICAgICAgICAoY2xpY2spPVwib25FeHBhbmRUb2dnbGUoKVwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjcWEtdGV4dC1bMjBweF0gY3FhLXctNSBjcWEtaC01XCI+e3sgZXhwYW5kZWQgPyAnY2hldnJvbl9sZWZ0JyA6ICdjaGV2cm9uX3JpZ2h0JyB9fTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDwhLS0gQ2xvc2UgYnV0dG9uIC0tPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cInNob3dDbG9zZUJ1dHRvblwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCJjbG9zZVRvb2x0aXBcIlxuICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS13LTkgY3FhLWgtOSBjcWEtcm91bmRlZC1sZyBjcWEtdGV4dC1bIzY0NzQ4Ql0gaG92ZXI6Y3FhLWJnLVsjRTJFOEYwXSBob3ZlcjpjcWEtdGV4dC1bIzMzNDE1NV0gY3FhLXRyYW5zaXRpb24tY29sb3JzIGZvY3VzOmNxYS1vdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpjcWEtcmluZy0yIGZvY3VzLXZpc2libGU6Y3FhLXJpbmctWyMzRjQzRUVdIGZvY3VzLXZpc2libGU6Y3FhLXJpbmctb2Zmc2V0LTJcIlxuICAgICAgICAoY2xpY2spPVwib25DbG9zZSgpXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNxYS10ZXh0LVsyMHB4XSBjcWEtdy01IGNxYS1oLTVcIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDwhLS0gVGFiIGJ1dHRvbnMgKDE6MSB3aXRoIHRhYnMpIC0tPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnM7IHRyYWNrQnk6IHRyYWNrQnlUYWJWYWx1ZVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbbWF0VG9vbHRpcF09XCJ0YWIubGFiZWxcIlxuICAgICAgICBbY2xhc3MuY3FhLWJnLVsjM0Y0M0VFXV09XCJhY3RpdmVUYWIgPT09IHRhYi52YWx1ZVwiXG4gICAgICAgIFtjbGFzcy5jcWEtdGV4dC13aGl0ZV09XCJhY3RpdmVUYWIgPT09IHRhYi52YWx1ZVwiXG4gICAgICAgIFtjbGFzcy5jcWEtdGV4dC1bIzY0NzQ4Ql1dPVwiYWN0aXZlVGFiICE9PSB0YWIudmFsdWVcIlxuICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS13LTkgY3FhLWgtOSBjcWEtcm91bmRlZC1sZyBob3ZlcjpjcWEtYmctWyNFMkU4RjBdIGhvdmVyOmNxYS10ZXh0LVsjMzM0MTU1XSBjcWEtdHJhbnNpdGlvbi1jb2xvcnMgZm9jdXM6Y3FhLW91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLTIgZm9jdXMtdmlzaWJsZTpjcWEtcmluZy1bIzNGNDNFRV0gZm9jdXMtdmlzaWJsZTpjcWEtcmluZy1vZmZzZXQtMlwiXG4gICAgICAgIChjbGljayk9XCJvblRhYkNsaWNrKHRhYilcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY3FhLXRleHQtWzIwcHhdIGNxYS13LTUgY3FhLWgtNVwiPnt7IHRhYi5pY29uIHx8ICdjaXJjbGUnIH19PC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBTY3JvbGxhYmxlIGNvbnRlbnQgYXJlYSAoY29sbGFwc2VzIHdpdGggYW5pbWF0aW9uIHdoZW4gZXhwYW5kZWQgaXMgZmFsc2UpIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLW1pbi1oLTAgY3FhLW1pbi13LTAgY3FhLW92ZXJmbG93LWhpZGRlbiBjcWEtdy1mdWxsIGNxYS1oLWZ1bGxcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkZXRhaWwtc2lkZS1wYW5lbC1zY3JvbGwgY3FhLWZsZXgtMSBjcWEtbWluLWgtMCBjcWEtbWluLXctMCBjcWEtb3ZlcmZsb3cteS1hdXRvIGNxYS1vdmVyZmxvdy14LWhpZGRlbiBjcWEtcC00IGNxYS1zcGFjZS15LTRcIiBzdHlsZT1cIm92ZXJmbG93LXk6IGF1dG87IG92ZXJmbG93LXg6IGhpZGRlbjsgbWluLWhlaWdodDogMDsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1wiPlxuICAgICAgPCEtLSBUYWJzOiBlcXVhbGx5IGRpc3RyaWJ1dGVkIChGaWdtYTogcHVycGxlIGFjdGl2ZSwgZ3JheSBpbmFjdGl2ZSkgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWdhcC1bMy41cHhdIGNxYS1wLVszLjVweF0gY3FhLWJnLVsjRjFGNUY5XSBjcWEtcm91bmRlZC1sZyBjcWEtdy1mdWxsXCIgcm9sZT1cInRhYmxpc3RcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFiczsgdHJhY2tCeTogdHJhY2tCeVRhYlZhbHVlXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICByb2xlPVwidGFiXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cImFjdGl2ZVRhYiA9PT0gdGFiLnZhbHVlXCJcbiAgICAgICAgICBbY2xhc3MuY3FhLWJnLVsjM0Y0M0VFXV09XCJhY3RpdmVUYWIgPT09IHRhYi52YWx1ZVwiXG4gICAgICAgICAgW2NsYXNzLmNxYS10ZXh0LXdoaXRlXT1cImFjdGl2ZVRhYiA9PT0gdGFiLnZhbHVlXCJcbiAgICAgICAgICBbY2xhc3MuY3FhLXRleHQtWyM2NDc0OEJdXT1cImFjdGl2ZVRhYiAhPT0gdGFiLnZhbHVlXCJcbiAgICAgICAgICBjbGFzcz1cImNxYS1mbGV4LTEgY3FhLWZsZXggY3FhLWp1c3RpZnktY2VudGVyIGNxYS1pdGVtcy1jZW50ZXIgY3FhLXB5LTIgY3FhLXJvdW5kZWQtbGcgY3FhLXRleHQteHMgY3FhLWZvbnQtbWVkaXVtIGNxYS10cmFuc2l0aW9uLWNvbG9ycyBob3ZlcjpjcWEtb3BhY2l0eS05MCBmb2N1czpjcWEtb3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6Y3FhLXJpbmctMiBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLVsjM0Y0M0VFXSBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLW9mZnNldC0yXCJcbiAgICAgICAgICAoY2xpY2spPVwib25UYWJDbGljayh0YWIpXCI+XG4gICAgICAgICAge3sgdGFiLmxhYmVsIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gVGVzdCBDYXNlIHRhYjogdXNlIGNxYS10ZXN0LWNhc2UtZGV0YWlscyAoRmlnbWEgZGVzaWduKSAtLT5cbiAgICAgIDxjcWEtdGVzdC1jYXNlLWRldGFpbHNcbiAgICAgICAgKm5nSWY9XCJhY3RpdmVUYWIgPT09ICd0ZXN0LWNhc2UnXCJcbiAgICAgICAgW2Rlc2NyaXB0aW9uVGl0bGVdPVwiZGVzY3JpcHRpb25UaXRsZVwiXG4gICAgICAgIFtkZXNjcmlwdGlvbkNvbnRlbnRdPVwiZGVzY3JpcHRpb25Db250ZW50XCJcbiAgICAgICAgW3Nob3dFZGl0QnV0dG9uXT1cInNob3dFZGl0QnV0dG9uXCJcbiAgICAgICAgW3N0YXJ0SW5FZGl0TW9kZV09XCJzdGFydEluRWRpdE1vZGVcIlxuICAgICAgICBbc2VsZWN0Q29uZmlnT3ZlcnJpZGVzXT1cInNlbGVjdENvbmZpZ092ZXJyaWRlc1wiXG4gICAgICAgIFttZXRhZGF0YUl0ZW1zXT1cIm1ldGFkYXRhSXRlbXNcIlxuICAgICAgICBbbGFiZWxzXT1cImxhYmVsc1wiXG4gICAgICAgIFtjb25maWdUaXRsZV09XCJjb25maWdUaXRsZVwiXG4gICAgICAgIFtjb25maWdTZWN0aW9uc109XCJjb25maWdTZWN0aW9uc1wiXG4gICAgICAgIFtjb25maWdTZWN0aW9uc1JvdzJdPVwiY29uZmlnU2VjdGlvbnNSb3cyXCJcbiAgICAgICAgW3BsYXRmb3JtXT1cInBsYXRmb3JtXCJcbiAgICAgICAgKGVkaXREZXNjcmlwdGlvbik9XCJvbkVkaXREZXNjcmlwdGlvbigpXCJcbiAgICAgICAgKHNhdmVDaGFuZ2VzKT1cIm9uU2F2ZUNoYW5nZXMoJGV2ZW50KVwiXG4gICAgICAgIChtZXRhZGF0YUxpbmtDbGljayk9XCJvbk1ldGFkYXRhTGlua0NsaWNrKCRldmVudClcIlxuICAgICAgICAoc2VsZWN0U2VhcmNoKT1cInNlbGVjdFNlYXJjaC5lbWl0KCRldmVudClcIlxuICAgICAgICAoc2VsZWN0TG9hZE1vcmUpPVwic2VsZWN0TG9hZE1vcmUuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKHNlbGVjdE9wZW5lZCk9XCJzZWxlY3RPcGVuZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3Rpb25DaGFuZ2UuZW1pdCgkZXZlbnQpXCI+XG4gICAgICA8L2NxYS10ZXN0LWNhc2UtZGV0YWlscz5cblxuICAgICAgPCEtLSBQbGFjZWhvbGRlciBmb3Igb3RoZXIgdGFicyAoRGF0YSBMaWJyYXJ5LCBWYXJpYWJsZXMpIC0tPlxuICAgICAgPGRpdiAqbmdJZj1cImFjdGl2ZVRhYiAhPT0gJ3Rlc3QtY2FzZSdcIiBjbGFzcz1cImNxYS1wLTQgY3FhLXRleHQtWyM2NDc0OEJdIGNxYS10ZXh0LXNtXCI+XG4gICAgICAgIHt7IGFjdGl2ZVRhYiA9PT0gJ2RhdGEtbGlicmFyeScgPyAnRGF0YSBMaWJyYXJ5IGNvbnRlbnQnIDogJ1ZhcmlhYmxlcyBjb250ZW50JyB9fSDigJMgY29taW5nIHNvb25cbiAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLXNpZGUtcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXRhaWwtc2lkZS1wYW5lbC9kZXRhaWwtc2lkZS1wYW5lbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RldGFpbC1zaWRlLXBhbmVsL2RldGFpbC1zaWRlLXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQVd2QixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7Ozs7O0FBZTdFLE1BQU0sT0FBTyx3QkFBd0I7SUFYckM7UUFZRSw2RUFBNkU7UUFDcEUsU0FBSSxHQUF5QjtZQUNwQyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFO1lBQy9ELEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDaEUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRTtTQUN6RCxDQUFDO1FBRUYsaUNBQWlDO1FBQ3hCLGNBQVMsR0FBRyxXQUFXLENBQUM7UUFFakMsZ0NBQWdDO1FBQ3ZCLHFCQUFnQixHQUFHLGFBQWEsQ0FBQztRQUUxQywrQkFBK0I7UUFDdEIsdUJBQWtCLEdBQUcsRUFBRSxDQUFDO1FBRWpDLGdFQUFnRTtRQUN2RCxtQkFBYyxHQUFHLElBQUksQ0FBQztRQUUvQiwwREFBMEQ7UUFDakQsa0JBQWEsR0FBa0MsRUFBRSxDQUFDO1FBRTNELHFEQUFxRDtRQUM1QyxX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b250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgSG9zdEJpbmRpbmcsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbkl0ZW0gfSBmcm9tICcuLi9jb25maWd1cmF0aW9uLWNhcmQvY29uZmlndXJhdGlvbi1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBEZXRhaWxTaWRlUGFuZWxUYWIsXG4gIERldGFpbFNpZGVQYW5lbE1ldGFkYXRhSXRlbSxcbiAgRGV0YWlsU2lkZVBhbmVsQ29uZmlnU2VjdGlvbixcbn0gZnJvbSAnLi9kZXRhaWwtc2lkZS1wYW5lbC5tb2RlbHMnO1xuaW1wb3J0IHtcbiAgVGVzdENhc2VEZXRhaWxzRWRpdEZvcm1EYXRhLFxuICBTZWxlY3RDb25maWdPdmVycmlkZXMsXG59IGZyb20gJy4uL3Rlc3QtY2FzZS1kZXRhaWxzL3Rlc3QtY2FzZS1kZXRhaWxzLWVkaXQvdGVzdC1jYXNlLWRldGFpbHMtZWRpdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgREVUQUlMX1NJREVfUEFORUxfU0NST0xMX1NUWUxFUyB9IGZyb20gJy4vZGV0YWlsLXNpZGUtcGFuZWwuc3R5bGVzJztcblxuZXhwb3J0IHR5cGUgeyBEZXRhaWxTaWRlUGFuZWxUYWIsIERldGFpbFNpZGVQYW5lbE1ldGFkYXRhSXRlbSwgRGV0YWlsU2lkZVBhbmVsQ29uZmlnU2VjdGlvbiB9IGZyb20gJy4vZGV0YWlsLXNpZGUtcGFuZWwubW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWRldGFpbC1zaWRlLXBhbmVsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RldGFpbC1zaWRlLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVzOiBbREVUQUlMX1NJREVfUEFORUxfU0NST0xMX1NUWUxFU10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6XG4gICAgICAnY3FhLXVpLXJvb3QgY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1oLWZ1bGwgY3FhLWZsZXgtc2hyaW5rLTAgY3FhLWZsZXgtZ3Jvdy0wIGNxYS1iZy13aGl0ZSBjcWEtc2hhZG93LVstNHB4XzBfNnB4Xy0xcHhfcmdiYSgwLDAsMCwwLjA1KV0nLFxuICAgIHN0eWxlOiAndHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLWluLW91dCcsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIERldGFpbFNpZGVQYW5lbENvbXBvbmVudCB7XG4gIC8qKiBUYWJzIC0gZWFjaCB0YWIgaGFzIGEgc2lkZSBwYW5lbCBpY29uIGJ1dHRvbjsgdGFicyBhbmQgYnV0dG9ucyBhcmUgMToxICovXG4gIEBJbnB1dCgpIHRhYnM6IERldGFpbFNpZGVQYW5lbFRhYltdID0gW1xuICAgIHsgbGFiZWw6ICdUZXN0IENhc2UnLCB2YWx1ZTogJ3Rlc3QtY2FzZScsIGljb246ICdkZXNjcmlwdGlvbicgfSxcbiAgICB7IGxhYmVsOiAnRGF0YSBMaWJyYXJ5JywgdmFsdWU6ICdkYXRhLWxpYnJhcnknLCBpY29uOiAnZm9sZGVyJyB9LFxuICAgIHsgbGFiZWw6ICdWYXJpYWJsZXMnLCB2YWx1ZTogJ3ZhcmlhYmxlcycsIGljb246ICdjb2RlJyB9LFxuICBdO1xuXG4gIC8qKiBDdXJyZW50bHkgYWN0aXZlIHRhYiB2YWx1ZSAqL1xuICBASW5wdXQoKSBhY3RpdmVUYWIgPSAndGVzdC1jYXNlJztcblxuICAvKiogRGVzY3JpcHRpb24gc2VjdGlvbiB0aXRsZSAqL1xuICBASW5wdXQoKSBkZXNjcmlwdGlvblRpdGxlID0gJ0Rlc2NyaXB0aW9uJztcblxuICAvKiogRGVzY3JpcHRpb24gdGV4dCBjb250ZW50ICovXG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uQ29udGVudCA9ICcnO1xuXG4gIC8qKiBXaGV0aGVyIHRvIHNob3cgdGhlIEVkaXQgYnV0dG9uIGluIHRoZSBEZXNjcmlwdGlvbiBoZWFkZXIgKi9cbiAgQElucHV0KCkgc2hvd0VkaXRCdXR0b24gPSB0cnVlO1xuXG4gIC8qKiBNZXRhZGF0YSBpdGVtcyAoQ3JlYXRlZCBvbiwgU3RhdHVzLCBQcmlvcml0eSwgZXRjLikgKi9cbiAgQElucHV0KCkgbWV0YWRhdGFJdGVtczogRGV0YWlsU2lkZVBhbmVsTWV0YWRhdGFJdGVtW10gPSBbXTtcblxuICAvKiogTGFiZWxzL3RhZ3MgKGUuZy4gQXV0b21hdGlvbiwgQVBJLCBTREssIFVJL1VYKSAqL1xuICBASW5wdXQoKSBsYWJlbHM6IHN0cmluZ1tdID0gW107XG5cbiAgLyoqIENvbmZpZ3VyYXRpb24gc2VjdGlvbnMgLSBmdWxsIHdpZHRoIChlLmcuIEV4ZWN1dGlvbiwgQUkgQ29uZmlndXJhdGlvbikgKi9cbiAgQElucHV0KCkgY29uZmlnU2VjdGlvbnM6IERldGFpbFNpZGVQYW5lbENvbmZpZ1NlY3Rpb25bXSA9IFtdO1xuXG4gIC8qKiBPcHRpb25hbCBjb25maWcgc2VjdGlvbnMgZGlzcGxheWVkIGluIGEgMi1jb2x1bW4gcm93IChlLmcuIFdhaXRzICYgUmV0cmllcywgRGV2aWNlKSAqL1xuICBASW5wdXQoKSBjb25maWdTZWN0aW9uc1JvdzI6IERldGFpbFNpZGVQYW5lbENvbmZpZ1NlY3Rpb25bXSA9IFtdO1xuXG4gIC8qKiBQbGF0Zm9ybTogJ3dlYicgb3IgJ21vYmlsZScuIERlZmF1bHRzIHRvICd3ZWInLiBVc2VkIGZvciBEZXZpY2UgU2V0dGluZ3MuICovXG4gIEBJbnB1dCgpIHBsYXRmb3JtOiAnd2ViJyB8ICdtb2JpbGUnID0gJ3dlYic7XG5cbiAgLyoqIENvbmZpZ3VyYXRpb24gc2VjdGlvbiB0aXRsZSAqL1xuICBASW5wdXQoKSBjb25maWdUaXRsZSA9ICdDb25maWd1cmF0aW9uJztcblxuICAvKiogV2hldGhlciB0byBzaG93IHRoZSBjbG9zZSBidXR0b24gaW4gdGhlIHNpZGUgbWVudSAqL1xuICBASW5wdXQoKSBzaG93Q2xvc2VCdXR0b24gPSBmYWxzZTtcblxuICAvKiogV2hlbiB0cnVlLCB0ZXN0IGNhc2UgZGV0YWlscyBzdGFydCBpbiBlZGl0IG1vZGUgKHVzZWZ1bCBmb3IgU3Rvcnlib29rKS4gKi9cbiAgQElucHV0KCkgc3RhcnRJbkVkaXRNb2RlID0gZmFsc2U7XG5cbiAgLyoqIE92ZXJyaWRlIGNvbmZpZyBwZXIgc2VsZWN0IGZvciBBUEktZHJpdmVuIG9wdGlvbnMsIHNlcnZlciBzZWFyY2gsIGxvYWQgbW9yZS4gKi9cbiAgQElucHV0KCkgc2VsZWN0Q29uZmlnT3ZlcnJpZGVzOiBTZWxlY3RDb25maWdPdmVycmlkZXMgPSB7fTtcblxuICAvKiogV2hldGhlciB0aGUgcGFuZWwgaXMgZXhwYW5kZWQgKGFmZmVjdHMgZXhwYW5kIGJ1dHRvbiBpY29uIGFuZCBwYW5lbCB3aWR0aCkgKi9cbiAgQElucHV0KCkgZXhwYW5kZWQgPSB0cnVlO1xuXG4gIC8qKiBQYW5lbCB3aWR0aCB3aGVuIGV4cGFuZGVkIChlLmcuICc0ODBweCcsICcyNSUnKSAqL1xuICBASW5wdXQoKSBleHBhbmRlZFdpZHRoID0gJzM4MHB4JztcblxuICAvKiogUGFuZWwgd2lkdGggd2hlbiBjb2xsYXBzZWQgKGUuZy4gJzU2cHgnIC0gZml0cyBpY29uIGJhciArIGJhY2sgYnV0dG9uKSAqL1xuICBASW5wdXQoKSBjb2xsYXBzZWRXaWR0aCA9ICc1NnB4JztcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoJykgZ2V0IGhvc3RXaWR0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmV4cGFuZGVkID8gdGhpcy5leHBhbmRlZFdpZHRoIDogdGhpcy5jb2xsYXBzZWRXaWR0aDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWluLXdpZHRoJykgZ2V0IGhvc3RNaW5XaWR0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmV4cGFuZGVkID8gdGhpcy5leHBhbmRlZFdpZHRoIDogdGhpcy5jb2xsYXBzZWRXaWR0aDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUubWF4LXdpZHRoJykgZ2V0IGhvc3RNYXhXaWR0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmV4cGFuZGVkID8gdGhpcy5leHBhbmRlZFdpZHRoIDogdGhpcy5jb2xsYXBzZWRXaWR0aDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnc3R5bGUub3ZlcmZsb3cnKSBob3N0T3ZlcmZsb3cgPSAnaGlkZGVuJztcblxuICAvKiogVG9vbHRpcCBmb3IgZXhwYW5kIGJ1dHRvbiB3aGVuIHBhbmVsIGlzIGNvbGxhcHNlZCAqL1xuICBASW5wdXQoKSBleHBhbmRUb29sdGlwID0gJ0V4cGFuZCc7XG5cbiAgLyoqIFRvb2x0aXAgZm9yIGV4cGFuZCBidXR0b24gd2hlbiBwYW5lbCBpcyBleHBhbmRlZCAoY29sbGFwc2UpICovXG4gIEBJbnB1dCgpIGNvbGxhcHNlVG9vbHRpcCA9ICdDb2xsYXBzZSc7XG5cbiAgLyoqIFRvb2x0aXAgZm9yIGNsb3NlIGJ1dHRvbiAqL1xuICBASW5wdXQoKSBjbG9zZVRvb2x0aXAgPSAnQ2xvc2UnO1xuXG4gIEBPdXRwdXQoKSBiYWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgdGFiQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBlZGl0RGVzY3JpcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzYXZlQ2hhbmdlcyA9IG5ldyBFdmVudEVtaXR0ZXI8VGVzdENhc2VEZXRhaWxzRWRpdEZvcm1EYXRhPigpO1xuICBAT3V0cHV0KCkgbWV0YWRhdGFMaW5rQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPERldGFpbFNpZGVQYW5lbE1ldGFkYXRhSXRlbT4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdFNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBrZXk6IHN0cmluZzsgcXVlcnk6IHN0cmluZyB9PigpO1xuICBAT3V0cHV0KCkgc2VsZWN0TG9hZE1vcmUgPSBuZXcgRXZlbnRFbWl0dGVyPHsga2V5OiBzdHJpbmc7IHF1ZXJ5OiBzdHJpbmcgfT4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdE9wZW5lZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBrZXk6IHN0cmluZyB9PigpO1xuICBAT3V0cHV0KCkgc2VsZWN0aW9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGtleTogc3RyaW5nOyB2YWx1ZTogdW5rbm93biB9PigpO1xuICBAT3V0cHV0KCkgZXhwYW5kVG9nZ2xlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgY2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgdHJhY2tCeVRhYlZhbHVlKF9pOiBudW1iZXIsIHRhYjogRGV0YWlsU2lkZVBhbmVsVGFiKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGFiLnZhbHVlO1xuICB9XG5cbiAgdHJhY2tCeU1ldGFkYXRhTGFiZWwoX2k6IG51bWJlciwgaXRlbTogRGV0YWlsU2lkZVBhbmVsTWV0YWRhdGFJdGVtKTogc3RyaW5nIHtcbiAgICByZXR1cm4gaXRlbS5sYWJlbDtcbiAgfVxuXG4gIHRyYWNrQnlDb25maWdUaXRsZShfaTogbnVtYmVyLCBzZWN0aW9uOiBEZXRhaWxTaWRlUGFuZWxDb25maWdTZWN0aW9uKTogc3RyaW5nIHtcbiAgICByZXR1cm4gc2VjdGlvbi50aXRsZTtcbiAgfVxuXG4gIG9uQmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmJhY2suZW1pdCgpO1xuICB9XG5cbiAgb25UYWJDbGljayh0YWI6IERldGFpbFNpZGVQYW5lbFRhYik6IHZvaWQge1xuICAgIGlmICghdGhpcy5leHBhbmRlZCkge1xuICAgICAgdGhpcy5leHBhbmRUb2dnbGUuZW1pdCgpO1xuICAgIH1cbiAgICBpZiAodGFiLnZhbHVlICE9PSB0aGlzLmFjdGl2ZVRhYikge1xuICAgICAgdGhpcy50YWJDaGFuZ2UuZW1pdCh0YWIudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIG9uRWRpdERlc2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuZWRpdERlc2NyaXB0aW9uLmVtaXQoKTtcbiAgfVxuXG4gIG9uU2F2ZUNoYW5nZXMoZGF0YTogVGVzdENhc2VEZXRhaWxzRWRpdEZvcm1EYXRhKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlQ2hhbmdlcy5lbWl0KGRhdGEpO1xuICB9XG5cbiAgb25FeHBhbmRUb2dnbGUoKTogdm9pZCB7XG4gICAgdGhpcy5leHBhbmRUb2dnbGUuZW1pdCgpO1xuICB9XG5cbiAgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgfVxuXG4gIG9uTWV0YWRhdGFMaW5rQ2xpY2soaXRlbTogRGV0YWlsU2lkZVBhbmVsTWV0YWRhdGFJdGVtKTogdm9pZCB7XG4gICAgaWYgKGl0ZW0ubGluaykge1xuICAgICAgdGhpcy5tZXRhZGF0YUxpbmtDbGljay5lbWl0KGl0ZW0pO1xuICAgIH1cbiAgfVxuXG4gIGdldFN0YXR1c0RvdENsYXNzKGl0ZW06IERldGFpbFNpZGVQYW5lbE1ldGFkYXRhSXRlbSk6IHN0cmluZyB7XG4gICAgaWYgKCFpdGVtLnN0YXR1c0NvbG9yKSByZXR1cm4gJyc7XG4gICAgc3dpdGNoIChpdGVtLnN0YXR1c0NvbG9yKSB7XG4gICAgICBjYXNlICd5ZWxsb3cnOlxuICAgICAgICByZXR1cm4gJ2NxYS1iZy1bI0VBQjMwOF0nO1xuICAgICAgY2FzZSAncmVkJzpcbiAgICAgICAgcmV0dXJuICdjcWEtYmctWyNEQzI2MjZdJztcbiAgICAgIGNhc2UgJ2dyZWVuJzpcbiAgICAgICAgcmV0dXJuICdjcWEtYmctWyMxNkEzNEFdJztcbiAgICAgIGNhc2UgJ2dyYXknOlxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdjcWEtYmctWyM5NEEzQjhdJztcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWgtZnVsbCBjcWEtbWluLXctMCBjcWEtYmctd2hpdGVcIj5cbiAgPCEtLSBNYWluIGNvbnRlbnQ6IFNpZGUgbWVudSArIFNjcm9sbGFibGUgY29udGVudCAtLT5cbiAgPGRpdlxuICAgIGNsYXNzPVwiY3FhLWdyaWQgY3FhLWZsZXgtMSBjcWEtbWluLWgtMCBjcWEtbWluLXctMCBjcWEtb3ZlcmZsb3ctaGlkZGVuXCJcbiAgICBbc3R5bGUuZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zXT1cImV4cGFuZGVkID8gJ2F1dG8gMWZyJyA6ICdhdXRvIDBmcidcIlxuICAgIHN0eWxlPVwidHJhbnNpdGlvbjogZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIDAuM3MgZWFzZS1pbi1vdXRcIj5cbiAgICA8IS0tIExlZnQgdmVydGljYWwgaWNvbiBtZW51IC0tPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0yIGNxYS1weS00IGNxYS1weC0yIGNxYS1ib3JkZXItciBjcWEtYm9yZGVyLVsjRjVGNUY1XSBjcWEtZmxleC1zaHJpbmstMCBjcWEtdGV4dC1bIzBBMEEwQV1cIlxuICAgICAgc3R5bGU9XCJib3gtc2hhZG93OiAxcHggNHB4IDEycHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XCI+XG4gICAgICA8IS0tIEV4cGFuZCAvIENvbGxhcHNlIGJ1dHRvbiAoYWx3YXlzIHZpc2libGUpIC0tPlxuICAgICAgPGJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiZXhwYW5kZWQgPyBjb2xsYXBzZVRvb2x0aXAgOiBleHBhbmRUb29sdGlwXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtdy05IGNxYS1oLTkgY3FhLXJvdW5kZWQtbGcgY3FhLXRleHQtWyM2NDc0OEJdIGhvdmVyOmNxYS1iZy1bI0UyRThGMF0gaG92ZXI6Y3FhLXRleHQtWyMzMzQxNTVdIGNxYS10cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpjcWEtb3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6Y3FhLXJpbmctMiBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLVsjM0Y0M0VFXSBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLW9mZnNldC0yXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uRXhwYW5kVG9nZ2xlKClcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiY3FhLXRleHQtWzIwcHhdIGNxYS13LTUgY3FhLWgtNVwiPnt7IGV4cGFuZGVkID8gJ2NoZXZyb25fbGVmdCcgOiAnY2hldnJvbl9yaWdodCcgfX08L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8IS0tIENsb3NlIGJ1dHRvbiAtLT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJzaG93Q2xvc2VCdXR0b25cIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiY2xvc2VUb29sdGlwXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtdy05IGNxYS1oLTkgY3FhLXJvdW5kZWQtbGcgY3FhLXRleHQtWyM2NDc0OEJdIGhvdmVyOmNxYS1iZy1bI0UyRThGMF0gaG92ZXI6Y3FhLXRleHQtWyMzMzQxNTVdIGNxYS10cmFuc2l0aW9uLWNvbG9ycyBmb2N1czpjcWEtb3V0bGluZS1ub25lIGZvY3VzLXZpc2libGU6Y3FhLXJpbmctMiBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLVsjM0Y0M0VFXSBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLW9mZnNldC0yXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJjcWEtdGV4dC1bMjBweF0gY3FhLXctNSBjcWEtaC01XCI+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8IS0tIFRhYiBidXR0b25zICgxOjEgd2l0aCB0YWJzKSAtLT5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzOyB0cmFja0J5OiB0cmFja0J5VGFiVmFsdWVcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwidGFiLmxhYmVsXCJcbiAgICAgICAgW2NsYXNzLmNxYS1iZy1bIzNGNDNFRV1dPVwiYWN0aXZlVGFiID09PSB0YWIudmFsdWVcIlxuICAgICAgICBbY2xhc3MuY3FhLXRleHQtd2hpdGVdPVwiYWN0aXZlVGFiID09PSB0YWIudmFsdWVcIlxuICAgICAgICBbY2xhc3MuY3FhLXRleHQtWyM2NDc0OEJdXT1cImFjdGl2ZVRhYiAhPT0gdGFiLnZhbHVlXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtdy05IGNxYS1oLTkgY3FhLXJvdW5kZWQtbGcgaG92ZXI6Y3FhLWJnLVsjRTJFOEYwXSBob3ZlcjpjcWEtdGV4dC1bIzMzNDE1NV0gY3FhLXRyYW5zaXRpb24tY29sb3JzIGZvY3VzOmNxYS1vdXRsaW5lLW5vbmUgZm9jdXMtdmlzaWJsZTpjcWEtcmluZy0yIGZvY3VzLXZpc2libGU6Y3FhLXJpbmctWyMzRjQzRUVdIGZvY3VzLXZpc2libGU6Y3FhLXJpbmctb2Zmc2V0LTJcIlxuICAgICAgICAoY2xpY2spPVwib25UYWJDbGljayh0YWIpXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImNxYS10ZXh0LVsyMHB4XSBjcWEtdy01IGNxYS1oLTVcIj57eyB0YWIuaWNvbiB8fCAnY2lyY2xlJyB9fTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gU2Nyb2xsYWJsZSBjb250ZW50IGFyZWEgKGNvbGxhcHNlcyB3aXRoIGFuaW1hdGlvbiB3aGVuIGV4cGFuZGVkIGlzIGZhbHNlKSAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1taW4taC0wIGNxYS1taW4tdy0wIGNxYS1vdmVyZmxvdy1oaWRkZW4gY3FhLXctZnVsbCBjcWEtaC1mdWxsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGV0YWlsLXNpZGUtcGFuZWwtc2Nyb2xsIGNxYS1mbGV4LTEgY3FhLW1pbi1oLTAgY3FhLW1pbi13LTAgY3FhLW92ZXJmbG93LXktYXV0byBjcWEtb3ZlcmZsb3cteC1oaWRkZW4gY3FhLXAtNCBjcWEtc3BhY2UteS00XCIgc3R5bGU9XCJvdmVyZmxvdy15OiBhdXRvOyBvdmVyZmxvdy14OiBoaWRkZW47IG1pbi1oZWlnaHQ6IDA7IC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcIj5cbiAgICAgIDwhLS0gVGFiczogZXF1YWxseSBkaXN0cmlidXRlZCAoRmlnbWE6IHB1cnBsZSBhY3RpdmUsIGdyYXkgaW5hY3RpdmUpIC0tPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1nYXAtWzMuNXB4XSBjcWEtcC1bMy41cHhdIGNxYS1iZy1bI0YxRjVGOV0gY3FhLXJvdW5kZWQtbGcgY3FhLXctZnVsbFwiIHJvbGU9XCJ0YWJsaXN0XCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnM7IHRyYWNrQnk6IHRyYWNrQnlUYWJWYWx1ZVwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJhY3RpdmVUYWIgPT09IHRhYi52YWx1ZVwiXG4gICAgICAgICAgW2NsYXNzLmNxYS1iZy1bIzNGNDNFRV1dPVwiYWN0aXZlVGFiID09PSB0YWIudmFsdWVcIlxuICAgICAgICAgIFtjbGFzcy5jcWEtdGV4dC13aGl0ZV09XCJhY3RpdmVUYWIgPT09IHRhYi52YWx1ZVwiXG4gICAgICAgICAgW2NsYXNzLmNxYS10ZXh0LVsjNjQ3NDhCXV09XCJhY3RpdmVUYWIgIT09IHRhYi52YWx1ZVwiXG4gICAgICAgICAgY2xhc3M9XCJjcWEtZmxleC0xIGNxYS1mbGV4IGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtaXRlbXMtY2VudGVyIGNxYS1weS0yIGNxYS1yb3VuZGVkLWxnIGNxYS10ZXh0LXhzIGNxYS1mb250LW1lZGl1bSBjcWEtdHJhbnNpdGlvbi1jb2xvcnMgaG92ZXI6Y3FhLW9wYWNpdHktOTAgZm9jdXM6Y3FhLW91dGxpbmUtbm9uZSBmb2N1cy12aXNpYmxlOmNxYS1yaW5nLTIgZm9jdXMtdmlzaWJsZTpjcWEtcmluZy1bIzNGNDNFRV0gZm9jdXMtdmlzaWJsZTpjcWEtcmluZy1vZmZzZXQtMlwiXG4gICAgICAgICAgKGNsaWNrKT1cIm9uVGFiQ2xpY2sodGFiKVwiPlxuICAgICAgICAgIHt7IHRhYi5sYWJlbCB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8IS0tIFRlc3QgQ2FzZSB0YWI6IHVzZSBjcWEtdGVzdC1jYXNlLWRldGFpbHMgKEZpZ21hIGRlc2lnbikgLS0+XG4gICAgICA8Y3FhLXRlc3QtY2FzZS1kZXRhaWxzXG4gICAgICAgICpuZ0lmPVwiYWN0aXZlVGFiID09PSAndGVzdC1jYXNlJ1wiXG4gICAgICAgIFtkZXNjcmlwdGlvblRpdGxlXT1cImRlc2NyaXB0aW9uVGl0bGVcIlxuICAgICAgICBbZGVzY3JpcHRpb25Db250ZW50XT1cImRlc2NyaXB0aW9uQ29udGVudFwiXG4gICAgICAgIFtzaG93RWRpdEJ1dHRvbl09XCJzaG93RWRpdEJ1dHRvblwiXG4gICAgICAgIFtzdGFydEluRWRpdE1vZGVdPVwic3RhcnRJbkVkaXRNb2RlXCJcbiAgICAgICAgW3NlbGVjdENvbmZpZ092ZXJyaWRlc109XCJzZWxlY3RDb25maWdPdmVycmlkZXNcIlxuICAgICAgICBbbWV0YWRhdGFJdGVtc109XCJtZXRhZGF0YUl0ZW1zXCJcbiAgICAgICAgW2xhYmVsc109XCJsYWJlbHNcIlxuICAgICAgICBbY29uZmlnVGl0bGVdPVwiY29uZmlnVGl0bGVcIlxuICAgICAgICBbY29uZmlnU2VjdGlvbnNdPVwiY29uZmlnU2VjdGlvbnNcIlxuICAgICAgICBbY29uZmlnU2VjdGlvbnNSb3cyXT1cImNvbmZpZ1NlY3Rpb25zUm93MlwiXG4gICAgICAgIFtwbGF0Zm9ybV09XCJwbGF0Zm9ybVwiXG4gICAgICAgIChlZGl0RGVzY3JpcHRpb24pPVwib25FZGl0RGVzY3JpcHRpb24oKVwiXG4gICAgICAgIChzYXZlQ2hhbmdlcyk9XCJvblNhdmVDaGFuZ2VzKCRldmVudClcIlxuICAgICAgICAobWV0YWRhdGFMaW5rQ2xpY2spPVwib25NZXRhZGF0YUxpbmtDbGljaygkZXZlbnQpXCJcbiAgICAgICAgKHNlbGVjdFNlYXJjaCk9XCJzZWxlY3RTZWFyY2guZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgKHNlbGVjdExvYWRNb3JlKT1cInNlbGVjdExvYWRNb3JlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChzZWxlY3RPcGVuZWQpPVwic2VsZWN0T3BlbmVkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgIChzZWxlY3Rpb25DaGFuZ2UpPVwic2VsZWN0aW9uQ2hhbmdlLmVtaXQoJGV2ZW50KVwiPlxuICAgICAgPC9jcWEtdGVzdC1jYXNlLWRldGFpbHM+XG5cbiAgICAgIDwhLS0gUGxhY2Vob2xkZXIgZm9yIG90aGVyIHRhYnMgKERhdGEgTGlicmFyeSwgVmFyaWFibGVzKSAtLT5cbiAgICAgIDxkaXYgKm5nSWY9XCJhY3RpdmVUYWIgIT09ICd0ZXN0LWNhc2UnXCIgY2xhc3M9XCJjcWEtcC00IGNxYS10ZXh0LVsjNjQ3NDhCXSBjcWEtdGV4dC1zbVwiPlxuICAgICAgICB7eyBhY3RpdmVUYWIgPT09ICdkYXRhLWxpYnJhcnknID8gJ0RhdGEgTGlicmFyeSBjb250ZW50JyA6ICdWYXJpYWJsZXMgY29udGVudCcgfX0g4oCTIGNvbWluZyBzb29uXG4gICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Detail side panel scroll styles as a string for use in component `styles` arrays.
|
|
3
|
+
* Using a string constant avoids Angular's style compiler receiving non-string values
|
|
4
|
+
* (e.g. from styleUrls resolution in Storybook), which causes "input.match is not a function".
|
|
5
|
+
*/
|
|
6
|
+
export const DETAIL_SIDE_PANEL_SCROLL_STYLES = `
|
|
7
|
+
.detail-side-panel-scroll {
|
|
8
|
+
overflow-y: auto !important;
|
|
9
|
+
overflow-x: hidden !important;
|
|
10
|
+
min-height: 0 !important;
|
|
11
|
+
-webkit-overflow-scrolling: touch;
|
|
12
|
+
}
|
|
13
|
+
`;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLXNpZGUtcGFuZWwuc3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kZXRhaWwtc2lkZS1wYW5lbC9kZXRhaWwtc2lkZS1wYW5lbC5zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHOzs7Ozs7O0NBTzlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERldGFpbCBzaWRlIHBhbmVsIHNjcm9sbCBzdHlsZXMgYXMgYSBzdHJpbmcgZm9yIHVzZSBpbiBjb21wb25lbnQgYHN0eWxlc2AgYXJyYXlzLlxuICogVXNpbmcgYSBzdHJpbmcgY29uc3RhbnQgYXZvaWRzIEFuZ3VsYXIncyBzdHlsZSBjb21waWxlciByZWNlaXZpbmcgbm9uLXN0cmluZyB2YWx1ZXNcbiAqIChlLmcuIGZyb20gc3R5bGVVcmxzIHJlc29sdXRpb24gaW4gU3Rvcnlib29rKSwgd2hpY2ggY2F1c2VzIFwiaW5wdXQubWF0Y2ggaXMgbm90IGEgZnVuY3Rpb25cIi5cbiAqL1xuZXhwb3J0IGNvbnN0IERFVEFJTF9TSURFX1BBTkVMX1NDUk9MTF9TVFlMRVMgPSBgXG4uZGV0YWlsLXNpZGUtcGFuZWwtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteTogYXV0byAhaW1wb3J0YW50O1xuICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5gO1xuIl19
|