@datarailsshared/datarailsshared 1.5.313 → 1.5.315
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/styles/mixins.scss +11 -8
- package/assets/styles/vars.scss +1 -1
- package/datarailsshared-datarailsshared-1.5.315.tgz +0 -0
- package/esm2022/lib/date-tags/any-tag.component.mjs +4 -6
- package/esm2022/lib/date-tags/date-tag.component.mjs +3 -3
- package/esm2022/lib/date-tags/date-tag.module.mjs +5 -19
- package/esm2022/lib/date-tags/day-tag/day-tag.component.mjs +5 -6
- package/esm2022/lib/date-tags/forecast-tag/forecast-tag.component.mjs +12 -10
- package/esm2022/lib/date-tags/month-tag/month-tag.component.mjs +5 -6
- package/esm2022/lib/date-tags/quarter-tag/quarter-tag.component.mjs +7 -10
- package/esm2022/lib/date-tags/week-tag/week-tag.component.mjs +5 -6
- package/esm2022/lib/date-tags/year-tag/year-tag.component.mjs +5 -6
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +2 -2
- package/esm2022/lib/directives/click-outside/click-outside.module.mjs +2 -2
- package/esm2022/lib/dr-accordion/accordion-item-body.component.mjs +2 -2
- package/esm2022/lib/dr-accordion/accordion-item-header.component.mjs +3 -9
- package/esm2022/lib/dr-accordion/accordion-item.component.mjs +2 -2
- package/esm2022/lib/dr-accordion/accordion.module.mjs +1 -1
- package/esm2022/lib/dr-alert/dr-alert.component.mjs +3 -3
- package/esm2022/lib/dr-alert/dr-alert.module.mjs +3 -7
- package/esm2022/lib/dr-alert/enums/dr-alert-theme.enum.mjs +1 -2
- package/esm2022/lib/dr-avatar/dr-avatar.component.mjs +3 -3
- package/esm2022/lib/dr-avatar/dr-avatar.module.mjs +6 -22
- package/esm2022/lib/dr-avatar/dr-avatar.pipe.mjs +4 -4
- package/esm2022/lib/dr-badge-status/dr-badge-status.component.mjs +3 -3
- package/esm2022/lib/dr-badge-status/dr-badge-status.module.mjs +5 -12
- package/esm2022/lib/dr-chat/chat.component.mjs +6 -5
- package/esm2022/lib/dr-chat/chat.module.mjs +4 -21
- package/esm2022/lib/dr-chat/dr-chat-alert/dr-chat-alert.component.mjs +3 -3
- package/esm2022/lib/dr-chat/dr-chat-form/chat-form.component.mjs +1 -1
- package/esm2022/lib/dr-chat/dr-chat-message/chat-message.component.mjs +3 -3
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.directive.mjs +1 -1
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-custom/chat-custom-message.service.mjs +1 -1
- package/esm2022/lib/dr-chat/dr-chat-message/dr-chat-message-file/chat-message-file.component.mjs +2 -2
- package/esm2022/lib/dr-chat/dr-chat-suggestions/chat-suggestions.component.mjs +6 -6
- package/esm2022/lib/dr-chat/dr-dot-flashing/dr-dot-flashing.component.mjs +3 -4
- package/esm2022/lib/dr-code-editor/components/dr-codemirror.component.mjs +23 -25
- package/esm2022/lib/dr-code-editor/dr-code-editor.component.mjs +2 -2
- package/esm2022/lib/dr-code-editor/dr-code-editor.module.mjs +4 -18
- package/esm2022/lib/dr-details-list/dr-details-list.component.mjs +3 -4
- package/esm2022/lib/dr-details-list/dr-details-list.module.mjs +2 -4
- package/esm2022/lib/dr-dialog/components/dialog-modal-wrapper/dialog-modal-wrapper.component.mjs +8 -5
- package/esm2022/lib/dr-dialog/components/dialog-wrapper/dialog-wrapper.component.mjs +8 -5
- package/esm2022/lib/dr-dialog/dialog.module.mjs +6 -31
- package/esm2022/lib/dr-dialog/services/dialog.service.mjs +2 -2
- package/esm2022/lib/dr-dropdown/dr-dropdown-item-show.pipe.mjs +3 -3
- package/esm2022/lib/dr-dropdown/dr-dropdown-position.directive.mjs +29 -20
- package/esm2022/lib/dr-dropdown/dr-dropdown.component.mjs +5 -5
- package/esm2022/lib/dr-dropdown/dr-dropdown.directive.mjs +7 -7
- package/esm2022/lib/dr-dropdown/dr-dropdown.module.mjs +7 -32
- package/esm2022/lib/dr-dropdown/dr-dropdown.service.mjs +2 -2
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.component.mjs +4 -4
- package/esm2022/lib/dr-dynamic-tag/dr-dynamic-tag.module.mjs +5 -13
- package/esm2022/lib/dr-error/dr-error.component.mjs +3 -3
- package/esm2022/lib/dr-error/dr-error.module.mjs +5 -15
- package/esm2022/lib/dr-inputs/button/button.component.mjs +3 -3
- package/esm2022/lib/dr-inputs/checkbox/checkbox.component.mjs +5 -11
- package/esm2022/lib/dr-inputs/date-pickers/directives/dr-date-picker-format.directive.mjs +8 -8
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker/dr-date-picker.component.mjs +10 -11
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-range/dr-date-picker-range.component.mjs +4 -8
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +11 -12
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.mjs +31 -24
- package/esm2022/lib/dr-inputs/date-pickers/dr-show-timeframe.pipe.mjs +3 -3
- package/esm2022/lib/dr-inputs/date-pickers/services/dr-date-picker.service.mjs +5 -7
- package/esm2022/lib/dr-inputs/dr-input/dr-input.component.mjs +17 -17
- package/esm2022/lib/dr-inputs/dr-inputs.module.mjs +2 -2
- package/esm2022/lib/dr-inputs/dr-link/dr-link.component.mjs +3 -3
- package/esm2022/lib/dr-inputs/dr-model-debounce-change.directive.mjs +5 -3
- package/esm2022/lib/dr-inputs/dr-select/dr-select.component.mjs +17 -20
- package/esm2022/lib/dr-inputs/dr-select-add-item/dr-select-add-item.component.mjs +4 -4
- package/esm2022/lib/dr-inputs/dr-slider/dr-slider.component.mjs +5 -11
- package/esm2022/lib/dr-inputs/dr-toggle/dr-toggle.component.mjs +6 -12
- package/esm2022/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.mjs +6 -12
- package/esm2022/lib/dr-inputs/radio-button/radio-button.component.mjs +10 -12
- package/esm2022/lib/dr-inputs/radio-button/radio-group.component.mjs +16 -14
- package/esm2022/lib/dr-layout/dr-layout-body.component.mjs +2 -3
- package/esm2022/lib/dr-layout/dr-layout-header.component.mjs +2 -3
- package/esm2022/lib/dr-layout/dr-layout.component.mjs +2 -3
- package/esm2022/lib/dr-layout/dr-layout.module.mjs +3 -11
- package/esm2022/lib/dr-popover/dr-popover-ref.mjs +1 -1
- package/esm2022/lib/dr-popover/dr-popover.component.mjs +11 -15
- package/esm2022/lib/dr-popover/dr-popover.directive.mjs +6 -6
- package/esm2022/lib/dr-popover/dr-popover.module.mjs +5 -15
- package/esm2022/lib/dr-popover/dr-popover.service.mjs +6 -8
- package/esm2022/lib/dr-scenario/components/dr-scenario-configuration/dr-scenario-configuration.component.mjs +3 -3
- package/esm2022/lib/dr-scenario/components/dr-scenario-tag-configuration/dr-scenario-tag-configuration.component.mjs +3 -3
- package/esm2022/lib/dr-scenario/consts/scenario-tags-config.mjs +2 -2
- package/esm2022/lib/dr-scenario/dr-scenario.module.mjs +5 -24
- package/esm2022/lib/dr-scenario/services/scenario.service.mjs +16 -12
- package/esm2022/lib/dr-spinner/dr-spinner.component.mjs +1 -1
- package/esm2022/lib/dr-spinner/dr-spinner.directive.mjs +9 -4
- package/esm2022/lib/dr-spinner/dr-spinner.module.mjs +3 -5
- package/esm2022/lib/dr-tabs/dr-tab.component.mjs +4 -6
- package/esm2022/lib/dr-tabs/dr-tabs.component.mjs +4 -5
- package/esm2022/lib/dr-tabs/dr-tabs.module.mjs +6 -31
- package/esm2022/lib/dr-tags/dr-tag.component.mjs +9 -10
- package/esm2022/lib/dr-tags/dr-tag.module.mjs +5 -18
- package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.component.mjs +10 -10
- package/esm2022/lib/dr-tags-constructor/dr-tags-constructor.module.mjs +1 -1
- package/esm2022/lib/dr-tags-constructor/tags-constructor.service.mjs +3 -2
- package/esm2022/lib/dr-toastr/default-toastr/default-toastr.component.mjs +4 -4
- package/esm2022/lib/dr-toastr/dr-toastr.module.mjs +5 -7
- package/esm2022/lib/dr-toastr/dr-toastr.service.mjs +3 -3
- package/esm2022/lib/dr-tooltip/components/tooltip-default/tooltip-default.component.mjs +1 -1
- package/esm2022/lib/dr-tooltip/components/tooltip-info/tooltip-info.component.mjs +4 -5
- package/esm2022/lib/dr-tooltip/components/tooltip-info-simple/tooltip-info-simple.component.mjs +4 -5
- package/esm2022/lib/dr-tooltip/components/tooltip-no-body/tooltip-no-body.component.mjs +5 -7
- package/esm2022/lib/dr-tooltip/components/tooltip-process-default/tooltip-process-default.component.mjs +4 -9
- package/esm2022/lib/dr-tooltip/dr-tooltip.component.mjs +3 -7
- package/esm2022/lib/dr-tooltip/dr-tooltip.directive.mjs +8 -4
- package/esm2022/lib/dr-tooltip/dr-tooltip.module.mjs +7 -19
- package/esm2022/lib/dr-treeview/components/treeview/treeview.component.mjs +11 -11
- package/esm2022/lib/dr-treeview/components/treeview-item/treeview-item.component.mjs +4 -4
- package/esm2022/lib/dr-treeview/dr-tree-view.module.mjs +7 -25
- package/esm2022/lib/dr-treeview/helpers/treeview-event-parser.mjs +11 -9
- package/esm2022/lib/dr-treeview/helpers/treeview-helper.mjs +3 -3
- package/esm2022/lib/dr-treeview/models/treeview-config.mjs +1 -1
- package/esm2022/lib/dr-treeview/models/treeview-header-template-context.mjs +1 -1
- package/esm2022/lib/dr-treeview/models/treeview-i18n.mjs +1 -1
- package/esm2022/lib/dr-treeview/models/treeview-item-template-context.mjs +1 -1
- package/esm2022/lib/dr-treeview/models/treeview-item.mjs +7 -7
- package/esm2022/lib/dr-treeview/pipes/treeview.pipe.mjs +3 -3
- package/esm2022/lib/image-cropper/dr-image-cropper-canvas.service.mjs +2 -2
- package/esm2022/lib/image-cropper/dr-image-cropper.component.mjs +3 -3
- package/esm2022/lib/list-tags/list-tag.component.mjs +4 -4
- package/esm2022/lib/list-tags/list-tag.module.mjs +5 -18
- package/esm2022/lib/models/chat.mjs +6 -4
- package/esm2022/lib/models/constants.mjs +17 -22
- package/esm2022/lib/models/datePicker.mjs +2 -2
- package/esm2022/lib/models/dropdown.mjs +1 -1
- package/esm2022/lib/models/feedback.mjs +1 -2
- package/esm2022/lib/models/serverTags.mjs +1 -1
- package/esm2022/lib/models/toastr.mjs +1 -1
- package/esm2022/lib/stepper/stepper.component.mjs +4 -4
- package/esm2022/lib/stepper/stepper.module.mjs +5 -10
- package/esm2022/lib/utils/dr-shared-utils.mjs +1 -1
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/datarailsshared-datarailsshared.mjs +538 -849
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +4 -4
- package/lib/dr-inputs/date-pickers/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +1 -1
- package/lib/models/chat.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -2
- package/datarailsshared-datarailsshared-1.5.313.tgz +0 -0
|
@@ -5,26 +5,16 @@ import { DrPopoverComponent } from './dr-popover.component';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class DrPopoverModule {
|
|
7
7
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrPopoverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DrPopoverModule, declarations: [DrPopoverDirective,
|
|
9
|
-
DrPopoverComponent], imports: [CommonModule], exports: [DrPopoverDirective,
|
|
10
|
-
DrPopoverComponent] }); }
|
|
8
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DrPopoverModule, declarations: [DrPopoverDirective, DrPopoverComponent], imports: [CommonModule], exports: [DrPopoverDirective, DrPopoverComponent] }); }
|
|
11
9
|
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrPopoverModule, imports: [CommonModule] }); }
|
|
12
10
|
}
|
|
13
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrPopoverModule, decorators: [{
|
|
14
12
|
type: NgModule,
|
|
15
13
|
args: [{
|
|
16
|
-
imports: [
|
|
17
|
-
|
|
18
|
-
],
|
|
19
|
-
exports: [
|
|
20
|
-
DrPopoverDirective,
|
|
21
|
-
DrPopoverComponent,
|
|
22
|
-
],
|
|
14
|
+
imports: [CommonModule],
|
|
15
|
+
exports: [DrPopoverDirective, DrPopoverComponent],
|
|
23
16
|
providers: [],
|
|
24
|
-
declarations: [
|
|
25
|
-
DrPopoverDirective,
|
|
26
|
-
DrPopoverComponent,
|
|
27
|
-
],
|
|
17
|
+
declarations: [DrPopoverDirective, DrPopoverComponent],
|
|
28
18
|
}]
|
|
29
19
|
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQVE1RCxNQUFNLE9BQU8sZUFBZTtrSUFBZixlQUFlO21JQUFmLGVBQWUsaUJBRlQsa0JBQWtCLEVBQUUsa0JBQWtCLGFBSDNDLFlBQVksYUFDWixrQkFBa0IsRUFBRSxrQkFBa0I7bUlBSXZDLGVBQWUsWUFMZCxZQUFZOzs0RkFLYixlQUFlO2tCQU4zQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsa0JBQWtCLENBQUM7b0JBQ2pELFNBQVMsRUFBRSxFQUFFO29CQUNiLFlBQVksRUFBRSxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDO2lCQUN6RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEclBvcG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RyLXBvcG92ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEclBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL2RyLXBvcG92ZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgICBleHBvcnRzOiBbRHJQb3BvdmVyRGlyZWN0aXZlLCBEclBvcG92ZXJDb21wb25lbnRdLFxuICAgIHByb3ZpZGVyczogW10sXG4gICAgZGVjbGFyYXRpb25zOiBbRHJQb3BvdmVyRGlyZWN0aXZlLCBEclBvcG92ZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBEclBvcG92ZXJNb2R1bGUge31cbiJdfQ==
|
|
@@ -24,7 +24,7 @@ export class DrPopoverService {
|
|
|
24
24
|
this.registerListeners(model, overlayRef, popoverRef);
|
|
25
25
|
return popoverRef;
|
|
26
26
|
}
|
|
27
|
-
attachOverlayContainer(content, { contentContext, position, class: elementClass, manualClosing, hostRef, alignment, freezeToContainerSelector }, overlayRef, popoverRef) {
|
|
27
|
+
attachOverlayContainer(content, { contentContext, position, class: elementClass, manualClosing, hostRef, alignment, freezeToContainerSelector, }, overlayRef, popoverRef) {
|
|
28
28
|
const componentPortal = new ComponentPortal(DrPopoverComponent, null, this.createInjector(popoverRef));
|
|
29
29
|
const contentRef = overlayRef.attach(componentPortal);
|
|
30
30
|
popoverRef.componentRef = contentRef;
|
|
@@ -49,7 +49,7 @@ export class DrPopoverService {
|
|
|
49
49
|
position.offsetY = 0;
|
|
50
50
|
position.offsetX = 0;
|
|
51
51
|
}
|
|
52
|
-
const config = { ...DEFAULT_CONFIG, ...popoverModel.overlayConfig || {} };
|
|
52
|
+
const config = { ...DEFAULT_CONFIG, ...(popoverModel.overlayConfig || {}) };
|
|
53
53
|
const hostElement = this.getHostElement(popoverModel.hostRef);
|
|
54
54
|
const positionStrategy = this.overlayPositionBuilder.flexibleConnectedTo(popoverModel.hostRef).withPositions([position]);
|
|
55
55
|
const overlayConfig = new OverlayConfig({
|
|
@@ -64,9 +64,7 @@ export class DrPopoverService {
|
|
|
64
64
|
return overlayConfig;
|
|
65
65
|
}
|
|
66
66
|
createInjector(popoverRef) {
|
|
67
|
-
const injectionTokens = [
|
|
68
|
-
{ provide: DrPopoverRef, useValue: popoverRef },
|
|
69
|
-
];
|
|
67
|
+
const injectionTokens = [{ provide: DrPopoverRef, useValue: popoverRef }];
|
|
70
68
|
return Injector.create({ providers: injectionTokens, parent: this.injector });
|
|
71
69
|
}
|
|
72
70
|
registerListeners(popoverModel, overlayRef, popoverRef) {
|
|
@@ -81,8 +79,8 @@ export class DrPopoverService {
|
|
|
81
79
|
}
|
|
82
80
|
if (popoverModel.alignment === 'host' && hostElement) {
|
|
83
81
|
const alignmentDimension = getAlignmentDimension(popoverModel.position);
|
|
84
|
-
const resizeObserver = new ResizeObserver(entries => {
|
|
85
|
-
entries.forEach(host => overlayRef.updateSize({ [alignmentDimension]: host.target.getBoundingClientRect()[alignmentDimension] }));
|
|
82
|
+
const resizeObserver = new ResizeObserver((entries) => {
|
|
83
|
+
entries.forEach((host) => overlayRef.updateSize({ [alignmentDimension]: host.target.getBoundingClientRect()[alignmentDimension] }));
|
|
86
84
|
});
|
|
87
85
|
resizeObserver.observe(hostElement);
|
|
88
86
|
popoverRef.onClose.pipe(first()).subscribe(() => resizeObserver.unobserve(hostElement));
|
|
@@ -104,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
104
102
|
providedIn: 'root',
|
|
105
103
|
}]
|
|
106
104
|
}], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i1.OverlayPositionBuilder }, { type: i0.Injector }]; } });
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFjLFVBQVUsRUFBRSxRQUFRLEVBQXFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLHNCQUFzQixFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFDSCxjQUFjLEVBQ2QsYUFBYSxFQUNiLHFCQUFxQixFQUd4QixNQUFNLG1CQUFtQixDQUFDOzs7QUFLM0IsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixZQUNZLE9BQWdCLEVBQ2hCLHNCQUE4QyxFQUM5QyxRQUFrQjtRQUZsQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUU5QixDQUFDO0lBRUQsSUFBSSxDQUFJLE9BQTJDLEVBQUUsWUFBc0M7UUFDdkYsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLE1BQU0sS0FBSyxHQUFHLEVBQUUsR0FBRyxhQUFhLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQztRQUVwRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTdDLE1BQU0sVUFBVSxHQUFHLElBQUksWUFBWSxDQUFJLFVBQVUsQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVwRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUV0RCxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0lBRU8sc0JBQXNCLENBQzFCLE9BQTJDLEVBQzNDLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLHlCQUF5QixFQUEyQixFQUN4SSxVQUFzQixFQUN0QixVQUEyQjtRQUUzQixNQUFNLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBd0Isa0JBQWtCLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM5SCxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUF3QixlQUFlLENBQUMsQ0FBQztRQUU3RSxVQUFVLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQztRQUVyQyxVQUFVLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdEMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEdBQUcsRUFBRSxHQUFHLGNBQWMsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztRQUM1RyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssR0FBRyxZQUFZLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQztRQUMxRCxVQUFVLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbEQsVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3RDLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMxQyxVQUFVLENBQUMsUUFBUSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDeEMsVUFBVSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsR0FBRyx5QkFBeUIsQ0FBQztJQUM5RSxDQUFDO0lBRU8sYUFBYSxDQUFDLFlBQXNDO1FBQ3hELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxZQUFzQztRQUMzRCxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFvQyxZQUFZLEVBQUUsUUFBUyxhQUFhLENBQUMsQ0FBQztRQUV2SSxNQUFNLFFBQVEsR0FBRyxFQUFFLEdBQUksZUFBZSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ2hFLElBQUksWUFBWSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUU7WUFDdEMsUUFBUSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7WUFDckIsUUFBUSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7U0FDeEI7UUFDRCxNQUFNLE1BQU0sR0FBRyxFQUFFLEdBQUcsY0FBYyxFQUFFLEdBQUcsWUFBWSxDQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUMxRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5RCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUV6SCxNQUFNLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBQztZQUNwQyxjQUFjLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUU7WUFDcEQsZ0JBQWdCO1lBQ2hCLEdBQUcsTUFBTTtTQUNaLENBQUMsQ0FBQztRQUVILElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSyxNQUFNLElBQUksV0FBVyxFQUFFO1lBQ2xELE1BQU0sa0JBQWtCLEdBQUcscUJBQXFCLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3hFLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDL0Y7UUFFRCxPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDO0lBRU8sY0FBYyxDQUFJLFVBQTJCO1FBQ2pELE1BQU0sZUFBZSxHQUFxQjtZQUN0QyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTtTQUNsRCxDQUFDO1FBRUYsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVPLGlCQUFpQixDQUFJLFlBQXNDLEVBQUUsVUFBc0IsRUFBRSxVQUEyQjtRQUNwSCxNQUFNLE1BQU0sR0FBRyxZQUFZLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztRQUNoRCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDO1FBQ2pELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTlELElBQUksTUFBTSxFQUFFLG9CQUFvQixJQUFJLE1BQU0sRUFBRSxXQUFXLEVBQUU7WUFDckQsVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztTQUNsRTtRQUVELElBQUksYUFBYSxFQUFFO1lBQ2YsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN2RjtRQUVELElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSyxNQUFNLElBQUksV0FBVyxFQUFFO1lBQ2xELE1BQU0sa0JBQWtCLEdBQUcscUJBQXFCLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3hFLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNoRCxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN0SSxDQUFDLENBQUMsQ0FBQztZQUNILGNBQWMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1NBQzNGO0lBQ0wsQ0FBQztJQUVPLGNBQWMsQ0FBSSxPQUE0QztRQUNsRSxJQUFJLENBQUMsT0FBTyxJQUFZLE9BQVEsQ0FBQyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDaEQsSUFBaUIsT0FBUSxDQUFDLGFBQWE7WUFBRSxPQUFvQixPQUFRLENBQUMsYUFBYSxDQUFDO1FBQ3BGLE9BQW9CLE9BQU8sQ0FBQztJQUNoQyxDQUFDO2tJQWpIUSxnQkFBZ0I7c0lBQWhCLGdCQUFnQixjQUZiLE1BQU07OzRGQUVULGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERyUG9wb3ZlclJlZiB9IGZyb20gJy4vZHItcG9wb3Zlci1yZWYnO1xuaW1wb3J0IHsgRHJQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9kci1wb3BvdmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdGFibGUsIEluamVjdG9yLCBTdGF0aWNQcm92aWRlciwgVGVtcGxhdGVSZWYsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBQT1BVUF9QT1NJVElPTlMgfSBmcm9tICcuLi9tb2RlbHMvY29uc3RhbnRzJztcbmltcG9ydCB7XG4gICAgREVGQVVMVF9DT05GSUcsXG4gICAgREVGQVVMVF9NT0RFTCxcbiAgICBnZXRBbGlnbm1lbnREaW1lbnNpb24sXG4gICAgSURyUG9wb3ZlckNvbXBvbmVudE1vZGVsLFxuICAgIFBvaW50XG59IGZyb20gJy4uL21vZGVscy9wb3BvdmVyJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRHJQb3BvdmVyU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIG92ZXJsYXlQb3NpdGlvbkJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICkge1xuICAgIH1cblxuICAgIG9wZW48VD4oY29udGVudDogVHlwZTxUPiB8IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PiwgcG9wb3Zlck1vZGVsOiBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwpOiBEclBvcG92ZXJSZWY8VD4ge1xuICAgICAgICBpZiAoIWNvbnRlbnQpIHJldHVybjtcblxuICAgICAgICBjb25zdCBtb2RlbCA9IHsgLi4uREVGQVVMVF9NT0RFTCwgLi4ucG9wb3Zlck1vZGVsIH07XG5cbiAgICAgICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheShtb2RlbCk7XG5cbiAgICAgICAgY29uc3QgcG9wb3ZlclJlZiA9IG5ldyBEclBvcG92ZXJSZWY8VD4ob3ZlcmxheVJlZik7XG5cbiAgICAgICAgdGhpcy5hdHRhY2hPdmVybGF5Q29udGFpbmVyKGNvbnRlbnQsIG1vZGVsLCBvdmVybGF5UmVmLCBwb3BvdmVyUmVmKTtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyTGlzdGVuZXJzKG1vZGVsLCBvdmVybGF5UmVmLCBwb3BvdmVyUmVmKTtcblxuICAgICAgICByZXR1cm4gcG9wb3ZlclJlZjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGF0dGFjaE92ZXJsYXlDb250YWluZXI8VD4oXG4gICAgICAgIGNvbnRlbnQ6IFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHsgY29udGVudENvbnRleHQsIHBvc2l0aW9uLCBjbGFzczogZWxlbWVudENsYXNzLCBtYW51YWxDbG9zaW5nLCBob3N0UmVmLCBhbGlnbm1lbnQsIGZyZWV6ZVRvQ29udGFpbmVyU2VsZWN0b3J9OiBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwsXG4gICAgICAgIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXG4gICAgICAgIHBvcG92ZXJSZWY6IERyUG9wb3ZlclJlZjxUPlxuICAgICk6IHZvaWQge1xuICAgICAgICBjb25zdCBjb21wb25lbnRQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsPERyUG9wb3ZlckNvbXBvbmVudDxUPj4oRHJQb3BvdmVyQ29tcG9uZW50LCBudWxsLCB0aGlzLmNyZWF0ZUluamVjdG9yKHBvcG92ZXJSZWYpKTtcbiAgICAgICAgY29uc3QgY29udGVudFJlZiA9IG92ZXJsYXlSZWYuYXR0YWNoPERyUG9wb3ZlckNvbXBvbmVudDxUPj4oY29tcG9uZW50UG9ydGFsKTtcblxuICAgICAgICBwb3BvdmVyUmVmLmNvbXBvbmVudFJlZiA9IGNvbnRlbnRSZWY7XG5cbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5jb250ZW50ID0gY29udGVudDtcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5jb250ZW50Q29udGV4dCA9IHsgLi4uY29udGVudENvbnRleHQsIGNsb3NlUG9wb3ZlcjogcG9wb3ZlclJlZi5jbG9zZS5iaW5kKHBvcG92ZXJSZWYpIH07XG4gICAgICAgIGNvbnRlbnRSZWYuaW5zdGFuY2UuY2xhc3MgPSBlbGVtZW50Q2xhc3MgKyAnICcgKyBwb3NpdGlvbjtcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5tYW51YWxDbG9zaW5nID0gbWFudWFsQ2xvc2luZztcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5ob3N0UmVmID0gaG9zdFJlZjtcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5hbGlnbm1lbnQgPSBhbGlnbm1lbnQ7XG4gICAgICAgIGNvbnRlbnRSZWYuaW5zdGFuY2UucG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICAgICAgY29udGVudFJlZi5pbnN0YW5jZS5mcmVlemVUb0NvbnRhaW5lclNlbGVjdG9yID0gZnJlZXplVG9Db250YWluZXJTZWxlY3RvcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZU92ZXJsYXkocG9wb3Zlck1vZGVsOiBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwpOiBPdmVybGF5UmVmIHtcbiAgICAgICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IHRoaXMuZ2V0T3ZlcmxheUNvbmZpZyhwb3BvdmVyTW9kZWwpO1xuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE92ZXJsYXlDb25maWcocG9wb3Zlck1vZGVsOiBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwpOiBPdmVybGF5Q29uZmlnIHtcbiAgICAgICAgaWYgKCFQT1BVUF9QT1NJVElPTlNbcG9wb3Zlck1vZGVsLnBvc2l0aW9uXSkgdGhyb3cgbmV3IEVycm9yKGBEclBvcG92ZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGUgJyR7IHBvcG92ZXJNb2RlbD8ucG9zaXRpb24gfScgcG9zaXRpb24hYCk7XG5cbiAgICAgICAgY29uc3QgcG9zaXRpb24gPSB7IC4uLiBQT1BVUF9QT1NJVElPTlNbcG9wb3Zlck1vZGVsLnBvc2l0aW9uXSB9O1xuICAgICAgICBpZiAocG9wb3Zlck1vZGVsLm92ZXJsYXlDb25maWcubm9QYWRkaW5nKSB7XG4gICAgICAgICAgICBwb3NpdGlvbi5vZmZzZXRZID0gMDtcbiAgICAgICAgICAgIHBvc2l0aW9uLm9mZnNldFggPSAwO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHsgLi4uREVGQVVMVF9DT05GSUcsIC4uLnBvcG92ZXJNb2RlbC5vdmVybGF5Q29uZmlnIHx8IHt9IH07XG4gICAgICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy5nZXRIb3N0RWxlbWVudChwb3BvdmVyTW9kZWwuaG9zdFJlZik7XG5cbiAgICAgICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVBvc2l0aW9uQnVpbGRlci5mbGV4aWJsZUNvbm5lY3RlZFRvKHBvcG92ZXJNb2RlbC5ob3N0UmVmKS53aXRoUG9zaXRpb25zKFtwb3NpdGlvbl0pO1xuXG4gICAgICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMubm9vcCgpLFxuICAgICAgICAgICAgcG9zaXRpb25TdHJhdGVneSxcbiAgICAgICAgICAgIC4uLmNvbmZpZyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHBvcG92ZXJNb2RlbC5hbGlnbm1lbnQgPT09ICdob3N0JyAmJiBob3N0RWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3QgYWxpZ25tZW50RGltZW5zaW9uID0gZ2V0QWxpZ25tZW50RGltZW5zaW9uKHBvcG92ZXJNb2RlbC5wb3NpdGlvbik7XG4gICAgICAgICAgICBvdmVybGF5Q29uZmlnW2FsaWdubWVudERpbWVuc2lvbl0gPSBob3N0RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVthbGlnbm1lbnREaW1lbnNpb25dO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG92ZXJsYXlDb25maWc7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVJbmplY3RvcjxUPihwb3BvdmVyUmVmOiBEclBvcG92ZXJSZWY8VD4pOiBJbmplY3RvciB7XG4gICAgICAgIGNvbnN0IGluamVjdGlvblRva2VuczogU3RhdGljUHJvdmlkZXJbXSA9IFtcbiAgICAgICAgICAgIHsgcHJvdmlkZTogRHJQb3BvdmVyUmVmLCB1c2VWYWx1ZTogcG9wb3ZlclJlZiB9LFxuICAgICAgICBdO1xuXG4gICAgICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoeyBwcm92aWRlcnM6IGluamVjdGlvblRva2VucywgcGFyZW50OiB0aGlzLmluamVjdG9yIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJMaXN0ZW5lcnM8VD4ocG9wb3Zlck1vZGVsOiBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwsIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsIHBvcG92ZXJSZWY6IERyUG9wb3ZlclJlZjxUPik6IHZvaWQge1xuICAgICAgICBjb25zdCBjb25maWcgPSBwb3BvdmVyTW9kZWwub3ZlcmxheUNvbmZpZyB8fCB7fTtcbiAgICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IHBvcG92ZXJNb2RlbC50YXJnZXRFbGVtZW50O1xuICAgICAgICBjb25zdCBob3N0RWxlbWVudCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQocG9wb3Zlck1vZGVsLmhvc3RSZWYpO1xuXG4gICAgICAgIGlmIChjb25maWc/LmNsb3NlT25CYWNrZHJvcENsaWNrICYmIGNvbmZpZz8uaGFzQmFja2Ryb3ApIHtcbiAgICAgICAgICAgIG92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiBwb3BvdmVyUmVmLmNsb3NlKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRhcmdldEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsICgpID0+IHBvcG92ZXJSZWYuY2xvc2UoKSwgeyBvbmNlOiB0cnVlIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBvcG92ZXJNb2RlbC5hbGlnbm1lbnQgPT09ICdob3N0JyAmJiBob3N0RWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3QgYWxpZ25tZW50RGltZW5zaW9uID0gZ2V0QWxpZ25tZW50RGltZW5zaW9uKHBvcG92ZXJNb2RlbC5wb3NpdGlvbik7XG4gICAgICAgICAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcihlbnRyaWVzID0+IHtcbiAgICAgICAgICAgICAgICBlbnRyaWVzLmZvckVhY2goaG9zdCA9PiBvdmVybGF5UmVmLnVwZGF0ZVNpemUoeyBbYWxpZ25tZW50RGltZW5zaW9uXTogaG9zdC50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClbYWxpZ25tZW50RGltZW5zaW9uXSB9KSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJlc2l6ZU9ic2VydmVyLm9ic2VydmUoaG9zdEVsZW1lbnQpO1xuICAgICAgICAgICAgcG9wb3ZlclJlZi5vbkNsb3NlLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCgpID0+IHJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZShob3N0RWxlbWVudCkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIb3N0RWxlbWVudDxUPihob3N0UmVmOiBQb2ludCB8IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZjxUPik6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgaWYgKCFob3N0UmVmIHx8ICg8UG9pbnQ+aG9zdFJlZikueCkgcmV0dXJuIG51bGw7XG4gICAgICAgIGlmICgoPEVsZW1lbnRSZWY+aG9zdFJlZikubmF0aXZlRWxlbWVudCkgcmV0dXJuICg8RWxlbWVudFJlZj5ob3N0UmVmKS5uYXRpdmVFbGVtZW50O1xuICAgICAgICByZXR1cm4gPEhUTUxFbGVtZW50Pmhvc3RSZWY7XG4gICAgfVxuXG59XG4iXX0=
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItcG9wb3Zlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFjLFVBQVUsRUFBRSxRQUFRLEVBQXFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLHNCQUFzQixFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDbEcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFtQyxNQUFNLG1CQUFtQixDQUFDOzs7QUFLMUgsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixZQUNZLE9BQWdCLEVBQ2hCLHNCQUE4QyxFQUM5QyxRQUFrQjtRQUZsQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDOUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUMzQixDQUFDO0lBRUosSUFBSSxDQUFJLE9BQTJDLEVBQUUsWUFBc0M7UUFDdkYsSUFBSSxDQUFDLE9BQU87WUFBRSxPQUFPO1FBRXJCLE1BQU0sS0FBSyxHQUFHLEVBQUUsR0FBRyxhQUFhLEVBQUUsR0FBRyxZQUFZLEVBQUUsQ0FBQztRQUVwRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxD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QkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEclBvcG92ZXJSZWYgfSBmcm9tICcuL2RyLXBvcG92ZXItcmVmJztcbmltcG9ydCB7IERyUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4vZHItcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlLCBJbmplY3RvciwgU3RhdGljUHJvdmlkZXIsIFRlbXBsYXRlUmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UG9zaXRpb25CdWlsZGVyLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgUE9QVVBfUE9TSVRJT05TIH0gZnJvbSAnLi4vbW9kZWxzL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBERUZBVUxUX0NPTkZJRywgREVGQVVMVF9NT0RFTCwgZ2V0QWxpZ25tZW50RGltZW5zaW9uLCBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwsIFBvaW50IH0gZnJvbSAnLi4vbW9kZWxzL3BvcG92ZXInO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBEclBvcG92ZXJTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIG92ZXJsYXlQb3NpdGlvbkJ1aWxkZXI6IE92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICkge31cblxuICAgIG9wZW48VD4oY29udGVudDogVHlwZTxUPiB8IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PiwgcG9wb3Zlck1vZGVsOiBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwpOiBEclBvcG92ZXJSZWY8VD4ge1xuICAgICAgICBpZiAoIWNvbnRlbnQpIHJldHVybjtcblxuICAgICAgICBjb25zdCBtb2RlbCA9IHsgLi4uREVGQVVMVF9NT0RFTCwgLi4ucG9wb3Zlck1vZGVsIH07XG5cbiAgICAgICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuY3JlYXRlT3ZlcmxheShtb2RlbCk7XG5cbiAgICAgICAgY29uc3QgcG9wb3ZlclJlZiA9IG5ldyBEclBvcG92ZXJSZWY8VD4ob3ZlcmxheVJlZik7XG5cbiAgICAgICAgdGhpcy5hdHRhY2hPdmVybGF5Q29udGFpbmVyKGNvbnRlbnQsIG1vZGVsLCBvdmVybGF5UmVmLCBwb3BvdmVyUmVmKTtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyTGlzdGVuZXJzKG1vZGVsLCBvdmVybGF5UmVmLCBwb3BvdmVyUmVmKTtcblxuICAgICAgICByZXR1cm4gcG9wb3ZlclJlZjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGF0dGFjaE92ZXJsYXlDb250YWluZXI8VD4oXG4gICAgICAgIGNvbnRlbnQ6IFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGNvbnRlbnRDb250ZXh0LFxuICAgICAgICAgICAgcG9zaXRpb24sXG4gICAgICAgICAgICBjbGFzczogZWxlbWVudENsYXNzLFxuICAgICAgICAgICAgbWFudWFsQ2xvc2luZyxcbiAgICAgICAgICAgIGhvc3RSZWYsXG4gICAgICAgICAgICBhbGlnbm1lbnQsXG4gICAgICAgICAgICBmcmVlemVUb0NvbnRhaW5lclNlbGVjdG9yLFxuICAgICAgICB9OiBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwsXG4gICAgICAgIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXG4gICAgICAgIHBvcG92ZXJSZWY6IERyUG9wb3ZlclJlZjxUPixcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY29tcG9uZW50UG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbDxEclBvcG92ZXJDb21wb25lbnQ8VD4+KFxuICAgICAgICAgICAgRHJQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlSW5qZWN0b3IocG9wb3ZlclJlZiksXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRSZWYgPSBvdmVybGF5UmVmLmF0dGFjaDxEclBvcG92ZXJDb21wb25lbnQ8VD4+KGNvbXBvbmVudFBvcnRhbCk7XG5cbiAgICAgICAgcG9wb3ZlclJlZi5jb21wb25lbnRSZWYgPSBjb250ZW50UmVmO1xuXG4gICAgICAgIGNvbnRlbnRSZWYuaW5zdGFuY2UuY29udGVudCA9IGNvbnRlbnQ7XG4gICAgICAgIGNvbnRlbnRSZWYuaW5zdGFuY2UuY29udGVudENvbnRleHQgPSB7IC4uLmNvbnRlbnRDb250ZXh0LCBjbG9zZVBvcG92ZXI6IHBvcG92ZXJSZWYuY2xvc2UuYmluZChwb3BvdmVyUmVmKSB9O1xuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLmNsYXNzID0gZWxlbWVudENsYXNzICsgJyAnICsgcG9zaXRpb247XG4gICAgICAgIGNvbnRlbnRSZWYuaW5zdGFuY2UubWFudWFsQ2xvc2luZyA9IG1hbnVhbENsb3Npbmc7XG4gICAgICAgIGNvbnRlbnRSZWYuaW5zdGFuY2UuaG9zdFJlZiA9IGhvc3RSZWY7XG4gICAgICAgIGNvbnRlbnRSZWYuaW5zdGFuY2UuYWxpZ25tZW50ID0gYWxpZ25tZW50O1xuICAgICAgICBjb250ZW50UmVmLmluc3RhbmNlLnBvc2l0aW9uID0gcG9zaXRpb247XG4gICAgICAgIGNvbnRlbnRSZWYuaW5zdGFuY2UuZnJlZXplVG9Db250YWluZXJTZWxlY3RvciA9IGZyZWV6ZVRvQ29udGFpbmVyU2VsZWN0b3I7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KHBvcG92ZXJNb2RlbDogSURyUG9wb3ZlckNvbXBvbmVudE1vZGVsKTogT3ZlcmxheVJlZiB7XG4gICAgICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSB0aGlzLmdldE92ZXJsYXlDb25maWcocG9wb3Zlck1vZGVsKTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3ZlcmxheS5jcmVhdGUob3ZlcmxheUNvbmZpZyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRPdmVybGF5Q29uZmlnKHBvcG92ZXJNb2RlbDogSURyUG9wb3ZlckNvbXBvbmVudE1vZGVsKTogT3ZlcmxheUNvbmZpZyB7XG4gICAgICAgIGlmICghUE9QVVBfUE9TSVRJT05TW3BvcG92ZXJNb2RlbC5wb3NpdGlvbl0pXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYERyUG9wb3ZlciBkb2VzIG5vdCBzdXBwb3J0IHRoZSAnJHtwb3BvdmVyTW9kZWw/LnBvc2l0aW9ufScgcG9zaXRpb24hYCk7XG5cbiAgICAgICAgY29uc3QgcG9zaXRpb24gPSB7IC4uLlBPUFVQX1BPU0lUSU9OU1twb3BvdmVyTW9kZWwucG9zaXRpb25dIH07XG4gICAgICAgIGlmIChwb3BvdmVyTW9kZWwub3ZlcmxheUNvbmZpZy5ub1BhZGRpbmcpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uLm9mZnNldFkgPSAwO1xuICAgICAgICAgICAgcG9zaXRpb24ub2Zmc2V0WCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY29uZmlnID0geyAuLi5ERUZBVUxUX0NPTkZJRywgLi4uKHBvcG92ZXJNb2RlbC5vdmVybGF5Q29uZmlnIHx8IHt9KSB9O1xuICAgICAgICBjb25zdCBob3N0RWxlbWVudCA9IHRoaXMuZ2V0SG9zdEVsZW1lbnQocG9wb3Zlck1vZGVsLmhvc3RSZWYpO1xuXG4gICAgICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSB0aGlzLm92ZXJsYXlQb3NpdGlvbkJ1aWxkZXIuZmxleGlibGVDb25uZWN0ZWRUbyhwb3BvdmVyTW9kZWwuaG9zdFJlZikud2l0aFBvc2l0aW9ucyhbcG9zaXRpb25dKTtcblxuICAgICAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLm5vb3AoKSxcbiAgICAgICAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXG4gICAgICAgICAgICAuLi5jb25maWcsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChwb3BvdmVyTW9kZWwuYWxpZ25tZW50ID09PSAnaG9zdCcgJiYgaG9zdEVsZW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGFsaWdubWVudERpbWVuc2lvbiA9IGdldEFsaWdubWVudERpbWVuc2lvbihwb3BvdmVyTW9kZWwucG9zaXRpb24pO1xuICAgICAgICAgICAgb3ZlcmxheUNvbmZpZ1thbGlnbm1lbnREaW1lbnNpb25dID0gaG9zdEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClbYWxpZ25tZW50RGltZW5zaW9uXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvdmVybGF5Q29uZmlnO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlSW5qZWN0b3I8VD4ocG9wb3ZlclJlZjogRHJQb3BvdmVyUmVmPFQ+KTogSW5qZWN0b3Ige1xuICAgICAgICBjb25zdCBpbmplY3Rpb25Ub2tlbnM6IFN0YXRpY1Byb3ZpZGVyW10gPSBbeyBwcm92aWRlOiBEclBvcG92ZXJSZWYsIHVzZVZhbHVlOiBwb3BvdmVyUmVmIH1dO1xuXG4gICAgICAgIHJldHVybiBJbmplY3Rvci5jcmVhdGUoeyBwcm92aWRlcnM6IGluamVjdGlvblRva2VucywgcGFyZW50OiB0aGlzLmluamVjdG9yIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJMaXN0ZW5lcnM8VD4oXG4gICAgICAgIHBvcG92ZXJNb2RlbDogSURyUG9wb3ZlckNvbXBvbmVudE1vZGVsLFxuICAgICAgICBvdmVybGF5UmVmOiBPdmVybGF5UmVmLFxuICAgICAgICBwb3BvdmVyUmVmOiBEclBvcG92ZXJSZWY8VD4sXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbmZpZyA9IHBvcG92ZXJNb2RlbC5vdmVybGF5Q29uZmlnIHx8IHt9O1xuICAgICAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gcG9wb3Zlck1vZGVsLnRhcmdldEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGhvc3RFbGVtZW50ID0gdGhpcy5nZXRIb3N0RWxlbWVudChwb3BvdmVyTW9kZWwuaG9zdFJlZik7XG5cbiAgICAgICAgaWYgKGNvbmZpZz8uY2xvc2VPbkJhY2tkcm9wQ2xpY2sgJiYgY29uZmlnPy5oYXNCYWNrZHJvcCkge1xuICAgICAgICAgICAgb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHBvcG92ZXJSZWYuY2xvc2UoKSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGFyZ2V0RWxlbWVudCkge1xuICAgICAgICAgICAgdGFyZ2V0RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgKCkgPT4gcG9wb3ZlclJlZi5jbG9zZSgpLCB7IG9uY2U6IHRydWUgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocG9wb3Zlck1vZGVsLmFsaWdubWVudCA9PT0gJ2hvc3QnICYmIGhvc3RFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBhbGlnbm1lbnREaW1lbnNpb24gPSBnZXRBbGlnbm1lbnREaW1lbnNpb24ocG9wb3Zlck1vZGVsLnBvc2l0aW9uKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKChlbnRyaWVzKSA9PiB7XG4gICAgICAgICAgICAgICAgZW50cmllcy5mb3JFYWNoKChob3N0KSA9PlxuICAgICAgICAgICAgICAgICAgICBvdmVybGF5UmVmLnVwZGF0ZVNpemUoeyBbYWxpZ25tZW50RGltZW5zaW9uXTogaG9zdC50YXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KClbYWxpZ25tZW50RGltZW5zaW9uXSB9KSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKGhvc3RFbGVtZW50KTtcbiAgICAgICAgICAgIHBvcG92ZXJSZWYub25DbG9zZS5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoKSA9PiByZXNpemVPYnNlcnZlci51bm9ic2VydmUoaG9zdEVsZW1lbnQpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0SG9zdEVsZW1lbnQ8VD4oaG9zdFJlZjogUG9pbnQgfCBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWY8VD4pOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGlmICghaG9zdFJlZiB8fCAoPFBvaW50Pmhvc3RSZWYpLngpIHJldHVybiBudWxsO1xuICAgICAgICBpZiAoKDxFbGVtZW50UmVmPmhvc3RSZWYpLm5hdGl2ZUVsZW1lbnQpIHJldHVybiAoPEVsZW1lbnRSZWY+aG9zdFJlZikubmF0aXZlRWxlbWVudDtcbiAgICAgICAgcmV0dXJuIDxIVE1MRWxlbWVudD5ob3N0UmVmO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -58,11 +58,11 @@ export class DrScenarioConfigurationComponent {
|
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
60
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrScenarioConfigurationComponent, deps: [{ token: i1.ScenarioService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
61
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrScenarioConfigurationComponent, selector: "dr-scenario-configuration", inputs: { currentTagsConfig: "currentTagsConfig", wholeTagsConfig: "wholeTagsConfig", selectedScenario: "selectedScenario", isMultipleDimension: "isMultipleDimension" }, outputs: { scenarioDataChanged: "scenarioDataChanged" }, providers: [ScenarioService], ngImport: i0, template: "<div class=\"scenario\">\n <div class=\"scenario__list\">\n <p class=\"scenario__title scenario__title-list\">Scenario</p>\n <dr-select
|
|
61
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrScenarioConfigurationComponent, selector: "dr-scenario-configuration", inputs: { currentTagsConfig: "currentTagsConfig", wholeTagsConfig: "wholeTagsConfig", selectedScenario: "selectedScenario", isMultipleDimension: "isMultipleDimension" }, outputs: { scenarioDataChanged: "scenarioDataChanged" }, providers: [ScenarioService], ngImport: i0, template: "<div class=\"scenario\">\n <div class=\"scenario__list\">\n <p class=\"scenario__title scenario__title-list\">Scenario</p>\n <dr-select\n [(ngModel)]=\"selectedScenario\"\n placeholder=\"Select\"\n [items]=\"scenarios\"\n (ngModelChange)=\"onScenarioChange($event)\"></dr-select>\n </div>\n <div class=\"scenario__tags\" *ngIf=\"scenarioTags?.length\">\n <dr-tags-constructor\n [scenarioTagsConfig]=\"scenarioTags\"\n (tagChange)=\"onScenarioDataChange()\"\n (tagToggle)=\"onScenarioTagToggle($any($event))\"></dr-tags-constructor>\n </div>\n</div>\n", styles: [".scenario__title{padding:0;margin:0;color:#0c142b;font-weight:400;font-size:14px;line-height:22px;font-weight:600}.scenario__title-list{margin-bottom:4px}.scenario__tags{margin-top:24px}:host::ng-deep .toggle-container__item{padding:2px 8px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DrSelectComponent, selector: "dr-select", inputs: ["className", "items", "addTag", "appendTo", "bindLabel", "bindValue", "clearable", "searchable", "searchFn", "multiple", "hideSelected", "placeholder", "loading", "loadingText", "readonly", "disabled", "groupBy", "optionWithDescription", "id", "keyDownFn", "selectedItem", "dropdownClass", "closeOnSelect", "textView", "autofocus", "isOpen"], outputs: ["change", "open", "closeUp"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.DrTagsConstructorComponent, selector: "dr-tags-constructor", inputs: ["scenarioTagsConfig", "tagsConfigToDisplay", "selectedTagsConfig"], outputs: ["tagChange", "tagToggle", "stateChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
62
62
|
}
|
|
63
63
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrScenarioConfigurationComponent, decorators: [{
|
|
64
64
|
type: Component,
|
|
65
|
-
args: [{ selector: 'dr-scenario-configuration', changeDetection: ChangeDetectionStrategy.OnPush, providers: [ScenarioService], template: "<div class=\"scenario\">\n <div class=\"scenario__list\">\n <p class=\"scenario__title scenario__title-list\">Scenario</p>\n <dr-select
|
|
65
|
+
args: [{ selector: 'dr-scenario-configuration', changeDetection: ChangeDetectionStrategy.OnPush, providers: [ScenarioService], template: "<div class=\"scenario\">\n <div class=\"scenario__list\">\n <p class=\"scenario__title scenario__title-list\">Scenario</p>\n <dr-select\n [(ngModel)]=\"selectedScenario\"\n placeholder=\"Select\"\n [items]=\"scenarios\"\n (ngModelChange)=\"onScenarioChange($event)\"></dr-select>\n </div>\n <div class=\"scenario__tags\" *ngIf=\"scenarioTags?.length\">\n <dr-tags-constructor\n [scenarioTagsConfig]=\"scenarioTags\"\n (tagChange)=\"onScenarioDataChange()\"\n (tagToggle)=\"onScenarioTagToggle($any($event))\"></dr-tags-constructor>\n </div>\n</div>\n", styles: [".scenario__title{padding:0;margin:0;color:#0c142b;font-weight:400;font-size:14px;line-height:22px;font-weight:600}.scenario__title-list{margin-bottom:4px}.scenario__tags{margin-top:24px}:host::ng-deep .toggle-container__item{padding:2px 8px!important}\n"] }]
|
|
66
66
|
}], ctorParameters: function () { return [{ type: i1.ScenarioService }]; }, propDecorators: { currentTagsConfig: [{
|
|
67
67
|
type: Input
|
|
68
68
|
}], wholeTagsConfig: [{
|
|
@@ -74,4 +74,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
74
74
|
}], scenarioDataChanged: [{
|
|
75
75
|
type: Output
|
|
76
76
|
}] } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1zY2VuYXJpby9jb21wb25lbnRzL2RyLXNjZW5hcmlvLWNvbmZpZ3VyYXRpb24vZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1zY2VuYXJpby9jb21wb25lbnRzL2RyLXNjZW5hcmlvLWNvbmZpZ3VyYXRpb24vZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hHLE9BQU8sRUFBa0IsUUFBUSxFQUF3QixNQUFNLDJCQUEyQixDQUFDO0FBQzNGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNsRSxPQUFPLEVBQVEsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7QUFTdkMsTUFBTSxPQUFPLGdDQUFnQztJQVN6QyxJQUFvQixnQkFBZ0IsQ0FBQyxRQUFrQjtRQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDMUMsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQztJQUN0QyxDQUFDO0lBS0QsSUFBVyxnQkFBZ0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQztJQUN0RCxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBVyxZQUFZLENBQUMsSUFBc0I7UUFDMUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2QsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsWUFBb0IsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBbkM1QyxrQkFBYSxHQUFxQixFQUFFLENBQUM7UUFLN0Isb0JBQWUsR0FBVyxFQUFFLENBQUM7UUFTN0Isd0JBQW1CLEdBQVksS0FBSyxDQUFDO1FBRXBDLHdCQUFtQixHQUF1QyxJQUFJLFlBQVksRUFBd0IsQ0FBQztJQW1CN0QsQ0FBQztJQUVqRCxRQUFRO1FBQ1gsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztRQUNoRCxJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzlHLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsUUFBa0I7UUFDdEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLHlCQUF5QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxHQUFtQjtRQUMxQyxJQUFJLENBQUMsZUFBZSxDQUFDLDRCQUE0QixDQUFpQixHQUFHLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqSCxJQUFJLENBQUMsZUFBZSxDQUFDLDJCQUEyQixDQUFpQixHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxvQkFBb0I7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQztZQUMxQixRQUFRLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUMvQixVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUM7U0FDeEcsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztrSUE5RFEsZ0NBQWdDO3NIQUFoQyxnQ0FBZ0MsdVJBRjlCLENBQUMsZUFBZSxDQUFDLDBCQ1hoQyxzcEJBZ0JBOzs0RkRIYSxnQ0FBZ0M7a0JBUDVDLFNBQVM7K0JBQ0ksMkJBQTJCLG1CQUdwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsZUFBZSxDQUFDO3NHQVNaLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFDVSxlQUFlO3NCQUE5QixLQUFLO2dCQUNjLGdCQUFnQjtzQkFBbkMsS0FBSztnQkFRVSxtQkFBbUI7c0JBQWxDLEtBQUs7Z0JBRVcsbUJBQW1CO3NCQUFuQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElTY2VuYXJpb1RhZ1VpLCBTY2VuYXJpbywgVFNjZW5hcmlvRGF0YUNoYW5nZWQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NjZW5hcmlvJztcbmltcG9ydCB7IFNjZW5hcmlvU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NjZW5hcmlvLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVRhZywgVGFnVHlwZXMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvc2VydmVyVGFncyc7XG5pbXBvcnQgeyBmaW5kIGFzIF9maW5kIH0gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1zY2VuYXJpby1jb25maWd1cmF0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1NjZW5hcmlvU2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIERyU2NlbmFyaW9Db25maWd1cmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgc2NlbmFyaW9zOiBTY2VuYXJpb1tdO1xuXG4gICAgcHJpdmF0ZSBfc2NlbmFyaW9UYWdzOiBJU2NlbmFyaW9UYWdVaVtdID0gW107XG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRTY2VuYXJpbzogU2NlbmFyaW87XG4gICAgcHJpdmF0ZSB0YWdOb3RTdXBwb3J0aW5nRGF0ZXM6IElTY2VuYXJpb1RhZ1VpO1xuXG4gICAgQElucHV0KCkgcHVibGljIGN1cnJlbnRUYWdzQ29uZmlnOiBJVGFnW107XG4gICAgQElucHV0KCkgcHVibGljIHdob2xlVGFnc0NvbmZpZzogSVRhZ1tdID0gW107XG4gICAgQElucHV0KCkgcHVibGljIHNldCBzZWxlY3RlZFNjZW5hcmlvKHNjZW5hcmlvOiBTY2VuYXJpbykge1xuICAgICAgICBpZiAoIU9iamVjdC52YWx1ZXMoU2NlbmFyaW8pLmluY2x1ZGVzKHNjZW5hcmlvKSkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRTY2VuYXJpbyA9IFNjZW5hcmlvLkFDVFVBTFM7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9zZWxlY3RlZFNjZW5hcmlvID0gc2NlbmFyaW87XG4gICAgfVxuICAgIEBJbnB1dCgpIHB1YmxpYyBpc011bHRpcGxlRGltZW5zaW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIHNjZW5hcmlvRGF0YUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxUU2NlbmFyaW9EYXRhQ2hhbmdlZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRTY2VuYXJpb0RhdGFDaGFuZ2VkPigpO1xuXG4gICAgcHVibGljIGdldCBzZWxlY3RlZFNjZW5hcmlvKCk6IFNjZW5hcmlvIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkU2NlbmFyaW8gfHwgU2NlbmFyaW8uQUNUVUFMUztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNjZW5hcmlvVGFncygpOiBJU2NlbmFyaW9UYWdVaVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NjZW5hcmlvVGFncztcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHNjZW5hcmlvVGFncyh0YWdzOiBJU2NlbmFyaW9UYWdVaVtdKSB7XG4gICAgICAgIHRoaXMuX3NjZW5hcmlvVGFncyA9IHRhZ3M7XG4gICAgICAgIHRoaXMudGFnTm90U3VwcG9ydGluZ0RhdGVzID0gX2ZpbmQodGFncywgeyB0dXJuT2ZmRGF0ZVRhZ3M6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBkYXRlVGFnKCk6IElTY2VuYXJpb1RhZ1VpIHtcbiAgICAgICAgcmV0dXJuIF9maW5kKHRoaXMuc2NlbmFyaW9UYWdzLCB7IHR5cGU6IFRhZ1R5cGVzLkRBVEUgfSk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzY2VuYXJpb1NlcnZpY2U6IFNjZW5hcmlvU2VydmljZSkge31cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zY2VuYXJpb3MgPSB0aGlzLnNjZW5hcmlvU2VydmljZS5zY2VuYXJpb3M7XG4gICAgICAgIHRoaXMuc2NlbmFyaW9TZXJ2aWNlLmluaXRTY2VuYXJpb1RhZ3ModGhpcy53aG9sZVRhZ3NDb25maWcsIHRoaXMuY3VycmVudFRhZ3NDb25maWcsIHRoaXMuaXNNdWx0aXBsZURpbWVuc2lvbik7XG4gICAgICAgIHRoaXMuc2NlbmFyaW9UYWdzID0gdGhpcy5zY2VuYXJpb1NlcnZpY2UuZ2V0U2NlbmFyaW9UYWdzQnlTY2VuYXJpbyh0aGlzLnNlbGVjdGVkU2NlbmFyaW8pO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNjZW5hcmlvQ2hhbmdlKHNjZW5hcmlvOiBTY2VuYXJpbyk6IHZvaWQge1xuICAgICAgICB0aGlzLnNjZW5hcmlvVGFncyA9IHRoaXMuc2NlbmFyaW9TZXJ2aWNlLmdldFNjZW5hcmlvVGFnc0J5U2NlbmFyaW8oc2NlbmFyaW8pO1xuICAgICAgICB0aGlzLm9uU2NlbmFyaW9EYXRhQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2NlbmFyaW9UYWdUb2dnbGUodGFnOiBJU2NlbmFyaW9UYWdVaSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNjZW5hcmlvU2VydmljZS50YWdOb3RTdXBwb3J0aW5nRGF0ZXNIYW5kbGVyPElTY2VuYXJpb1RhZ1VpPih0YWcsIHRoaXMudGFnTm90U3VwcG9ydGluZ0RhdGVzLCB0aGlzLmRhdGVUYWcpO1xuICAgICAgICB0aGlzLnNjZW5hcmlvU2VydmljZS50YWdBY2NlcHRhYmxlU3ViVGFnc0hhbmRsZXI8SVNjZW5hcmlvVGFnVWk+KHRhZywgdGhpcy5kYXRlVGFnKTtcbiAgICAgICAgdGhpcy5vblNjZW5hcmlvRGF0YUNoYW5nZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNjZW5hcmlvRGF0YUNoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zY2VuYXJpb0RhdGFDaGFuZ2VkLmVtaXQoe1xuICAgICAgICAgICAgc2NlbmFyaW86IHRoaXMuc2VsZWN0ZWRTY2VuYXJpbyxcbiAgICAgICAgICAgIHRhZ3NDb25maWc6IHRoaXMuc2NlbmFyaW9TZXJ2aWNlLmdldFRhZ3NDb25maWdCeVNjZW5hcmlvVGFncyh0aGlzLnNjZW5hcmlvVGFncywgdGhpcy53aG9sZVRhZ3NDb25maWcpLFxuICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2NlbmFyaW9cIj5cbiAgICA8ZGl2IGNsYXNzPVwic2NlbmFyaW9fX2xpc3RcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJzY2VuYXJpb19fdGl0bGUgc2NlbmFyaW9fX3RpdGxlLWxpc3RcIj5TY2VuYXJpbzwvcD5cbiAgICAgICAgPGRyLXNlbGVjdFxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFNjZW5hcmlvXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VsZWN0XCJcbiAgICAgICAgICAgIFtpdGVtc109XCJzY2VuYXJpb3NcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TY2VuYXJpb0NoYW5nZSgkZXZlbnQpXCI+PC9kci1zZWxlY3Q+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInNjZW5hcmlvX190YWdzXCIgKm5nSWY9XCJzY2VuYXJpb1RhZ3M/Lmxlbmd0aFwiPlxuICAgICAgICA8ZHItdGFncy1jb25zdHJ1Y3RvclxuICAgICAgICAgICAgW3NjZW5hcmlvVGFnc0NvbmZpZ109XCJzY2VuYXJpb1RhZ3NcIlxuICAgICAgICAgICAgKHRhZ0NoYW5nZSk9XCJvblNjZW5hcmlvRGF0YUNoYW5nZSgpXCJcbiAgICAgICAgICAgICh0YWdUb2dnbGUpPVwib25TY2VuYXJpb1RhZ1RvZ2dsZSgkYW55KCRldmVudCkpXCI+PC9kci10YWdzLWNvbnN0cnVjdG9yPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -54,11 +54,11 @@ export class DrScenarioTagConfigurationComponent {
|
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrScenarioTagConfigurationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
57
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrScenarioTagConfigurationComponent, selector: "dr-scenario-tag-configuration", inputs: { tagsConfig: "tagsConfig", currentTags: "currentTags", scenario: "scenario", connectedTags: "connectedTags", dynamicTagValues: "dynamicTagValues", lockedDates: "lockedDates", fiscalYearStartsFrom: "fiscalYearStartsFrom", fiscalYearBack: "fiscalYearBack", isDynamicAddEnabled: "isDynamicAddEnabled" }, outputs: { scenarioTagDataChanged: "scenarioTagDataChanged" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"scenario-tag-configuration\"
|
|
57
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrScenarioTagConfigurationComponent, selector: "dr-scenario-tag-configuration", inputs: { tagsConfig: "tagsConfig", currentTags: "currentTags", scenario: "scenario", connectedTags: "connectedTags", dynamicTagValues: "dynamicTagValues", lockedDates: "lockedDates", fiscalYearStartsFrom: "fiscalYearStartsFrom", fiscalYearBack: "fiscalYearBack", isDynamicAddEnabled: "isDynamicAddEnabled" }, outputs: { scenarioTagDataChanged: "scenarioTagDataChanged" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"scenario-tag-configuration\" *ngFor=\"let tagConfig of tagsConfig\">\n <dr-tag\n [tagConfig]=\"tagConfig\"\n [selectedTag]=\"currentTagsMap[tagConfig.id]\"\n [lockedDate]=\"lockedDates\"\n [fiscalYearStartsFrom]=\"fiscalYearStartsFrom\"\n [fiscalYearBack]=\"fiscalYearBack\"\n [tagsConfig]=\"tagsConfig\"\n [dynamicTagValues]=\"dynamicTagValues\"\n [connectedTags]=\"connectedTags[tagConfig.id]\"\n [isDynamicTagAddEnabled]=\"isDynamicAddEnabled\"\n (tagChange)=\"onTagChange($event)\"\n (dynamicTagChange)=\"onDynamicTagsChange($event)\"></dr-tag>\n</div>\n", styles: [".scenario-tag-configuration{margin-bottom:24px}.scenario-tag-configuration:last-child{margin-bottom:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.DrTagComponent, selector: "dr-tag", inputs: ["tagConfig", "selectedTag", "lockedDate", "fiscalYearStartsFrom", "fiscalYearBack", "tagsConfig", "dynamicTagValues", "connectedTags", "isDynamicTagAddEnabled", "disabled"], outputs: ["tagChange", "dynamicTagChange", "dynamicTagAdd"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
58
58
|
}
|
|
59
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrScenarioTagConfigurationComponent, decorators: [{
|
|
60
60
|
type: Component,
|
|
61
|
-
args: [{ selector: 'dr-scenario-tag-configuration', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"scenario-tag-configuration\"
|
|
61
|
+
args: [{ selector: 'dr-scenario-tag-configuration', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"scenario-tag-configuration\" *ngFor=\"let tagConfig of tagsConfig\">\n <dr-tag\n [tagConfig]=\"tagConfig\"\n [selectedTag]=\"currentTagsMap[tagConfig.id]\"\n [lockedDate]=\"lockedDates\"\n [fiscalYearStartsFrom]=\"fiscalYearStartsFrom\"\n [fiscalYearBack]=\"fiscalYearBack\"\n [tagsConfig]=\"tagsConfig\"\n [dynamicTagValues]=\"dynamicTagValues\"\n [connectedTags]=\"connectedTags[tagConfig.id]\"\n [isDynamicTagAddEnabled]=\"isDynamicAddEnabled\"\n (tagChange)=\"onTagChange($event)\"\n (dynamicTagChange)=\"onDynamicTagsChange($event)\"></dr-tag>\n</div>\n", styles: [".scenario-tag-configuration{margin-bottom:24px}.scenario-tag-configuration:last-child{margin-bottom:0}\n"] }]
|
|
62
62
|
}], propDecorators: { tagsConfig: [{
|
|
63
63
|
type: Input
|
|
64
64
|
}], currentTags: [{
|
|
@@ -80,4 +80,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
80
80
|
}], scenarioTagDataChanged: [{
|
|
81
81
|
type: Output
|
|
82
82
|
}] } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2NlbmFyaW8tdGFnLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItc2NlbmFyaW8vY29tcG9uZW50cy9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1zY2VuYXJpby9jb21wb25lbnRzL2RyLXNjZW5hcmlvLXRhZy1jb25maWd1cmF0aW9uL2RyLXNjZW5hcmlvLXRhZy1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRTFILE9BQU8sRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsS0FBSyxJQUFJLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUF3QixNQUFNLDJCQUEyQixDQUFDOzs7O0FBUTNFLE1BQU0sT0FBTyxtQ0FBbUM7SUFOaEQ7UUF3Qm9CLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUNuQyxxQkFBZ0IsR0FBZ0IsRUFBRSxDQUFDO1FBRW5DLGdCQUFXLEdBQXdCLEVBQUUsQ0FBQztRQUtyQywyQkFBc0IsR0FBdUMsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFFaEgsbUJBQWMsR0FBdUMsRUFBRSxDQUFDO1FBRXZELGlCQUFZLEdBQW9CLEVBQUUsQ0FBQztRQUNuQyxzQkFBaUIsR0FBb0IsRUFBRSxDQUFDO1FBQ3hDLGVBQVUsR0FBb0IsRUFBRSxDQUFDO0tBbUM1QztJQWpFRyxJQUFvQixXQUFXLENBQUMsSUFBcUI7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxPQUFPLENBQ3pCLElBQUksRUFDSixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNWLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM5RCxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQUUsT0FBTyxHQUFHLENBQUM7WUFFN0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNsQixPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsRUFDRCxFQUFFLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFtQkQsSUFBVyxXQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUM3QixDQUFDO0lBRU0sV0FBVyxDQUFDLGFBQTRCO1FBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN4QyxDQUFDO0lBRU0sV0FBVyxDQUFDLE1BQXFCO1FBQ3BDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTNELElBQUksUUFBUSxFQUFFO1lBQ1YsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUM1QjthQUFNO1lBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDaEM7UUFFRCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sbUJBQW1CLENBQUMsTUFBdUI7UUFDOUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztRQUNoQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU0sd0JBQXdCO1FBQzNCLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQztZQUM3QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLElBQUk7U0FDUCxDQUFDLENBQUM7SUFDUCxDQUFDO2tJQWxFUSxtQ0FBbUM7c0hBQW5DLG1DQUFtQywrY0NYaEQsNm9CQWNBOzs0RkRIYSxtQ0FBbUM7a0JBTi9DLFNBQVM7K0JBQ0ksK0JBQStCLG1CQUd4Qix1QkFBdUIsQ0FBQyxNQUFNOzhCQUcvQixVQUFVO3NCQUF6QixLQUFLO2dCQUNjLFdBQVc7c0JBQTlCLEtBQUs7Z0JBZVUsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxhQUFhO3NCQUE1QixLQUFLO2dCQUNVLGdCQUFnQjtzQkFBL0IsS0FBSztnQkFFVSxXQUFXO3NCQUExQixLQUFLO2dCQUNVLG9CQUFvQjtzQkFBbkMsS0FBSztnQkFDVSxjQUFjO3NCQUE3QixLQUFLO2dCQUNVLG1CQUFtQjtzQkFBbEMsS0FBSztnQkFFVyxzQkFBc0I7c0JBQXRDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE91dHB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVRhZywgSVRhZ0ZvclNlcnZlciwgVENvbm5lY3RlZFRhZ3MsIFREeW5hbWljVGFnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3NlcnZlclRhZ3MnO1xuaW1wb3J0IHsgcmVkdWNlIGFzIF9yZWR1Y2UsIGZpbmQgYXMgX2ZpbmQsIG1lcmdlIGFzIF9tZXJnZSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBTY2VuYXJpbywgVFNjZW5hcmlvRGF0YUNoYW5nZWQgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NjZW5hcmlvJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLXNjZW5hcmlvLXRhZy1jb25maWd1cmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEclNjZW5hcmlvVGFnQ29uZmlndXJhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgcHVibGljIHRhZ3NDb25maWc6IElUYWdbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IGN1cnJlbnRUYWdzKHRhZ3M6IElUYWdGb3JTZXJ2ZXJbXSkge1xuICAgICAgICB0aGlzLl9jdXJyZW50VGFncyA9IHRhZ3M7XG4gICAgICAgIHRoaXMuY3VycmVudFRhZ3NNYXAgPSBfcmVkdWNlKFxuICAgICAgICAgICAgdGFncyxcbiAgICAgICAgICAgIChhY2MsIGN1cnIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YWdJZCA9IF9maW5kKHRoaXMudGFnc0NvbmZpZywgeyBuYW1lOiBjdXJyLm5hbWUgfSk/LmlkO1xuICAgICAgICAgICAgICAgIGlmIChpc05hTih0YWdJZCkpIHJldHVybiBhY2M7XG5cbiAgICAgICAgICAgICAgICBhY2NbdGFnSWRdID0gY3VycjtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHt9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHB1YmxpYyBzY2VuYXJpbzogU2NlbmFyaW87XG4gICAgQElucHV0KCkgcHVibGljIGNvbm5lY3RlZFRhZ3M6IFRDb25uZWN0ZWRUYWdzID0ge307XG4gICAgQElucHV0KCkgcHVibGljIGR5bmFtaWNUYWdWYWx1ZXM6IFREeW5hbWljVGFnID0ge307XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgbG9ja2VkRGF0ZXM6IHN0cmluZ1tdIHwgbnVtYmVyW10gPSBbXTtcbiAgICBASW5wdXQoKSBwdWJsaWMgZmlzY2FsWWVhclN0YXJ0c0Zyb206IG51bWJlcjtcbiAgICBASW5wdXQoKSBwdWJsaWMgZmlzY2FsWWVhckJhY2s6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcHVibGljIGlzRHluYW1pY0FkZEVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIHNjZW5hcmlvVGFnRGF0YUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxUU2NlbmFyaW9EYXRhQ2hhbmdlZD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRTY2VuYXJpb0RhdGFDaGFuZ2VkPigpO1xuXG4gICAgcHVibGljIGN1cnJlbnRUYWdzTWFwOiB7IFt0YWdJZDogbnVtYmVyXTogSVRhZ0ZvclNlcnZlciB9ID0ge307XG5cbiAgICBwcml2YXRlIF9jdXJyZW50VGFnczogSVRhZ0ZvclNlcnZlcltdID0gW107XG4gICAgcHJpdmF0ZSBkeW5hbWljVGFnc1RvU2F2ZTogSVRhZ0ZvclNlcnZlcltdID0gW107XG4gICAgcHJpdmF0ZSB0YWdzVG9TYXZlOiBJVGFnRm9yU2VydmVyW10gPSBbXTtcblxuICAgIHB1YmxpYyBnZXQgY3VycmVudFRhZ3MoKTogSVRhZ0ZvclNlcnZlcltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRUYWdzO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY3VycmVudFRhZ3MgPSB0aGlzLmN1cnJlbnRUYWdzO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblRhZ0NoYW5nZSgkZXZlbnQ6IElUYWdGb3JTZXJ2ZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2F2ZWRUYWcgPSBfZmluZCh0aGlzLnRhZ3NUb1NhdmUsIHsgaWQ6ICRldmVudC5pZCB9KTtcblxuICAgICAgICBpZiAoc2F2ZWRUYWcpIHtcbiAgICAgICAgICAgIF9tZXJnZShzYXZlZFRhZywgJGV2ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGFnc1RvU2F2ZS5wdXNoKCRldmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uU2NlbmFyaW9UYWdEYXRhQ2hhbmdlZCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkR5bmFtaWNUYWdzQ2hhbmdlKCRldmVudDogSVRhZ0ZvclNlcnZlcltdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHluYW1pY1RhZ3NUb1NhdmUgPSAkZXZlbnQ7XG4gICAgICAgIHRoaXMub25TY2VuYXJpb1RhZ0RhdGFDaGFuZ2VkKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2NlbmFyaW9UYWdEYXRhQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdGFncyA9IFsuLi50aGlzLmR5bmFtaWNUYWdzVG9TYXZlLCAuLi50aGlzLnRhZ3NUb1NhdmVdO1xuICAgICAgICB0aGlzLnNjZW5hcmlvVGFnRGF0YUNoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgICBzY2VuYXJpbzogdGhpcy5zY2VuYXJpbyxcbiAgICAgICAgICAgIHRhZ3NDb25maWc6IHRoaXMudGFnc0NvbmZpZyxcbiAgICAgICAgICAgIHRhZ3MsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzY2VuYXJpby10YWctY29uZmlndXJhdGlvblwiICpuZ0Zvcj1cImxldCB0YWdDb25maWcgb2YgdGFnc0NvbmZpZ1wiPlxuICAgIDxkci10YWdcbiAgICAgICAgW3RhZ0NvbmZpZ109XCJ0YWdDb25maWdcIlxuICAgICAgICBbc2VsZWN0ZWRUYWddPVwiY3VycmVudFRhZ3NNYXBbdGFnQ29uZmlnLmlkXVwiXG4gICAgICAgIFtsb2NrZWREYXRlXT1cImxvY2tlZERhdGVzXCJcbiAgICAgICAgW2Zpc2NhbFllYXJTdGFydHNGcm9tXT1cImZpc2NhbFllYXJTdGFydHNGcm9tXCJcbiAgICAgICAgW2Zpc2NhbFllYXJCYWNrXT1cImZpc2NhbFllYXJCYWNrXCJcbiAgICAgICAgW3RhZ3NDb25maWddPVwidGFnc0NvbmZpZ1wiXG4gICAgICAgIFtkeW5hbWljVGFnVmFsdWVzXT1cImR5bmFtaWNUYWdWYWx1ZXNcIlxuICAgICAgICBbY29ubmVjdGVkVGFnc109XCJjb25uZWN0ZWRUYWdzW3RhZ0NvbmZpZy5pZF1cIlxuICAgICAgICBbaXNEeW5hbWljVGFnQWRkRW5hYmxlZF09XCJpc0R5bmFtaWNBZGRFbmFibGVkXCJcbiAgICAgICAgKHRhZ0NoYW5nZSk9XCJvblRhZ0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgKGR5bmFtaWNUYWdDaGFuZ2UpPVwib25EeW5hbWljVGFnc0NoYW5nZSgkZXZlbnQpXCI+PC9kci10YWc+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -20,7 +20,7 @@ export const allDateTags = {
|
|
|
20
20
|
[TagsConfigSubType.WEEK]: {
|
|
21
21
|
name: 'Date',
|
|
22
22
|
toggle: false,
|
|
23
|
-
}
|
|
23
|
+
},
|
|
24
24
|
};
|
|
25
25
|
export function getScenarioTagDataConfig(isMultipleDimension) {
|
|
26
26
|
return {
|
|
@@ -78,4 +78,4 @@ export function getScenarioTagDataConfig(isMultipleDimension) {
|
|
|
78
78
|
},
|
|
79
79
|
};
|
|
80
80
|
}
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8tdGFncy1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1zY2VuYXJpby9jb25zdHMvc2NlbmFyaW8tdGFncy1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBNEMsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDdkIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN0QixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxLQUFLO0tBQ2hCO0lBQ0QsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUN6QixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxLQUFLO0tBQ2hCO0lBQ0QsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUN2QixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxLQUFLO0tBQ2hCO0lBQ0QsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNyQixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxLQUFLO0tBQ2hCO0lBQ0QsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN0QixJQUFJLEVBQUUsTUFBTTtRQUNaLE1BQU0sRUFBRSxLQUFLO0tBQ2hCO0NBQ0osQ0FBQztBQUVGLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxtQkFBNEI7SUFDakUsT0FBTztRQUNILENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2hCLEdBQUcsV0FBVztZQUNkLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksRUFBRSxNQUFNO2dCQUNaLE1BQU0sRUFBRSxJQUFJO2FBQ2Y7WUFDRCxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUM3QixNQUFNLEVBQUUsS0FBSzthQUNoQjtTQUNKO1FBQ0QsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDZixDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxFQUFFO2dCQUM5QixNQUFNLEVBQUUsSUFBSTtnQkFDWixpQkFBaUIsRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQztnQkFDM0MsTUFBTSxFQUFFLENBQUMsbUJBQW1CO2FBQy9CO1lBQ0QsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDdEIsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsZUFBZSxFQUFFLElBQUk7Z0JBQ3JCLE1BQU0sRUFBRSxtQkFBbUI7YUFDOUI7WUFDRCxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUN0QixJQUFJLEVBQUUsTUFBTTtnQkFDWixNQUFNLEVBQUUsSUFBSTthQUNmO1lBQ0QsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDekIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osTUFBTSxFQUFFLEtBQUs7YUFDaEI7WUFDRCxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUM3QixNQUFNLEVBQUUsS0FBSzthQUNoQjtTQUNKO1FBQ0QsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDakIsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDOUIsTUFBTSxFQUFFLElBQUk7Z0JBQ1osSUFBSSxFQUFFLE1BQU07YUFDZjtZQUNELENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQzdCLE1BQU0sRUFBRSxLQUFLO2FBQ2hCO1NBQ0o7UUFDRCxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNiLEdBQUcsV0FBVztZQUNkLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksRUFBRSxNQUFNO2dCQUNaLE1BQU0sRUFBRSxJQUFJO2FBQ2Y7WUFDRCxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUM3QixNQUFNLEVBQUUsSUFBSTthQUNmO1NBQ0o7S0FDSixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhZ3NDb25maWdTdWJUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlcnZlclRhZ3MnO1xuaW1wb3J0IHsgU2NlbmFyaW8sIFRTY2VuYXJpb1RhZ0NvbmZpZ0RhdGEsIFRTY2VuYXJpb1RhZ0RhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjZW5hcmlvJztcblxuZXhwb3J0IGNvbnN0IGFsbERhdGVUYWdzID0ge1xuICAgIFtUYWdzQ29uZmlnU3ViVHlwZS5ZRUFSXToge1xuICAgICAgICBuYW1lOiAnRGF0ZScsXG4gICAgICAgIHRvZ2dsZTogZmFsc2UsXG4gICAgfSxcbiAgICBbVGFnc0NvbmZpZ1N1YlR5cGUuUVVBUlRFUl06IHtcbiAgICAgICAgbmFtZTogJ0RhdGUnLFxuICAgICAgICB0b2dnbGU6IGZhbHNlLFxuICAgIH0sXG4gICAgW1RhZ3NDb25maWdTdWJUeXBlLk1PTlRIXToge1xuICAgICAgICBuYW1lOiAnRGF0ZScsXG4gICAgICAgIHRvZ2dsZTogZmFsc2UsXG4gICAgfSxcbiAgICBbVGFnc0NvbmZpZ1N1YlR5cGUuREFZXToge1xuICAgICAgICBuYW1lOiAnRGF0ZScsXG4gICAgICAgIHRvZ2dsZTogZmFsc2UsXG4gICAgfSxcbiAgICBbVGFnc0NvbmZpZ1N1YlR5cGUuV0VFS106IHtcbiAgICAgICAgbmFtZTogJ0RhdGUnLFxuICAgICAgICB0b2dnbGU6IGZhbHNlLFxuICAgIH0sXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NlbmFyaW9UYWdEYXRhQ29uZmlnKGlzTXVsdGlwbGVEaW1lbnNpb246IGJvb2xlYW4pOiBUU2NlbmFyaW9UYWdEYXRhPFRTY2VuYXJpb1RhZ0NvbmZpZ0RhdGE+IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBbU2NlbmFyaW8uQUNUVUFMU106IHtcbiAgICAgICAgICAgIC4uLmFsbERhdGVUYWdzLFxuICAgICAgICAgICAgW1RhZ3NDb25maWdTdWJUeXBlLk1PTlRIXToge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdEYXRlJyxcbiAgICAgICAgICAgICAgICB0b2dnbGU6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW1RhZ3NDb25maWdTdWJUeXBlLkZJTEVfU1RBVFVTXToge1xuICAgICAgICAgICAgICAgIHRvZ2dsZTogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBbU2NlbmFyaW8uQlVER0VUXToge1xuICAgICAgICAgICAgW1RhZ3NDb25maWdTdWJUeXBlLkJVREdFVF9DWUNMRV06IHtcbiAgICAgICAgICAgICAgICB0b2dnbGU6IHRydWUsXG4gICAgICAgICAgICAgICAgYWNjZXB0YWJsZVN1YlRhZ3M6IFtUYWdzQ29uZmlnU3ViVHlwZS5ZRUFSXSxcbiAgICAgICAgICAgICAgICBoaWRkZW46ICFpc011bHRpcGxlRGltZW5zaW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtUYWdzQ29uZmlnU3ViVHlwZS5QTEFOXToge1xuICAgICAgICAgICAgICAgIHRvZ2dsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgdHVybk9mZkRhdGVUYWdzOiB0cnVlLFxuICAgICAgICAgICAgICAgIGhpZGRlbjogaXNNdWx0aXBsZURpbWVuc2lvbixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbVGFnc0NvbmZpZ1N1YlR5cGUuWUVBUl06IHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnRGF0ZScsXG4gICAgICAgICAgICAgICAgdG9nZ2xlOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtUYWdzQ29uZmlnU3ViVHlwZS5RVUFSVEVSXToge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdEYXRlJyxcbiAgICAgICAgICAgICAgICB0b2dnbGU6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtUYWdzQ29uZmlnU3ViVHlwZS5GSUxFX1NUQVRVU106IHtcbiAgICAgICAgICAgICAgICB0b2dnbGU6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgW1NjZW5hcmlvLkZPUkVDQVNUXToge1xuICAgICAgICAgICAgW1RhZ3NDb25maWdTdWJUeXBlLkZPUkVDQVNUX05FV106IHtcbiAgICAgICAgICAgICAgICB0b2dnbGU6IHRydWUsXG4gICAgICAgICAgICAgICAgbmFtZTogJ0RhdGUnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtUYWdzQ29uZmlnU3ViVHlwZS5GSUxFX1NUQVRVU106IHtcbiAgICAgICAgICAgICAgICB0b2dnbGU6IGZhbHNlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgW1NjZW5hcmlvLk5PTkVdOiB7XG4gICAgICAgICAgICAuLi5hbGxEYXRlVGFncyxcbiAgICAgICAgICAgIFtUYWdzQ29uZmlnU3ViVHlwZS5NT05USF06IHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnRGF0ZScsXG4gICAgICAgICAgICAgICAgdG9nZ2xlOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtUYWdzQ29uZmlnU3ViVHlwZS5GSUxFX1NUQVRVU106IHtcbiAgICAgICAgICAgICAgICB0b2dnbGU6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH07XG59XG4iXX0=
|
|
@@ -8,38 +8,19 @@ import { DrScenarioTagConfigurationComponent } from './components/dr-scenario-ta
|
|
|
8
8
|
import { DrTagModule } from '../dr-tags/dr-tag.module';
|
|
9
9
|
import { DrTagsConstructorModule } from '../dr-tags-constructor/dr-tags-constructor.module';
|
|
10
10
|
import * as i0 from "@angular/core";
|
|
11
|
-
const COMPONENTS = [
|
|
12
|
-
DrScenarioConfigurationComponent,
|
|
13
|
-
DrScenarioTagConfigurationComponent,
|
|
14
|
-
];
|
|
11
|
+
const COMPONENTS = [DrScenarioConfigurationComponent, DrScenarioTagConfigurationComponent];
|
|
15
12
|
export class DrScenarioModule {
|
|
16
13
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrScenarioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
17
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DrScenarioModule, declarations: [DrScenarioConfigurationComponent,
|
|
18
|
-
|
|
19
|
-
DrInputsModule,
|
|
20
|
-
FormsModule,
|
|
21
|
-
DrTagModule,
|
|
22
|
-
DrTagsConstructorModule], exports: [DrScenarioConfigurationComponent,
|
|
23
|
-
DrScenarioTagConfigurationComponent] }); }
|
|
24
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrScenarioModule, providers: [ScenarioService], imports: [CommonModule,
|
|
25
|
-
DrInputsModule,
|
|
26
|
-
FormsModule,
|
|
27
|
-
DrTagModule,
|
|
28
|
-
DrTagsConstructorModule] }); }
|
|
14
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DrScenarioModule, declarations: [DrScenarioConfigurationComponent, DrScenarioTagConfigurationComponent], imports: [CommonModule, DrInputsModule, FormsModule, DrTagModule, DrTagsConstructorModule], exports: [DrScenarioConfigurationComponent, DrScenarioTagConfigurationComponent] }); }
|
|
15
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrScenarioModule, providers: [ScenarioService], imports: [CommonModule, DrInputsModule, FormsModule, DrTagModule, DrTagsConstructorModule] }); }
|
|
29
16
|
}
|
|
30
17
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrScenarioModule, decorators: [{
|
|
31
18
|
type: NgModule,
|
|
32
19
|
args: [{
|
|
33
20
|
declarations: [...COMPONENTS],
|
|
34
21
|
providers: [ScenarioService],
|
|
35
|
-
imports: [
|
|
36
|
-
CommonModule,
|
|
37
|
-
DrInputsModule,
|
|
38
|
-
FormsModule,
|
|
39
|
-
DrTagModule,
|
|
40
|
-
DrTagsConstructorModule,
|
|
41
|
-
],
|
|
22
|
+
imports: [CommonModule, DrInputsModule, FormsModule, DrTagModule, DrTagsConstructorModule],
|
|
42
23
|
exports: [...COMPONENTS],
|
|
43
24
|
}]
|
|
44
25
|
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2NlbmFyaW8ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItc2NlbmFyaW8vZHItc2NlbmFyaW8ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLDRFQUE0RSxDQUFDO0FBQzlILE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG9GQUFvRixDQUFDO0FBQ3pJLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7QUFFNUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxnQ0FBZ0MsRUFBRSxtQ0FBbUMsQ0FBQyxDQUFDO0FBUTNGLE1BQU0sT0FBTyxnQkFBZ0I7a0lBQWhCLGdCQUFnQjttSUFBaEIsZ0JBQWdCLGlCQVJULGdDQUFnQyxFQUFFLG1DQUFtQyxhQUszRSxZQUFZLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLGFBTHpFLGdDQUFnQyxFQUFFLG1DQUFtQzttSUFRNUUsZ0JBQWdCLGFBSmQsQ0FBQyxlQUFlLENBQUMsWUFDbEIsWUFBWSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLHVCQUF1Qjs7NEZBR2hGLGdCQUFnQjtrQkFONUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDN0IsU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUM1QixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsdUJBQXVCLENBQUM7b0JBQzFGLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU2NlbmFyaW9TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zY2VuYXJpby5zZXJ2aWNlJztcbmltcG9ydCB7IERySW5wdXRzTW9kdWxlIH0gZnJvbSAnLi4vZHItaW5wdXRzL2RyLWlucHV0cy5tb2R1bGUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEclNjZW5hcmlvQ29uZmlndXJhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kci1zY2VuYXJpby1jb25maWd1cmF0aW9uL2RyLXNjZW5hcmlvLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IERyU2NlbmFyaW9UYWdDb25maWd1cmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RyLXNjZW5hcmlvLXRhZy1jb25maWd1cmF0aW9uL2RyLXNjZW5hcmlvLXRhZy1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEclRhZ01vZHVsZSB9IGZyb20gJy4uL2RyLXRhZ3MvZHItdGFnLm1vZHVsZSc7XG5pbXBvcnQgeyBEclRhZ3NDb25zdHJ1Y3Rvck1vZHVsZSB9IGZyb20gJy4uL2RyLXRhZ3MtY29uc3RydWN0b3IvZHItdGFncy1jb25zdHJ1Y3Rvci5tb2R1bGUnO1xuXG5jb25zdCBDT01QT05FTlRTID0gW0RyU2NlbmFyaW9Db25maWd1cmF0aW9uQ29tcG9uZW50LCBEclNjZW5hcmlvVGFnQ29uZmlndXJhdGlvbkNvbXBvbmVudF07XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbLi4uQ09NUE9ORU5UU10sXG4gICAgcHJvdmlkZXJzOiBbU2NlbmFyaW9TZXJ2aWNlXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEcklucHV0c01vZHVsZSwgRm9ybXNNb2R1bGUsIERyVGFnTW9kdWxlLCBEclRhZ3NDb25zdHJ1Y3Rvck1vZHVsZV0sXG4gICAgZXhwb3J0czogWy4uLkNPTVBPTkVOVFNdLFxufSlcbmV4cG9ydCBjbGFzcyBEclNjZW5hcmlvTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { TagsConfigSubType, TagTypes } from '../../models/serverTags';
|
|
3
3
|
import { Scenario } from '../interfaces/scenario';
|
|
4
|
-
import { cloneDeep as _cloneDeep, filter as _filter, find as _find, forEach as _forEach, orderBy as _orderBy, indexOf as _indexOf, reduce as _reduce, some as _some, map as _map, includes as _includes } from 'lodash';
|
|
4
|
+
import { cloneDeep as _cloneDeep, filter as _filter, find as _find, forEach as _forEach, orderBy as _orderBy, indexOf as _indexOf, reduce as _reduce, some as _some, map as _map, includes as _includes, } from 'lodash';
|
|
5
5
|
import { getScenarioTagDataConfig } from '../consts/scenario-tags-config';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class ScenarioService {
|
|
@@ -9,7 +9,7 @@ export class ScenarioService {
|
|
|
9
9
|
this.DEFAULT_FORECAST_DATE_TAG = 'Month';
|
|
10
10
|
}
|
|
11
11
|
get scenarios() {
|
|
12
|
-
return _orderBy(Object.values(Scenario), (scenario) => scenario === Scenario.NONE ? 1 : 0);
|
|
12
|
+
return _orderBy(Object.values(Scenario), (scenario) => (scenario === Scenario.NONE ? 1 : 0));
|
|
13
13
|
}
|
|
14
14
|
get areExistingTagsConfig() {
|
|
15
15
|
return !!this.currentTagsConfig;
|
|
@@ -77,13 +77,16 @@ export class ScenarioService {
|
|
|
77
77
|
dateTag.selectedTagSubType = tag.acceptableSubTags[0];
|
|
78
78
|
}
|
|
79
79
|
sortScenarioTags(scenarioTagsUi) {
|
|
80
|
-
return _orderBy(scenarioTagsUi, [
|
|
81
|
-
(tag) => (tag.type === TagTypes.DATE ? 0 : 1),
|
|
82
|
-
(tag) => (tag.name === 'File Status')
|
|
83
|
-
]);
|
|
80
|
+
return _orderBy(scenarioTagsUi, [(tag) => (tag.type === TagTypes.DATE ? 0 : 1), (tag) => tag.name === 'File Status']);
|
|
84
81
|
}
|
|
85
82
|
static sortedSubTags(tag) {
|
|
86
|
-
const SUB_TAGS_ORDER = [
|
|
83
|
+
const SUB_TAGS_ORDER = [
|
|
84
|
+
TagsConfigSubType.DAY,
|
|
85
|
+
TagsConfigSubType.WEEK,
|
|
86
|
+
TagsConfigSubType.MONTH,
|
|
87
|
+
TagsConfigSubType.QUARTER,
|
|
88
|
+
TagsConfigSubType.YEAR,
|
|
89
|
+
];
|
|
87
90
|
return _orderBy(tag.subTags, (subTag) => _indexOf(SUB_TAGS_ORDER, subTag.subType));
|
|
88
91
|
}
|
|
89
92
|
initExistingTagsConfig(scenario, scenarioTagsUi) {
|
|
@@ -156,11 +159,13 @@ export class ScenarioService {
|
|
|
156
159
|
});
|
|
157
160
|
}
|
|
158
161
|
getScenarioSelectedDateTag(scenario, dateTags) {
|
|
159
|
-
const monthSubType = _find(dateTags, (tag) => tag.options.sub_type === TagsConfigSubType.MONTH)?.options
|
|
162
|
+
const monthSubType = _find(dateTags, (tag) => tag.options.sub_type === TagsConfigSubType.MONTH)?.options
|
|
163
|
+
?.sub_type;
|
|
160
164
|
const scenarioSelectedDateTag = {
|
|
161
165
|
[Scenario.ACTUALS]: () => monthSubType,
|
|
162
166
|
[Scenario.BUDGET]: () => _find(dateTags, (tag) => tag.options.sub_type === TagsConfigSubType.YEAR)?.options?.sub_type,
|
|
163
|
-
[Scenario.FORECAST]: () => _find(dateTags, (tag) => tag.options.sub_type === TagsConfigSubType.FORECAST_NEW)?.options
|
|
167
|
+
[Scenario.FORECAST]: () => _find(dateTags, (tag) => tag.options.sub_type === TagsConfigSubType.FORECAST_NEW)?.options
|
|
168
|
+
?.sub_type,
|
|
164
169
|
[Scenario.NONE]: () => monthSubType,
|
|
165
170
|
};
|
|
166
171
|
if (!scenarioSelectedDateTag[scenario])
|
|
@@ -171,8 +176,7 @@ export class ScenarioService {
|
|
|
171
176
|
return _reduce(tagsConfig, (acc, tagConfig) => {
|
|
172
177
|
const tagSubType = tagConfig?.options?.sub_type;
|
|
173
178
|
const scenarioTagDataConfig = getScenarioTagDataConfig(this.isMultipleDimension);
|
|
174
|
-
const scenarioTagConfig = scenarioTagDataConfig && scenarioTagDataConfig[scenario] ?
|
|
175
|
-
scenarioTagDataConfig[scenario][tagSubType] : null;
|
|
179
|
+
const scenarioTagConfig = scenarioTagDataConfig && scenarioTagDataConfig[scenario] ? scenarioTagDataConfig[scenario][tagSubType] : null;
|
|
176
180
|
if (!scenarioTagConfig || scenarioTagConfig.hidden)
|
|
177
181
|
return acc;
|
|
178
182
|
const clonedTagConfig = _cloneDeep(tagConfig);
|
|
@@ -187,4 +191,4 @@ export class ScenarioService {
|
|
|
187
191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ScenarioService, decorators: [{
|
|
188
192
|
type: Injectable
|
|
189
193
|
}] });
|
|
190
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLXNjZW5hcmlvL3NlcnZpY2VzL3NjZW5hcmlvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVEsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUUsT0FBTyxFQUE0RCxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RyxPQUFPLEVBQ0gsU0FBUyxJQUFJLFVBQVUsRUFDdkIsTUFBTSxJQUFJLE9BQU8sRUFDakIsSUFBSSxJQUFJLEtBQUssRUFDYixPQUFPLElBQUksUUFBUSxFQUNuQixPQUFPLElBQUksUUFBUSxFQUNuQixPQUFPLElBQUksUUFBUSxFQUNuQixNQUFNLElBQUksT0FBTyxFQUNqQixJQUFJLElBQUksS0FBSyxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQzFCLFFBQVEsSUFBSSxTQUFTLEVBQ3hCLE1BQU0sUUFBUSxDQUFDO0FBQ2hCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOztBQUcxRSxNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUVZLDhCQUF5QixHQUFHLE9BQU8sQ0FBQztLQXlOL0M7SUFuTkcsSUFBVyxTQUFTO1FBQ2hCLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFRCxJQUFZLHFCQUFxQjtRQUM3QixPQUFPLENBQUMsQ0FBQyxJQUFJLENB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QUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWTtTQUN0QyxDQUFBO1FBRUQsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQztZQUFFLE9BQU87UUFDL0MsT0FBTyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxRQUFrQixFQUFFLFVBQWtCO1FBQ2hFLE9BQU8sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQW1CLEVBQUUsU0FBZSxFQUFFLEVBQUU7WUFDaEUsTUFBTSxVQUFVLEdBQUcsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUM7WUFFaEQsTUFBTSxxQkFBcUIsR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUNqRixNQUFNLGlCQUFpQixHQUFjLHFCQUFxQixJQUFJLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQzNGLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDdkQsSUFBSSxDQUFDLGlCQUFpQixJQUFJLGlCQUFpQixDQUFDLE1BQU07Z0JBQUUsT0FBTyxHQUFHLENBQUM7WUFFL0QsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sV0FBVyxHQUFpQixFQUFFLEdBQUcsZUFBZSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1lBRTFGLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdEIsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDWCxDQUFDO2tJQXpOUSxlQUFlO3NJQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJVGFnLCBUYWdzQ29uZmlnU3ViVHlwZSwgVGFnVHlwZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VydmVyVGFncyc7XG5pbXBvcnQgeyBJU2NlbmFyaW8sIElTY2VuYXJpb1N1YlRhZywgSVNjZW5hcmlvVGFnLCBJU2NlbmFyaW9UYWdVaSwgU2NlbmFyaW8gfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NjZW5hcmlvJztcbmltcG9ydCB7XG4gICAgY2xvbmVEZWVwIGFzIF9jbG9uZURlZXAsXG4gICAgZmlsdGVyIGFzIF9maWx0ZXIsXG4gICAgZmluZCBhcyBfZmluZCxcbiAgICBmb3JFYWNoIGFzIF9mb3JFYWNoLFxuICAgIG9yZGVyQnkgYXMgX29yZGVyQnksXG4gICAgaW5kZXhPZiBhcyBfaW5kZXhPZixcbiAgICByZWR1Y2UgYXMgX3JlZHVjZSxcbiAgICBzb21lIGFzIF9zb21lLCBtYXAgYXMgX21hcCxcbiAgICBpbmNsdWRlcyBhcyBfaW5jbHVkZXNcbn0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IGdldFNjZW5hcmlvVGFnRGF0YUNvbmZpZyB9IGZyb20gJy4uL2NvbnN0cy9zY2VuYXJpby10YWdzLWNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTY2VuYXJpb1NlcnZpY2Uge1xuICAgIHByaXZhdGUgREVGQVVMVF9GT1JFQ0FTVF9EQVRFX1RBRyA9ICdNb250aCc7XG5cbiAgICBwcml2YXRlIHdob2xlVGFnc0NvbmZpZzogSVRhZ1tdO1xuICAgIHByaXZhdGUgY3VycmVudFRhZ3NDb25maWc6IElUYWdbXTtcbiAgICBwcml2YXRlIGlzTXVsdGlwbGVEaW1lbnNpb246IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgZ2V0IHNjZW5hcmlvcygpOiBTY2VuYXJpb1tdIHtcbiAgICAgICAgcmV0dXJuIF9vcmRlckJ5KE9iamVjdC52YWx1ZXMoU2NlbmFyaW8pLCAoc2NlbmFyaW8pID0+IHNjZW5hcmlvID09PSBTY2VuYXJpby5OT05FID8gMSA6IDApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGFyZUV4aXN0aW5nVGFnc0NvbmZpZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jdXJyZW50VGFnc0NvbmZpZztcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdFNjZW5hcmlvVGFncyh3aG9sZVRhZ3NDb25maWc6IElUYWdbXSwgY3VycmVudFRhZ3NDb25maWc6IElUYWdbXSwgaXNNdWx0aXBsZURpbWVuc2lvbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoIXdob2xlVGFnc0NvbmZpZz8ubGVuZ3RoKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy53aG9sZVRhZ3NDb25maWcgPSBfY2xvbmVEZWVwKHdob2xlVGFnc0NvbmZpZyk7XG4gICAgICAgIHRoaXMuY3VycmVudFRhZ3NDb25maWcgPSBjdXJyZW50VGFnc0NvbmZpZztcbiAgICAgICAgdGhpcy5pc011bHRpcGxlRGltZW5zaW9uID0gaXNNdWx0aXBsZURpbWVuc2lvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VGFnc0NvbmZpZ0J5U2NlbmFyaW9UYWdzKHNjZW5hcmlvVGFnczogSVNjZW5hcmlvVGFnVWlbXSwgdGFnc0NvbmZpZzogSVRhZ1tdKTogSVRhZ1tdIHtcbiAgICAgICAgY29uc3Qgc2NlbmFyaW9UYWdzQ29uZmlnID0gX2ZpbHRlcih0YWdzQ29uZmlnLCAodGFnQ29uZmlnKSA9PlxuICAgICAgICAgICAgX3NvbWUoc2NlbmFyaW9UYWdzLCAoc2NlbmFyaW9UYWcpID0+IHNjZW5hcmlvVGFnLnRvZ2dsZSAmJiBzY2VuYXJpb1RhZy5zZWxlY3RlZFRhZ1N1YlR5cGUgPT09IHRhZ0NvbmZpZy5vcHRpb25zLnN1Yl90eXBlKSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc29ydFNjZW5hcmlvVGFncyhzY2VuYXJpb1RhZ3NDb25maWcpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTY2VuYXJpb1RhZ3NCeVNjZW5hcmlvKHNjZW5hcmlvOiBTY2VuYXJpbykge1xuICAgICAgICBjb25zdCBzY2VuYXJpb1RhZ3NDb25maWc6IElTY2VuYXJpb1RhZ1tdID0gdGhpcy5nZXRTY2VuYXJpb1RhZ3NDb25maWcoc2NlbmFyaW8sIHRoaXMud2hvbGVUYWdzQ29uZmlnKTtcbiAgICAgICAgY29uc3Qgc2NlbmFyaW9UYWdzVWk6IElTY2VuYXJpb1RhZ1VpW10gPSBbXTtcblxuICAgICAgICBfZm9yRWFjaChzY2VuYXJpb1RhZ3NDb25maWcsIChzY2VuYXJpb1RhZzogSVNjZW5hcmlvVGFnKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc1RhZ1dpdGhTdWJUYWdzID0gc2NlbmFyaW9UYWcudHlwZSA9PT0gVGFnVHlwZXMuREFURTtcbiAgICAgICAgICAgIGNvbnN0IHRhZ1dpdGhTdWJUYWdzID0gaXNUYWdXaXRoU3ViVGFncyAmJiBfZmluZChzY2VuYXJpb1RhZ3NVaSwgeyB0eXBlOiBzY2VuYXJpb1RhZy50eXBlIH0pO1xuXG4gICAgICAgICAgICBjb25zdCB0YWc6IElTY2VuYXJpb1RhZ1VpID0gdGFnV2l0aFN1YlRhZ3MgfHwgdGhpcy5wcmVwYXJlU2NlbmFyaW9UYWcoc2NlbmFyaW9UYWdzQ29uZmlnLCBzY2VuYXJpb1RhZywgc2NlbmFyaW8sIGlzVGFnV2l0aFN1YlRhZ3MpO1xuXG4gICAgICAgICAgICBpZiAoaXNUYWdXaXRoU3ViVGFncykge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU2NlbmFyaW9TdWJUYWdzKHRhZywgc2NlbmFyaW9UYWcpO1xuICAgICAgICAgICAgICAgIHRhZy5zdWJUYWdzID0gU2NlbmFyaW9TZXJ2aWNlLnNvcnRlZFN1YlRhZ3ModGFnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRhZ1dpdGhTdWJUYWdzKSByZXR1cm47XG4gICAgICAgICAgICBzY2VuYXJpb1RhZ3NVaS5wdXNoKHRhZyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmFyZUV4aXN0aW5nVGFnc0NvbmZpZykge1xuICAgICAgICAgICAgdGhpcy5pbml0RXhpc3RpbmdUYWdzQ29uZmlnKHNjZW5hcmlvLCBzY2VuYXJpb1RhZ3NVaSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc1RhZ05vdFN1cHBvcnRpbmdEYXRlcyA9IF9zb21lKHNjZW5hcmlvVGFnc1VpLCB7IHR1cm5PZmZEYXRlVGFnczogdHJ1ZSwgdG9nZ2xlOiB0cnVlIH0pO1xuICAgICAgICBpZiAoaXNUYWdOb3RTdXBwb3J0aW5nRGF0ZXMpIHtcbiAgICAgICAgICAgIHRoaXMudHVybk9mZkRhdGVUYWcoc2NlbmFyaW9UYWdzVWkpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGFnV2l0aFNwZWNpZmljRGF0ZVRhZ3M6IElTY2VuYXJpb1RhZ1VpID0gX2ZpbmQoc2NlbmFyaW9UYWdzVWksICh0YWcpID0+IHRhZy50b2dnbGUgJiYgISF0YWcuYWNjZXB0YWJsZVN1YlRhZ3M/Lmxlbmd0aCk7XG4gICAgICAgIGlmICh0YWdXaXRoU3BlY2lmaWNEYXRlVGFncykge1xuICAgICAgICAgICAgdGhpcy5oaWRlTm90QXZhaWxhYmxlVGFncyh0YWdXaXRoU3BlY2lmaWNEYXRlVGFncywgc2NlbmFyaW9UYWdzVWkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuc29ydFNjZW5hcmlvVGFncyhzY2VuYXJpb1RhZ3NVaSk7XG4gICAgfVxuXG4gICAgcHVibGljIHRhZ05vdFN1cHBvcnRpbmdEYXRlc0hhbmRsZXI8VCBleHRlbmRzIElTY2VuYXJpb1RhZ1VpPih0YWc6IFQsIHRhZ05vdFN1cHBvcnRpbmdEYXRlczogVCwgZGF0ZVRhZzogVCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRhZ05vdFN1cHBvcnRpbmdEYXRlcyB8fCAhdGFnLnRvZ2dsZSkgcmV0dXJuO1xuXG4gICAgICAgIGlmICh0YWcudHlwZSA9PT0gVGFnVHlwZXMuREFURSkge1xuICAgICAgICAgICAgdGFnTm90U3VwcG9ydGluZ0RhdGVzLnRvZ2dsZSA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRhZyA9PT0gdGFnTm90U3VwcG9ydGluZ0RhdGVzKSB7XG4gICAgICAgICAgICBpZiAoZGF0ZVRhZykge1xuICAgICAgICAgICAgICAgIGRhdGVUYWcudG9nZ2xlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdGFnQWNjZXB0YWJsZVN1YlRhZ3NIYW5kbGVyPFQgZXh0ZW5kcyBJU2NlbmFyaW9UYWdVaT4odGFnOiBULCBkYXRlVGFnOiBUKTogdm9pZCB7XG4gICAgICAgIGlmICghdGFnLmFjY2VwdGFibGVTdWJUYWdzPy5sZW5ndGgpIHJldHVybjtcblxuICAgICAgICBpZiAoIWRhdGVUYWcpIHJldHVybjtcblxuICAgICAgICBkYXRlVGFnLnN1YlRhZ3MgPSBfbWFwKGRhdGVUYWcuc3ViVGFncywgKHN1YlRhZykgPT4ge1xuICAgICAgICAgICAgc3ViVGFnLmhpZGRlbiA9IHRhZy50b2dnbGUgJiYgIV9pbmNsdWRlcyh0YWcuYWNjZXB0YWJsZVN1YlRhZ3MsIHN1YlRhZy5zdWJUeXBlKTtcbiAgICAgICAgICAgIHJldHVybiBzdWJUYWc7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGRhdGVUYWcuc2VsZWN0ZWRUYWdTdWJUeXBlID0gdGFnLmFjY2VwdGFibGVTdWJUYWdzWzBdO1xuICAgIH1cblxuICAgIHB1YmxpYyBzb3J0U2NlbmFyaW9UYWdzKHNjZW5hcmlvVGFnc1VpOiBhbnlbXSk6IGFueVtdIHtcbiAgICAgICAgcmV0dXJuIF9vcmRlckJ5KHNjZW5hcmlvVGFnc1VpLCBbXG4gICAgICAgICAgICAodGFnKSA9PiAodGFnLnR5cGUgPT09IFRhZ1R5cGVzLkRBVEUgPyAwIDogMSksXG4gICAgICAgICAgICAodGFnKSA9PiAodGFnLm5hbWUgPT09ICdGaWxlIFN0YXR1cycpXG4gICAgICAgIF0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgc29ydGVkU3ViVGFncyh0YWc6IElTY2VuYXJpb1RhZ1VpKTogSVNjZW5hcmlvU3ViVGFnW10ge1xuICAgICAgICBjb25zdCBTVUJfVEFHU19PUkRFUiA9IFtUYWdzQ29uZmlnU3ViVHlwZS5EQVksIFRhZ3NDb25maWdTdWJUeXBlLldFRUssIFRhZ3NDb25maWdTdWJUeXBlLk1PTlRILCBUYWdzQ29uZmlnU3ViVHlwZS5RVUFSVEVSLCBUYWdzQ29uZmlnU3ViVHlwZS5ZRUFSXTtcbiAgICAgICAgcmV0dXJuIF9vcmRlckJ5KHRhZy5zdWJUYWdzLCAoc3ViVGFnKSA9PiBfaW5kZXhPZihTVUJfVEFHU19PUkRFUiwgc3ViVGFnLnN1YlR5cGUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRFeGlzdGluZ1RhZ3NDb25maWcoc2NlbmFyaW86IFNjZW5hcmlvLCBzY2VuYXJpb1RhZ3NVaTogSVNjZW5hcmlvVGFnVWlbXSkge1xuICAgICAgICBfZm9yRWFjaCh0aGlzLmN1cnJlbnRUYWdzQ29uZmlnLCAodGFnQ29uZmlnKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0YWdTdWJUeXBlID0gdGFnQ29uZmlnPy5vcHRpb25zPy5zdWJfdHlwZTtcbiAgICAgICAgICAgIGNvbnN0IHNjZW5hcmlvVGFnRGF0YUNvbmZpZyA9IGdldFNjZW5hcmlvVGFnRGF0YUNvbmZpZyh0aGlzLmlzTXVsdGlwbGVEaW1lbnNpb24pO1xuICAgICAgICAgICAgaWYgKCFzY2VuYXJpb1RhZ0RhdGFDb25maWcgfHwgIXNjZW5hcmlvVGFnRGF0YUNvbmZpZ1tzY2VuYXJpb10gfHwgIXNjZW5hcmlvVGFnRGF0YUNvbmZpZ1tzY2VuYXJpb11bdGFnU3ViVHlwZV0pIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHNjZW5hcmlvVGFnVWkgPSB0YWdDb25maWcudHlwZSA9PT0gVGFnVHlwZXMuREFURVxuICAgICAgICAgICAgICAgID8gX2ZpbmQoc2NlbmFyaW9UYWdzVWksIHsgdHlwZTogdGFnQ29uZmlnLnR5cGUgfSlcbiAgICAgICAgICAgICAgICA6IF9maW5kKHNjZW5hcmlvVGFnc1VpLCB7IHNlbGVjdGVkVGFnU3ViVHlwZTogdGFnU3ViVHlwZSB9KTtcblxuICAgICAgICAgICAgaWYgKHNjZW5hcmlvVGFnVWkpIHtcbiAgICAgICAgICAgICAgICBzY2VuYXJpb1RhZ1VpLnRvZ2dsZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgc2NlbmFyaW9UYWdVaS5zZWxlY3RlZFRhZ1N1YlR5cGUgPSB0YWdTdWJUeXBlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByZXBhcmVTY2VuYXJpb1RhZyhzY2VuYXJpb1RhZ3NDb25maWc6IElTY2VuYXJpb1RhZ1tdLCBzY2VuYXJpb1RhZzogSVNjZW5hcmlvVGFnLCBzY2VuYXJpbzogU2NlbmFyaW8sIGlzRGF0ZVRhZzogYm9vbGVhbik6IElTY2VuYXJpb1RhZ1VpIHtcbiAgICAgICAgY29uc3QgdG9nZ2xlU3RhdHVzID0gaXNEYXRlVGFnXG4gICAgICAgICAgICA/IF9zb21lKHNjZW5hcmlvVGFnc0NvbmZpZywgKHRhZykgPT4gdGFnLnR5cGUgPT09IFRhZ1R5cGVzLkRBVEUgJiYgdGFnLnNjZW5hcmlvRGF0YS50b2dnbGUpXG4gICAgICAgICAgICA6IHNjZW5hcmlvVGFnLnNjZW5hcmlvRGF0YS50b2dnbGU7XG5cbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRUYWdTdWJUeXBlID0gaXNEYXRlVGFnXG4gICAgICAgICAgICAgICAgPyB0aGlzLmdldFNjZW5hcmlvU2VsZWN0ZWREYXRlVGFnKHNjZW5hcmlvLCBzY2VuYXJpb1RhZ3NDb25maWcpXG4gICAgICAgICAgICAgICAgOiBzY2VuYXJpb1RhZy5vcHRpb25zLnN1Yl90eXBlO1xuXG4gICAgICAgIGNvbnN0IHRhZzogSVNjZW5hcmlvVGFnVWkgPSB7XG4gICAgICAgICAgICB0b2dnbGU6IHRoaXMuYXJlRXhpc3RpbmdUYWdzQ29uZmlnID8gZmFsc2UgOiB0b2dnbGVTdGF0dXMsXG4gICAgICAgICAgICBuYW1lOiBzY2VuYXJpb1RhZy5zY2VuYXJpb0RhdGEubmFtZSB8fCBzY2VuYXJpb1RhZy5uYW1lLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246IHNjZW5hcmlvVGFnLnNjZW5hcmlvRGF0YS5kZXNjcmlwdGlvbiB8fCBzY2VuYXJpb1RhZy5kZXNjcmlwdGlvbixcbiAgICAgICAgICAgIHR5cGU6IHNjZW5hcmlvVGFnLnR5cGUsXG4gICAgICAgICAgICBzZWxlY3RlZFRhZ1N1YlR5cGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHNjZW5hcmlvVGFnLnNjZW5hcmlvRGF0YS50dXJuT2ZmRGF0ZVRhZ3MpIHtcbiAgICAgICAgICAgIHRhZy50dXJuT2ZmRGF0ZVRhZ3MgPSBzY2VuYXJpb1RhZy5zY2VuYXJpb0RhdGEudHVybk9mZkRhdGVUYWdzO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNjZW5hcmlvVGFnLnNjZW5hcmlvRGF0YS5hY2NlcHRhYmxlU3ViVGFncykge1xuICAgICAgICAgICAgdGFnLmFjY2VwdGFibGVTdWJUYWdzID0gc2NlbmFyaW9UYWcuc2NlbmFyaW9EYXRhLmFjY2VwdGFibGVTdWJUYWdzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRhZztcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVNjZW5hcmlvU3ViVGFncyh0YWc6IElTY2VuYXJpb1RhZ1VpLCBzY2VuYXJpb1RhZzogSVNjZW5hcmlvVGFnKTogdm9pZCB7XG4gICAgICAgIGlmICghdGFnLnN1YlRhZ3MpIHtcbiAgICAgICAgICAgIHRhZy5zdWJUYWdzID0gW107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0YWdTdWJUeXBlID0gc2NlbmFyaW9UYWcub3B0aW9ucy5zdWJfdHlwZTtcblxuICAgICAgICB0YWcuc3ViVGFncy5wdXNoKHtcbiAgICAgICAgICAgIHN1YlR5cGU6IHRhZ1N1YlR5cGUsXG4gICAgICAgICAgICBuYW1lOiB0YWdTdWJUeXBlID09PSBUYWdzQ29uZmlnU3ViVHlwZS5GT1JFQ0FTVF9ORVcgPyB0aGlzLkRFRkFVTFRfRk9SRUNBU1RfREFURV9UQUcgOiBzY2VuYXJpb1RhZy5uYW1lLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHR1cm5PZmZEYXRlVGFnKHNjZW5hcmlvVGFnczogSVNjZW5hcmlvVGFnVWlbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBkYXRlVGFnID0gX2ZpbmQoc2NlbmFyaW9UYWdzLCB7IHR5cGU6IFRhZ1R5cGVzLkRBVEUgfSk7XG5cbiAgICAgICAgaWYgKCFkYXRlVGFnKSByZXR1cm47XG4gICAgICAgIGRhdGVUYWcudG9nZ2xlPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZGVOb3RBdmFpbGFibGVUYWdzKHRhZ1dpdGhTcGVjaWZpY0RhdGVUYWdzOiBJU2NlbmFyaW9UYWdVaSwgc2NlbmFyaW9UYWdzOiBJU2NlbmFyaW9UYWdVaVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN1YlRhZ3MgPSBfZmluZChzY2VuYXJpb1RhZ3MsIHsgdHlwZTogVGFnVHlwZXMuREFURSB9KT8uc3ViVGFncztcbiAgICAgICAgaWYgKCFzdWJUYWdzLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgICAgIF9mb3JFYWNoKHNjZW5hcmlvVGFncywgKHRhZykgPT4ge1xuICAgICAgICAgICAgaWYgKCF0YWcuYWNjZXB0YWJsZVN1YlRhZ3M/Lmxlbmd0aCkgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKHRhZyAhPT0gdGFnV2l0aFNwZWNpZmljRGF0ZVRhZ3MpIHtcbiAgICAgICAgICAgICAgICB0YWcudG9nZ2xlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIF9mb3JFYWNoKHN1YlRhZ3MsIChzdWJUYWcpID0+IHtcbiAgICAgICAgICAgIHN1YlRhZy5oaWRkZW4gPSAhdGFnV2l0aFNwZWNpZmljRGF0ZVRhZ3MuYWNjZXB0YWJsZVN1YlRhZ3MuaW5jbHVkZXMoc3ViVGFnLnN1YlR5cGUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNjZW5hcmlvU2VsZWN0ZWREYXRlVGFnKHNjZW5hcmlvOiBTY2VuYXJpbywgZGF0ZVRhZ3M6IElTY2VuYXJpb1RhZ1tdKTogVGFnc0NvbmZpZ1N1YlR5cGUge1xuICAgICAgICBjb25zdCBtb250aFN1YlR5cGUgPSBfZmluZChkYXRlVGFncywgKHRhZzogSVNjZW5hcmlvVGFnKSA9PiB0YWcub3B0aW9ucy5zdWJfdHlwZSA9PT0gVGFnc0NvbmZpZ1N1YlR5cGUuTU9OVEgpPy5vcHRpb25zPy5zdWJfdHlwZTtcblxuICAgICAgICBjb25zdCBzY2VuYXJpb1NlbGVjdGVkRGF0ZVRhZyA9IHtcbiAgICAgICAgICAgIFtTY2VuYXJpby5BQ1RVQUxTXTogKCkgPT4gbW9udGhTdWJUeXBlLFxuICAgICAgICAgICAgW1NjZW5hcmlvLkJVREdFVF06ICgpID0+IF9maW5kKGRhdGVUYWdzLCAodGFnOiBJU2NlbmFyaW9UYWcpID0+IHRhZy5vcHRpb25zLnN1Yl90eXBlID09PSBUYWdzQ29uZmlnU3ViVHlwZS5ZRUFSKT8ub3B0aW9ucz8uc3ViX3R5cGUsXG4gICAgICAgICAgICBbU2NlbmFyaW8uRk9SRUNBU1RdOiAoKSA9PiBfZmluZChkYXRlVGFncywgKHRhZzogSVNjZW5hcmlvVGFnKSA9PiB0YWcub3B0aW9ucy5zdWJfdHlwZSA9PT0gVGFnc0NvbmZpZ1N1YlR5cGUuRk9SRUNBU1RfTkVXKT8ub3B0aW9ucz8uc3ViX3R5cGUsXG4gICAgICAgICAgICBbU2NlbmFyaW8uTk9ORV06ICgpID0+IG1vbnRoU3ViVHlwZSxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghc2NlbmFyaW9TZWxlY3RlZERhdGVUYWdbc2NlbmFyaW9dKSByZXR1cm47XG4gICAgICAgIHJldHVybiBzY2VuYXJpb1NlbGVjdGVkRGF0ZVRhZ1tzY2VuYXJpb10oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNjZW5hcmlvVGFnc0NvbmZpZyhzY2VuYXJpbzogU2NlbmFyaW8sIHRhZ3NDb25maWc6IElUYWdbXSk6IElTY2VuYXJpb1RhZ1tdIHtcbiAgICAgICAgcmV0dXJuIF9yZWR1Y2UodGFnc0NvbmZpZywgKGFjYzogSVNjZW5hcmlvVGFnW10sIHRhZ0NvbmZpZzogSVRhZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGFnU3ViVHlwZSA9IHRhZ0NvbmZpZz8ub3B0aW9ucz8uc3ViX3R5cGU7XG5cbiAgICAgICAgICAgIGNvbnN0IHNjZW5hcmlvVGFnRGF0YUNvbmZpZyA9IGdldFNjZW5hcmlvVGFnRGF0YUNvbmZpZyh0aGlzLmlzTXVsdGlwbGVEaW1lbnNpb24pO1xuICAgICAgICAgICAgY29uc3Qgc2NlbmFyaW9UYWdDb25maWc6IElTY2VuYXJpbyA9IHNjZW5hcmlvVGFnRGF0YUNvbmZpZyAmJiBzY2VuYXJpb1RhZ0RhdGFDb25maWdbc2NlbmFyaW9dID9cbiAgICAgICAgICAgICAgICBzY2VuYXJpb1RhZ0RhdGFDb25maWdbc2NlbmFyaW9dW3RhZ1N1YlR5cGVdIDogbnVsbDtcbiAgICAgICAgICAgIGlmICghc2NlbmFyaW9UYWdDb25maWcgfHwgc2NlbmFyaW9UYWdDb25maWcuaGlkZGVuKSByZXR1cm4gYWNjO1xuXG4gICAgICAgICAgICBjb25zdCBjbG9uZWRUYWdDb25maWcgPSBfY2xvbmVEZWVwKHRhZ0NvbmZpZyk7XG4gICAgICAgICAgICBjb25zdCBzY2VuYXJpb1RhZzogSVNjZW5hcmlvVGFnID0geyAuLi5jbG9uZWRUYWdDb25maWcsIHNjZW5hcmlvRGF0YTogc2NlbmFyaW9UYWdDb25maWcgfTtcblxuICAgICAgICAgICAgYWNjLnB1c2goc2NlbmFyaW9UYWcpO1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfSwgW10pO1xuICAgIH1cbn1cbiJdfQ==
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NlbmFyaW8uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLXNjZW5hcmlvL3NlcnZpY2VzL3NjZW5hcmlvLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVEsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUUsT0FBTyxFQUE0RCxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RyxPQUFPLEVBQ0gsU0FBUyxJQUFJLFVBQVUsRUFDdkIsTUFBTSxJQUFJLE9BQU8sRUFDakIsSUFBSSxJQUFJLEtBQUssRUFDYixPQUFPLElBQUksUUFBUSxFQUNuQixPQUFPLElBQUksUUFBUSxFQUNuQixPQUFPLElBQUksUUFBUSxFQUNuQixNQUFNLElBQUksT0FBTyxFQUNqQixJQUFJLElBQUksS0FBSyxFQUNiLEdBQUcsSUFBSSxJQUFJLEVBQ1gsUUFBUSxJQUFJLFNBQVMsR0FDeEIsTUFBTSxRQUFRLENBQUM7QUFDaEIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBRzFFLE1BQU0sT0FBTyxlQUFlO0lBRDVCO1FBRVksOEJBQXlCLEdBQUcsT0FBTyxDQUFDO0tBa1AvQztJQTVPRyxJQUFXLFNBQVM7UUFDaEIsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCxJQUFZLHFCQUFxQjtRQUM3QixPQUFPLENBQUMsQ0FB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bmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSVRhZywgVGFnc0NvbmZpZ1N1YlR5cGUsIFRhZ1R5cGVzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NlcnZlclRhZ3MnO1xuaW1wb3J0IHsgSVNjZW5hcmlvLCBJU2NlbmFyaW9TdWJUYWcsIElTY2VuYXJpb1RhZywgSVNjZW5hcmlvVGFnVWksIFNjZW5hcmlvIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zY2VuYXJpbyc7XG5pbXBvcnQge1xuICAgIGNsb25lRGVlcCBhcyBfY2xvbmVEZWVwLFxuICAgIGZpbHRlciBhcyBfZmlsdGVyLFxuICAgIGZpbmQgYXMgX2ZpbmQsXG4gICAgZm9yRWFjaCBhcyBfZm9yRWFjaCxcbiAgICBvcmRlckJ5IGFzIF9vcmRlckJ5LFxuICAgIGluZGV4T2YgYXMgX2luZGV4T2YsXG4gICAgcmVkdWNlIGFzIF9yZWR1Y2UsXG4gICAgc29tZSBhcyBfc29tZSxcbiAgICBtYXAgYXMgX21hcCxcbiAgICBpbmNsdWRlcyBhcyBfaW5jbHVkZXMsXG59IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBnZXRTY2VuYXJpb1RhZ0RhdGFDb25maWcgfSBmcm9tICcuLi9jb25zdHMvc2NlbmFyaW8tdGFncy1jb25maWcnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2NlbmFyaW9TZXJ2aWNlIHtcbiAgICBwcml2YXRlIERFRkFVTFRfRk9SRUNBU1RfREFURV9UQUcgPSAnTW9udGgnO1xuXG4gICAgcHJpdmF0ZSB3aG9sZVRhZ3NDb25maWc6IElUYWdbXTtcbiAgICBwcml2YXRlIGN1cnJlbnRUYWdzQ29uZmlnOiBJVGFnW107XG4gICAgcHJpdmF0ZSBpc011bHRpcGxlRGltZW5zaW9uOiBib29sZWFuO1xuXG4gICAgcHVibGljIGdldCBzY2VuYXJpb3MoKTogU2NlbmFyaW9bXSB7XG4gICAgICAgIHJldHVybiBfb3JkZXJCeShPYmplY3QudmFsdWVzKFNjZW5hcmlvKSwgKHNjZW5hcmlvKSA9PiAoc2NlbmFyaW8gPT09IFNjZW5hcmlvLk5PTkUgPyAxIDogMCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGFyZUV4aXN0aW5nVGFnc0NvbmZpZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jdXJyZW50VGFnc0NvbmZpZztcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdFNjZW5hcmlvVGFncyh3aG9sZVRhZ3NDb25maWc6IElUYWdbXSwgY3VycmVudFRhZ3NDb25maWc6IElUYWdbXSwgaXNNdWx0aXBsZURpbWVuc2lvbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoIXdob2xlVGFnc0NvbmZpZz8ubGVuZ3RoKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy53aG9sZVRhZ3NDb25maWcgPSBfY2xvbmVEZWVwKHdob2xlVGFnc0NvbmZpZyk7XG4gICAgICAgIHRoaXMuY3VycmVudFRhZ3NDb25maWcgPSBjdXJyZW50VGFnc0NvbmZpZztcbiAgICAgICAgdGhpcy5pc011bHRpcGxlRGltZW5zaW9uID0gaXNNdWx0aXBsZURpbWVuc2lvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VGFnc0NvbmZpZ0J5U2NlbmFyaW9UYWdzKHNjZW5hcmlvVGFnczogSVNjZW5hcmlvVGFnVWlbXSwgdGFnc0NvbmZpZzogSVRhZ1tdKTogSVRhZ1tdIHtcbiAgICAgICAgY29uc3Qgc2NlbmFyaW9UYWdzQ29uZmlnID0gX2ZpbHRlcih0YWdzQ29uZmlnLCAodGFnQ29uZmlnKSA9PlxuICAgICAgICAgICAgX3NvbWUoXG4gICAgICAgICAgICAgICAgc2NlbmFyaW9UYWdzLFxuICAgICAgICAgICAgICAgIChzY2VuYXJpb1RhZykgPT4gc2NlbmFyaW9UYWcudG9nZ2xlICYmIHNjZW5hcmlvVGFnLnNlbGVjdGVkVGFnU3ViVHlwZSA9PT0gdGFnQ29uZmlnLm9wdGlvbnMuc3ViX3R5cGUsXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnNvcnRTY2VuYXJpb1RhZ3Moc2NlbmFyaW9UYWdzQ29uZmlnKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2NlbmFyaW9UYWdzQnlTY2VuYXJpbyhzY2VuYXJpbzogU2NlbmFyaW8pIHtcbiAgICAgICAgY29uc3Qgc2NlbmFyaW9UYWdzQ29uZmlnOiBJU2NlbmFyaW9UYWdbXSA9IHRoaXMuZ2V0U2NlbmFyaW9UYWdzQ29uZmlnKHNjZW5hcmlvLCB0aGlzLndob2xlVGFnc0NvbmZpZyk7XG4gICAgICAgIGNvbnN0IHNjZW5hcmlvVGFnc1VpOiBJU2NlbmFyaW9UYWdVaVtdID0gW107XG5cbiAgICAgICAgX2ZvckVhY2goc2NlbmFyaW9UYWdzQ29uZmlnLCAoc2NlbmFyaW9UYWc6IElTY2VuYXJpb1RhZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNUYWdXaXRoU3ViVGFncyA9IHNjZW5hcmlvVGFnLnR5cGUgPT09IFRhZ1R5cGVzLkRBVEU7XG4gICAgICAgICAgICBjb25zdCB0YWdXaXRoU3ViVGFncyA9IGlzVGFnV2l0aFN1YlRhZ3MgJiYgX2ZpbmQoc2NlbmFyaW9UYWdzVWksIHsgdHlwZTogc2NlbmFyaW9UYWcudHlwZSB9KTtcblxuICAgICAgICAgICAgY29uc3QgdGFnOiBJU2NlbmFyaW9UYWdVaSA9XG4gICAgICAgICAgICAgICAgdGFnV2l0aFN1YlRhZ3MgfHwgdGhpcy5wcmVwYXJlU2NlbmFyaW9UYWcoc2NlbmFyaW9UYWdzQ29uZmlnLCBzY2VuYXJpb1RhZywgc2NlbmFyaW8sIGlzVGFnV2l0aFN1YlRhZ3MpO1xuXG4gICAgICAgICAgICBpZiAoaXNUYWdXaXRoU3ViVGFncykge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlU2NlbmFyaW9TdWJUYWdzKHRhZywgc2NlbmFyaW9UYWcpO1xuICAgICAgICAgICAgICAgIHRhZy5zdWJUYWdzID0gU2NlbmFyaW9TZXJ2aWNlLnNvcnRlZFN1YlRhZ3ModGFnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRhZ1dpdGhTdWJUYWdzKSByZXR1cm47XG4gICAgICAgICAgICBzY2VuYXJpb1RhZ3NVaS5wdXNoKHRhZyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmFyZUV4aXN0aW5nVGFnc0NvbmZpZykge1xuICAgICAgICAgICAgdGhpcy5pbml0RXhpc3RpbmdUYWdzQ29uZmlnKHNjZW5hcmlvLCBzY2VuYXJpb1RhZ3NVaSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpc1RhZ05vdFN1cHBvcnRpbmdEYXRlcyA9IF9zb21lKHNjZW5hcmlvVGFnc1VpLCB7IHR1cm5PZmZEYXRlVGFnczogdHJ1ZSwgdG9nZ2xlOiB0cnVlIH0pO1xuICAgICAgICBpZiAoaXNUYWdOb3RTdXBwb3J0aW5nRGF0ZXMpIHtcbiAgICAgICAgICAgIHRoaXMudHVybk9mZkRhdGVUYWcoc2NlbmFyaW9UYWdzVWkpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdGFnV2l0aFNwZWNpZmljRGF0ZVRhZ3M6IElTY2VuYXJpb1RhZ1VpID0gX2ZpbmQoXG4gICAgICAgICAgICBzY2VuYXJpb1RhZ3NVaSxcbiAgICAgICAgICAgICh0YWcpID0+IHRhZy50b2dnbGUgJiYgISF0YWcuYWNjZXB0YWJsZVN1YlRhZ3M/Lmxlbmd0aCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHRhZ1dpdGhTcGVjaWZpY0RhdGVUYWdzKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGVOb3RBdmFpbGFibGVUYWdzKHRhZ1dpdGhTcGVjaWZpY0RhdGVUYWdzLCBzY2VuYXJpb1RhZ3NVaSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5zb3J0U2NlbmFyaW9UYWdzKHNjZW5hcmlvVGFnc1VpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdGFnTm90U3VwcG9ydGluZ0RhdGVzSGFuZGxlcjxUIGV4dGVuZHMgSVNjZW5hcmlvVGFnVWk+KHRhZzogVCwgdGFnTm90U3VwcG9ydGluZ0RhdGVzOiBULCBkYXRlVGFnOiBUKTogdm9pZCB7XG4gICAgICAgIGlmICghdGFnTm90U3VwcG9ydGluZ0RhdGVzIHx8ICF0YWcudG9nZ2xlKSByZXR1cm47XG5cbiAgICAgICAgaWYgKHRhZy50eXBlID09PSBUYWdUeXBlcy5EQVRFKSB7XG4gICAgICAgICAgICB0YWdOb3RTdXBwb3J0aW5nRGF0ZXMudG9nZ2xlID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGFnID09PSB0YWdOb3RTdXBwb3J0aW5nRGF0ZXMpIHtcbiAgICAgICAgICAgIGlmIChkYXRlVGFnKSB7XG4gICAgICAgICAgICAgICAgZGF0ZVRhZy50b2dnbGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB0YWdBY2NlcHRhYmxlU3ViVGFnc0hhbmRsZXI8VCBleHRlbmRzIElTY2VuYXJpb1RhZ1VpPih0YWc6IFQsIGRhdGVUYWc6IFQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0YWcuYWNjZXB0YWJsZVN1YlRhZ3M/Lmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgICAgIGlmICghZGF0ZVRhZykgcmV0dXJuO1xuXG4gICAgICAgIGRhdGVUYWcuc3ViVGFncyA9IF9tYXAoZGF0ZVRhZy5zdWJUYWdzLCAoc3ViVGFnKSA9PiB7XG4gICAgICAgICAgICBzdWJUYWcuaGlkZGVuID0gdGFnLnRvZ2dsZSAmJiAhX2luY2x1ZGVzKHRhZy5hY2NlcHRhYmxlU3ViVGFncywgc3ViVGFnLnN1YlR5cGUpO1xuICAgICAgICAgICAgcmV0dXJuIHN1YlRhZztcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGF0ZVRhZy5zZWxlY3RlZFRhZ1N1YlR5cGUgPSB0YWcuYWNjZXB0YWJsZVN1YlRhZ3NbMF07XG4gICAgfVxuXG4gICAgcHVibGljIHNvcnRTY2VuYXJpb1RhZ3Moc2NlbmFyaW9UYWdzVWk6IGFueVtdKTogYW55W10ge1xuICAgICAgICByZXR1cm4gX29yZGVyQnkoc2NlbmFyaW9UYWdzVWksIFsodGFnKSA9PiAodGFnLnR5cGUgPT09IFRhZ1R5cGVzLkRBVEUgPyAwIDogMSksICh0YWcpID0+IHRhZy5uYW1lID09PSAnRmlsZSBTdGF0dXMnXSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBzb3J0ZWRTdWJUYWdzKHRhZzogSVNjZW5hcmlvVGFnVWkpOiBJU2NlbmFyaW9TdWJUYWdbXSB7XG4gICAgICAgIGNvbnN0IFNVQl9UQUdTX09SREVSID0gW1xuICAgICAgICAgICAgVGFnc0NvbmZpZ1N1YlR5cGUuREFZLFxuICAgICAgICAgICAgVGFnc0NvbmZpZ1N1YlR5cGUuV0VFSyxcbiAgICAgICAgICAgIFRhZ3NDb25maWdTdWJUeXBlLk1PTlRILFxuICAgICAgICAgICAgVGFnc0NvbmZpZ1N1YlR5cGUuUVVBUlRFUixcbiAgICAgICAgICAgIFRhZ3NDb25maWdTdWJUeXBlLllFQVIsXG4gICAgICAgIF07XG4gICAgICAgIHJldHVybiBfb3JkZXJCeSh0YWcuc3ViVGFncywgKHN1YlRhZykgPT4gX2luZGV4T2YoU1VCX1RBR1NfT1JERVIsIHN1YlRhZy5zdWJUeXBlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0RXhpc3RpbmdUYWdzQ29uZmlnKHNjZW5hcmlvOiBTY2VuYXJpbywgc2NlbmFyaW9UYWdzVWk6IElTY2VuYXJpb1RhZ1VpW10pIHtcbiAgICAgICAgX2ZvckVhY2godGhpcy5jdXJyZW50VGFnc0NvbmZpZywgKHRhZ0NvbmZpZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGFnU3ViVHlwZSA9IHRhZ0NvbmZpZz8ub3B0aW9ucz8uc3ViX3R5cGU7XG4gICAgICAgICAgICBjb25zdCBzY2VuYXJpb1RhZ0RhdGFDb25maWcgPSBnZXRTY2VuYXJpb1RhZ0RhdGFDb25maWcodGhpcy5pc011bHRpcGxlRGltZW5zaW9uKTtcbiAgICAgICAgICAgIGlmICghc2NlbmFyaW9UYWdEYXRhQ29uZmlnIHx8ICFzY2VuYXJpb1RhZ0RhdGFDb25maWdbc2NlbmFyaW9dIHx8ICFzY2VuYXJpb1RhZ0RhdGFDb25maWdbc2NlbmFyaW9dW3RhZ1N1YlR5cGVdKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzY2VuYXJpb1RhZ1VpID1cbiAgICAgICAgICAgICAgICB0YWdDb25maWcudHlwZSA9PT0gVGFnVHlwZXMuREFURVxuICAgICAgICAgICAgICAgICAgICA/IF9maW5kKHNjZW5hcmlvVGFnc1VpLCB7IHR5cGU6IHRhZ0NvbmZpZy50eXBlIH0pXG4gICAgICAgICAgICAgICAgICAgIDogX2ZpbmQoc2NlbmFyaW9UYWdzVWksIHsgc2VsZWN0ZWRUYWdTdWJUeXBlOiB0YWdTdWJUeXBlIH0pO1xuXG4gICAgICAgICAgICBpZiAoc2NlbmFyaW9UYWdVaSkge1xuICAgICAgICAgICAgICAgIHNjZW5hcmlvVGFnVWkudG9nZ2xlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzY2VuYXJpb1RhZ1VpLnNlbGVjdGVkVGFnU3ViVHlwZSA9IHRhZ1N1YlR5cGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJlcGFyZVNjZW5hcmlvVGFnKFxuICAgICAgICBzY2VuYXJpb1RhZ3NDb25maWc6IElTY2VuYXJpb1RhZ1tdLFxuICAgICAgICBzY2VuYXJpb1RhZzogSVNjZW5hcmlvVGFnLFxuICAgICAgICBzY2VuYXJpbzogU2NlbmFyaW8sXG4gICAgICAgIGlzRGF0ZVRhZzogYm9vbGVhbixcbiAgICApOiBJU2NlbmFyaW9UYWdVaSB7XG4gICAgICAgIGNvbnN0IHRvZ2dsZVN0YXR1cyA9IGlzRGF0ZVRhZ1xuICAgICAgICAgICAgPyBfc29tZShzY2VuYXJpb1RhZ3NDb25maWcsICh0YWcpID0+IHRhZy50eXBlID09PSBUYWdUeXBlcy5EQVRFICYmIHRhZy5zY2VuYXJpb0RhdGEudG9nZ2xlKVxuICAgICAgICAgICAgOiBzY2VuYXJpb1RhZy5zY2VuYXJpb0RhdGEudG9nZ2xlO1xuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkVGFnU3ViVHlwZSA9IGlzRGF0ZVRhZ1xuICAgICAgICAgICAgPyB0aGlzLmdldFNjZW5hcmlvU2VsZWN0ZWREYXRlVGFnKHNjZW5hcmlvLCBzY2VuYXJpb1RhZ3NDb25maWcpXG4gICAgICAgICAgICA6IHNjZW5hcmlvVGFnLm9wdGlvbnMuc3ViX3R5cGU7XG5cbiAgICAgICAgY29uc3QgdGFnOiBJU2NlbmFyaW9UYWdVaSA9IHtcbiAgICAgICAgICAgIHRvZ2dsZTogdGhpcy5hcmVFeGlzdGluZ1RhZ3NDb25maWcgPyBmYWxzZSA6IHRvZ2dsZVN0YXR1cyxcbiAgICAgICAgICAgIG5hbWU6IHNjZW5hcmlvVGFnLnNjZW5hcmlvRGF0YS5uYW1lIHx8IHNjZW5hcmlvVGFnLm5hbWUsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogc2NlbmFyaW9UYWcuc2NlbmFyaW9EYXRhLmRlc2NyaXB0aW9uIHx8IHNjZW5hcmlvVGFnLmRlc2NyaXB0aW9uLFxuICAgICAgICAgICAgdHlwZTogc2NlbmFyaW9UYWcudHlwZSxcbiAgICAgICAgICAgIHNlbGVjdGVkVGFnU3ViVHlwZSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoc2NlbmFyaW9UYWcuc2NlbmFyaW9EYXRhLnR1cm5PZmZEYXRlVGFncykge1xuICAgICAgICAgICAgdGFnLnR1cm5PZmZEYXRlVGFncyA9IHNjZW5hcmlvVGFnLnNjZW5hcmlvRGF0YS50dXJuT2ZmRGF0ZVRhZ3M7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2NlbmFyaW9UYWcuc2NlbmFyaW9EYXRhLmFjY2VwdGFibGVTdWJUYWdzKSB7XG4gICAgICAgICAgICB0YWcuYWNjZXB0YWJsZVN1YlRhZ3MgPSBzY2VuYXJpb1RhZy5zY2VuYXJpb0RhdGEuYWNjZXB0YWJsZVN1YlRhZ3M7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGFnO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlU2NlbmFyaW9TdWJUYWdzKHRhZzogSVNjZW5hcmlvVGFnVWksIHNjZW5hcmlvVGFnOiBJU2NlbmFyaW9UYWcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0YWcuc3ViVGFncykge1xuICAgICAgICAgICAgdGFnLnN1YlRhZ3MgPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHRhZ1N1YlR5cGUgPSBzY2VuYXJpb1RhZy5vcHRpb25zLnN1Yl90eXBlO1xuXG4gICAgICAgIHRhZy5zdWJUYWdzLnB1c2goe1xuICAgICAgICAgICAgc3ViVHlwZTogdGFnU3ViVHlwZSxcbiAgICAgICAgICAgIG5hbWU6IHRhZ1N1YlR5cGUgPT09IFRhZ3NDb25maWdTdWJUeXBlLkZPUkVDQVNUX05FVyA/IHRoaXMuREVGQVVMVF9GT1JFQ0FTVF9EQVRFX1RBRyA6IHNjZW5hcmlvVGFnLm5hbWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHVybk9mZkRhdGVUYWcoc2NlbmFyaW9UYWdzOiBJU2NlbmFyaW9UYWdVaVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGRhdGVUYWcgPSBfZmluZChzY2VuYXJpb1RhZ3MsIHsgdHlwZTogVGFnVHlwZXMuREFURSB9KTtcblxuICAgICAgICBpZiAoIWRhdGVUYWcpIHJldHVybjtcbiAgICAgICAgZGF0ZVRhZy50b2dnbGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZGVOb3RBdmFpbGFibGVUYWdzKHRhZ1dpdGhTcGVjaWZpY0RhdGVUYWdzOiBJU2NlbmFyaW9UYWdVaSwgc2NlbmFyaW9UYWdzOiBJU2NlbmFyaW9UYWdVaVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN1YlRhZ3MgPSBfZmluZChzY2VuYXJpb1RhZ3MsIHsgdHlwZTogVGFnVHlwZXMuREFURSB9KT8uc3ViVGFncztcbiAgICAgICAgaWYgKCFzdWJUYWdzLmxlbmd0aCkgcmV0dXJuO1xuXG4gICAgICAgIF9mb3JFYWNoKHNjZW5hcmlvVGFncywgKHRhZykgPT4ge1xuICAgICAgICAgICAgaWYgKCF0YWcuYWNjZXB0YWJsZVN1YlRhZ3M/Lmxlbmd0aCkgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKHRhZyAhPT0gdGFnV2l0aFNwZWNpZmljRGF0ZVRhZ3MpIHtcbiAgICAgICAgICAgICAgICB0YWcudG9nZ2xlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIF9mb3JFYWNoKHN1YlRhZ3MsIChzdWJUYWcpID0+IHtcbiAgICAgICAgICAgIHN1YlRhZy5oaWRkZW4gPSAhdGFnV2l0aFNwZWNpZmljRGF0ZVRhZ3MuYWNjZXB0YWJsZVN1YlRhZ3MuaW5jbHVkZXMoc3ViVGFnLnN1YlR5cGUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNjZW5hcmlvU2VsZWN0ZWREYXRlVGFnKHNjZW5hcmlvOiBTY2VuYXJpbywgZGF0ZVRhZ3M6IElTY2VuYXJpb1RhZ1tdKTogVGFnc0NvbmZpZ1N1YlR5cGUge1xuICAgICAgICBjb25zdCBtb250aFN1YlR5cGUgPSBfZmluZChkYXRlVGFncywgKHRhZzogSVNjZW5hcmlvVGFnKSA9PiB0YWcub3B0aW9ucy5zdWJfdHlwZSA9PT0gVGFnc0NvbmZpZ1N1YlR5cGUuTU9OVEgpPy5vcHRpb25zXG4gICAgICAgICAgICA/LnN1Yl90eXBlO1xuXG4gICAgICAgIGNvbnN0IHNjZW5hcmlvU2VsZWN0ZWREYXRlVGFnID0ge1xuICAgICAgICAgICAgW1NjZW5hcmlvLkFDVFVBTFNdOiAoKSA9PiBtb250aFN1YlR5cGUsXG4gICAgICAgICAgICBbU2NlbmFyaW8uQlVER0VUXTogKCkgPT5cbiAgICAgICAgICAgICAgICBfZmluZChkYXRlVGFncywgKHRhZzogSVNjZW5hcmlvVGFnKSA9PiB0YWcub3B0aW9ucy5zdWJfdHlwZSA9PT0gVGFnc0NvbmZpZ1N1YlR5cGUuWUVBUik/Lm9wdGlvbnM/LnN1Yl90eXBlLFxuICAgICAgICAgICAgW1NjZW5hcmlvLkZPUkVDQVNUXTogKCkgPT5cbiAgICAgICAgICAgICAgICBfZmluZChkYXRlVGFncywgKHRhZzogSVNjZW5hcmlvVGFnKSA9PiB0YWcub3B0aW9ucy5zdWJfdHlwZSA9PT0gVGFnc0NvbmZpZ1N1YlR5cGUuRk9SRUNBU1RfTkVXKT8ub3B0aW9uc1xuICAgICAgICAgICAgICAgICAgICA/LnN1Yl90eXBlLFxuICAgICAgICAgICAgW1NjZW5hcmlvLk5PTkVdOiAoKSA9PiBtb250aFN1YlR5cGUsXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKCFzY2VuYXJpb1NlbGVjdGVkRGF0ZVRhZ1tzY2VuYXJpb10pIHJldHVybjtcbiAgICAgICAgcmV0dXJuIHNjZW5hcmlvU2VsZWN0ZWREYXRlVGFnW3NjZW5hcmlvXSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2NlbmFyaW9UYWdzQ29uZmlnKHNjZW5hcmlvOiBTY2VuYXJpbywgdGFnc0NvbmZpZzogSVRhZ1tdKTogSVNjZW5hcmlvVGFnW10ge1xuICAgICAgICByZXR1cm4gX3JlZHVjZShcbiAgICAgICAgICAgIHRhZ3NDb25maWcsXG4gICAgICAgICAgICAoYWNjOiBJU2NlbmFyaW9UYWdbXSwgdGFnQ29uZmlnOiBJVGFnKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFnU3ViVHlwZSA9IHRhZ0NvbmZpZz8ub3B0aW9ucz8uc3ViX3R5cGU7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBzY2VuYXJpb1RhZ0RhdGFDb25maWcgPSBnZXRTY2VuYXJpb1RhZ0RhdGFDb25maWcodGhpcy5pc011bHRpcGxlRGltZW5zaW9uKTtcbiAgICAgICAgICAgICAgICBjb25zdCBzY2VuYXJpb1RhZ0NvbmZpZzogSVNjZW5hcmlvID1cbiAgICAgICAgICAgICAgICAgICAgc2NlbmFyaW9UYWdEYXRhQ29uZmlnICYmIHNjZW5hcmlvVGFnRGF0YUNvbmZpZ1tzY2VuYXJpb10gPyBzY2VuYXJpb1RhZ0RhdGFDb25maWdbc2NlbmFyaW9dW3RhZ1N1YlR5cGVdIDogbnVsbDtcbiAgICAgICAgICAgICAgICBpZiAoIXNjZW5hcmlvVGFnQ29uZmlnIHx8IHNjZW5hcmlvVGFnQ29uZmlnLmhpZGRlbikgcmV0dXJuIGFjYztcblxuICAgICAgICAgICAgICAgIGNvbnN0IGNsb25lZFRhZ0NvbmZpZyA9IF9jbG9uZURlZXAodGFnQ29uZmlnKTtcbiAgICAgICAgICAgICAgICBjb25zdCBzY2VuYXJpb1RhZzogSVNjZW5hcmlvVGFnID0geyAuLi5jbG9uZWRUYWdDb25maWcsIHNjZW5hcmlvRGF0YTogc2NlbmFyaW9UYWdDb25maWcgfTtcblxuICAgICAgICAgICAgICAgIGFjYy5wdXNoKHNjZW5hcmlvVGFnKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtdLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|