barsa-novin-ray-core 2.2.71 → 2.2.73

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.
Files changed (30) hide show
  1. package/esm2022/lib/abstract-classes/models.mjs +1 -1
  2. package/esm2022/lib/abstract-classes/report-base.mjs +2 -1
  3. package/esm2022/lib/abstract-classes/report-view-base.component.mjs +12 -4
  4. package/esm2022/lib/abstract-classes/tile-props.mjs +4 -2
  5. package/esm2022/lib/barsa-novin-ray-core.module.mjs +15 -9
  6. package/esm2022/lib/constants.mjs +3 -3
  7. package/esm2022/lib/directives/index.mjs +2 -1
  8. package/esm2022/lib/directives/splide-slider.directive.mjs +113 -0
  9. package/esm2022/lib/form/form.component.mjs +8 -7
  10. package/esm2022/lib/pipes/card-media-size.pipe.mjs +21 -0
  11. package/esm2022/lib/pipes/index.mjs +2 -1
  12. package/esm2022/lib/root-portal/root-portal.component.mjs +25 -7
  13. package/esm2022/lib/services/portal.service.mjs +5 -1
  14. package/esm2022/lib/services/ulvmain.service.mjs +8 -1
  15. package/fesm2022/barsa-novin-ray-core.mjs +198 -24
  16. package/fesm2022/barsa-novin-ray-core.mjs.map +1 -1
  17. package/lib/abstract-classes/models.d.ts +8 -0
  18. package/lib/abstract-classes/report-base.d.ts +2 -1
  19. package/lib/abstract-classes/report-view-base.component.d.ts +2 -0
  20. package/lib/abstract-classes/tile-props.d.ts +2 -1
  21. package/lib/barsa-novin-ray-core.module.d.ts +43 -41
  22. package/lib/directives/index.d.ts +1 -0
  23. package/lib/directives/splide-slider.directive.d.ts +39 -0
  24. package/lib/form/form.component.d.ts +2 -2
  25. package/lib/pipes/card-media-size.pipe.d.ts +8 -0
  26. package/lib/pipes/index.d.ts +1 -0
  27. package/lib/root-portal/root-portal.component.d.ts +2 -0
  28. package/lib/services/portal.service.d.ts +3 -0
  29. package/lib/services/ulvmain.service.d.ts +4 -1
  30. package/package.json +1 -1
@@ -0,0 +1,113 @@
1
+ import { Input, Renderer2, inject, ElementRef, Directive, HostBinding } from '@angular/core';
2
+ import Splide from '@splidejs/splide';
3
+ import { BaseDirective } from './base.directive';
4
+ import { MoReportValuePipe } from '../pipes/mo-report-value.pipe';
5
+ import { PictureFieldSourcePipe } from '../pipes/picture-field-source.pipe';
6
+ import * as i0 from "@angular/core";
7
+ export class SplideSliderDirective extends BaseDirective {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.type = 'small';
11
+ this.width = '100%';
12
+ this.carouselCls = 'carousel-full';
13
+ this.numWidth = window.innerWidth;
14
+ this.height = this.numWidth / 2;
15
+ this.rval = inject(MoReportValuePipe);
16
+ this._picFieldSrc = inject(PictureFieldSourcePipe);
17
+ this._renderer2 = inject(Renderer2);
18
+ this._el = inject(ElementRef);
19
+ }
20
+ get dom() {
21
+ return this._el.nativeElement;
22
+ }
23
+ ngOnInit() {
24
+ super.ngOnInit();
25
+ this.type = this.type || 'full';
26
+ this._width = this.width;
27
+ }
28
+ ngAfterViewInit() {
29
+ this._init();
30
+ setTimeout(() => {
31
+ this._refreshSplide();
32
+ }, 200);
33
+ }
34
+ ngOnChanges(changes) {
35
+ super.ngOnChanges(changes);
36
+ const { moDataList } = changes;
37
+ if (moDataList && moDataList.currentValue) {
38
+ this._refreshSplide();
39
+ }
40
+ }
41
+ onRefresh() {
42
+ this._refreshSplide();
43
+ }
44
+ _refreshSplide() {
45
+ this._splide && this._splide.refresh();
46
+ this._splide && this._splide.length < this._splide.options.perPage && this._splide.Components.Arrows.destroy();
47
+ }
48
+ _init() {
49
+ this._renderer2.setAttribute(this.dom, 'data-splide', '{"direction":"rtl"}');
50
+ this._splide = new Splide(this.dom, {
51
+ ...this._getCommonOptions,
52
+ gap: +this.sliderGap,
53
+ padding: +this.sliderPadding,
54
+ perPage: +this.sliderPerPage,
55
+ breakpoints: {
56
+ 480: {
57
+ perPage: +this.breakpoint480
58
+ },
59
+ 768: {
60
+ perPage: +this.breakpoint768
61
+ },
62
+ 991: {
63
+ perPage: +this.breakpoint991
64
+ },
65
+ 1279: {
66
+ perPage: +this.breakpoint1279
67
+ }
68
+ }
69
+ }).mount();
70
+ }
71
+ get _getCommonOptions() {
72
+ return {
73
+ rewind: true,
74
+ arrows: this.moDataList?.length > 1,
75
+ type: 'slide',
76
+ direction: 'rtl',
77
+ pagination: false
78
+ };
79
+ }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SplideSliderDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
81
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: SplideSliderDirective, selector: "[splideSlider]", inputs: { moDataList: "moDataList", type: "type", breakpoint991: "breakpoint991", breakpoint768: "breakpoint768", breakpoint480: "breakpoint480", breakpoint1279: "breakpoint1279", sliderPerPage: "sliderPerPage", sliderGap: "sliderGap", sliderPadding: "sliderPadding", width: "width" }, host: { properties: { "style.width": "this._width" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
82
+ }
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SplideSliderDirective, decorators: [{
84
+ type: Directive,
85
+ args: [{
86
+ selector: '[splideSlider]',
87
+ standalone: false
88
+ }]
89
+ }], propDecorators: { _width: [{
90
+ type: HostBinding,
91
+ args: ['style.width']
92
+ }], moDataList: [{
93
+ type: Input
94
+ }], type: [{
95
+ type: Input
96
+ }], breakpoint991: [{
97
+ type: Input
98
+ }], breakpoint768: [{
99
+ type: Input
100
+ }], breakpoint480: [{
101
+ type: Input
102
+ }], breakpoint1279: [{
103
+ type: Input
104
+ }], sliderPerPage: [{
105
+ type: Input
106
+ }], sliderGap: [{
107
+ type: Input
108
+ }], sliderPadding: [{
109
+ type: Input
110
+ }], width: [{
111
+ type: Input
112
+ }] } });
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaWRlLXNsaWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2RpcmVjdGl2ZXMvc3BsaWRlLXNsaWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUU1RyxPQUFPLE1BQU0sTUFBTSxrQkFBa0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7O0FBTTVFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBSnhEOztRQVFhLFNBQUksR0FBZSxPQUFPLENBQUM7UUFRM0IsVUFBSyxHQUFHLE1BQU0sQ0FBQztRQUV4QixnQkFBVyxHQUFHLGVBQWUsQ0FBQztRQUU5QixhQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUM3QixXQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFLM0IsU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2QsaUJBQVksR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUM5QyxlQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9CLFFBQUcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7S0EwRC9DO0lBakVHLElBQUksR0FBRztRQUNILE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7SUFDbEMsQ0FBQztJQU1ELFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLE1BQU0sQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUNELGVBQWU7UUFDWCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzFCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNaLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQy9CLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7SUFDRCxTQUFTO1FBQ0wsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFDRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNuSCxDQUFDO0lBQ0QsS0FBSztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2hDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQjtZQUN6QixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUztZQUNwQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUM1QixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUM1QixXQUFXLEVBQUU7Z0JBQ1QsR0FBRyxFQUFFO29CQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhO2lCQUMvQjtnQkFDRCxHQUFHLEVBQUU7b0JBQ0QsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWE7aUJBQy9CO2dCQUNELEdBQUcsRUFBRTtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYTtpQkFDL0I7Z0JBQ0QsSUFBSSxFQUFFO29CQUNGLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjO2lCQUNoQzthQUNKO1NBQ0osQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUNELElBQUksaUJBQWlCO1FBQ2pCLE9BQU87WUFDSCxNQUFNLEVBQUUsSUFBSTtZQUNaLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRyxDQUFDO1lBQ25DLElBQUksRUFBRSxPQUFPO1lBQ2IsU0FBUyxFQUFFLEtBQUs7WUFDaEIsVUFBVSxFQUFFLEtBQUs7U0FDcEIsQ0FBQztJQUNOLENBQUM7K0dBbEZRLHFCQUFxQjttR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjs4QkFFK0IsTUFBTTtzQkFBakMsV0FBVzt1QkFBQyxhQUFhO2dCQUVqQixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBSZW5kZXJlcjIsIGluamVjdCwgRWxlbWVudFJlZiwgRGlyZWN0aXZlLCBIb3N0QmluZGluZywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IFNwbGlkZSBmcm9tICdAc3BsaWRlanMvc3BsaWRlJztcclxuaW1wb3J0IHsgQmFzZURpcmVjdGl2ZSB9IGZyb20gJy4vYmFzZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNZXRhb2JqZWN0RGF0YU1vZGVsIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcyc7XHJcbmltcG9ydCB7IE1vUmVwb3J0VmFsdWVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvbW8tcmVwb3J0LXZhbHVlLnBpcGUnO1xyXG5pbXBvcnQgeyBQaWN0dXJlRmllbGRTb3VyY2VQaXBlIH0gZnJvbSAnLi4vcGlwZXMvcGljdHVyZS1maWVsZC1zb3VyY2UucGlwZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW3NwbGlkZVNsaWRlcl0nLFxyXG4gICAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIFNwbGlkZVNsaWRlckRpcmVjdGl2ZSBleHRlbmRzIEJhc2VEaXJlY3RpdmUge1xyXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS53aWR0aCcpIF93aWR0aDtcclxuXHJcbiAgICBASW5wdXQoKSBtb0RhdGFMaXN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsW107XHJcbiAgICBASW5wdXQoKSB0eXBlOiBTbGlkZXJUeXBlID0gJ3NtYWxsJztcclxuICAgIEBJbnB1dCgpIGJyZWFrcG9pbnQ5OTE6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGJyZWFrcG9pbnQ3Njg6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGJyZWFrcG9pbnQ0ODA6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGJyZWFrcG9pbnQxMjc5OiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBzbGlkZXJQZXJQYWdlOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBzbGlkZXJHYXA6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHNsaWRlclBhZGRpbmc6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIHdpZHRoID0gJzEwMCUnO1xyXG5cclxuICAgIGNhcm91c2VsQ2xzID0gJ2Nhcm91c2VsLWZ1bGwnO1xyXG5cclxuICAgIG51bVdpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICBoZWlnaHQgPSB0aGlzLm51bVdpZHRoIC8gMjtcclxuICAgIGdldCBkb20oKTogSFRNTEVsZW1lbnQge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9lbC5uYXRpdmVFbGVtZW50O1xyXG4gICAgfVxyXG4gICAgX3NwbGlkZTogdW5kZWZpbmVkIHwgYW55O1xyXG4gICAgcnZhbCA9IGluamVjdChNb1JlcG9ydFZhbHVlUGlwZSk7XHJcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3BpY0ZpZWxkU3JjID0gaW5qZWN0KFBpY3R1cmVGaWVsZFNvdXJjZVBpcGUpO1xyXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IF9yZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuICAgIHByb3RlY3RlZCByZWFkb25seSBfZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMudHlwZSA9IHRoaXMudHlwZSB8fCAnZnVsbCc7XHJcbiAgICAgICAgdGhpcy5fd2lkdGggPSB0aGlzLndpZHRoO1xyXG4gICAgfVxyXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2luaXQoKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fcmVmcmVzaFNwbGlkZSgpO1xyXG4gICAgICAgIH0sIDIwMCk7XHJcbiAgICB9XHJcbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XHJcbiAgICAgICAgY29uc3QgeyBtb0RhdGFMaXN0IH0gPSBjaGFuZ2VzO1xyXG4gICAgICAgIGlmIChtb0RhdGFMaXN0ICYmIG1vRGF0YUxpc3QuY3VycmVudFZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlZnJlc2hTcGxpZGUoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBvblJlZnJlc2goKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fcmVmcmVzaFNwbGlkZSgpO1xyXG4gICAgfVxyXG4gICAgX3JlZnJlc2hTcGxpZGUoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fc3BsaWRlICYmIHRoaXMuX3NwbGlkZS5yZWZyZXNoKCk7XHJcbiAgICAgICAgdGhpcy5fc3BsaWRlICYmIHRoaXMuX3NwbGlkZS5sZW5ndGggPCB0aGlzLl9zcGxpZGUub3B0aW9ucy5wZXJQYWdlICYmIHRoaXMuX3NwbGlkZS5Db21wb25lbnRzLkFycm93cy5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgICBfaW5pdCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0QXR0cmlidXRlKHRoaXMuZG9tLCAnZGF0YS1zcGxpZGUnLCAne1wiZGlyZWN0aW9uXCI6XCJydGxcIn0nKTtcclxuICAgICAgICB0aGlzLl9zcGxpZGUgPSBuZXcgU3BsaWRlKHRoaXMuZG9tLCB7XHJcbiAgICAgICAgICAgIC4uLnRoaXMuX2dldENvbW1vbk9wdGlvbnMsXHJcbiAgICAgICAgICAgIGdhcDogK3RoaXMuc2xpZGVyR2FwLFxyXG4gICAgICAgICAgICBwYWRkaW5nOiArdGhpcy5zbGlkZXJQYWRkaW5nLFxyXG4gICAgICAgICAgICBwZXJQYWdlOiArdGhpcy5zbGlkZXJQZXJQYWdlLFxyXG4gICAgICAgICAgICBicmVha3BvaW50czoge1xyXG4gICAgICAgICAgICAgICAgNDgwOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGVyUGFnZTogK3RoaXMuYnJlYWtwb2ludDQ4MFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIDc2ODoge1xyXG4gICAgICAgICAgICAgICAgICAgIHBlclBhZ2U6ICt0aGlzLmJyZWFrcG9pbnQ3NjhcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICA5OTE6IHtcclxuICAgICAgICAgICAgICAgICAgICBwZXJQYWdlOiArdGhpcy5icmVha3BvaW50OTkxXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgMTI3OToge1xyXG4gICAgICAgICAgICAgICAgICAgIHBlclBhZ2U6ICt0aGlzLmJyZWFrcG9pbnQxMjc5XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KS5tb3VudCgpO1xyXG4gICAgfVxyXG4gICAgZ2V0IF9nZXRDb21tb25PcHRpb25zKCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIHJld2luZDogdHJ1ZSxcclxuICAgICAgICAgICAgYXJyb3dzOiB0aGlzLm1vRGF0YUxpc3Q/Lmxlbmd0aCA+IDEsXHJcbiAgICAgICAgICAgIHR5cGU6ICdzbGlkZScsXHJcbiAgICAgICAgICAgIGRpcmVjdGlvbjogJ3J0bCcsXHJcbiAgICAgICAgICAgIHBhZ2luYXRpb246IGZhbHNlXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG50eXBlIFNsaWRlclR5cGUgPSAnZnVsbCcgfCAnbXVsdGlwbGUnIHwgJ3NpbmdsZScgfCAnc21hbGwnIHwgdW5kZWZpbmVkO1xyXG4iXX0=
@@ -1,4 +1,4 @@
1
- import { Component, ViewChild, Input, Output, EventEmitter, ViewContainerRef, ChangeDetectionStrategy } from '@angular/core';
1
+ import { Component, ViewChild, Input, Output, EventEmitter, ViewContainerRef, ChangeDetectionStrategy, signal } from '@angular/core';
2
2
  import { takeUntil, tap } from 'rxjs/operators';
3
3
  import { getComponentDefined, getUniqueId } from '../constants';
4
4
  import { BaseComponent } from '../abstract-classes/base.component';
@@ -19,6 +19,7 @@ export class FormComponent extends BaseComponent {
19
19
  this.bruleAction = new EventEmitter();
20
20
  this.beforeTransition = new EventEmitter();
21
21
  this.afterTransition = new EventEmitter();
22
+ this.uiFormComponent = signal(undefined);
22
23
  el.nativeElement.id = this.uniqueId = getUniqueId(4);
23
24
  }
24
25
  ngOnInit() {
@@ -35,7 +36,6 @@ export class FormComponent extends BaseComponent {
35
36
  const currVal = JSON.stringify(params.currentValue);
36
37
  const prevVal = JSON.stringify(params.previousValue);
37
38
  if (currVal !== prevVal) {
38
- // this.uiFormComponent.instance.formPanelService.destroy();
39
39
  this.vcr.clear();
40
40
  this.appendForm(currVal);
41
41
  }
@@ -43,8 +43,10 @@ export class FormComponent extends BaseComponent {
43
43
  }
44
44
  ngOnDestroy() {
45
45
  super.ngOnDestroy();
46
- if (this.uiFormComponent) {
47
- this.uiFormComponent.destroy();
46
+ const x = this.uiFormComponent();
47
+ if (x) {
48
+ x.destroy();
49
+ this.uiFormComponent.set(undefined);
48
50
  }
49
51
  }
50
52
  _handleSaveOnFieldValueChange() {
@@ -163,8 +165,7 @@ export class FormComponent extends BaseComponent {
163
165
  this.formRendered.emit(customFormPanelUi);
164
166
  }))
165
167
  .subscribe((component) => {
166
- this.uiFormComponent = component;
167
- this.cdr.detectChanges();
168
+ this.uiFormComponent.set(component);
168
169
  this.uiComponent.emit(component.instance);
169
170
  });
170
171
  }
@@ -208,4 +209,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
208
209
  type: ViewChild,
209
210
  args: ['placeholder', { read: ViewContainerRef, static: true }]
210
211
  }] } });
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Zvcm0vZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBRVosZ0JBQWdCLEVBRWhCLHVCQUF1QixFQU0xQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDaEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBUW5FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBU3pELE1BQU0sT0FBTyxhQUFjLFNBQVEsYUFBYTtJQW9CNUMsWUFDWSxhQUE0QixFQUM1QixRQUFrQixFQUNsQixHQUFzQixFQUM5QixFQUFjO1FBRWQsS0FBSyxFQUFFLENBQUM7UUFMQSxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBZnhCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMxQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDcEQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDL0IsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3RDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNsQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBQ3JELHFCQUFnQixHQUFHLElBQUksWUFB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bXBvbmVudCxcclxuICAgIEVsZW1lbnRSZWYsXHJcbiAgICBWaWV3Q2hpbGQsXHJcbiAgICBJbnB1dCxcclxuICAgIE91dHB1dCxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgSW5qZWN0b3IsXHJcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICAgIENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQ29tcG9uZW50UmVmLFxyXG4gICAgT25Jbml0LFxyXG4gICAgT25DaGFuZ2VzLFxyXG4gICAgT25EZXN0cm95XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgZ2V0Q29tcG9uZW50RGVmaW5lZCwgZ2V0VW5pcXVlSWQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcy9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBCcnVsZUFjdGlvbk1lc3NhZ2UsXHJcbiAgICBGb3JtQ29tcG9uZW50UGFyYW1zLFxyXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgIFR5cGVVbHZNYWluQ3RybHJcclxufSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscyc7XHJcbmltcG9ydCB7IFBvcnRhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wb3J0YWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcy9iYXJzYS1hcGknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JucmMtZm9ybScsXHJcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250YWluZXIgI3BsYWNlaG9sZGVyPiA8L25nLWNvbnRhaW5lcj4nLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9ybS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIHBhcmFtczogRm9ybUNvbXBvbmVudFBhcmFtcztcclxuICAgIEBJbnB1dCgpIGN1c3RvbUZvcm1QYW5lbFVpO1xyXG4gICAgQElucHV0KCkgZm9ybVBhbmVsQ3RybDtcclxuICAgIEBJbnB1dCgpIFVsdk1haW5DdHJscjogVHlwZVVsdk1haW5DdHJscjtcclxuICAgIEBJbnB1dCgpIGZvcm1QYW5lbEN0cmxJZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgc2F2ZU9uQ2hhbmdlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaW5saW5lRWRpdEluUmVwb3J0OiBib29sZWFuO1xyXG4gICAgQE91dHB1dCgpIHRpdGxlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gICAgQE91dHB1dCgpIG1vQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSBmb3JtQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgdWlDb21wb25lbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBmb3JtUmVuZGVyZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgYnJ1bGVBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEJydWxlQWN0aW9uTWVzc2FnZT4oKTtcclxuICAgIEBPdXRwdXQoKSBiZWZvcmVUcmFuc2l0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIGFmdGVyVHJhbnNpdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBlcnJvcjogYW55OyByZXN1bHQ6IGFueSB9PigpO1xyXG4gICAgQFZpZXdDaGlsZCgncGxhY2Vob2xkZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG4gICAgdmNyOiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gICAgdW5pcXVlSWQ6IHN0cmluZztcclxuICAgIHVpRm9ybUNvbXBvbmVudDogQ29tcG9uZW50UmVmPGFueT47XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHBvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIGVsOiBFbGVtZW50UmVmXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIGVsLm5hdGl2ZUVsZW1lbnQuaWQgPSB0aGlzLnVuaXF1ZUlkID0gZ2V0VW5pcXVlSWQoNCk7XHJcbiAgICB9XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIGlmICh0aGlzLmZvcm1QYW5lbEN0cmxJZCAmJiAhdGhpcy5mb3JtUGFuZWxDdHJsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybCA9IHRoaXMucG9ydGFsU2VydmljZS5mb3JtUGFuZWxzW3RoaXMuZm9ybVBhbmVsQ3RybElkXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hcHBlbmRGb3JtKHRoaXMucGFyYW1zKTtcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBpZiAoY2hhbmdlcy5wYXJhbXMgJiYgIWNoYW5nZXMucGFyYW1zLmZpcnN0Q2hhbmdlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IGNoYW5nZXMucGFyYW1zO1xyXG4gICAgICAgICAgICBjb25zdCBjdXJyVmFsID0gSlNPTi5zdHJpbmdpZnkocGFyYW1zLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHByZXZWYWwgPSBKU09OLnN0cmluZ2lmeShwYXJhbXMucHJldmlvdXNWYWx1ZSk7XHJcbiAgICAgICAgICAgIGlmIChjdXJyVmFsICE9PSBwcmV2VmFsKSB7XHJcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnVpRm9ybUNvbXBvbmVudC5pbnN0YW5jZS5mb3JtUGFuZWxTZXJ2aWNlLmRlc3Ryb3koKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudmNyLmNsZWFyKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFwcGVuZEZvcm0oY3VyclZhbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gICAgICAgIGlmICh0aGlzLnVpRm9ybUNvbXBvbmVudCkge1xyXG4gICAgICAgICAgICB0aGlzLnVpRm9ybUNvbXBvbmVudC5kZXN0cm95KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgX2hhbmRsZVNhdmVPbkZpZWxkVmFsdWVDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmZvcm1QYW5lbEN0cmwpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmZvcm1QYW5lbEN0cmwub24oe1xyXG4gICAgICAgICAgICBWYWx1ZUNoYW5nZTogKGZwY3RybHIpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNhdmVPbkNoYW5nZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZwY3RybHIuU2F2ZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBhcHBlbmRGb3JtKHBhcmFtcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmZvcm1QYW5lbEN0cmwgfHwgdGhpcy5jdXN0b21Gb3JtUGFuZWxVaSkge1xyXG4gICAgICAgICAgICBjb25zdCBjdXN0b21Gcm9tUGFuZWxVaSA9IHRoaXMuY3VzdG9tRm9ybVBhbmVsVWkgfHwgdGhpcy5mb3JtUGFuZWxDdHJsLkFkYXB0ZXIuQ29udHJvbDtcclxuICAgICAgICAgICAgdGhpcy5faGFuZGxlU2F2ZU9uRmllbGRWYWx1ZUNoYW5nZSgpO1xyXG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJGb3JtUGFuZWxVaShjdXN0b21Gcm9tUGFuZWxVaSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHsgZm9ybVNldHRpbmcsIG1vSWQsIHR5cGVEZWZJZCwgcmVwb3J0SWQsIHZpZXdJZCwgdmlld05hbWUsIGxvYWRBY3Rpdml0eVZpZXcgfSA9IHBhcmFtcztcclxuICAgICAgICBsZXQgb3B0aW9uczogYW55ID0gbnVsbDtcclxuICAgICAgICBpZiAoZm9ybVNldHRpbmcpIHtcclxuICAgICAgICAgICAgb3B0aW9ucyA9IHtcclxuICAgICAgICAgICAgICAgIE1vOiBmb3JtU2V0dGluZy5EYXRhLk1vLFxyXG4gICAgICAgICAgICAgICAgVHlwZURlZklkOiBmb3JtU2V0dGluZy5EYXRhLk1vLiRUeXBlRGVmSWRcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9IGVsc2UgaWYgKG1vSWQgJiYgKHR5cGVEZWZJZCB8fCByZXBvcnRJZCkpIHtcclxuICAgICAgICAgICAgb3B0aW9ucyA9IHtcclxuICAgICAgICAgICAgICAgIE1vSWQ6IG1vSWQsXHJcbiAgICAgICAgICAgICAgICBNb0NvbnRleHQ6IHtcclxuICAgICAgICAgICAgICAgICAgICBSZXBvcnRJZDogcmVwb3J0SWQsXHJcbiAgICAgICAgICAgICAgICAgICAgVmlld0lkOiB2aWV3SWQsXHJcbiAgICAgICAgICAgICAgICAgICAgVmlld05hbWU6IHZpZXdOYW1lXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgVHlwZURlZklkOiB0eXBlRGVmSWQsXHJcbiAgICAgICAgICAgICAgICBSZXBvcnRJZDogcmVwb3J0SWRcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZnJtUGFyYW1zID0gbmV3IEJhcnNhQXBpLlVsLkZvcm1SZXF1ZXN0UGFyYW1zKG9wdGlvbnMpO1xyXG4gICAgICAgIGlmIChsb2FkQWN0aXZpdHlWaWV3KSB7XHJcbiAgICAgICAgICAgIGZybVBhcmFtcy5Mb2FkQWN0aXZpdHlWaWV3ID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZm9ybXBhbmVsQ3RybHIgPSBuZXcgQmFyc2FBcGkuVWwuRm9ybVBhbmVsQ3RybHIoe1xyXG4gICAgICAgICAgICBGb3JtUmVxdWVzdFBhcmFtczogZnJtUGFyYW1zXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgZm9ybXBhbmVsQ3RybHIuaW5EaWFsb2cgPSB0aGlzLnBhcmFtcy5pbkRpYWxvZztcclxuICAgICAgICBmb3JtcGFuZWxDdHJsci5VbHZNYWluQ3RybHIgPSB0aGlzLlVsdk1haW5DdHJscjtcclxuICAgICAgICBmb3JtcGFuZWxDdHJsci5TZXR0aW5nID0gZm9ybVNldHRpbmc7XHJcbiAgICAgICAgZm9ybXBhbmVsQ3RybHIuSW5saW5lRWRpdEluUmVwb3J0ID0gdGhpcy5pbmxpbmVFZGl0SW5SZXBvcnQ7XHJcbiAgICAgICAgZm9ybXBhbmVsQ3RybHIub24oe1xyXG4gICAgICAgICAgICBCZWZvcmVUcmFuc2l0aW9uOiAoKSA9PiB0aGlzLmJlZm9yZVRyYW5zaXRpb24uZW1pdCgpLFxyXG4gICAgICAgICAgICBBZnRlclRyYW5zaXRpb246IChzZW5kZXIsIGUpID0+IHRoaXMuYWZ0ZXJUcmFuc2l0aW9uLmVtaXQoZSksXHJcbiAgICAgICAgICAgIGJydWxlU2hvd01lc3NhZ2VBY3Rpb246IHRoaXMuX2hhbmRsZUJydWxlU2hvd01lc3NhZ2VBY3Rpb24uYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgVmFsdWVDaGFuZ2U6IChmcGN0cmxyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm1vQ2hhbmdlZC5lbWl0KGZwY3RybHIuTW8pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5mb3JtUGFuZWxDdHJsID0gZm9ybXBhbmVsQ3RybHI7XHJcbiAgICAgICAgdGhpcy5faGFuZGxlU2F2ZU9uRmllbGRWYWx1ZUNoYW5nZSgpO1xyXG4gICAgICAgIHRoaXMucG9ydGFsU2VydmljZS5mb3JtUGFuZWxzW3RoaXMuZm9ybVBhbmVsQ3RybElkXSA9IGZvcm1wYW5lbEN0cmxyO1xyXG4gICAgICAgIEJhcnNhQXBpLkNvbW1vbi5Bc3luYy5XYXRlcmZhbGwoXHJcbiAgICAgICAgICAgICdVbC5TeXN0ZW1Db250YWluZXJDdHJsci5DcmVhdGVGb3JtUGFuZWwnLFxyXG4gICAgICAgICAgICBbXHJcbiAgICAgICAgICAgICAgICBmb3JtcGFuZWxDdHJsci5Mb2FkQW5kQ3JlYXRlLmJpbmQoZm9ybXBhbmVsQ3RybHIsIGZybVBhcmFtcywgZmFsc2UsIGZvcm1TZXR0aW5nID8gZmFsc2UgOiB0cnVlKSxcclxuICAgICAgICAgICAgICAgIChkb1JldHVybjApID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZW5kZXJGb3JtUGFuZWxVaShmb3JtcGFuZWxDdHJsci5BZGFwdGVyLkNvbnRyb2wpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRvUmV0dXJuMCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAoZXJyLCByZXN1bHQpID0+IHtcclxuICAgICAgICAgICAgICAgIC8vICBtZS5Vbm1hc2tQYWdlKCksXHJcbiAgICAgICAgICAgICAgICBpZiAoZXJyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLkFzeW5jLkZpbmFsaXplKGVyciwgcmVzdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgX2hhbmRsZUJydWxlU2hvd01lc3NhZ2VBY3Rpb24oYWN0aW9uOiBCcnVsZUFjdGlvbk1lc3NhZ2UpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmJydWxlQWN0aW9uLmVtaXQoYWN0aW9uKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgYXN5bmMgX3JlbmRlckZvcm1QYW5lbFVpKGN1c3RvbUZvcm1QYW5lbFVpOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBpZiAodGhpcy5wYXJhbXM/LmlzU2ltcGxlKSB7XHJcbiAgICAgICAgICAgIGlmICghY3VzdG9tRm9ybVBhbmVsVWkuU2V0dGluZy5WaWV3LkV4dHJhSnNvblByb3ApIHtcclxuICAgICAgICAgICAgICAgIGN1c3RvbUZvcm1QYW5lbFVpLlNldHRpbmcuVmlldy5FeHRyYUpzb25Qcm9wID0ge307XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY3VzdG9tRm9ybVBhbmVsVWkuU2V0dGluZy5WaWV3LkV4dHJhSnNvblByb3AuSXNTaW1wbGUgPSB0aGlzLnBhcmFtcy5pc1NpbXBsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgY3VzdG9tVWlTZXR0aW5nID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUoY3VzdG9tRm9ybVBhbmVsVWkuU2V0dGluZywgJ1ZpZXcuQ3VzdG9tVWknLCBudWxsKTtcclxuICAgICAgICBjb25zdCB7IG1vZHVsZU5hbWUsIG1vZHVsZVBhdGgsIGNvbXBvbmVudE5hbWUsIHNlbGVjdG9yIH0gPSBnZXRDb21wb25lbnREZWZpbmVkKFxyXG4gICAgICAgICAgICBjdXN0b21Gb3JtUGFuZWxVaSxcclxuICAgICAgICAgICAgY3VzdG9tVWlTZXR0aW5nXHJcbiAgICAgICAgKTtcclxuICAgICAgICB0aGlzLnBvcnRhbFNlcnZpY2VcclxuICAgICAgICAgICAgLmdldENvbXBvbmVudChtb2R1bGVOYW1lLCBtb2R1bGVQYXRoLCBjb21wb25lbnROYW1lLCBzZWxlY3RvciwgdGhpcy5pbmplY3RvcilcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXHJcbiAgICAgICAgICAgICAgICB0YXAoKGNvbXBvbmVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudEluc3RhbmNlID0gY29tcG9uZW50Lmluc3RhbmNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLkZvcm1QYW5lbEN0cmxyID0gdGhpcy5mb3JtUGFuZWxDdHJsO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLmNvbnRleHQgPSBjdXN0b21Gb3JtUGFuZWxVaTtcclxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS50b29sYmFyID0gY3VzdG9tRm9ybVBhbmVsVWkudG9vbGJhcjtcclxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS5zZXR0aW5nID0gY3VzdG9tRm9ybVBhbmVsVWkuU2V0dGluZztcclxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS50aXRsZSA9IGN1c3RvbUZvcm1QYW5lbFVpLnRpdGxlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLmdyb3VwVmlzaWJpbGl0eSA9IGN1c3RvbUZvcm1QYW5lbFVpLmdyb3VwVmlzaWJpbGl0eTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZjci5pbnNlcnQoY29tcG9uZW50Lmhvc3RWaWV3KTtcclxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS5tbyQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgobW8pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tb0NoYW5nZWQuZW1pdChtbyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2UudGl0bGUkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKHRpdGxlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGl0bGVDaGFuZ2VkLmVtaXQodGl0bGUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLmZvcmNlQ2xvc2UkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1DbG9zZS5lbWl0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2UuZm9yY2VDbG9zZSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNsb3NlLmVtaXQoKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcy5mb3JtUGFuZWxDdHJsLm9uKCdWYWx1ZUNoYW5nZScsICgpID0+IHRoaXMubW9DaGFuZ2VkLmVtaXQodGhpcy5mb3JtUGFuZWxDdHJsLk1vKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29tcG9uZW50Lmluc3RhbmNlLmFkZEV2ZW50TGlzdGVuZXIoJ2Zvcm1DbG9zZScsIHRoaXMuY2xvc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGVsLmFwcGVuZENoaWxkKGh0bWxFbGVtZW50KTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1SZW5kZXJlZC5lbWl0KGN1c3RvbUZvcm1QYW5lbFVpKTtcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY29tcG9uZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVpRm9ybUNvbXBvbmVudCA9IGNvbXBvbmVudDtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMudWlDb21wb25lbnQuZW1pdChjb21wb25lbnQuaW5zdGFuY2UpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxufVxyXG4iXX0=
212
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Zvcm0vZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBRVosZ0JBQWdCLEVBRWhCLHVCQUF1QixFQU12QixNQUFNLEVBRVQsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQVFuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQVN6RCxNQUFNLE9BQU8sYUFBYyxTQUFRLGFBQWE7SUFvQjVDLFlBQ1ksYUFBNEIsRUFDNUIsUUFBa0IsRUFDbEIsR0FBc0IsRUFDOUIsRUFBYztRQUVkLEtBQUssRUFBRSxDQUFDO1FBTEEsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWZ4QixpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDMUMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUF1QixDQUFDO1FBQ3BELGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9CLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN0QyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUNyRCxxQkFBZ0IsR0FB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QUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBDb21wb25lbnQsXHJcbiAgICBFbGVtZW50UmVmLFxyXG4gICAgVmlld0NoaWxkLFxyXG4gICAgSW5wdXQsXHJcbiAgICBPdXRwdXQsXHJcbiAgICBFdmVudEVtaXR0ZXIsXHJcbiAgICBTaW1wbGVDaGFuZ2VzLFxyXG4gICAgVmlld0NvbnRhaW5lclJlZixcclxuICAgIEluamVjdG9yLFxyXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIENvbXBvbmVudFJlZixcclxuICAgIE9uSW5pdCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIHNpZ25hbCxcclxuICAgIFdyaXRhYmxlU2lnbmFsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgZ2V0Q29tcG9uZW50RGVmaW5lZCwgZ2V0VW5pcXVlSWQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcy9iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7XHJcbiAgICBCcnVsZUFjdGlvbk1lc3NhZ2UsXHJcbiAgICBGb3JtQ29tcG9uZW50UGFyYW1zLFxyXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcclxuICAgIFR5cGVVbHZNYWluQ3RybHJcclxufSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzL21vZGVscyc7XHJcbmltcG9ydCB7IFBvcnRhbFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9wb3J0YWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi4vYWJzdHJhY3QtY2xhc3Nlcy9iYXJzYS1hcGknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2JucmMtZm9ybScsXHJcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250YWluZXIgI3BsYWNlaG9sZGVyPiA8L25nLWNvbnRhaW5lcj4nLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9ybS5jb21wb25lbnQuc2NzcyddLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgICBzdGFuZGFsb25lOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIHBhcmFtczogRm9ybUNvbXBvbmVudFBhcmFtcztcclxuICAgIEBJbnB1dCgpIGN1c3RvbUZvcm1QYW5lbFVpO1xyXG4gICAgQElucHV0KCkgZm9ybVBhbmVsQ3RybDtcclxuICAgIEBJbnB1dCgpIFVsdk1haW5DdHJscjogVHlwZVVsdk1haW5DdHJscjtcclxuICAgIEBJbnB1dCgpIGZvcm1QYW5lbEN0cmxJZDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgc2F2ZU9uQ2hhbmdlOiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgaW5saW5lRWRpdEluUmVwb3J0OiBib29sZWFuO1xyXG4gICAgQE91dHB1dCgpIHRpdGxlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gICAgQE91dHB1dCgpIG1vQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcclxuICAgIEBPdXRwdXQoKSBmb3JtQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgdWlDb21wb25lbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBmb3JtUmVuZGVyZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgICBAT3V0cHV0KCkgYnJ1bGVBY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPEJydWxlQWN0aW9uTWVzc2FnZT4oKTtcclxuICAgIEBPdXRwdXQoKSBiZWZvcmVUcmFuc2l0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgQE91dHB1dCgpIGFmdGVyVHJhbnNpdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBlcnJvcjogYW55OyByZXN1bHQ6IGFueSB9PigpO1xyXG4gICAgQFZpZXdDaGlsZCgncGxhY2Vob2xkZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KVxyXG4gICAgdmNyOiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gICAgdW5pcXVlSWQ6IHN0cmluZztcclxuICAgIHVpRm9ybUNvbXBvbmVudDogV3JpdGFibGVTaWduYWw8Q29tcG9uZW50UmVmPGFueT4gfCB1bmRlZmluZWQ+ID0gc2lnbmFsKHVuZGVmaW5lZCk7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHBvcnRhbFNlcnZpY2U6IFBvcnRhbFNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIGVsOiBFbGVtZW50UmVmXHJcbiAgICApIHtcclxuICAgICAgICBzdXBlcigpO1xyXG4gICAgICAgIGVsLm5hdGl2ZUVsZW1lbnQuaWQgPSB0aGlzLnVuaXF1ZUlkID0gZ2V0VW5pcXVlSWQoNCk7XHJcbiAgICB9XHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIGlmICh0aGlzLmZvcm1QYW5lbEN0cmxJZCAmJiAhdGhpcy5mb3JtUGFuZWxDdHJsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybCA9IHRoaXMucG9ydGFsU2VydmljZS5mb3JtUGFuZWxzW3RoaXMuZm9ybVBhbmVsQ3RybElkXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5hcHBlbmRGb3JtKHRoaXMucGFyYW1zKTtcclxuICAgIH1cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcclxuICAgICAgICBpZiAoY2hhbmdlcy5wYXJhbXMgJiYgIWNoYW5nZXMucGFyYW1zLmZpcnN0Q2hhbmdlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IGNoYW5nZXMucGFyYW1zO1xyXG4gICAgICAgICAgICBjb25zdCBjdXJyVmFsID0gSlNPTi5zdHJpbmdpZnkocGFyYW1zLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHByZXZWYWwgPSBKU09OLnN0cmluZ2lmeShwYXJhbXMucHJldmlvdXNWYWx1ZSk7XHJcbiAgICAgICAgICAgIGlmIChjdXJyVmFsICE9PSBwcmV2VmFsKSB7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdGhpcy52Y3IuY2xlYXIoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuYXBwZW5kRm9ybShjdXJyVmFsKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICAgICAgY29uc3QgeCA9IHRoaXMudWlGb3JtQ29tcG9uZW50KCk7XHJcbiAgICAgICAgaWYgKHgpIHtcclxuICAgICAgICAgICAgeC5kZXN0cm95KCk7XHJcbiAgICAgICAgICAgIHRoaXMudWlGb3JtQ29tcG9uZW50LnNldCh1bmRlZmluZWQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIF9oYW5kbGVTYXZlT25GaWVsZFZhbHVlQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5mb3JtUGFuZWxDdHJsKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5mb3JtUGFuZWxDdHJsLm9uKHtcclxuICAgICAgICAgICAgVmFsdWVDaGFuZ2U6IChmcGN0cmxyKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zYXZlT25DaGFuZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBmcGN0cmxyLlNhdmUoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgYXBwZW5kRm9ybShwYXJhbXMpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5mb3JtUGFuZWxDdHJsIHx8IHRoaXMuY3VzdG9tRm9ybVBhbmVsVWkpIHtcclxuICAgICAgICAgICAgY29uc3QgY3VzdG9tRnJvbVBhbmVsVWkgPSB0aGlzLmN1c3RvbUZvcm1QYW5lbFVpIHx8IHRoaXMuZm9ybVBhbmVsQ3RybC5BZGFwdGVyLkNvbnRyb2w7XHJcbiAgICAgICAgICAgIHRoaXMuX2hhbmRsZVNhdmVPbkZpZWxkVmFsdWVDaGFuZ2UoKTtcclxuICAgICAgICAgICAgdGhpcy5fcmVuZGVyRm9ybVBhbmVsVWkoY3VzdG9tRnJvbVBhbmVsVWkpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB7IGZvcm1TZXR0aW5nLCBtb0lkLCB0eXBlRGVmSWQsIHJlcG9ydElkLCB2aWV3SWQsIHZpZXdOYW1lLCBsb2FkQWN0aXZpdHlWaWV3IH0gPSBwYXJhbXM7XHJcbiAgICAgICAgbGV0IG9wdGlvbnM6IGFueSA9IG51bGw7XHJcbiAgICAgICAgaWYgKGZvcm1TZXR0aW5nKSB7XHJcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7XHJcbiAgICAgICAgICAgICAgICBNbzogZm9ybVNldHRpbmcuRGF0YS5NbyxcclxuICAgICAgICAgICAgICAgIFR5cGVEZWZJZDogZm9ybVNldHRpbmcuRGF0YS5Nby4kVHlwZURlZklkXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfSBlbHNlIGlmIChtb0lkICYmICh0eXBlRGVmSWQgfHwgcmVwb3J0SWQpKSB7XHJcbiAgICAgICAgICAgIG9wdGlvbnMgPSB7XHJcbiAgICAgICAgICAgICAgICBNb0lkOiBtb0lkLFxyXG4gICAgICAgICAgICAgICAgTW9Db250ZXh0OiB7XHJcbiAgICAgICAgICAgICAgICAgICAgUmVwb3J0SWQ6IHJlcG9ydElkLFxyXG4gICAgICAgICAgICAgICAgICAgIFZpZXdJZDogdmlld0lkLFxyXG4gICAgICAgICAgICAgICAgICAgIFZpZXdOYW1lOiB2aWV3TmFtZVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIFR5cGVEZWZJZDogdHlwZURlZklkLFxyXG4gICAgICAgICAgICAgICAgUmVwb3J0SWQ6IHJlcG9ydElkXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGZybVBhcmFtcyA9IG5ldyBCYXJzYUFwaS5VbC5Gb3JtUmVxdWVzdFBhcmFtcyhvcHRpb25zKTtcclxuICAgICAgICBpZiAobG9hZEFjdGl2aXR5Vmlldykge1xyXG4gICAgICAgICAgICBmcm1QYXJhbXMuTG9hZEFjdGl2aXR5VmlldyA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGZvcm1wYW5lbEN0cmxyID0gbmV3IEJhcnNhQXBpLlVsLkZvcm1QYW5lbEN0cmxyKHtcclxuICAgICAgICAgICAgRm9ybVJlcXVlc3RQYXJhbXM6IGZybVBhcmFtc1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGZvcm1wYW5lbEN0cmxyLmluRGlhbG9nID0gdGhpcy5wYXJhbXMuaW5EaWFsb2c7XHJcbiAgICAgICAgZm9ybXBhbmVsQ3RybHIuVWx2TWFpbkN0cmxyID0gdGhpcy5VbHZNYWluQ3RybHI7XHJcbiAgICAgICAgZm9ybXBhbmVsQ3RybHIuU2V0dGluZyA9IGZvcm1TZXR0aW5nO1xyXG4gICAgICAgIGZvcm1wYW5lbEN0cmxyLklubGluZUVkaXRJblJlcG9ydCA9IHRoaXMuaW5saW5lRWRpdEluUmVwb3J0O1xyXG4gICAgICAgIGZvcm1wYW5lbEN0cmxyLm9uKHtcclxuICAgICAgICAgICAgQmVmb3JlVHJhbnNpdGlvbjogKCkgPT4gdGhpcy5iZWZvcmVUcmFuc2l0aW9uLmVtaXQoKSxcclxuICAgICAgICAgICAgQWZ0ZXJUcmFuc2l0aW9uOiAoc2VuZGVyLCBlKSA9PiB0aGlzLmFmdGVyVHJhbnNpdGlvbi5lbWl0KGUpLFxyXG4gICAgICAgICAgICBicnVsZVNob3dNZXNzYWdlQWN0aW9uOiB0aGlzLl9oYW5kbGVCcnVsZVNob3dNZXNzYWdlQWN0aW9uLmJpbmQodGhpcyksXHJcbiAgICAgICAgICAgIFZhbHVlQ2hhbmdlOiAoZnBjdHJscikgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb0NoYW5nZWQuZW1pdChmcGN0cmxyLk1vKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuZm9ybVBhbmVsQ3RybCA9IGZvcm1wYW5lbEN0cmxyO1xyXG4gICAgICAgIHRoaXMuX2hhbmRsZVNhdmVPbkZpZWxkVmFsdWVDaGFuZ2UoKTtcclxuICAgICAgICB0aGlzLnBvcnRhbFNlcnZpY2UuZm9ybVBhbmVsc1t0aGlzLmZvcm1QYW5lbEN0cmxJZF0gPSBmb3JtcGFuZWxDdHJscjtcclxuICAgICAgICBCYXJzYUFwaS5Db21tb24uQXN5bmMuV2F0ZXJmYWxsKFxyXG4gICAgICAgICAgICAnVWwuU3lzdGVtQ29udGFpbmVyQ3RybHIuQ3JlYXRlRm9ybVBhbmVsJyxcclxuICAgICAgICAgICAgW1xyXG4gICAgICAgICAgICAgICAgZm9ybXBhbmVsQ3RybHIuTG9hZEFuZENyZWF0ZS5iaW5kKGZvcm1wYW5lbEN0cmxyLCBmcm1QYXJhbXMsIGZhbHNlLCBmb3JtU2V0dGluZyA/IGZhbHNlIDogdHJ1ZSksXHJcbiAgICAgICAgICAgICAgICAoZG9SZXR1cm4wKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVuZGVyRm9ybVBhbmVsVWkoZm9ybXBhbmVsQ3RybHIuQWRhcHRlci5Db250cm9sKTtcclxuICAgICAgICAgICAgICAgICAgICBkb1JldHVybjAoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgKGVyciwgcmVzdWx0KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyAgbWUuVW5tYXNrUGFnZSgpLFxyXG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5Bc3luYy5GaW5hbGl6ZShlcnIsIHJlc3VsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIF9oYW5kbGVCcnVsZVNob3dNZXNzYWdlQWN0aW9uKGFjdGlvbjogQnJ1bGVBY3Rpb25NZXNzYWdlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5icnVsZUFjdGlvbi5lbWl0KGFjdGlvbik7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIGFzeW5jIF9yZW5kZXJGb3JtUGFuZWxVaShjdXN0b21Gb3JtUGFuZWxVaTogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKHRoaXMucGFyYW1zPy5pc1NpbXBsZSkge1xyXG4gICAgICAgICAgICBpZiAoIWN1c3RvbUZvcm1QYW5lbFVpLlNldHRpbmcuVmlldy5FeHRyYUpzb25Qcm9wKSB7XHJcbiAgICAgICAgICAgICAgICBjdXN0b21Gb3JtUGFuZWxVaS5TZXR0aW5nLlZpZXcuRXh0cmFKc29uUHJvcCA9IHt9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGN1c3RvbUZvcm1QYW5lbFVpLlNldHRpbmcuVmlldy5FeHRyYUpzb25Qcm9wLklzU2ltcGxlID0gdGhpcy5wYXJhbXMuaXNTaW1wbGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGN1c3RvbVVpU2V0dGluZyA9IEJhcnNhQXBpLkNvbW1vbi5VdGlsLlRyeUdldFZhbHVlKGN1c3RvbUZvcm1QYW5lbFVpLlNldHRpbmcsICdWaWV3LkN1c3RvbVVpJywgbnVsbCk7XHJcbiAgICAgICAgY29uc3QgeyBtb2R1bGVOYW1lLCBtb2R1bGVQYXRoLCBjb21wb25lbnROYW1lLCBzZWxlY3RvciB9ID0gZ2V0Q29tcG9uZW50RGVmaW5lZChcclxuICAgICAgICAgICAgY3VzdG9tRm9ybVBhbmVsVWksXHJcbiAgICAgICAgICAgIGN1c3RvbVVpU2V0dGluZ1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5wb3J0YWxTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5nZXRDb21wb25lbnQobW9kdWxlTmFtZSwgbW9kdWxlUGF0aCwgY29tcG9uZW50TmFtZSwgc2VsZWN0b3IsIHRoaXMuaW5qZWN0b3IpXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpLFxyXG4gICAgICAgICAgICAgICAgdGFwKChjb21wb25lbnQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnRJbnN0YW5jZSA9IGNvbXBvbmVudC5pbnN0YW5jZTtcclxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS5Gb3JtUGFuZWxDdHJsciA9IHRoaXMuZm9ybVBhbmVsQ3RybDtcclxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS5jb250ZXh0ID0gY3VzdG9tRm9ybVBhbmVsVWk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2UudG9vbGJhciA9IGN1c3RvbUZvcm1QYW5lbFVpLnRvb2xiYXI7XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2Uuc2V0dGluZyA9IGN1c3RvbUZvcm1QYW5lbFVpLlNldHRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2UudGl0bGUgPSBjdXN0b21Gb3JtUGFuZWxVaS50aXRsZTtcclxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS5ncm91cFZpc2liaWxpdHkgPSBjdXN0b21Gb3JtUGFuZWxVaS5ncm91cFZpc2liaWxpdHk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy52Y3IuaW5zZXJ0KGNvbXBvbmVudC5ob3N0Vmlldyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50SW5zdGFuY2UubW8kLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKG1vKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubW9DaGFuZ2VkLmVtaXQobW8pO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLnRpdGxlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh0aXRsZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRpdGxlQ2hhbmdlZC5lbWl0KHRpdGxlKTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRJbnN0YW5jZS5mb3JjZUNsb3NlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQ2xvc2UuZW1pdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudEluc3RhbmNlLmZvcmNlQ2xvc2UkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1DbG9zZS5lbWl0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMuZm9ybVBhbmVsQ3RybC5vbignVmFsdWVDaGFuZ2UnLCAoKSA9PiB0aGlzLm1vQ2hhbmdlZC5lbWl0KHRoaXMuZm9ybVBhbmVsQ3RybC5NbykpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNvbXBvbmVudC5pbnN0YW5jZS5hZGRFdmVudExpc3RlbmVyKCdmb3JtQ2xvc2UnLCB0aGlzLmNsb3NlKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBlbC5hcHBlbmRDaGlsZChodG1sRWxlbWVudCk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtUmVuZGVyZWQuZW1pdChjdXN0b21Gb3JtUGFuZWxVaSk7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGNvbXBvbmVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy51aUZvcm1Db21wb25lbnQuc2V0KGNvbXBvbmVudCk7ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgdGhpcy51aUNvbXBvbmVudC5lbWl0KGNvbXBvbmVudC5pbnN0YW5jZSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CardMediaSizePipe {
4
+ transform(cardMediaSize, defaultValue) {
5
+ if (!cardMediaSize) {
6
+ return [+defaultValue, +defaultValue];
7
+ }
8
+ const x = cardMediaSize.split('x');
9
+ return [+x[0], +x[1]];
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardMediaSizePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
12
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: CardMediaSizePipe, name: "cardMediaSize" }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CardMediaSizePipe, decorators: [{
15
+ type: Pipe,
16
+ args: [{
17
+ name: 'cardMediaSize',
18
+ standalone: false
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1tZWRpYS1zaXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3BpcGVzL2NhcmQtbWVkaWEtc2l6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU9wRCxNQUFNLE9BQU8saUJBQWlCO0lBQzFCLFNBQVMsQ0FBQyxhQUF3QyxFQUFFLFlBQW9CO1FBQ3BFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqQixPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsTUFBTSxDQUFDLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDOytHQVBRLGlCQUFpQjs2R0FBakIsaUJBQWlCOzs0RkFBakIsaUJBQWlCO2tCQUo3QixJQUFJO21CQUFDO29CQUNGLElBQUksRUFBRSxlQUFlO29CQUNyQixVQUFVLEVBQUUsS0FBSztpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENhcmRNZWRpYVNpemUgfSBmcm9tICcuLi9hYnN0cmFjdC1jbGFzc2VzJztcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6ICdjYXJkTWVkaWFTaXplJyxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJkTWVkaWFTaXplUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKGNhcmRNZWRpYVNpemU6IENhcmRNZWRpYVNpemUgfCB1bmRlZmluZWQsIGRlZmF1bHRWYWx1ZTogbnVtYmVyKTogW251bWJlciwgbnVtYmVyXSB7XHJcbiAgICAgICAgaWYgKCFjYXJkTWVkaWFTaXplKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBbK2RlZmF1bHRWYWx1ZSwgK2RlZmF1bHRWYWx1ZV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHggPSBjYXJkTWVkaWFTaXplLnNwbGl0KCd4Jyk7XHJcbiAgICAgICAgcmV0dXJuIFsreFswXSwgK3hbMV1dO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -51,4 +51,5 @@ export * from './hide-accept-cancel-buttons.pipe';
51
51
  export * from './filter-inline-action-list.pipe';
52
52
  export * from './isimage.pipe';
53
53
  export * from './toolbar-settings.pipe';
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tby1yZXBvcnQtdmFsdWUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbnVtZXJhbC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9ncm91cGJ5LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQtbWVudS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9oZWFkZXItZmFjZXQtdmFsdWUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VwZXJhdG9yLWZpeC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb252ZXJ0LXRvLXN0eWxlLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RsYkJ1dHRvbnMucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVtb3ZlLW5ld2xpbmUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW8tdmFsdWUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci10YWIucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW8tcmVwb3J0LXZhbHVlLWNvbmNhdC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItc3RyaW5nLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NvcnQucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYmJiLXRyYW5zbGF0ZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9iYXJzYS1pY29uLWRpY3QucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsZWluZm8tY291bnQucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29udHJvbC11aS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi92aXNpYmxlLXZhbHVlLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RhdGUtdGltZS10by1jYXB0aW9uLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci10b29sYmFyLWNvbnRyb2wucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbXVsdGlwbGUtZ3JvdXBieS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9waWN0dXJlLWZpZWxkLXNvdXJjZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9maW9yaS1pY29uLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Nhbi11cGxvYWQucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGlzdC1jb3VudC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi90b3RhbC1zdW1tYXJ5LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL21lcmdlLWZpZWxkcy10by1jb2x1bW5zLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbmQtY29sdW1uLWJ5LWRiLW5hbWUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLWNvbHVtbnMtYnktZGV0YWlscy5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tby1pbmZvLXVsdi1kYXRhLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JldmVyc2UucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uLWN1c3RvbXVpLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Nhbml0aXplLXRleHQucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbW8taW5mby11bHYtcGFnaW5nLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbHVtbi1jdXN0b20tY29tcG9uZW50LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbHVtbi12YWx1ZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW4taWNvbi5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9yb3dudW1iZXIucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tYm8tcm93LWltZy5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi90cmVlLWl0ZW0taXNleHBhbmRlZC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi90aC1pbWFnZS1pY29uLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbmQtcHJldmlldy1jb2x1bW4ucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVwbGFjZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItd29ya2Zsb3ctbW9iaWxlLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2hpZGUtY29sdW1ucy1pbm1vYmlsZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdHJpbmctdG8tbnVtYmVyLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbHVtbi12YWx1ZW9mLXBhcmFtZXRlcnMucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaGlkZS1hY2NlcHQtY2FuY2VsLWJ1dHRvbnMucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLWlubGluZS1hY3Rpb24tbGlzdC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9pc2ltYWdlLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Rvb2xiYXItc2V0dGluZ3MucGlwZSc7XHJcbiJdfQ==
54
+ export * from './card-media-size.pipe';
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL3BpcGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vLXJlcG9ydC12YWx1ZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9udW1lcmFsLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2dyb3VwYnkucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC1tZW51LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2hlYWRlci1mYWNldC12YWx1ZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZXBlcmF0b3ItZml4LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbnZlcnQtdG8tc3R5bGUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGxiQnV0dG9ucy5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9yZW1vdmUtbmV3bGluZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tby12YWx1ZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXIucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLXRhYi5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tby1yZXBvcnQtdmFsdWUtY29uY2F0LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci1zdHJpbmcucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc29ydC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9iYmItdHJhbnNsYXRlLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2JhcnNhLWljb24tZGljdC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWxlaW5mby1jb3VudC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb250cm9sLXVpLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Zpc2libGUtdmFsdWUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS10aW1lLXRvLWNhcHRpb24ucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLXRvb2xiYXItY29udHJvbC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tdWx0aXBsZS1ncm91cGJ5LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BpY3R1cmUtZmllbGQtc291cmNlLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Zpb3JpLWljb24ucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2FuLXVwbG9hZC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saXN0LWNvdW50LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RvdGFsLXN1bW1hcnkucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbWVyZ2UtZmllbGRzLXRvLWNvbHVtbnMucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmluZC1jb2x1bW4tYnktZGItbmFtZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItY29sdW1ucy1ieS1kZXRhaWxzLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL21vLWluZm8tdWx2LWRhdGEucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmV2ZXJzZS5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb2x1bW4tY3VzdG9tdWkucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2FuaXRpemUtdGV4dC5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tby1pbmZvLXVsdi1wYWdpbmcucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uLWN1c3RvbS1jb21wb25lbnQucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uLXZhbHVlLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NvbHVtbi1pY29uLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3Jvd251bWJlci5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21iby1yb3ctaW1nLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RyZWUtaXRlbS1pc2V4cGFuZGVkLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RoLWltYWdlLWljb24ucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZmluZC1wcmV2aWV3LWNvbHVtbi5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9yZXBsYWNlLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbHRlci13b3JrZmxvdy1tb2JpbGUucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaGlkZS1jb2x1bW5zLWlubW9iaWxlLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0cmluZy10by1udW1iZXIucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29sdW1uLXZhbHVlb2YtcGFyYW1ldGVycy5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9oaWRlLWFjY2VwdC1jYW5jZWwtYnV0dG9ucy5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXItaW5saW5lLWFjdGlvbi1saXN0LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2lzaW1hZ2UucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9vbGJhci1zZXR0aW5ncy5waXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jYXJkLW1lZGlhLXNpemUucGlwZSc7XHJcbiJdfQ==
@@ -73,10 +73,14 @@ export class RootPortalComponent extends PageBaseComponent {
73
73
  this.addFooter(pageData);
74
74
  BigNumber.prototype.subtract = BigNumber.prototype.minus;
75
75
  BigNumber.prototype.add = BigNumber.prototype.plus;
76
- const { BackgroundId } = this.pageData;
76
+ const { BackgroundId, BackgroundColor, HasOverlay } = this.pageData;
77
77
  if (BackgroundId) {
78
+ this.backgroundColor = BackgroundColor;
79
+ this.hasOverlay = HasOverlay !== 'False';
78
80
  this._renderer2.addClass(this._el.nativeElement, 'root-custom-background');
79
- this.imageUrl = `/IH.ashx?ty=ID&moId=&id=${BackgroundId}&si=1920&sih=1080`;
81
+ this.hasOverlay && this._renderer2.addClass(this._el.nativeElement, 'root-background-overlay');
82
+ this.imageUrl = `/IH.ashx?ty=ID&moId=&id=${BackgroundId}`;
83
+ this._portalService.setSiteImageUrl(BackgroundColor, this.imageUrl);
80
84
  }
81
85
  }
82
86
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RootPortalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
@@ -120,9 +124,16 @@ export class RootPortalComponent extends PageBaseComponent {
120
124
  <div id="headerSpaceHolder" #headerSpaceHolder>
121
125
  <div id="bgOuterHolder" #bgOuterHolder>
122
126
  <div id="bgInnerHolder" style="height: 100vh">
123
- <div class="backgroundImage" id="backgroundImage">
124
- <img class="picture" [src]="imageUrl" loading="lazy" />
127
+ <div
128
+ class="backgroundImage"
129
+ id="backgroundImage"
130
+ [style.background-color]="backgroundColor"
131
+ [style.background-image]="'url(' + imageUrl + ')'"
132
+ >
133
+ <!-- <img class="picture" [src]="imageUrl" loading="lazy" /> -->
134
+ @if(hasOverlay){
125
135
  <span id="backgroundImageOverlay" class="overlay"></span>
136
+ }
126
137
  </div>
127
138
  </div>
128
139
  </div>
@@ -185,9 +196,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
185
196
  <div id="headerSpaceHolder" #headerSpaceHolder>
186
197
  <div id="bgOuterHolder" #bgOuterHolder>
187
198
  <div id="bgInnerHolder" style="height: 100vh">
188
- <div class="backgroundImage" id="backgroundImage">
189
- <img class="picture" [src]="imageUrl" loading="lazy" />
199
+ <div
200
+ class="backgroundImage"
201
+ id="backgroundImage"
202
+ [style.background-color]="backgroundColor"
203
+ [style.background-image]="'url(' + imageUrl + ')'"
204
+ >
205
+ <!-- <img class="picture" [src]="imageUrl" loading="lazy" /> -->
206
+ @if(hasOverlay){
190
207
  <span id="backgroundImageOverlay" class="overlay"></span>
208
+ }
191
209
  </div>
192
210
  </div>
193
211
  </div>
@@ -215,4 +233,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
215
233
  type: ViewChild,
216
234
  args: ['footerRef', { read: ViewContainerRef }]
217
235
  }] } });
218
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1wb3J0YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9yb290LXBvcnRhbC9yb290LXBvcnRhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBc0IsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBYyxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUFvRTdDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxpQkFBaUI7SUFqRTFEOztRQXNFSSxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsZ0JBQVcsR0FBRyxJQUFJLENBQUM7S0F3RXRCO0lBdEVHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUNuQywyQkFBMkI7UUFFM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxLQUFLLFlBQVksZUFBZSxJQUFJLEtBQUssWUFBWSxXQUFXLEVBQUUsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUMsQ0FBQztZQUNELElBQUksS0FBSyxZQUFZLGFBQWEsSUFBSSxLQUFLLFlB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QUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekIsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDekQsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDbkQsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFlLENBQUM7UUFDOUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLHdCQUF3QixDQUFDLENBQUM7WUFDM0UsSUFBSSxDQUFDLFFBQVEsR0FBRywyQkFBMkIsWUFBWSxtQkFBbUIsQ0FBQztRQUMvRSxDQUFDO0lBQ0wsQ0FBQzsrR0E3RVEsbUJBQW1CO21HQUFuQixtQkFBbUIseU9BRUksZ0JBQWdCLG9EQWpFdEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBMkRUOzs0RkFJUSxtQkFBbUI7a0JBakUvQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0EyRFQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjs4QkFFNEIsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUM2QixZQUFZO3NCQUEvRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlckV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEJhcnNhQXBpLCBQYWdlQmFzZUNvbXBvbmVudCwgUGFnZURhdGFNb2RlbCB9IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMnO1xyXG5pbXBvcnQgeyBpc0luTG9jYWxNb2RlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuZGVjbGFyZSBjb25zdCBCaWdOdW1iZXI6IGFueTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdibnJjLXJvb3QtcG9ydGFsJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cInR3LWhpZGRlbiBncmlkLWNvbHMtMCB0dy1ncmlkLWNvbHMtMSB0dy1ncmlkLWNvbHMtMiB0dy1ncmlkLWNvbHMtMyB0dy1ncmlkLWNvbHMtNCB0dy1ncmlkLWNvbHMtNSBcclxuICAgICAgICAgICAgdHctZ3JpZC1jb2xzLTYgdHctZ3JpZC1jb2xzLTcgdHctZ3JpZC1jb2xzLTggdHctZ3JpZC1jb2xzLTkgdHctZ3JpZC1jb2xzLTEwIHR3LWdyaWQtY29scy0xMSB0dy1ncmlkLWNvbHMtMTJcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwidHctaGlkZGVuIG1kOmdyaWQtY29scy0wIG1kOnR3LWdyaWQtY29scy0xIG1kOnR3LWdyaWQtY29scy0yIG1kOnR3LWdyaWQtY29scy0zIG1kOnR3LWdyaWQtY29scy00IFxyXG4gICAgICAgICAgICBtZDp0dy1ncmlkLWNvbHMtNSBtZDp0dy1ncmlkLWNvbHMtNiBtZDp0dy1ncmlkLWNvbHMtNyBtZDp0dy1ncmlkLWNvbHMtOCBtZDp0dy1ncmlkLWNvbHMtOSBtZDp0dy1ncmlkLWNvbHMtMTAgbWQ6dHctZ3JpZC1jb2xzLTExIG1kOnR3LWdyaWQtY29scy0xMlwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1oaWRkZW4gbGc6Z3JpZC1jb2xzLTAgbGc6dHctZ3JpZC1jb2xzLTEgbGc6dHctZ3JpZC1jb2xzLTIgbGc6dHctZ3JpZC1jb2xzLTMgXHJcbiAgICAgICAgICAgIGxnOnR3LWdyaWQtY29scy00IGxnOnR3LWdyaWQtY29scy01IGxnOnR3LWdyaWQtY29scy02IGxnOnR3LWdyaWQtY29scy03IGxnOnR3LWdyaWQtY29scy04IGxnOnR3LWdyaWQtY29scy05IFxyXG4gICAgICAgICAgICBsZzp0dy1ncmlkLWNvbHMtMTAgbGc6dHctZ3JpZC1jb2xzLTExIGxnOnR3LWdyaWQtY29scy0xMlwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1oaWRkZW4geGw6Z3JpZC1jb2xzLTAgeGw6dHctZ3JpZC1jb2xzLTEgeGw6dHctZ3JpZC1jb2xzLTIgeGw6dHctZ3JpZC1jb2xzLTMgXHJcbiAgICAgICAgICAgIHhsOnR3LWdyaWQtY29scy00IHhsOnR3LWdyaWQtY29scy01IHhsOnR3LWdyaWQtY29scy02IHhsOnR3LWdyaWQtY29scy03IHhsOnR3LWdyaWQtY29scy04IFxyXG4gICAgICAgICAgICB4bDp0dy1ncmlkLWNvbHMtOSB4bDp0dy1ncmlkLWNvbHMtMTAgeGw6dHctZ3JpZC1jb2xzLTExIHhsOnR3LWdyaWQtY29scy0xMlwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1oaWRkZW4gMnhsOmdyaWQtY29scy0wIDJ4bDp0dy1ncmlkLWNvbHMtMSAyeGw6dHctZ3JpZC1jb2xzLTIgMnhsOnR3LWdyaWQtY29scy0zIFxyXG4gICAgICAgICAgICAyeGw6dHctZ3JpZC1jb2xzLTQgMnhsOnR3LWdyaWQtY29scy01IDJ4bDp0dy1ncmlkLWNvbHMtNiAyeGw6dHctZ3JpZC1jb2xzLTcgMnhsOnR3LWdyaWQtY29scy04IDJ4bDp0dy1ncmlkLWNvbHMtOSBcclxuICAgICAgICAgICAgMnhsOnR3LWdyaWQtY29scy0xMCAyeGw6dHctZ3JpZC1jb2xzLTExIDJ4bDp0dy1ncmlkLWNvbHMtMTJcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgICBAaWYoaW5Mb2NhbE1vZGUpe1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC10b29sYmFyXCIgc3R5bGU9XCJmbGV4LXdyYXA6d3JhcDtwYWRkaW5nOjAuNXJlbTtoZWlnaHQ6YXV0b1wiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtYnV0dG9uIGZkLWJ1dHRvbi0tYXR0ZW50aW9uIGlzLWNvbXBhY3RcIiAoY2xpY2spPVwib25SZW1vdmVPZmZsaW5lRGF0YSgpXCI+XHJcbiAgICAgICAgICAgICAgICDYrdiw2YEg2KfYt9mE2KfYudin2Kog2KLZgdmE2KfbjNmGXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtYnV0dG9uIGZkLWJ1dHRvbi0tbmVnYXRpdmUgaXMtY29tcGFjdFwiIChjbGljayk9XCJvblJlbW92ZU9mZmxpbmVEYXRhQW5kUmV0dXJuVG9PbmxpbmUoKVwiPlxyXG4gICAgICAgICAgICAgICAg2K3YsNmBINin2LfZhNin2LnYp9iqINii2YHZhNin24zZhiDZiCDYqNix2q/YtNiqINio2Ycg2K3Yp9mE2Kog2KLZhtmE2KfbjNmGXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtYnV0dG9uIGZkLWJ1dHRvbi0tcG9zaXRpdmUgaXMtY29tcGFjdFwiIChjbGljayk9XCJvblNlbmRPZmZsaW5lRGF0YVRvU2VydmVyKClcIj5cclxuICAgICAgICAgICAgICAgINin2LHYs9in2YQg2KfYt9mE2KfYudin2Kog2KLZgdmE2KfbjNmGINio2Ycg2LPYsdmI2LFcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfSBAaWYgKGltYWdlVXJsKSB7XHJcbiAgICAgICAgPGRpdiBpZD1cImhlYWRlclNwYWNlSG9sZGVyXCIgI2hlYWRlclNwYWNlSG9sZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGlkPVwiYmdPdXRlckhvbGRlclwiICNiZ091dGVySG9sZGVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cImJnSW5uZXJIb2xkZXJcIiBzdHlsZT1cImhlaWdodDogMTAwdmhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmFja2dyb3VuZEltYWdlXCIgaWQ9XCJiYWNrZ3JvdW5kSW1hZ2VcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cInBpY3R1cmVcIiBbc3JjXT1cImltYWdlVXJsXCIgbG9hZGluZz1cImxhenlcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBpZD1cImJhY2tncm91bmRJbWFnZU92ZXJsYXlcIiBjbGFzcz1cIm92ZXJsYXlcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxzZWN0aW9uIGxvYWRFeHRlcm5hbEZpbGVzIGNsYXNzPVwic2VjdGlvblwiIGlkPVwibWFpbnBhZ2VcIiAjc2VjdGlvblJlZj5cclxuICAgICAgICAgICAgPGRpdiAjY29udGFpbmVyUmVmPjwvZGl2PlxyXG4gICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIDxmb290ZXIgI2Zvb3RlclJlZj48L2Zvb3Rlcj4gLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAjZm9vdGVyUmVmPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIEBpZihwYWdlRGF0YT8uVW5saW1pdFNlc3Npb249PT0nVHJ1ZScpe1xyXG4gICAgICAgIDxibnJjLXVubGltaXQtc2Vzc2lvbj48L2JucmMtdW5saW1pdC1zZXNzaW9uPlxyXG4gICAgICAgIH1cclxuICAgIGAsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb290UG9ydGFsQ29tcG9uZW50IGV4dGVuZHMgUGFnZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQFZpZXdDaGlsZCgnc2VjdGlvblJlZicpIHNlY3Rpb25SZWY6IEVsZW1lbnRSZWY7XHJcbiAgICBAVmlld0NoaWxkKCdmb290ZXJSZWYnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgZm9vdGVyUmVmVmNyOiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gICAgcG9ydGFsTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBtb2R1bGVzOiBhbnk7XHJcbiAgICBpc1Jvb3QgPSB0cnVlO1xyXG4gICAgaW5Mb2NhbE1vZGUgPSB0cnVlO1xyXG4gICAgaW1hZ2VVcmw6IHN0cmluZztcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5pbkxvY2FsTW9kZSA9IGlzSW5Mb2NhbE1vZGUoKTtcclxuICAgICAgICAvLyB0aGlzLmluTG9jYWxNb2RlID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5fcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCAmJiBldmVudCBpbnN0YW5jZW9mIFJvdXRlckV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLm5hdmlhdGlvblN0YXJ0KGV2ZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kICYmIGV2ZW50IGluc3RhbmNlb2YgUm91dGVyRXZlbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWF0aW9uRW5kKGV2ZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIG9uU2VuZE9mZmxpbmVEYXRhVG9TZXJ2ZXIoKTogdm9pZCB7XHJcbiAgICAgICAgQmFyc2FBcGkuQncuTXNnLlllc05vKEJhcnNhQXBpLkJCQi5PZmZsaW5lR29PbmxpbmUsIEJhcnNhQXBpLkJCQi5EZWxldGUsIGZ1bmN0aW9uIChidXR0b25JZCkge1xyXG4gICAgICAgICAgICBpZiAoYnV0dG9uSWQgPT09ICd5ZXMnKSB7XHJcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuV2FpdCgwLCBCYXJzYUFwaS5CQkIuTG9hZGluZ01hc2tNc2csICd3YWl0Jyk7XHJcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5PZmZsaW5lLkdvT25saW5lKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIG9uUmVtb3ZlT2ZmbGluZURhdGFBbmRSZXR1cm5Ub09ubGluZSgpOiB2b2lkIHtcclxuICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuWWVzTm8oQmFyc2FBcGkuQkJCLk9mZmxpbmVDbGVhckFsbCwgQmFyc2FBcGkuQkJCLkRlbGV0ZSwgZnVuY3Rpb24gKGJ1dHRvbklkKSB7XHJcbiAgICAgICAgICAgIGlmIChidXR0b25JZCA9PT0gJ3llcycpIHtcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLk9mZmxpbmUuQ2xlYXJBbGwoKTtcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIG9uUmVtb3ZlT2ZmbGluZURhdGEoKTogdm9pZCB7XHJcbiAgICAgICAgQmFyc2FBcGkuQncuTXNnLlllc05vKEJhcnNhQXBpLkJCQi5PZmZsaW5lQ2xlYXJVbnNhdmVkRGF0YSwgQmFyc2FBcGkuQkJCLkRlbGV0ZSwgZnVuY3Rpb24gKGJ1dHRvbklkKSB7XHJcbiAgICAgICAgICAgIGlmIChidXR0b25JZCA9PT0gJ3llcycpIHtcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLk9mZmxpbmUuQ2FjaGVkRGF0YS5VbnNhdmVkRGF0YSA9IHt9O1xyXG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuT2ZmbGluZS5DYWNoZWREYXRhLnNhdmUoKTtcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLkJ3LlRvYXN0LlN1Y2Nlc3MoQmFyc2FBcGkuQkJCLkFjdGlvbiArIEJhcnNhQXBpLkJCQi5Kb2JDb21wbGV0ZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgYWRkRm9vdGVyKHBhZ2VEYXRhOiBQYWdlRGF0YU1vZGVsIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghcGFnZURhdGE/LkZvb3Rlcikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGZvb3RlckNvbXBvbmVudCA9IHBhZ2VEYXRhLkZvb3Rlci5Db21wb25lbnQ7XHJcbiAgICAgICAgdGhpcy5nZXRDb21wb25lbnRGYWN0b3J5KGZvb3RlckNvbXBvbmVudClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXHJcbiAgICAgICAgICAgICAgICB0YXAoKGNvbnRyb2xVaSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2xVaS5pbnN0YW5jZS5zZXR0aW5ncyA9IGZvb3RlckNvbXBvbmVudC5TZXR0aW5ncztcclxuICAgICAgICAgICAgICAgICAgICBjb250cm9sVWkuaW5zdGFuY2UuYWN0aXZhdGVkUm91dGUgPSB0aGlzLl9hY3RpdmF0ZWRSb3V0ZTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5mb290ZXJSZWZWY3IpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZXJSZWZWY3IuaW5zZXJ0KGNvbnRyb2xVaS5ob3N0Vmlldyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgcmVuZGVyUGxhY2VIb2xkZXJzKHBhZ2VEYXRhOiBQYWdlRGF0YU1vZGVsIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLnJlbmRlclBsYWNlSG9sZGVycyhwYWdlRGF0YSk7XHJcbiAgICAgICAgdGhpcy5hZGRGb290ZXIocGFnZURhdGEpO1xyXG4gICAgICAgIEJpZ051bWJlci5wcm90b3R5cGUuc3VidHJhY3QgPSBCaWdOdW1iZXIucHJvdG90eXBlLm1pbnVzO1xyXG4gICAgICAgIEJpZ051bWJlci5wcm90b3R5cGUuYWRkID0gQmlnTnVtYmVyLnByb3RvdHlwZS5wbHVzO1xyXG4gICAgICAgIGNvbnN0IHsgQmFja2dyb3VuZElkIH0gPSB0aGlzLnBhZ2VEYXRhIGFzIGFueTtcclxuICAgICAgICBpZiAoQmFja2dyb3VuZElkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAncm9vdC1jdXN0b20tYmFja2dyb3VuZCcpO1xyXG4gICAgICAgICAgICB0aGlzLmltYWdlVXJsID0gYC9JSC5hc2h4P3R5PUlEJm1vSWQ9JmlkPSR7QmFja2dyb3VuZElkfSZzaT0xOTIwJnNpaD0xMDgwYDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
236
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1wb3J0YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9yb290LXBvcnRhbC9yb290LXBvcnRhbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBc0IsU0FBUyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBILE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlFLE9BQU8sRUFBYyxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxELE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7QUEyRTdDLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxpQkFBaUI7SUF4RTFEOztRQTZFSSxXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsZ0JBQVcsR0FBRyxJQUFJLENBQUM7S0ErRXRCO0lBM0VHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxhQUFhLEVBQUUsQ0FBQztRQUNuQywyQkFBMkI7UUFFM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxLQUFLLFlBQVksZUFBZSxJQUFJLEtBQUssWUFBWSxXQUFXLEVBQUUsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUMsQ0FBQztZQUNELElBQUksS0FBSyxZQUFZLGFBQWEsSUFBSSxLQUFLLFlB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FrRVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxLQUFLO2lCQUNwQjs4QkFFNEIsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUM2QixZQUFZO3NCQUEvRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlckV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEJhcnNhQXBpLCBQYWdlQmFzZUNvbXBvbmVudCwgUGFnZURhdGFNb2RlbCB9IGZyb20gJy4uL2Fic3RyYWN0LWNsYXNzZXMnO1xyXG5pbXBvcnQgeyBpc0luTG9jYWxNb2RlIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuZGVjbGFyZSBjb25zdCBCaWdOdW1iZXI6IGFueTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdibnJjLXJvb3QtcG9ydGFsJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICBjbGFzcz1cInR3LWhpZGRlbiBncmlkLWNvbHMtMCB0dy1ncmlkLWNvbHMtMSB0dy1ncmlkLWNvbHMtMiB0dy1ncmlkLWNvbHMtMyB0dy1ncmlkLWNvbHMtNCB0dy1ncmlkLWNvbHMtNSBcclxuICAgICAgICAgICAgdHctZ3JpZC1jb2xzLTYgdHctZ3JpZC1jb2xzLTcgdHctZ3JpZC1jb2xzLTggdHctZ3JpZC1jb2xzLTkgdHctZ3JpZC1jb2xzLTEwIHR3LWdyaWQtY29scy0xMSB0dy1ncmlkLWNvbHMtMTJcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwidHctaGlkZGVuIG1kOmdyaWQtY29scy0wIG1kOnR3LWdyaWQtY29scy0xIG1kOnR3LWdyaWQtY29scy0yIG1kOnR3LWdyaWQtY29scy0zIG1kOnR3LWdyaWQtY29scy00IFxyXG4gICAgICAgICAgICBtZDp0dy1ncmlkLWNvbHMtNSBtZDp0dy1ncmlkLWNvbHMtNiBtZDp0dy1ncmlkLWNvbHMtNyBtZDp0dy1ncmlkLWNvbHMtOCBtZDp0dy1ncmlkLWNvbHMtOSBtZDp0dy1ncmlkLWNvbHMtMTAgbWQ6dHctZ3JpZC1jb2xzLTExIG1kOnR3LWdyaWQtY29scy0xMlwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1oaWRkZW4gbGc6Z3JpZC1jb2xzLTAgbGc6dHctZ3JpZC1jb2xzLTEgbGc6dHctZ3JpZC1jb2xzLTIgbGc6dHctZ3JpZC1jb2xzLTMgXHJcbiAgICAgICAgICAgIGxnOnR3LWdyaWQtY29scy00IGxnOnR3LWdyaWQtY29scy01IGxnOnR3LWdyaWQtY29scy02IGxnOnR3LWdyaWQtY29scy03IGxnOnR3LWdyaWQtY29scy04IGxnOnR3LWdyaWQtY29scy05IFxyXG4gICAgICAgICAgICBsZzp0dy1ncmlkLWNvbHMtMTAgbGc6dHctZ3JpZC1jb2xzLTExIGxnOnR3LWdyaWQtY29scy0xMlwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1oaWRkZW4geGw6Z3JpZC1jb2xzLTAgeGw6dHctZ3JpZC1jb2xzLTEgeGw6dHctZ3JpZC1jb2xzLTIgeGw6dHctZ3JpZC1jb2xzLTMgXHJcbiAgICAgICAgICAgIHhsOnR3LWdyaWQtY29scy00IHhsOnR3LWdyaWQtY29scy01IHhsOnR3LWdyaWQtY29scy02IHhsOnR3LWdyaWQtY29scy03IHhsOnR3LWdyaWQtY29scy04IFxyXG4gICAgICAgICAgICB4bDp0dy1ncmlkLWNvbHMtOSB4bDp0dy1ncmlkLWNvbHMtMTAgeGw6dHctZ3JpZC1jb2xzLTExIHhsOnR3LWdyaWQtY29scy0xMlwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0dy1oaWRkZW4gMnhsOmdyaWQtY29scy0wIDJ4bDp0dy1ncmlkLWNvbHMtMSAyeGw6dHctZ3JpZC1jb2xzLTIgMnhsOnR3LWdyaWQtY29scy0zIFxyXG4gICAgICAgICAgICAyeGw6dHctZ3JpZC1jb2xzLTQgMnhsOnR3LWdyaWQtY29scy01IDJ4bDp0dy1ncmlkLWNvbHMtNiAyeGw6dHctZ3JpZC1jb2xzLTcgMnhsOnR3LWdyaWQtY29scy04IDJ4bDp0dy1ncmlkLWNvbHMtOSBcclxuICAgICAgICAgICAgMnhsOnR3LWdyaWQtY29scy0xMCAyeGw6dHctZ3JpZC1jb2xzLTExIDJ4bDp0dy1ncmlkLWNvbHMtMTJcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgICBAaWYoaW5Mb2NhbE1vZGUpe1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmZC10b29sYmFyXCIgc3R5bGU9XCJmbGV4LXdyYXA6d3JhcDtwYWRkaW5nOjAuNXJlbTtoZWlnaHQ6YXV0b1wiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtYnV0dG9uIGZkLWJ1dHRvbi0tYXR0ZW50aW9uIGlzLWNvbXBhY3RcIiAoY2xpY2spPVwib25SZW1vdmVPZmZsaW5lRGF0YSgpXCI+XHJcbiAgICAgICAgICAgICAgICDYrdiw2YEg2KfYt9mE2KfYudin2Kog2KLZgdmE2KfbjNmGXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtYnV0dG9uIGZkLWJ1dHRvbi0tbmVnYXRpdmUgaXMtY29tcGFjdFwiIChjbGljayk9XCJvblJlbW92ZU9mZmxpbmVEYXRhQW5kUmV0dXJuVG9PbmxpbmUoKVwiPlxyXG4gICAgICAgICAgICAgICAg2K3YsNmBINin2LfZhNin2LnYp9iqINii2YHZhNin24zZhiDZiCDYqNix2q/YtNiqINio2Ycg2K3Yp9mE2Kog2KLZhtmE2KfbjNmGXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmQtYnV0dG9uIGZkLWJ1dHRvbi0tcG9zaXRpdmUgaXMtY29tcGFjdFwiIChjbGljayk9XCJvblNlbmRPZmZsaW5lRGF0YVRvU2VydmVyKClcIj5cclxuICAgICAgICAgICAgICAgINin2LHYs9in2YQg2KfYt9mE2KfYudin2Kog2KLZgdmE2KfbjNmGINio2Ycg2LPYsdmI2LFcclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfSBAaWYgKGltYWdlVXJsKSB7XHJcbiAgICAgICAgPGRpdiBpZD1cImhlYWRlclNwYWNlSG9sZGVyXCIgI2hlYWRlclNwYWNlSG9sZGVyPlxyXG4gICAgICAgICAgICA8ZGl2IGlkPVwiYmdPdXRlckhvbGRlclwiICNiZ091dGVySG9sZGVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBpZD1cImJnSW5uZXJIb2xkZXJcIiBzdHlsZT1cImhlaWdodDogMTAwdmhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmFja2dyb3VuZEltYWdlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJiYWNrZ3JvdW5kSW1hZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJiYWNrZ3JvdW5kQ29sb3JcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1pbWFnZV09XCIndXJsKCcgKyBpbWFnZVVybCArICcpJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbWcgY2xhc3M9XCJwaWN0dXJlXCIgW3NyY109XCJpbWFnZVVybFwiIGxvYWRpbmc9XCJsYXp5XCIgLz4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZihoYXNPdmVybGF5KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJiYWNrZ3JvdW5kSW1hZ2VPdmVybGF5XCIgY2xhc3M9XCJvdmVybGF5XCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDxzZWN0aW9uIGxvYWRFeHRlcm5hbEZpbGVzIGNsYXNzPVwic2VjdGlvblwiIGlkPVwibWFpbnBhZ2VcIiAjc2VjdGlvblJlZj5cclxuICAgICAgICAgICAgPGRpdiAjY29udGFpbmVyUmVmPjwvZGl2PlxyXG4gICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicGFnZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIDxmb290ZXIgI2Zvb3RlclJlZj48L2Zvb3Rlcj4gLS0+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAjZm9vdGVyUmVmPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIEBpZihwYWdlRGF0YT8uVW5saW1pdFNlc3Npb249PT0nVHJ1ZScpe1xyXG4gICAgICAgIDxibnJjLXVubGltaXQtc2Vzc2lvbj48L2JucmMtdW5saW1pdC1zZXNzaW9uPlxyXG4gICAgICAgIH1cclxuICAgIGAsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHN0YW5kYWxvbmU6IGZhbHNlXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb290UG9ydGFsQ29tcG9uZW50IGV4dGVuZHMgUGFnZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgQFZpZXdDaGlsZCgnc2VjdGlvblJlZicpIHNlY3Rpb25SZWY6IEVsZW1lbnRSZWY7XHJcbiAgICBAVmlld0NoaWxkKCdmb290ZXJSZWYnLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgZm9vdGVyUmVmVmNyOiBWaWV3Q29udGFpbmVyUmVmO1xyXG4gICAgcG9ydGFsTG9hZGluZyQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBtb2R1bGVzOiBhbnk7XHJcbiAgICBpc1Jvb3QgPSB0cnVlO1xyXG4gICAgaW5Mb2NhbE1vZGUgPSB0cnVlO1xyXG4gICAgaGFzT3ZlcmxheTogYm9vbGVhbjtcclxuICAgIGltYWdlVXJsOiBzdHJpbmc7XHJcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICAgICAgdGhpcy5pbkxvY2FsTW9kZSA9IGlzSW5Mb2NhbE1vZGUoKTtcclxuICAgICAgICAvLyB0aGlzLmluTG9jYWxNb2RlID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5fcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCAmJiBldmVudCBpbnN0YW5jZW9mIFJvdXRlckV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLm5hdmlhdGlvblN0YXJ0KGV2ZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kICYmIGV2ZW50IGluc3RhbmNlb2YgUm91dGVyRXZlbnQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX3BvcnRhbFNlcnZpY2UubmF2aWF0aW9uRW5kKGV2ZW50KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIG9uU2VuZE9mZmxpbmVEYXRhVG9TZXJ2ZXIoKTogdm9pZCB7XHJcbiAgICAgICAgQmFyc2FBcGkuQncuTXNnLlllc05vKEJhcnNhQXBpLkJCQi5PZmZsaW5lR29PbmxpbmUsIEJhcnNhQXBpLkJCQi5EZWxldGUsIGZ1bmN0aW9uIChidXR0b25JZCkge1xyXG4gICAgICAgICAgICBpZiAoYnV0dG9uSWQgPT09ICd5ZXMnKSB7XHJcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuV2FpdCgwLCBCYXJzYUFwaS5CQkIuTG9hZGluZ01hc2tNc2csICd3YWl0Jyk7XHJcbiAgICAgICAgICAgICAgICBCYXJzYUFwaS5PZmZsaW5lLkdvT25saW5lKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIG9uUmVtb3ZlT2ZmbGluZURhdGFBbmRSZXR1cm5Ub09ubGluZSgpOiB2b2lkIHtcclxuICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuWWVzTm8oQmFyc2FBcGkuQkJCLk9mZmxpbmVDbGVhckFsbCwgQmFyc2FBcGkuQkJCLkRlbGV0ZSwgZnVuY3Rpb24gKGJ1dHRvbklkKSB7XHJcbiAgICAgICAgICAgIGlmIChidXR0b25JZCA9PT0gJ3llcycpIHtcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLk9mZmxpbmUuQ2xlYXJBbGwoKTtcclxuICAgICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvdGVjdGVkIG9uUmVtb3ZlT2ZmbGluZURhdGEoKTogdm9pZCB7XHJcbiAgICAgICAgQmFyc2FBcGkuQncuTXNnLlllc05vKEJhcnNhQXBpLkJCQi5PZmZsaW5lQ2xlYXJVbnNhdmVkRGF0YSwgQmFyc2FBcGkuQkJCLkRlbGV0ZSwgZnVuY3Rpb24gKGJ1dHRvbklkKSB7XHJcbiAgICAgICAgICAgIGlmIChidXR0b25JZCA9PT0gJ3llcycpIHtcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLk9mZmxpbmUuQ2FjaGVkRGF0YS5VbnNhdmVkRGF0YSA9IHt9O1xyXG4gICAgICAgICAgICAgICAgQmFyc2FBcGkuT2ZmbGluZS5DYWNoZWREYXRhLnNhdmUoKTtcclxuICAgICAgICAgICAgICAgIEJhcnNhQXBpLkJ3LlRvYXN0LlN1Y2Nlc3MoQmFyc2FBcGkuQkJCLkFjdGlvbiArIEJhcnNhQXBpLkJCQi5Kb2JDb21wbGV0ZWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgYWRkRm9vdGVyKHBhZ2VEYXRhOiBQYWdlRGF0YU1vZGVsIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghcGFnZURhdGE/LkZvb3Rlcikge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGZvb3RlckNvbXBvbmVudCA9IHBhZ2VEYXRhLkZvb3Rlci5Db21wb25lbnQ7XHJcbiAgICAgICAgdGhpcy5nZXRDb21wb25lbnRGYWN0b3J5KGZvb3RlckNvbXBvbmVudClcclxuICAgICAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCksXHJcbiAgICAgICAgICAgICAgICB0YXAoKGNvbnRyb2xVaSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRyb2xVaS5pbnN0YW5jZS5zZXR0aW5ncyA9IGZvb3RlckNvbXBvbmVudC5TZXR0aW5ncztcclxuICAgICAgICAgICAgICAgICAgICBjb250cm9sVWkuaW5zdGFuY2UuYWN0aXZhdGVkUm91dGUgPSB0aGlzLl9hY3RpdmF0ZWRSb3V0ZTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5mb290ZXJSZWZWY3IpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZXJSZWZWY3IuaW5zZXJ0KGNvbnRyb2xVaS5ob3N0Vmlldyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgICBwcm90ZWN0ZWQgcmVuZGVyUGxhY2VIb2xkZXJzKHBhZ2VEYXRhOiBQYWdlRGF0YU1vZGVsIHwgbnVsbCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLnJlbmRlclBsYWNlSG9sZGVycyhwYWdlRGF0YSk7XHJcbiAgICAgICAgdGhpcy5hZGRGb290ZXIocGFnZURhdGEpO1xyXG4gICAgICAgIEJpZ051bWJlci5wcm90b3R5cGUuc3VidHJhY3QgPSBCaWdOdW1iZXIucHJvdG90eXBlLm1pbnVzO1xyXG4gICAgICAgIEJpZ051bWJlci5wcm90b3R5cGUuYWRkID0gQmlnTnVtYmVyLnByb3RvdHlwZS5wbHVzO1xyXG4gICAgICAgIGNvbnN0IHsgQmFja2dyb3VuZElkLCBCYWNrZ3JvdW5kQ29sb3IsIEhhc092ZXJsYXkgfSA9IHRoaXMucGFnZURhdGEgYXMgYW55O1xyXG5cclxuICAgICAgICBpZiAoQmFja2dyb3VuZElkKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZENvbG9yID0gQmFja2dyb3VuZENvbG9yO1xyXG4gICAgICAgICAgICB0aGlzLmhhc092ZXJsYXkgPSBIYXNPdmVybGF5ICE9PSAnRmFsc2UnO1xyXG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlcjIuYWRkQ2xhc3ModGhpcy5fZWwubmF0aXZlRWxlbWVudCwgJ3Jvb3QtY3VzdG9tLWJhY2tncm91bmQnKTtcclxuICAgICAgICAgICAgdGhpcy5oYXNPdmVybGF5ICYmIHRoaXMuX3JlbmRlcmVyMi5hZGRDbGFzcyh0aGlzLl9lbC5uYXRpdmVFbGVtZW50LCAncm9vdC1iYWNrZ3JvdW5kLW92ZXJsYXknKTtcclxuICAgICAgICAgICAgdGhpcy5pbWFnZVVybCA9IGAvSUguYXNoeD90eT1JRCZtb0lkPSZpZD0ke0JhY2tncm91bmRJZH1gO1xyXG4gICAgICAgICAgICB0aGlzLl9wb3J0YWxTZXJ2aWNlLnNldFNpdGVJbWFnZVVybChCYWNrZ3JvdW5kQ29sb3IsIHRoaXMuaW1hZ2VVcmwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=