@pepperi-addons/ngx-composite-lib 0.4.2-beta.70 → 0.4.2-beta.71

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 (27) hide show
  1. package/esm2020/layout-builder/layout/layout.component.mjs +19 -18
  2. package/esm2020/layout-builder/layout/layout.module.mjs +1 -5
  3. package/esm2020/layout-builder/layout-builder.component.mjs +25 -25
  4. package/esm2020/layout-builder/layout-builder.module.mjs +1 -5
  5. package/esm2020/layout-builder/layout-editor/layout-editor.component.mjs +21 -21
  6. package/esm2020/layout-builder/layout-editor/layout-editor.module.mjs +18 -32
  7. package/esm2020/layout-builder/public-api.mjs +2 -1
  8. package/esm2020/layout-builder/section/section.component.mjs +22 -23
  9. package/esm2020/layout-builder/section/section.module.mjs +10 -11
  10. package/esm2020/layout-builder/section-block/section-block.component.mjs +11 -11
  11. package/esm2020/layout-builder/section-block/section-block.module.mjs +1 -15
  12. package/fesm2015/pepperi-addons-ngx-composite-lib-layout-builder.mjs +308 -340
  13. package/fesm2015/pepperi-addons-ngx-composite-lib-layout-builder.mjs.map +1 -1
  14. package/fesm2020/pepperi-addons-ngx-composite-lib-layout-builder.mjs +308 -340
  15. package/fesm2020/pepperi-addons-ngx-composite-lib-layout-builder.mjs.map +1 -1
  16. package/layout-builder/layout/layout.component.d.ts +3 -4
  17. package/layout-builder/layout/layout.module.d.ts +6 -7
  18. package/layout-builder/layout-builder.component.d.ts +2 -2
  19. package/layout-builder/layout-builder.component.theme.scss +1 -0
  20. package/layout-builder/layout-builder.module.d.ts +7 -8
  21. package/layout-builder/layout-editor/layout-editor.component.d.ts +3 -4
  22. package/layout-builder/layout-editor/layout-editor.module.d.ts +9 -11
  23. package/layout-builder/section/section.component.d.ts +2 -2
  24. package/layout-builder/section/section.module.d.ts +5 -5
  25. package/layout-builder/section-block/section-block.component.d.ts +2 -2
  26. package/layout-builder/section-block/section-block.module.d.ts +2 -4
  27. package/package.json +1 -1
@@ -12,11 +12,12 @@ import * as i6 from "@angular/cdk/drag-drop";
12
12
  import * as i7 from "../section/section.component";
13
13
  import * as i8 from "@ngx-translate/core";
14
14
  export class PepLayoutComponent extends BaseDestroyerDirective {
15
- constructor(customizationService, layoutService, layoutBuilderService, hostElement, renderer) {
15
+ constructor(
16
+ // public customizationService: PepCustomizationService,
17
+ layoutService, layoutBuilderInternalService, hostElement, renderer) {
16
18
  super();
17
- this.customizationService = customizationService;
18
19
  this.layoutService = layoutService;
19
- this.layoutBuilderService = layoutBuilderService;
20
+ this.layoutBuilderInternalService = layoutBuilderInternalService;
20
21
  this.hostElement = hostElement;
21
22
  this.renderer = renderer;
22
23
  this.blockTemplate = undefined;
@@ -32,14 +33,14 @@ export class PepLayoutComponent extends BaseDestroyerDirective {
32
33
  }
33
34
  set layoutView(value) {
34
35
  this._layoutView = value;
35
- this.layoutBuilderService.loadLayoutBuilder(value);
36
+ this.layoutBuilderInternalService.loadLayoutBuilder(value);
36
37
  }
37
38
  get layoutView() {
38
39
  return this._layoutView;
39
40
  }
40
41
  set showSkeleton(value) {
41
42
  this._showSkeleton = value;
42
- this.layoutBuilderService.showSkeleton(value);
43
+ this.layoutBuilderInternalService.showSkeleton(value);
43
44
  }
44
45
  get showSkeleton() {
45
46
  return this._showSkeleton;
@@ -105,7 +106,7 @@ export class PepLayoutComponent extends BaseDestroyerDirective {
105
106
  }
106
107
  }
107
108
  setScreentType(screenSize) {
108
- const screenType = this.layoutBuilderService.getScreenType(screenSize);
109
+ const screenType = this.layoutBuilderInternalService.getScreenType(screenSize);
109
110
  this.selectedScreenType = screenType;
110
111
  this.screenTypeChange.emit(screenType);
111
112
  }
@@ -113,15 +114,15 @@ export class PepLayoutComponent extends BaseDestroyerDirective {
113
114
  /***********************************************************************************************/
114
115
  /* Internal Events - for code usage
115
116
  /***********************************************************************************************/
116
- if (this.layoutBuilderService.editMode) {
117
- this.layoutBuilderService.previewModeChange$.pipe(this.getDestroyer()).subscribe((previewMode) => {
117
+ if (this.layoutBuilderInternalService.editMode) {
118
+ this.layoutBuilderInternalService.previewModeChange$.pipe(this.getDestroyer()).subscribe((previewMode) => {
118
119
  this.previewMode = previewMode;
119
120
  });
120
121
  }
121
- this.layoutBuilderService.sectionsChange$.pipe(this.getDestroyer()).subscribe((sections) => {
122
+ this.layoutBuilderInternalService.sectionsChange$.pipe(this.getDestroyer()).subscribe((sections) => {
122
123
  this._sectionsSubject.next(sections);
123
124
  });
124
- this.layoutBuilderService.showSkeletonChange$.pipe(this.getDestroyer()).subscribe((showSkeleton) => {
125
+ this.layoutBuilderInternalService.showSkeletonChange$.pipe(this.getDestroyer()).subscribe((showSkeleton) => {
125
126
  if (showSkeleton !== undefined) {
126
127
  this._showSkeleton = showSkeleton;
127
128
  this.animateSkeleton();
@@ -130,13 +131,13 @@ export class PepLayoutComponent extends BaseDestroyerDirective {
130
131
  this.layoutService.onResize$.pipe(this.getDestroyer()).subscribe((size) => {
131
132
  this.setScreentType(size);
132
133
  });
133
- this.layoutBuilderService.screenSizeChange$.pipe(this.getDestroyer()).subscribe((size) => {
134
+ this.layoutBuilderInternalService.screenSizeChange$.pipe(this.getDestroyer()).subscribe((size) => {
134
135
  this.setScreentType(size);
135
136
  });
136
137
  /***********************************************************************************************/
137
138
  /* External Events - for raise to the client
138
139
  /***********************************************************************************************/
139
- this.layoutBuilderService.layoutViewChange$.pipe(this.getDestroyer()).subscribe((layoutView) => {
140
+ this.layoutBuilderInternalService.layoutViewChange$.pipe(this.getDestroyer()).subscribe((layoutView) => {
140
141
  this._layoutView = layoutView;
141
142
  this.setLayoutDataProperties();
142
143
  this.layoutViewChange.emit(this._layoutView);
@@ -167,21 +168,21 @@ export class PepLayoutComponent extends BaseDestroyerDirective {
167
168
  return gridAutoRows;
168
169
  }
169
170
  onSectionDropped(event) {
170
- this.layoutBuilderService.onSectionDropped(event);
171
+ this.layoutBuilderInternalService.onSectionDropped(event);
171
172
  }
172
173
  onDragStart(event) {
173
- this.layoutBuilderService.onSectionDragStart(event);
174
+ this.layoutBuilderInternalService.onSectionDragStart(event);
174
175
  }
175
176
  onDragEnd(event) {
176
- this.layoutBuilderService.onSectionDragEnd(event);
177
+ this.layoutBuilderInternalService.onSectionDragEnd(event);
177
178
  }
178
179
  }
179
- PepLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutComponent, deps: [{ token: i1.PepCustomizationService }, { token: i1.PepLayoutService }, { token: i2.LayoutBuilderInternalService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
180
+ PepLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutComponent, deps: [{ token: i1.PepLayoutService }, { token: i2.LayoutBuilderInternalService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
180
181
  PepLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepLayoutComponent, selector: "pep-layout", inputs: { layoutView: "layoutView", blockTemplate: "blockTemplate", showSkeleton: "showSkeleton" }, outputs: { layoutViewChange: "layoutViewChange", screenTypeChange: "screenTypeChange" }, host: { properties: { "style.padding-inline": "this.paddingInline" } }, viewQueries: [{ propertyName: "skeletonContainer", first: true, predicate: ["skeletonCont"], descendants: true, static: true }, { propertyName: "sectionsContainer", first: true, predicate: ["sectionsCont"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<!-- For the top spacing -->\n<div class=\"top-spacing spacing-{{verticalSpacing}}\" ></div>\n<div #sectionsCont cdkDropListGroup class=\"sections-container gap-{{ sectionsGap }}\" [ngClass]=\"{'preview-state': previewMode }\" \n cdkDropList (cdkDropListDropped)=\"onSectionDropped($event)\" [ngStyle]=\"{'grid-auto-rows': getSectionsTemplateRows()}\"\n >\n <section *ngFor=\"let section of sections$ | async; let i=index;\" \n class=\"draggable-section \" [ngClass]=\"selectedScreenType === 'Phablet' ? 'margin-'+sectionsGap : ''\" [blockTemplate]=\"blockTemplate\"\n [key]=\"section.Key\" [name]=\"section.Name || ('LAYOUT_BUILDER.SECTION' | translate) + ' ' + (i+1)\" [split]=\"section.Split\" [height]=\"section.Height\"\n [columns]=\"section.Columns\" [collapseOnTablet]=\"section.CollapseOnTablet || false\" [hideIn]=\"section.Hide || []\" [columnsGap]=\"columnsGap\"\n >\n </section>\n</div>\n<div #skeletonCont class=\"skeleton-container \">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n <div class=\"split-skeleton-container\">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n </div>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n</div>\n<!-- For the bottom spacing -->\n<div class=\"bottom-spacing spacing-{{verticalSpacing}}\"></div>\n<pep-size-detector></pep-size-detector>", styles: [":host{display:grid;grid-template-areas:\"top-spacing\" \"content\" \"bottom-spacing\";grid-template-rows:auto 1fr auto;height:100%}.top-spacing{grid-area:top-spacing}.top-spacing.spacing-none{height:0}.top-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.top-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.top-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.bottom-spacing{grid-area:bottom-spacing}.bottom-spacing.spacing-none{height:0}.bottom-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.bottom-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.bottom-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.skeleton-container{display:grid;grid-area:content;height:100%;gap:var(--pep-spacing-lg, 1rem);grid-template-rows:auto auto auto 1fr;opacity:0}.skeleton-container .split-skeleton-container{display:grid;height:10rem;gap:var(--pep-spacing-lg, 1rem);grid-auto-flow:column}.sections-container{z-index:11;grid-area:content;width:100%;max-width:inherit;overflow-x:unset;margin:0 auto;position:relative;display:grid;grid-row:1px;height:inherit;opacity:0}.sections-container.gap-none{gap:0}.sections-container.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.sections-container.gap-md{gap:var(--pep-spacing-lg, 1rem)}.sections-container.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.sections-container .draggable-section{display:block}.sections-container.preview-state section{display:contents}@keyframes in{0%{opacity:0;transform:translateY(-80);filter:blur(20px)}to{transform:translateY(0);opacity:1;filter:blur(0)}}.in{animation-name:in;animation-direction:normal;animation-duration:1.2s;animation-fill-mode:forwards}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i4.PepSkeletonLoaderComponent, selector: "pep-skeleton-loader", inputs: ["rowHeightType", "rowsNumber", "lastRowOffset"] }, { kind: "component", type: i5.PepSizeDetectorComponent, selector: "pep-size-detector", inputs: ["showScreenSize", "useAsWebComponent"], outputs: ["sizeChange"] }, { kind: "directive", type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i6.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "component", type: i7.SectionComponent, selector: "section", inputs: ["blockTemplate", "key", "name", "split", "height", "collapseOnTablet", "columns", "hideIn", "columnsGap"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }] });
181
182
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepLayoutComponent, decorators: [{
182
183
  type: Component,
183
184
  args: [{ selector: 'pep-layout', template: "<!-- For the top spacing -->\n<div class=\"top-spacing spacing-{{verticalSpacing}}\" ></div>\n<div #sectionsCont cdkDropListGroup class=\"sections-container gap-{{ sectionsGap }}\" [ngClass]=\"{'preview-state': previewMode }\" \n cdkDropList (cdkDropListDropped)=\"onSectionDropped($event)\" [ngStyle]=\"{'grid-auto-rows': getSectionsTemplateRows()}\"\n >\n <section *ngFor=\"let section of sections$ | async; let i=index;\" \n class=\"draggable-section \" [ngClass]=\"selectedScreenType === 'Phablet' ? 'margin-'+sectionsGap : ''\" [blockTemplate]=\"blockTemplate\"\n [key]=\"section.Key\" [name]=\"section.Name || ('LAYOUT_BUILDER.SECTION' | translate) + ' ' + (i+1)\" [split]=\"section.Split\" [height]=\"section.Height\"\n [columns]=\"section.Columns\" [collapseOnTablet]=\"section.CollapseOnTablet || false\" [hideIn]=\"section.Hide || []\" [columnsGap]=\"columnsGap\"\n >\n </section>\n</div>\n<div #skeletonCont class=\"skeleton-container \">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n <div class=\"split-skeleton-container\">\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n </div>\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"xl\" ></pep-skeleton-loader>\n\n <pep-skeleton-loader [rowsNumber]=\"1\" [lastRowOffset]=\"false\" rowHeightType=\"max\" ></pep-skeleton-loader>\n</div>\n<!-- For the bottom spacing -->\n<div class=\"bottom-spacing spacing-{{verticalSpacing}}\"></div>\n<pep-size-detector></pep-size-detector>", styles: [":host{display:grid;grid-template-areas:\"top-spacing\" \"content\" \"bottom-spacing\";grid-template-rows:auto 1fr auto;height:100%}.top-spacing{grid-area:top-spacing}.top-spacing.spacing-none{height:0}.top-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.top-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.top-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.bottom-spacing{grid-area:bottom-spacing}.bottom-spacing.spacing-none{height:0}.bottom-spacing.spacing-sm{height:var(--pep-spacing-sm, .5rem)}.bottom-spacing.spacing-md{height:var(--pep-spacing-lg, 1rem)}.bottom-spacing.spacing-lg{height:var(--pep-spacing-2xl, 2rem)}.skeleton-container{display:grid;grid-area:content;height:100%;gap:var(--pep-spacing-lg, 1rem);grid-template-rows:auto auto auto 1fr;opacity:0}.skeleton-container .split-skeleton-container{display:grid;height:10rem;gap:var(--pep-spacing-lg, 1rem);grid-auto-flow:column}.sections-container{z-index:11;grid-area:content;width:100%;max-width:inherit;overflow-x:unset;margin:0 auto;position:relative;display:grid;grid-row:1px;height:inherit;opacity:0}.sections-container.gap-none{gap:0}.sections-container.gap-sm{gap:var(--pep-spacing-sm, .5rem)}.sections-container.gap-md{gap:var(--pep-spacing-lg, 1rem)}.sections-container.gap-lg{gap:var(--pep-spacing-2xl, 2rem)}.sections-container .draggable-section{display:block}.sections-container.preview-state section{display:contents}@keyframes in{0%{opacity:0;transform:translateY(-80);filter:blur(20px)}to{transform:translateY(0);opacity:1;filter:blur(0)}}.in{animation-name:in;animation-direction:normal;animation-duration:1.2s;animation-fill-mode:forwards}\n"] }]
184
- }], ctorParameters: function () { return [{ type: i1.PepCustomizationService }, { type: i1.PepLayoutService }, { type: i2.LayoutBuilderInternalService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { skeletonContainer: [{
185
+ }], ctorParameters: function () { return [{ type: i1.PepLayoutService }, { type: i2.LayoutBuilderInternalService }, { type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { skeletonContainer: [{
185
186
  type: ViewChild,
186
187
  args: ['skeletonCont', { static: true }]
187
188
  }], sectionsContainer: [{
@@ -201,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
201
202
  type: HostBinding,
202
203
  args: ['style.padding-inline']
203
204
  }] } });
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2xheW91dC1idWlsZGVyL2xheW91dC9sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbGF5b3V0L2xheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThGLFNBQVMsRUFDbkYsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFFOUgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFnRSxNQUFNLHlCQUF5QixDQUFDO0FBRy9ILE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFRbkQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHNCQUFzQjtJQTREMUQsWUFDVyxvQkFBNkMsRUFDN0MsYUFBK0IsRUFDL0Isb0JBQWtELEVBQ2pELFdBQXVCLEVBQ3ZCLFFBQW1CO1FBRzNCLEtBQUssRUFBRSxDQUFDO1FBUEQseUJBQW9CLEdBQXBCLG9CQUFvQixDQUF5QjtRQUM3QyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUE4QjtRQUNqRCxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBbkR0QixrQkFBYSxHQUFpQyxTQUFTLENBQUM7UUFFekQsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFVcEIscUJBQWdCLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEUscUJBQWdCLEdBQXFDLElBQUksWUFBWSxFQUFFLENB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QztJQUVELFdBQVcsQ0FBQyxLQUFtQjtRQUMzQixJQUFJLENBQUMsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFpQjtRQUN2QixJQUFJLENBQUMsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7K0dBM01RLGtCQUFrQjttR0FBbEIsa0JBQWtCLGlrQkNmL0IsK3ZEQXdCdUM7MkZEVDFCLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDSSxZQUFZO3lPQUt1QixpQkFBaUI7c0JBQTdELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDRSxpQkFBaUI7c0JBQTdELFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJdkMsVUFBVTtzQkFEYixLQUFLO2dCQVNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBSUYsWUFBWTtzQkFEZixLQUFLO2dCQVNJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBb0JHLGFBQWE7c0JBRHRCLFdBQVc7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQsIENvbnRlbnRDaGlsZHJlbixcbiAgICBPbkluaXQsIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBIb3N0QmluZGluZywgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrRHJhZywgQ2RrRHJhZ0Ryb3AsIENka0RyYWdFbmQsIENka0RyYWdFbnRlciwgQ2RrRHJhZ0V4aXQsIENka0RyYWdTdGFydCwgQ2RrRHJvcExpc3QsIERyYWdEcm9wIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBCYXNlRGVzdHJveWVyRGlyZWN0aXZlLCBQZXBDdXN0b21pemF0aW9uU2VydmljZSwgUGVwTGF5b3V0U2VydmljZSwgUGVwU2NyZWVuU2l6ZVR5cGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlIH0gZnJvbSAnLi4vbGF5b3V0LWJ1aWxkZXItaW50ZXJuYWwuc2VydmljZSc7XG5pbXBvcnQgeyBJUGVwTGF5b3V0QmxvY2tBZGRlZEV2ZW50LCBJUGVwTGF5b3V0U2VjdGlvbiwgSVBlcExheW91dFZpZXcsIFBlcExheW91dFNpemVUeXBlIH0gZnJvbSAnLi4vbGF5b3V0LWJ1aWxkZXIubW9kZWwnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYXRhVmlld1NjcmVlblNpemUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvcGFwaS1zZGsnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1sYXlvdXQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sYXlvdXQuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2xheW91dC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBMYXlvdXRDb21wb25lbnQgZXh0ZW5kcyBCYXNlRGVzdHJveWVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBAVmlld0NoaWxkKCdza2VsZXRvbkNvbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBza2VsZXRvbkNvbnRhaW5lciE6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnc2VjdGlvbnNDb250JywgeyBzdGF0aWM6IHRydWUgfSkgc2VjdGlvbnNDb250YWluZXIhOiBFbGVtZW50UmVmO1xuXG4gICAgcHJpdmF0ZSBfbGF5b3V0VmlldyE6IElQZXBMYXlvdXRWaWV3O1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGxheW91dFZpZXcodmFsdWU6IElQZXBMYXlvdXRWaWV3KSB7XG4gICAgICAgIHRoaXMuX2xheW91dFZpZXcgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5sb2FkTGF5b3V0QnVpbGRlcih2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBsYXlvdXRWaWV3KCk6IElQZXBMYXlvdXRWaWV3IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xheW91dFZpZXc7XG4gICAgfVxuXG4gICAgQElucHV0KCkgYmxvY2tUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgIHByaXZhdGUgX3Nob3dTa2VsZXRvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNob3dTa2VsZXRvbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zaG93U2tlbGV0b24gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5zaG93U2tlbGV0b24odmFsdWUpO1xuICAgIH1cbiAgICBnZXQgc2hvd1NrZWxldG9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd1NrZWxldG9uO1xuICAgIH1cbiAgICBcbiAgICBAT3V0cHV0KCkgbGF5b3V0Vmlld0NoYW5nZTogRXZlbnRFbWl0dGVyPElQZXBMYXlvdXRWaWV3PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgc2NyZWVuVHlwZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGFWaWV3U2NyZWVuU2l6ZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwcml2YXRlIF9ob3Jpem9udGFsU3BhY2luZzogUGVwTGF5b3V0U2l6ZVR5cGUgfCB1bmRlZmluZWQgPSAnbWQnO1xuICAgIHNldCBob3Jpem9udGFsU3BhY2luZyh2YWx1ZTogUGVwTGF5b3V0U2l6ZVR5cGUgfCB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5faG9yaXpvbnRhbFNwYWNpbmcgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5wYWRkaW5nSW5saW5lID0gdGhpcy5jb252ZXJ0TGF5b3V0U2l6ZVR5cGUodmFsdWUgfHwgJ21kJyk7XG4gICAgfVxuICAgIGdldCBob3Jpem9udGFsU3BhY2luZygpOiBQZXBMYXlvdXRTaXplVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ob3Jpem9udGFsU3BhY2luZztcbiAgICB9XG5cbiAgICBwcml2YXRlIF92ZXJ0aWNhbFNwYWNpbmc6IFBlcExheW91dFNpemVUeXBlIHwgdW5kZWZpbmVkID0gJ21kJztcbiAgICBzZXQgdmVydGljYWxTcGFjaW5nKHZhbHVlOiBQZXBMYXlvdXRTaXplVHlwZSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl92ZXJ0aWNhbFNwYWNpbmcgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHZlcnRpY2FsU3BhY2luZygpOiBQZXBMYXlvdXRTaXplVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl92ZXJ0aWNhbFNwYWNpbmc7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5wYWRkaW5nLWlubGluZScpXG4gICAgcHJvdGVjdGVkIHBhZGRpbmdJbmxpbmUgPSAnMXJlbSc7XG4gICAgXG4gICAgcHJvdGVjdGVkIHNlY3Rpb25zR2FwITogUGVwTGF5b3V0U2l6ZVR5cGU7XG4gICAgcHJvdGVjdGVkIGNvbHVtbnNHYXAhOiBQZXBMYXlvdXRTaXplVHlwZTtcbiAgICBwcm90ZWN0ZWQgcHJldmlld01vZGUgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgX3NlY3Rpb25zU3ViamVjdDogQmVoYXZpb3JTdWJqZWN0PElQZXBMYXlvdXRTZWN0aW9uW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJUGVwTGF5b3V0U2VjdGlvbltdPihbXSk7XG4gICAgcHJvdGVjdGVkIGdldCBzZWN0aW9ucyQoKTogT2JzZXJ2YWJsZTxJUGVwTGF5b3V0U2VjdGlvbltdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZWN0aW9uc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNlbGVjdGVkU2NyZWVuVHlwZSE6IERhdGFWaWV3U2NyZWVuU2l6ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgY3VzdG9taXphdGlvblNlcnZpY2U6IFBlcEN1c3RvbWl6YXRpb25TZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgbGF5b3V0U2VydmljZTogUGVwTGF5b3V0U2VydmljZSxcbiAgICAgICAgcHVibGljIGxheW91dEJ1aWxkZXJTZXJ2aWNlOiBMYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGhvc3RFbGVtZW50OiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIC8vIHByaXZhdGUgZHJhZ0Ryb3BTZXJ2aWNlOiBEcmFnRHJvcFxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3BlcC1sYXlvdXQnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnZlcnRMYXlvdXRTaXplVHlwZShzaXplOiBQZXBMYXlvdXRTaXplVHlwZSB8ICdub25lJykge1xuICAgICAgICBsZXQgcmVzO1xuXG4gICAgICAgIGlmIChzaXplID09PSAnbGcnKSB7XG4gICAgICAgICAgICByZXMgPSAnMnJlbSc7XG4gICAgICAgIH0gZWxzZSBpZiAoc2l6ZSA9PT0gJ21kJykge1xuICAgICAgICAgICAgcmVzID0gJzFyZW0nO1xuICAgICAgICB9IGVsc2UgaWYgKHNpemUgPT09ICdzbScpIHtcbiAgICAgICAgICAgIHJlcyA9ICcwLjVyZW0nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzID0gJzAnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFuaW1hdGVTa2VsZXRvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuX3Nob3dTa2VsZXRvbikge1xuICAgICAgICAgICAgLy8gdGhpcy5zZWN0aW9uc0NvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LmFkZCgnb3V0Jyk7XG4gICAgICAgICAgICB0aGlzLnNlY3Rpb25zQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QucmVtb3ZlKCdpbicpO1xuICAgICAgICAgICAgdGhpcy5za2VsZXRvbkNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LmFkZCgnaW4nKTtcbiAgICAgICAgICAgIC8vIHRoaXMuc2tlbGV0b25Db250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdC5yZW1vdmUoJ291dCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWN0aW9uc0NvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LmFkZCgnaW4nKTtcbiAgICAgICAgICAgIC8vIHRoaXMuc2VjdGlvbnNDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdC5yZW1vdmUoJ291dCcpO1xuICAgICAgICAgICAgLy8gdGhpcy5za2VsZXRvbkNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LmFkZCgnb3V0Jyk7XG4gICAgICAgICAgICB0aGlzLnNrZWxldG9uQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QucmVtb3ZlKCdpbicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRMYXlvdXREYXRhUHJvcGVydGllcygpIHtcbiAgICAgICAgY29uc3QgbGF5b3V0VmlldyA9IHRoaXMuX2xheW91dFZpZXc7XG5cbiAgICAgICAgaWYgKGxheW91dFZpZXcpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlY3Rpb25zQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgbGV0IG1heFdpZHRoID0gY29lcmNlTnVtYmVyUHJvcGVydHkobGF5b3V0Vmlldy5MYXlvdXQuTWF4V2lkdGgsIDApO1xuICAgICAgICAgICAgICAgIGNvbnN0IG1heFdpZHRoVG9TZXQgPSBtYXhXaWR0aCA9PT0gMCA/ICd1bnNldCcgOiBgJHttYXhXaWR0aH1weGA7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnNlY3Rpb25zQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQsICdtYXgtd2lkdGgnLCBtYXhXaWR0aFRvU2V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgdGhpcy5zZWN0aW9uc0dhcCA9IGxheW91dFZpZXcuTGF5b3V0LlNlY3Rpb25zR2FwIHx8ICdtZCc7XG4gICAgICAgICAgICB0aGlzLmNvbHVtbnNHYXAgPSBsYXlvdXRWaWV3LkxheW91dC5Db2x1bW5zR2FwIHx8ICdtZCc7XG5cbiAgICAgICAgICAgIHRoaXMuaG9yaXpvbnRhbFNwYWNpbmcgPSBsYXlvdXRWaWV3LkxheW91dC5Ib3Jpem9udGFsU3BhY2luZztcbiAgICAgICAgICAgIHRoaXMudmVydGljYWxTcGFjaW5nID0gbGF5b3V0Vmlldy5MYXlvdXQuVmVydGljYWxTcGFjaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTY3JlZW50VHlwZShzY3JlZW5TaXplOiBQZXBTY3JlZW5TaXplVHlwZSkge1xuICAgICAgICBjb25zdCBzY3JlZW5UeXBlID0gdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5nZXRTY3JlZW5UeXBlKHNjcmVlblNpemUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkU2NyZWVuVHlwZSA9IHNjcmVlblR5cGU7XG4gICAgICAgIHRoaXMuc2NyZWVuVHlwZUNoYW5nZS5lbWl0KHNjcmVlblR5cGUpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcm5hbCBFdmVudHMgLSBmb3IgY29kZSB1c2FnZVxuICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICAgICAgaWYgKHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2UuZWRpdE1vZGUpIHtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2UucHJldmlld01vZGVDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChwcmV2aWV3TW9kZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmV2aWV3TW9kZSA9IHByZXZpZXdNb2RlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJTZXJ2aWNlLnNlY3Rpb25zQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2VjdGlvbnM6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2VjdGlvbnNTdWJqZWN0Lm5leHQoc2VjdGlvbnMpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJTZXJ2aWNlLnNob3dTa2VsZXRvbkNoYW5nZSQucGlwZSh0aGlzLmdldERlc3Ryb3llcigpKS5zdWJzY3JpYmUoKHNob3dTa2VsZXRvbjogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoc2hvd1NrZWxldG9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zaG93U2tlbGV0b24gPSBzaG93U2tlbGV0b247XG4gICAgICAgICAgICAgICAgdGhpcy5hbmltYXRlU2tlbGV0b24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLm9uUmVzaXplJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2l6ZTogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldFNjcmVlbnRUeXBlKHNpemUpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJTZXJ2aWNlLnNjcmVlblNpemVDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChzaXplOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0U2NyZWVudFR5cGUoc2l6ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICAgICAgLyogICAgICAgICAgICAgICAgICAgICAgICAgIEV4dGVybmFsIEV2ZW50cyAtIGZvciByYWlzZSB0byB0aGUgY2xpZW50XG4gICAgICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJTZXJ2aWNlLmxheW91dFZpZXdDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChsYXlvdXRWaWV3OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2xheW91dFZpZXcgPSBsYXlvdXRWaWV3O1xuICAgICAgICAgICAgdGhpcy5zZXRMYXlvdXREYXRhUHJvcGVydGllcygpO1xuICAgICAgICAgICAgdGhpcy5sYXlvdXRWaWV3Q2hhbmdlLmVtaXQodGhpcy5fbGF5b3V0Vmlldyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldFNlY3Rpb25zVGVtcGxhdGVSb3dzKCkge1xuICAgICAgICBsZXQgZ3JpZEF1dG9Sb3dzID0gJyc7XG4gICAgICAgIC8vIGxldCBmaWxsSGVpZ2h0Q291bnQgPSAwO1xuICAgICAgICB0aGlzLnNlY3Rpb25zJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2VjdGlvbnM6IGFueSkgPT4geyAgICBcbiAgICAgICAgICAgIGlmIChzZWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc2VjdGlvbnMuZm9yRWFjaCgoc2VjOiBJUGVwTGF5b3V0U2VjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZihzZWMuRmlsbEhlaWdodCA9PT0gdHJ1ZSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBmaWxsSGVpZ2h0Q291bnQrKztcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWRBdXRvUm93cyArPSAnIGF1dG8nO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZEF1dG9Sb3dzICs9ICcgbWluLWNvbnRlbnQnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLy9pZiBhbGwgYXJlIGZpbGwgaGVpZ2h0IHNob3VsZCByZXR1cm4gMWZyIGZvciBhbGxcbiAgICAgICAgICAgICAgICAvL2lmIG5vdCBzaG91bGQgcmV0dXJuIGF1dG8gZm9yIGZpbGwgaGVpZ2h0IGFuZCBtaW4gY29udGVudCBmb3Igbm9uZVxuICAgICAgICAgICAgICAgIHJldHVybiBncmlkQXV0b1Jvd3M7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGdyaWRBdXRvUm93cztcbiAgICB9XG5cbiAgICBvblNlY3Rpb25Ecm9wcGVkKGV2ZW50OiBDZGtEcmFnRHJvcDxhbnlbXT4pIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5vblNlY3Rpb25Ecm9wcGVkKGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkRyYWdTdGFydChldmVudDogQ2RrRHJhZ1N0YXJ0KSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlclNlcnZpY2Uub25TZWN0aW9uRHJhZ1N0YXJ0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbkRyYWdFbmQoZXZlbnQ6IENka0RyYWdFbmQpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVyU2VydmljZS5vblNlY3Rpb25EcmFnRW5kKGV2ZW50KTtcbiAgICB9XG59XG4iLCI8IS0tIEZvciB0aGUgdG9wIHNwYWNpbmcgLS0+XG48ZGl2IGNsYXNzPVwidG9wLXNwYWNpbmcgc3BhY2luZy17e3ZlcnRpY2FsU3BhY2luZ319XCIgPjwvZGl2PlxuPGRpdiAjc2VjdGlvbnNDb250IGNka0Ryb3BMaXN0R3JvdXAgY2xhc3M9XCJzZWN0aW9ucy1jb250YWluZXIgZ2FwLXt7IHNlY3Rpb25zR2FwIH19XCIgW25nQ2xhc3NdPVwieydwcmV2aWV3LXN0YXRlJzogcHJldmlld01vZGUgfVwiICBcbiAgICBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uU2VjdGlvbkRyb3BwZWQoJGV2ZW50KVwiIFtuZ1N0eWxlXT1cInsnZ3JpZC1hdXRvLXJvd3MnOiBnZXRTZWN0aW9uc1RlbXBsYXRlUm93cygpfVwiXG4gICAgPlxuICAgIDxzZWN0aW9uICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHNlY3Rpb25zJCB8IGFzeW5jOyBsZXQgaT1pbmRleDtcIiBcbiAgICAgICAgY2xhc3M9XCJkcmFnZ2FibGUtc2VjdGlvbiBcIiBbbmdDbGFzc109XCJzZWxlY3RlZFNjcmVlblR5cGUgPT09ICdQaGFibGV0JyA/ICdtYXJnaW4tJytzZWN0aW9uc0dhcCA6ICcnXCIgW2Jsb2NrVGVtcGxhdGVdPVwiYmxvY2tUZW1wbGF0ZVwiXG4gICAgICAgIFtrZXldPVwic2VjdGlvbi5LZXlcIiBbbmFtZV09XCJzZWN0aW9uLk5hbWUgfHwgKCdMQVlPVVRfQlVJTERFUi5TRUNUSU9OJyB8IHRyYW5zbGF0ZSkgKyAnICcgKyAoaSsxKVwiIFtzcGxpdF09XCJzZWN0aW9uLlNwbGl0XCIgW2hlaWdodF09XCJzZWN0aW9uLkhlaWdodFwiXG4gICAgICAgIFtjb2x1bW5zXT1cInNlY3Rpb24uQ29sdW1uc1wiIFtjb2xsYXBzZU9uVGFibGV0XT1cInNlY3Rpb24uQ29sbGFwc2VPblRhYmxldCB8fCBmYWxzZVwiIFtoaWRlSW5dPVwic2VjdGlvbi5IaWRlIHx8IFtdXCIgW2NvbHVtbnNHYXBdPVwiY29sdW1uc0dhcFwiXG4gICAgICAgID5cbiAgICA8L3NlY3Rpb24+XG48L2Rpdj5cbjxkaXYgI3NrZWxldG9uQ29udCBjbGFzcz1cInNrZWxldG9uLWNvbnRhaW5lciBcIj5cbiAgICA8cGVwLXNrZWxldG9uLWxvYWRlciBbcm93c051bWJlcl09XCIxXCIgW2xhc3RSb3dPZmZzZXRdPVwiZmFsc2VcIiByb3dIZWlnaHRUeXBlPVwieGxcIiA+PC9wZXAtc2tlbGV0b24tbG9hZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJzcGxpdC1za2VsZXRvbi1jb250YWluZXJcIj5cbiAgICAgICAgPHBlcC1za2VsZXRvbi1sb2FkZXIgW3Jvd3NOdW1iZXJdPVwiMVwiIFtsYXN0Um93T2Zmc2V0XT1cImZhbHNlXCIgcm93SGVpZ2h0VHlwZT1cIm1heFwiID48L3BlcC1za2VsZXRvbi1sb2FkZXI+XG4gICAgICAgIDxwZXAtc2tlbGV0b24tbG9hZGVyIFtyb3dzTnVtYmVyXT1cIjFcIiBbbGFzdFJvd09mZnNldF09XCJmYWxzZVwiIHJvd0hlaWdodFR5cGU9XCJtYXhcIiA+PC9wZXAtc2tlbGV0b24tbG9hZGVyPlxuICAgIDwvZGl2PlxuICAgIDxwZXAtc2tlbGV0b24tbG9hZGVyIFtyb3dzTnVtYmVyXT1cIjFcIiBbbGFzdFJvd09mZnNldF09XCJmYWxzZVwiIHJvd0hlaWdodFR5cGU9XCJ4bFwiID48L3BlcC1za2VsZXRvbi1sb2FkZXI+XG5cbiAgICA8cGVwLXNrZWxldG9uLWxvYWRlciBbcm93c051bWJlcl09XCIxXCIgW2xhc3RSb3dPZmZzZXRdPVwiZmFsc2VcIiByb3dIZWlnaHRUeXBlPVwibWF4XCIgPjwvcGVwLXNrZWxldG9uLWxvYWRlcj5cbjwvZGl2PlxuPCEtLSBGb3IgdGhlIGJvdHRvbSBzcGFjaW5nIC0tPlxuPGRpdiBjbGFzcz1cImJvdHRvbS1zcGFjaW5nIHNwYWNpbmcte3t2ZXJ0aWNhbFNwYWNpbmd9fVwiPjwvZGl2PlxuPHBlcC1zaXplLWRldGVjdG9yPjwvcGVwLXNpemUtZGV0ZWN0b3I+Il19
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2xheW91dC1idWlsZGVyL2xheW91dC9sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvc2l0ZS1saWIvbGF5b3V0LWJ1aWxkZXIvbGF5b3V0L2xheW91dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQThGLFNBQVMsRUFDbkYsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFFOUgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHNCQUFzQixFQUFnRSxNQUFNLHlCQUF5QixDQUFDO0FBRy9ILE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7QUFRbkQsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHNCQUFzQjtJQTREMUQ7SUFDSSx3REFBd0Q7SUFDakQsYUFBK0IsRUFDL0IsNEJBQTBELEVBQ3pELFdBQXVCLEVBQ3ZCLFFBQW1CO1FBRzNCLEtBQUssRUFBRSxDQUFDO1FBTkQsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7UUFDekQsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQW5EdEIsa0JBQWEsR0FBaUMsU0FBUyxDQUFDO1FBRXpELGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBVXBCLHFCQUFnQixHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BFLHFCQUFnQixHQUFxQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTFFLHVCQUFrQixHQUFrQyxJQUFJLENBQUM7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SSxDQUFDLDRCQUE0QixDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBaUI7UUFDdkIsSUFBSSxDQUFDLDRCQUE0QixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7OytHQTNNUSxrQkFBa0I7bUdBQWxCLGtCQUFrQixpa0JDZi9CLCt2REF3QnVDOzJGRFQxQixrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0ksWUFBWTttTUFLdUIsaUJBQWlCO3NCQUE3RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0UsaUJBQWlCO3NCQUE3RCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSXZDLFVBQVU7c0JBRGIsS0FBSztnQkFTRyxhQUFhO3NCQUFyQixLQUFLO2dCQUlGLFlBQVk7c0JBRGYsS0FBSztnQkFTSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQW9CRyxhQUFhO3NCQUR0QixXQUFXO3VCQUFDLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWQsIENoYW5nZURldGVjdG9yUmVmLCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiwgVmlld0NoaWxkLCBDb250ZW50Q2hpbGRyZW4sXG4gICAgT25Jbml0LCBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgSG9zdEJpbmRpbmcsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENka0RyYWcsIENka0RyYWdEcm9wLCBDZGtEcmFnRW5kLCBDZGtEcmFnRW50ZXIsIENka0RyYWdFeGl0LCBDZGtEcmFnU3RhcnQsIENka0Ryb3BMaXN0LCBEcmFnRHJvcCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgY29lcmNlTnVtYmVyUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQmFzZURlc3Ryb3llckRpcmVjdGl2ZSwgUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsIFBlcExheW91dFNlcnZpY2UsIFBlcFNjcmVlblNpemVUeXBlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgTGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZSB9IGZyb20gJy4uL2xheW91dC1idWlsZGVyLWludGVybmFsLnNlcnZpY2UnO1xuaW1wb3J0IHsgSVBlcExheW91dEJsb2NrQWRkZWRFdmVudCwgSVBlcExheW91dFNlY3Rpb24sIElQZXBMYXlvdXRWaWV3LCBQZXBMYXlvdXRTaXplVHlwZSB9IGZyb20gJy4uL2xheW91dC1idWlsZGVyLm1vZGVsJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGF0YVZpZXdTY3JlZW5TaXplIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL3BhcGktc2RrJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwZXAtbGF5b3V0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGF5b3V0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9sYXlvdXQuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgUGVwTGF5b3V0Q29tcG9uZW50IGV4dGVuZHMgQmFzZURlc3Ryb3llckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnc2tlbGV0b25Db250JywgeyBzdGF0aWM6IHRydWUgfSkgc2tlbGV0b25Db250YWluZXIhOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3NlY3Rpb25zQ29udCcsIHsgc3RhdGljOiB0cnVlIH0pIHNlY3Rpb25zQ29udGFpbmVyITogRWxlbWVudFJlZjtcblxuICAgIHByaXZhdGUgX2xheW91dFZpZXchOiBJUGVwTGF5b3V0VmlldztcbiAgICBASW5wdXQoKVxuICAgIHNldCBsYXlvdXRWaWV3KHZhbHVlOiBJUGVwTGF5b3V0Vmlldykge1xuICAgICAgICB0aGlzLl9sYXlvdXRWaWV3ID0gdmFsdWU7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5sb2FkTGF5b3V0QnVpbGRlcih2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBsYXlvdXRWaWV3KCk6IElQZXBMYXlvdXRWaWV3IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xheW91dFZpZXc7XG4gICAgfVxuXG4gICAgQElucHV0KCkgYmxvY2tUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICAgIHByaXZhdGUgX3Nob3dTa2VsZXRvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNob3dTa2VsZXRvbih2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zaG93U2tlbGV0b24gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLnNob3dTa2VsZXRvbih2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBzaG93U2tlbGV0b24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaG93U2tlbGV0b247XG4gICAgfVxuICAgIFxuICAgIEBPdXRwdXQoKSBsYXlvdXRWaWV3Q2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBlcExheW91dFZpZXc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIEBPdXRwdXQoKSBzY3JlZW5UeXBlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0YVZpZXdTY3JlZW5TaXplPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHByaXZhdGUgX2hvcml6b250YWxTcGFjaW5nOiBQZXBMYXlvdXRTaXplVHlwZSB8IHVuZGVmaW5lZCA9ICdtZCc7XG4gICAgc2V0IGhvcml6b250YWxTcGFjaW5nKHZhbHVlOiBQZXBMYXlvdXRTaXplVHlwZSB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9ob3Jpem9udGFsU3BhY2luZyA9IHZhbHVlO1xuICAgICAgICB0aGlzLnBhZGRpbmdJbmxpbmUgPSB0aGlzLmNvbnZlcnRMYXlvdXRTaXplVHlwZSh2YWx1ZSB8fCAnbWQnKTtcbiAgICB9XG4gICAgZ2V0IGhvcml6b250YWxTcGFjaW5nKCk6IFBlcExheW91dFNpemVUeXBlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hvcml6b250YWxTcGFjaW5nO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3ZlcnRpY2FsU3BhY2luZzogUGVwTGF5b3V0U2l6ZVR5cGUgfCB1bmRlZmluZWQgPSAnbWQnO1xuICAgIHNldCB2ZXJ0aWNhbFNwYWNpbmcodmFsdWU6IFBlcExheW91dFNpemVUeXBlIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX3ZlcnRpY2FsU3BhY2luZyA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgdmVydGljYWxTcGFjaW5nKCk6IFBlcExheW91dFNpemVUeXBlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZlcnRpY2FsU3BhY2luZztcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ3N0eWxlLnBhZGRpbmctaW5saW5lJylcbiAgICBwcm90ZWN0ZWQgcGFkZGluZ0lubGluZSA9ICcxcmVtJztcbiAgICBcbiAgICBwcm90ZWN0ZWQgc2VjdGlvbnNHYXAhOiBQZXBMYXlvdXRTaXplVHlwZTtcbiAgICBwcm90ZWN0ZWQgY29sdW1uc0dhcCE6IFBlcExheW91dFNpemVUeXBlO1xuICAgIHByb3RlY3RlZCBwcmV2aWV3TW9kZSA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBfc2VjdGlvbnNTdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8SVBlcExheW91dFNlY3Rpb25bXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElQZXBMYXlvdXRTZWN0aW9uW10+KFtdKTtcbiAgICBwcm90ZWN0ZWQgZ2V0IHNlY3Rpb25zJCgpOiBPYnNlcnZhYmxlPElQZXBMYXlvdXRTZWN0aW9uW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlY3Rpb25zU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2VsZWN0ZWRTY3JlZW5UeXBlITogRGF0YVZpZXdTY3JlZW5TaXplO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIC8vIHB1YmxpYyBjdXN0b21pemF0aW9uU2VydmljZTogUGVwQ3VzdG9taXphdGlvblNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBsYXlvdXRTZXJ2aWNlOiBQZXBMYXlvdXRTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgbGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZTogTGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAvLyBwcml2YXRlIGRyYWdEcm9wU2VydmljZTogRHJhZ0Ryb3BcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmhvc3RFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdwZXAtbGF5b3V0Jyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb252ZXJ0TGF5b3V0U2l6ZVR5cGUoc2l6ZTogUGVwTGF5b3V0U2l6ZVR5cGUgfCAnbm9uZScpIHtcbiAgICAgICAgbGV0IHJlcztcblxuICAgICAgICBpZiAoc2l6ZSA9PT0gJ2xnJykge1xuICAgICAgICAgICAgcmVzID0gJzJyZW0nO1xuICAgICAgICB9IGVsc2UgaWYgKHNpemUgPT09ICdtZCcpIHtcbiAgICAgICAgICAgIHJlcyA9ICcxcmVtJztcbiAgICAgICAgfSBlbHNlIGlmIChzaXplID09PSAnc20nKSB7XG4gICAgICAgICAgICByZXMgPSAnMC41cmVtJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlcyA9ICcwJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhbmltYXRlU2tlbGV0b24oKSB7XG4gICAgICAgIGlmICh0aGlzLl9zaG93U2tlbGV0b24pIHtcbiAgICAgICAgICAgIC8vIHRoaXMuc2VjdGlvbnNDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdC5hZGQoJ291dCcpO1xuICAgICAgICAgICAgdGhpcy5zZWN0aW9uc0NvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LnJlbW92ZSgnaW4nKTtcbiAgICAgICAgICAgIHRoaXMuc2tlbGV0b25Db250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdC5hZGQoJ2luJyk7XG4gICAgICAgICAgICAvLyB0aGlzLnNrZWxldG9uQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QucmVtb3ZlKCdvdXQnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VjdGlvbnNDb250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdC5hZGQoJ2luJyk7XG4gICAgICAgICAgICAvLyB0aGlzLnNlY3Rpb25zQ29udGFpbmVyPy5uYXRpdmVFbGVtZW50Py5jbGFzc0xpc3QucmVtb3ZlKCdvdXQnKTtcbiAgICAgICAgICAgIC8vIHRoaXMuc2tlbGV0b25Db250YWluZXI/Lm5hdGl2ZUVsZW1lbnQ/LmNsYXNzTGlzdC5hZGQoJ291dCcpO1xuICAgICAgICAgICAgdGhpcy5za2VsZXRvbkNvbnRhaW5lcj8ubmF0aXZlRWxlbWVudD8uY2xhc3NMaXN0LnJlbW92ZSgnaW4nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0TGF5b3V0RGF0YVByb3BlcnRpZXMoKSB7XG4gICAgICAgIGNvbnN0IGxheW91dFZpZXcgPSB0aGlzLl9sYXlvdXRWaWV3O1xuXG4gICAgICAgIGlmIChsYXlvdXRWaWV3KSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zZWN0aW9uc0NvbnRhaW5lcj8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGxldCBtYXhXaWR0aCA9IGNvZXJjZU51bWJlclByb3BlcnR5KGxheW91dFZpZXcuTGF5b3V0Lk1heFdpZHRoLCAwKTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXhXaWR0aFRvU2V0ID0gbWF4V2lkdGggPT09IDAgPyAndW5zZXQnIDogYCR7bWF4V2lkdGh9cHhgO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5zZWN0aW9uc0NvbnRhaW5lci5uYXRpdmVFbGVtZW50LCAnbWF4LXdpZHRoJywgbWF4V2lkdGhUb1NldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHRoaXMuc2VjdGlvbnNHYXAgPSBsYXlvdXRWaWV3LkxheW91dC5TZWN0aW9uc0dhcCB8fCAnbWQnO1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5zR2FwID0gbGF5b3V0Vmlldy5MYXlvdXQuQ29sdW1uc0dhcCB8fCAnbWQnO1xuXG4gICAgICAgICAgICB0aGlzLmhvcml6b250YWxTcGFjaW5nID0gbGF5b3V0Vmlldy5MYXlvdXQuSG9yaXpvbnRhbFNwYWNpbmc7XG4gICAgICAgICAgICB0aGlzLnZlcnRpY2FsU3BhY2luZyA9IGxheW91dFZpZXcuTGF5b3V0LlZlcnRpY2FsU3BhY2luZztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U2NyZWVudFR5cGUoc2NyZWVuU2l6ZTogUGVwU2NyZWVuU2l6ZVR5cGUpIHtcbiAgICAgICAgY29uc3Qgc2NyZWVuVHlwZSA9IHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5nZXRTY3JlZW5UeXBlKHNjcmVlblNpemUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkU2NyZWVuVHlwZSA9IHNjcmVlblR5cGU7XG4gICAgICAgIHRoaXMuc2NyZWVuVHlwZUNoYW5nZS5lbWl0KHNjcmVlblR5cGUpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICBJbnRlcm5hbCBFdmVudHMgLSBmb3IgY29kZSB1c2FnZVxuICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICAgICAgaWYgKHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5lZGl0TW9kZSkge1xuICAgICAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLnByZXZpZXdNb2RlQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgocHJldmlld01vZGU6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucHJldmlld01vZGUgPSBwcmV2aWV3TW9kZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLnNlY3Rpb25zQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2VjdGlvbnM6IGFueSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fc2VjdGlvbnNTdWJqZWN0Lm5leHQoc2VjdGlvbnMpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmxheW91dEJ1aWxkZXJJbnRlcm5hbFNlcnZpY2Uuc2hvd1NrZWxldG9uQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2hvd1NrZWxldG9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChzaG93U2tlbGV0b24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX3Nob3dTa2VsZXRvbiA9IHNob3dTa2VsZXRvbjtcbiAgICAgICAgICAgICAgICB0aGlzLmFuaW1hdGVTa2VsZXRvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2Uub25SZXNpemUkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChzaXplOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0U2NyZWVudFR5cGUoc2l6ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5zY3JlZW5TaXplQ2hhbmdlJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2l6ZTogYW55KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldFNjcmVlbnRUeXBlKHNpemUpO1xuICAgICAgICB9KTtcblxuICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgICAgIC8qICAgICAgICAgICAgICAgICAgICAgICAgICBFeHRlcm5hbCBFdmVudHMgLSBmb3IgcmFpc2UgdG8gdGhlIGNsaWVudFxuICAgICAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLmxheW91dFZpZXdDaGFuZ2UkLnBpcGUodGhpcy5nZXREZXN0cm95ZXIoKSkuc3Vic2NyaWJlKChsYXlvdXRWaWV3OiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2xheW91dFZpZXcgPSBsYXlvdXRWaWV3O1xuICAgICAgICAgICAgdGhpcy5zZXRMYXlvdXREYXRhUHJvcGVydGllcygpO1xuICAgICAgICAgICAgdGhpcy5sYXlvdXRWaWV3Q2hhbmdlLmVtaXQodGhpcy5fbGF5b3V0Vmlldyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldFNlY3Rpb25zVGVtcGxhdGVSb3dzKCkge1xuICAgICAgICBsZXQgZ3JpZEF1dG9Sb3dzID0gJyc7XG4gICAgICAgIC8vIGxldCBmaWxsSGVpZ2h0Q291bnQgPSAwO1xuICAgICAgICB0aGlzLnNlY3Rpb25zJC5waXBlKHRoaXMuZ2V0RGVzdHJveWVyKCkpLnN1YnNjcmliZSgoc2VjdGlvbnM6IGFueSkgPT4geyAgICBcbiAgICAgICAgICAgIGlmIChzZWN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc2VjdGlvbnMuZm9yRWFjaCgoc2VjOiBJUGVwTGF5b3V0U2VjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZihzZWMuRmlsbEhlaWdodCA9PT0gdHJ1ZSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBmaWxsSGVpZ2h0Q291bnQrKztcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWRBdXRvUm93cyArPSAnIGF1dG8nO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZEF1dG9Sb3dzICs9ICcgbWluLWNvbnRlbnQnO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLy9pZiBhbGwgYXJlIGZpbGwgaGVpZ2h0IHNob3VsZCByZXR1cm4gMWZyIGZvciBhbGxcbiAgICAgICAgICAgICAgICAvL2lmIG5vdCBzaG91bGQgcmV0dXJuIGF1dG8gZm9yIGZpbGwgaGVpZ2h0IGFuZCBtaW4gY29udGVudCBmb3Igbm9uZVxuICAgICAgICAgICAgICAgIHJldHVybiBncmlkQXV0b1Jvd3M7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGdyaWRBdXRvUm93cztcbiAgICB9XG5cbiAgICBvblNlY3Rpb25Ecm9wcGVkKGV2ZW50OiBDZGtEcmFnRHJvcDxhbnlbXT4pIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLm9uU2VjdGlvbkRyb3BwZWQoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uRHJhZ1N0YXJ0KGV2ZW50OiBDZGtEcmFnU3RhcnQpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRCdWlsZGVySW50ZXJuYWxTZXJ2aWNlLm9uU2VjdGlvbkRyYWdTdGFydChldmVudCk7XG4gICAgfVxuXG4gICAgb25EcmFnRW5kKGV2ZW50OiBDZGtEcmFnRW5kKSB7XG4gICAgICAgIHRoaXMubGF5b3V0QnVpbGRlckludGVybmFsU2VydmljZS5vblNlY3Rpb25EcmFnRW5kKGV2ZW50KTtcbiAgICB9XG59XG4iLCI8IS0tIEZvciB0aGUgdG9wIHNwYWNpbmcgLS0+XG48ZGl2IGNsYXNzPVwidG9wLXNwYWNpbmcgc3BhY2luZy17e3ZlcnRpY2FsU3BhY2luZ319XCIgPjwvZGl2PlxuPGRpdiAjc2VjdGlvbnNDb250IGNka0Ryb3BMaXN0R3JvdXAgY2xhc3M9XCJzZWN0aW9ucy1jb250YWluZXIgZ2FwLXt7IHNlY3Rpb25zR2FwIH19XCIgW25nQ2xhc3NdPVwieydwcmV2aWV3LXN0YXRlJzogcHJldmlld01vZGUgfVwiICBcbiAgICBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cIm9uU2VjdGlvbkRyb3BwZWQoJGV2ZW50KVwiIFtuZ1N0eWxlXT1cInsnZ3JpZC1hdXRvLXJvd3MnOiBnZXRTZWN0aW9uc1RlbXBsYXRlUm93cygpfVwiXG4gICAgPlxuICAgIDxzZWN0aW9uICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHNlY3Rpb25zJCB8IGFzeW5jOyBsZXQgaT1pbmRleDtcIiBcbiAgICAgICAgY2xhc3M9XCJkcmFnZ2FibGUtc2VjdGlvbiBcIiBbbmdDbGFzc109XCJzZWxlY3RlZFNjcmVlblR5cGUgPT09ICdQaGFibGV0JyA/ICdtYXJnaW4tJytzZWN0aW9uc0dhcCA6ICcnXCIgW2Jsb2NrVGVtcGxhdGVdPVwiYmxvY2tUZW1wbGF0ZVwiXG4gICAgICAgIFtrZXldPVwic2VjdGlvbi5LZXlcIiBbbmFtZV09XCJzZWN0aW9uLk5hbWUgfHwgKCdMQVlPVVRfQlVJTERFUi5TRUNUSU9OJyB8IHRyYW5zbGF0ZSkgKyAnICcgKyAoaSsxKVwiIFtzcGxpdF09XCJzZWN0aW9uLlNwbGl0XCIgW2hlaWdodF09XCJzZWN0aW9uLkhlaWdodFwiXG4gICAgICAgIFtjb2x1bW5zXT1cInNlY3Rpb24uQ29sdW1uc1wiIFtjb2xsYXBzZU9uVGFibGV0XT1cInNlY3Rpb24uQ29sbGFwc2VPblRhYmxldCB8fCBmYWxzZVwiIFtoaWRlSW5dPVwic2VjdGlvbi5IaWRlIHx8IFtdXCIgW2NvbHVtbnNHYXBdPVwiY29sdW1uc0dhcFwiXG4gICAgICAgID5cbiAgICA8L3NlY3Rpb24+XG48L2Rpdj5cbjxkaXYgI3NrZWxldG9uQ29udCBjbGFzcz1cInNrZWxldG9uLWNvbnRhaW5lciBcIj5cbiAgICA8cGVwLXNrZWxldG9uLWxvYWRlciBbcm93c051bWJlcl09XCIxXCIgW2xhc3RSb3dPZmZzZXRdPVwiZmFsc2VcIiByb3dIZWlnaHRUeXBlPVwieGxcIiA+PC9wZXAtc2tlbGV0b24tbG9hZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJzcGxpdC1za2VsZXRvbi1jb250YWluZXJcIj5cbiAgICAgICAgPHBlcC1za2VsZXRvbi1sb2FkZXIgW3Jvd3NOdW1iZXJdPVwiMVwiIFtsYXN0Um93T2Zmc2V0XT1cImZhbHNlXCIgcm93SGVpZ2h0VHlwZT1cIm1heFwiID48L3BlcC1za2VsZXRvbi1sb2FkZXI+XG4gICAgICAgIDxwZXAtc2tlbGV0b24tbG9hZGVyIFtyb3dzTnVtYmVyXT1cIjFcIiBbbGFzdFJvd09mZnNldF09XCJmYWxzZVwiIHJvd0hlaWdodFR5cGU9XCJtYXhcIiA+PC9wZXAtc2tlbGV0b24tbG9hZGVyPlxuICAgIDwvZGl2PlxuICAgIDxwZXAtc2tlbGV0b24tbG9hZGVyIFtyb3dzTnVtYmVyXT1cIjFcIiBbbGFzdFJvd09mZnNldF09XCJmYWxzZVwiIHJvd0hlaWdodFR5cGU9XCJ4bFwiID48L3BlcC1za2VsZXRvbi1sb2FkZXI+XG5cbiAgICA8cGVwLXNrZWxldG9uLWxvYWRlciBbcm93c051bWJlcl09XCIxXCIgW2xhc3RSb3dPZmZzZXRdPVwiZmFsc2VcIiByb3dIZWlnaHRUeXBlPVwibWF4XCIgPjwvcGVwLXNrZWxldG9uLWxvYWRlcj5cbjwvZGl2PlxuPCEtLSBGb3IgdGhlIGJvdHRvbSBzcGFjaW5nIC0tPlxuPGRpdiBjbGFzcz1cImJvdHRvbS1zcGFjaW5nIHNwYWNpbmcte3t2ZXJ0aWNhbFNwYWNpbmd9fVwiPjwvZGl2PlxuPHBlcC1zaXplLWRldGVjdG9yPjwvcGVwLXNpemUtZGV0ZWN0b3I+Il19
@@ -2,7 +2,6 @@ import { CommonModule } from '@angular/common';
2
2
  import { NgModule } from '@angular/core';
3
3
  import { HttpClientModule } from '@angular/common/http';
4
4
  import { PepNgxLibModule } from '@pepperi-addons/ngx-lib';
5
- import { PepRemoteLoaderModule } from '@pepperi-addons/ngx-lib/remote-loader';
6
5
  import { DragDropModule } from '@angular/cdk/drag-drop';
7
6
  import { TranslateModule } from '@ngx-translate/core';
8
7
  import { PepSizeDetectorModule } from '@pepperi-addons/ngx-lib/size-detector';
@@ -19,7 +18,6 @@ PepLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
19
18
  HttpClientModule,
20
19
  PepNgxLibModule,
21
20
  PepSkeletonLoaderModule,
22
- PepRemoteLoaderModule,
23
21
  PepSizeDetectorModule,
24
22
  PepDialogModule,
25
23
  DragDropModule,
@@ -28,7 +26,6 @@ PepLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
28
26
  HttpClientModule,
29
27
  PepNgxLibModule,
30
28
  PepSkeletonLoaderModule,
31
- PepRemoteLoaderModule,
32
29
  PepSizeDetectorModule,
33
30
  PepDialogModule,
34
31
  DragDropModule,
@@ -45,7 +42,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
45
42
  HttpClientModule,
46
43
  PepNgxLibModule,
47
44
  PepSkeletonLoaderModule,
48
- PepRemoteLoaderModule,
49
45
  PepSizeDetectorModule,
50
46
  PepDialogModule,
51
47
  DragDropModule,
@@ -55,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
55
51
  exports: [PepLayoutComponent],
56
52
  }]
57
53
  }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2xheW91dC1idWlsZGVyL2xheW91dC9sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0seUJBQXlCLENBQUM7QUFFM0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBRXpELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFxQnhELE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBaEJwQixrQkFBa0IsYUFHbEIsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsdUJBQXVCO1FBQ3ZCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsZUFBZTtRQUNmLGNBQWM7UUFDZCxhQUFhLGlDQUdSLGtCQUFrQjs2R0FFbEIsZUFBZSxZQWJwQixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZix1QkFBdUI7UUFDdkIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixlQUFlO1FBQ2YsY0FBYztRQUNkLGFBQWE7UUFDYixlQUFlLENBQUMsUUFBUSxFQUFFOzJGQUlyQixlQUFlO2tCQWxCM0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1Ysa0JBQWtCO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsdUJBQXVCO3dCQUN2QixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZUFBZSxDQUFDLFFBQVEsRUFBRTtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFDLENBQUMsa0JBQWtCLENBQUM7aUJBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgUGVwTmd4TGliTW9kdWxlLCBQZXBBZGRvblNlcnZpY2UgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5cbmltcG9ydCB7IFBlcFJlbW90ZUxvYWRlck1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3JlbW90ZS1sb2FkZXInO1xuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5pbXBvcnQgeyBQZXBTaXplRGV0ZWN0b3JNb2R1bGUgfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYi9zaXplLWRldGVjdG9yJztcbmltcG9ydCB7IFBlcERpYWxvZ01vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RpYWxvZyc7XG5pbXBvcnQgeyBQZXBTa2VsZXRvbkxvYWRlck1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3NrZWxldG9uLWxvYWRlcic7XG5cbmltcG9ydCB7IFNlY3Rpb25Nb2R1bGUgfSBmcm9tICcuLi9zZWN0aW9uL3NlY3Rpb24ubW9kdWxlJ1xuXG5pbXBvcnQgeyBQZXBMYXlvdXRDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC5jb21wb25lbnQnO1xuXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFBlcExheW91dENvbXBvbmVudCxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgICAgICBQZXBOZ3hMaWJNb2R1bGUsXG4gICAgICAgIFBlcFNrZWxldG9uTG9hZGVyTW9kdWxlLFxuICAgICAgICBQZXBSZW1vdGVMb2FkZXJNb2R1bGUsXG4gICAgICAgIFBlcFNpemVEZXRlY3Rvck1vZHVsZSxcbiAgICAgICAgUGVwRGlhbG9nTW9kdWxlLFxuICAgICAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICAgICAgU2VjdGlvbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLmZvckNoaWxkKClcbiAgICBdLFxuICAgIGV4cG9ydHM6W1BlcExheW91dENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFBlcExheW91dE1vZHVsZSB7XG59XG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb3NpdGUtbGliL2xheW91dC1idWlsZGVyL2xheW91dC9sYXlvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQW1CLE1BQU0seUJBQXlCLENBQUM7QUFFM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFbEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBRXpELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFtQnhELE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBZnBCLGtCQUFrQixhQUdsQixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZix1QkFBdUI7UUFDdkIscUJBQXFCO1FBQ3JCLGVBQWU7UUFDZixjQUFjO1FBQ2QsYUFBYSxpQ0FHUixrQkFBa0I7NkdBRWxCLGVBQWUsWUFacEIsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsdUJBQXVCO1FBQ3ZCLHFCQUFxQjtRQUNyQixlQUFlO1FBQ2YsY0FBYztRQUNkLGFBQWE7UUFDYixlQUFlLENBQUMsUUFBUSxFQUFFOzJGQUlyQixlQUFlO2tCQWpCM0IsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUU7d0JBQ1Ysa0JBQWtCO3FCQUNyQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLGVBQWU7d0JBQ2YsdUJBQXVCO3dCQUN2QixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGVBQWUsQ0FBQyxRQUFRLEVBQUU7cUJBQzdCO29CQUNELE9BQU8sRUFBQyxDQUFDLGtCQUFrQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFBlcE5neExpYk1vZHVsZSwgUGVwQWRkb25TZXJ2aWNlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWInO1xuXG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IFBlcFNpemVEZXRlY3Rvck1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL3NpemUtZGV0ZWN0b3InO1xuaW1wb3J0IHsgUGVwRGlhbG9nTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nJztcbmltcG9ydCB7IFBlcFNrZWxldG9uTG9hZGVyTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvc2tlbGV0b24tbG9hZGVyJztcblxuaW1wb3J0IHsgU2VjdGlvbk1vZHVsZSB9IGZyb20gJy4uL3NlY3Rpb24vc2VjdGlvbi5tb2R1bGUnXG5cbmltcG9ydCB7IFBlcExheW91dENvbXBvbmVudCB9IGZyb20gJy4vbGF5b3V0LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFBlcExheW91dENvbXBvbmVudCxcbiAgICBdLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgICAgICBQZXBOZ3hMaWJNb2R1bGUsXG4gICAgICAgIFBlcFNrZWxldG9uTG9hZGVyTW9kdWxlLFxuICAgICAgICBQZXBTaXplRGV0ZWN0b3JNb2R1bGUsXG4gICAgICAgIFBlcERpYWxvZ01vZHVsZSxcbiAgICAgICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgICAgIFNlY3Rpb25Nb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JDaGlsZCgpXG4gICAgXSxcbiAgICBleHBvcnRzOltQZXBMYXlvdXRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBMYXlvdXRNb2R1bGUge1xufVxuIl19