@worktile/gantt 14.0.4 → 15.0.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/bar/bar.component.d.ts +1 -1
- package/components/baseline/baseline.component.d.ts +1 -1
- package/components/calendar/calendar.component.d.ts +1 -1
- package/components/drag-backdrop/drag-backdrop.component.d.ts +1 -1
- package/components/icon/icon.component.d.ts +1 -1
- package/components/links/links.component.d.ts +1 -1
- package/components/main/gantt-main.component.d.ts +1 -1
- package/components/range/range.component.d.ts +1 -1
- package/components/table/gantt-table.component.d.ts +1 -1
- package/components/toolbar/toolbar.component.d.ts +1 -1
- package/esm2020/class/baseline.mjs +4 -4
- package/esm2020/class/item.mjs +4 -4
- package/esm2020/components/bar/bar-drag.mjs +10 -10
- package/esm2020/components/bar/bar.component.mjs +4 -4
- package/esm2020/components/baseline/baseline.component.mjs +4 -4
- package/esm2020/components/calendar/calendar.component.mjs +7 -7
- package/esm2020/components/drag-backdrop/drag-backdrop.component.mjs +4 -4
- package/esm2020/components/icon/icon.component.mjs +7 -7
- package/esm2020/components/links/lines/curve.mjs +1 -1
- package/esm2020/components/links/links.component.mjs +4 -4
- package/esm2020/components/main/gantt-main.component.mjs +4 -4
- package/esm2020/components/range/range.component.mjs +4 -4
- package/esm2020/components/table/gantt-table.component.mjs +12 -12
- package/esm2020/components/toolbar/toolbar.component.mjs +4 -4
- package/esm2020/gantt-dom.service.mjs +4 -4
- package/esm2020/gantt-drag-container.mjs +4 -4
- package/esm2020/gantt-item-upper.mjs +4 -4
- package/esm2020/gantt-print.service.mjs +4 -4
- package/esm2020/gantt-upper.mjs +40 -38
- package/esm2020/gantt.component.mjs +7 -7
- package/esm2020/gantt.module.mjs +5 -5
- package/esm2020/gantt.pipe.mjs +10 -10
- package/esm2020/root.component.mjs +7 -7
- package/esm2020/table/gantt-column.component.mjs +7 -7
- package/esm2020/table/gantt-table.component.mjs +4 -4
- package/esm2020/views/view.mjs +7 -7
- package/fesm2015/worktile-gantt.mjs +151 -149
- package/fesm2015/worktile-gantt.mjs.map +1 -1
- package/fesm2020/worktile-gantt.mjs +150 -148
- package/fesm2020/worktile-gantt.mjs.map +1 -1
- package/gantt-drag-container.d.ts +1 -1
- package/gantt-item-upper.d.ts +1 -1
- package/gantt-upper.d.ts +2 -2
- package/gantt.component.d.ts +1 -1
- package/gantt.styles.d.ts +1 -1
- package/package.json +1 -1
- package/root.component.d.ts +1 -1
- package/table/gantt-column.component.d.ts +1 -1
- package/table/gantt-table.component.d.ts +1 -1
- package/utils/date.d.ts +1 -1
|
@@ -17,6 +17,9 @@ import * as i6 from "./components/drag-backdrop/drag-backdrop.component";
|
|
|
17
17
|
import * as i7 from "./components/toolbar/toolbar.component";
|
|
18
18
|
import * as i8 from "./gantt-upper";
|
|
19
19
|
export class NgxGanttRootComponent {
|
|
20
|
+
get view() {
|
|
21
|
+
return this.ganttUpper.view;
|
|
22
|
+
}
|
|
20
23
|
constructor(elementRef, ngZone, dom, dragContainer, ganttUpper, printService) {
|
|
21
24
|
this.elementRef = elementRef;
|
|
22
25
|
this.ngZone = ngZone;
|
|
@@ -27,9 +30,6 @@ export class NgxGanttRootComponent {
|
|
|
27
30
|
this.unsubscribe$ = new Subject();
|
|
28
31
|
this.ganttUpper.dragContainer = dragContainer;
|
|
29
32
|
}
|
|
30
|
-
get view() {
|
|
31
|
-
return this.ganttUpper.view;
|
|
32
|
-
}
|
|
33
33
|
ngOnInit() {
|
|
34
34
|
// Note: the zone may be nooped through `BootstrapOptions` when bootstrapping the root module. This means
|
|
35
35
|
// the `onStable` will never emit any value.
|
|
@@ -115,9 +115,9 @@ export class NgxGanttRootComponent {
|
|
|
115
115
|
this.dom.scrollMainContainer(x);
|
|
116
116
|
}
|
|
117
117
|
}
|
|
118
|
-
NgxGanttRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
119
|
-
NgxGanttRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
118
|
+
NgxGanttRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttRootComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.GanttDomService }, { token: i2.GanttDragContainer }, { token: GANTT_UPPER_TOKEN }, { token: i3.GanttPrintService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
119
|
+
NgxGanttRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: NgxGanttRootComponent, selector: "ngx-gantt-root", inputs: { sideWidth: "sideWidth" }, host: { classAttribute: "gantt" }, providers: [GanttDomService, GanttDragContainer], queries: [{ propertyName: "sideTemplate", first: true, predicate: ["sideTemplate"], descendants: true, static: true }, { propertyName: "mainTemplate", first: true, predicate: ["mainTemplate"], descendants: true, static: true }], viewQueries: [{ propertyName: "backdrop", first: true, predicate: GanttDragBackdropComponent, descendants: true, read: ElementRef, static: true }], ngImport: i0, template: "<div class=\"gantt-side\" [style.width.px]=\"sideWidth\">\n <div class=\"gantt-side-container\">\n <ng-template [ngTemplateOutlet]=\"sideTemplate\"></ng-template>\n </div>\n</div>\n<div class=\"gantt-container\">\n <gantt-calendar-overlay></gantt-calendar-overlay>\n <gantt-drag-backdrop></gantt-drag-backdrop>\n <div class=\"gantt-main\">\n <ng-template [ngTemplateOutlet]=\"mainTemplate\"></ng-template>\n </div>\n</div>\n<gantt-toolbar *ngIf=\"ganttUpper.showToolbar || ganttUpper.toolbarTemplate\" [template]=\"ganttUpper.toolbarTemplate\"> </gantt-toolbar>\n", dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.GanttCalendarComponent, selector: "gantt-calendar-overlay" }, { kind: "component", type: i6.GanttDragBackdropComponent, selector: "gantt-drag-backdrop" }, { kind: "component", type: i7.NgxGanttToolbarComponent, selector: "ngx-gantt-toolbar,gantt-toolbar", inputs: ["template"] }] });
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttRootComponent, decorators: [{
|
|
121
121
|
type: Component,
|
|
122
122
|
args: [{ selector: 'ngx-gantt-root', providers: [GanttDomService, GanttDragContainer], host: {
|
|
123
123
|
class: 'gantt'
|
|
@@ -139,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
|
|
|
139
139
|
type: ViewChild,
|
|
140
140
|
args: [GanttDragBackdropComponent, { static: true, read: ElementRef }]
|
|
141
141
|
}] } });
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvcm9vdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvcm9vdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULFVBQVUsRUFDVixNQUFNLEVBQ04sWUFBWSxFQUVaLEtBQUssRUFDTCxRQUFRLEVBRVIsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFjLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7QUFVekMsTUFBTSxPQUFPLHFCQUFxQjtJQWdCOUIsWUFDWSxVQUFtQyxFQUNuQyxNQUFjLEVBQ2QsR0FBb0IsRUFDckIsYUFBaUMsRUFDTixVQUFzQixFQUNwQyxZQUErQjtRQUwzQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsUUFBRyxHQUFILEdBQUcsQ0FBaUI7UUFDckIsa0JBQWEsR0FBYixhQUFhLENBQW9CO1FBQ04sZUFBVSxH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LEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVFLFlBQVk7c0JBQTNELFlBQVk7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHNkIsUUFBUTtzQkFBbEYsU0FBUzt1QkFBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uSW5pdCxcbiAgICBOZ1pvbmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgQ29udGVudENoaWxkLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIE9uRGVzdHJveSxcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHYW50dERvbVNlcnZpY2UsIFNjcm9sbERpcmVjdGlvbiB9IGZyb20gJy4vZ2FudHQtZG9tLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2FudHREcmFnQ29udGFpbmVyIH0gZnJvbSAnLi9nYW50dC1kcmFnLWNvbnRhaW5lcic7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGZyb20sIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEdhbnR0VXBwZXIsIEdBTlRUX1VQUEVSX1RPS0VOIH0gZnJvbSAnLi9nYW50dC11cHBlcic7XG5pbXBvcnQgeyBHYW50dFByaW50U2VydmljZSB9IGZyb20gJy4vZ2FudHQtcHJpbnQuc2VydmljZSc7XG5pbXBvcnQgeyBwYXNzaXZlTGlzdGVuZXJPcHRpb25zIH0gZnJvbSAnLi91dGlscy9wYXNzaXZlLWxpc3RlbmVycyc7XG5pbXBvcnQgeyBHYW50dERyYWdCYWNrZHJvcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9kcmFnLWJhY2tkcm9wL2RyYWctYmFja2Ryb3AuY29tcG9uZW50JztcbmltcG9ydCB7IEdhbnR0RGF0ZSB9IGZyb20gJy4vdXRpbHMvZGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LWdhbnR0LXJvb3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yb290LmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtHYW50dERvbVNlcnZpY2UsIEdhbnR0RHJhZ0NvbnRhaW5lcl0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2dhbnR0J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgTmd4R2FudHRSb290Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIHNpZGVXaWR0aDogbnVtYmVyO1xuXG4gICAgQENvbnRlbnRDaGlsZCgnc2lkZVRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgc2lkZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQENvbnRlbnRDaGlsZCgnbWFpblRlbXBsYXRlJywgeyBzdGF0aWM6IHRydWUgfSkgbWFpblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqIFRoZSBuYXRpdmUgYDxnYW50dC1kcmFnLWJhY2tkcm9wPjwvZ2FudHQtZHJhZy1iYWNrZHJvcD5gIGVsZW1lbnQuICovXG4gICAgQFZpZXdDaGlsZChHYW50dERyYWdCYWNrZHJvcENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IEVsZW1lbnRSZWYgfSkgYmFja2Ryb3A6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSBnZXQgdmlldygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2FudHRVcHBlci52aWV3O1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIGRvbTogR2FudHREb21TZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgZHJhZ0NvbnRhaW5lcjogR2FudHREcmFnQ29udGFpbmVyLFxuICAgICAgICBASW5qZWN0KEdBTlRUX1VQUEVSX1RPS0VOKSBwdWJsaWMgZ2FudHRVcHBlcjogR2FudHRVcHBlcixcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBwcmludFNlcnZpY2U6IEdhbnR0UHJpbnRTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuZ2FudHRVcHBlci5kcmFnQ29udGFpbmVyID0gZHJhZ0NvbnRhaW5lcjtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgLy8gTm90ZTogdGhlIHpvbmUgbWF5IGJlIG5vb3BlZCB0aHJvdWdoIGBCb290c3RyYXBPcHRpb25zYCB3aGVuIGJvb3RzdHJhcHBpbmcgdGhlIHJvb3QgbW9kdWxlLiBUaGlzIG1lYW5zXG4gICAgICAgIC8vIHRoZSBgb25TdGFibGVgIHdpbGwgbmV2ZXIgZW1pdCBhbnkgdmFsdWUuXG4gICAgICAgIGNvbnN0IG9uU3RhYmxlJCA9IHRoaXMubmdab25lLmlzU3RhYmxlID8gZnJvbShQcm9taXNlLnJlc29sdmUoKSkgOiB0aGlzLm5nWm9uZS5vblN0YWJsZS5waXBlKHRha2UoMSkpO1xuICAgICAgICAvLyBOb3JtYWxseSB0aGlzIGlzbid0IGluIHRoZSB6b25lLCBidXQgaXQgY2FuIGNhdXNlIHBlcmZvcm1hbmNlIHJlZ3Jlc3Npb25zIGZvciBhcHBzXG4gICAgICAgIC8vIHVzaW5nIGB6b25lLXBhdGNoLXJ4anNgIGJlY2F1c2UgaXQnbGwgdHJpZ2dlciBhIGNoYW5nZSBkZXRlY3Rpb24gd2hlbiBpdCB1bnN1YnNjcmliZXMuXG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIG9uU3RhYmxlJC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb20uaW5pdGlhbGl6ZSh0aGlzLmVsZW1lbnRSZWYpO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnByaW50U2VydmljZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnByaW50U2VydmljZS5yZWdpc3Rlcih0aGlzLmVsZW1lbnRSZWYpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnNldHVwU2Nyb2xsQ2xhc3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldHVwUmVzaXplKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXR1cFZpZXdTY3JvbGwoKTtcbiAgICAgICAgICAgICAgICAvLyDkvJjljJbliJ3lp4vljJbml7ZTY3JvbGzmu5rliqjkvZPpqozpl67popjvvIzpgJrov4fpgI/mmI7luqbop6PlhrPvvIzpu5jorqTpgI/mmI7luqbkuLow77yM5rua5Yqo57uT5p2f5ZCO5oGi5aSNXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUub3BhY2l0eSA9ICcxJztcbiAgICAgICAgICAgICAgICB0aGlzLmdhbnR0VXBwZXIudmlld0NoYW5nZS5waXBlKHN0YXJ0V2l0aDxudWxsLCBudWxsPihudWxsKSwgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxUb1RvZGF5KCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmUkLm5leHQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwVmlld1Njcm9sbCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZ2FudHRVcHBlci5kaXNhYmxlZExvYWRPblNjcm9sbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZG9tXG4gICAgICAgICAgICAuZ2V0Vmlld2VyU2Nyb2xsKHBhc3NpdmVMaXN0ZW5lck9wdGlvbnMpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQuZGlyZWN0aW9uID09PSBTY3JvbGxEaXJlY3Rpb24uTEVGVCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRlcyA9IHRoaXMudmlldy5hZGRTdGFydERhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudC50YXJnZXQuc2Nyb2xsTGVmdCArPSB0aGlzLnZpZXcuZ2V0RGF0ZVJhbmdlV2lkdGgoZGF0ZXMuc3RhcnQsIGRhdGVzLmVuZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5nYW50dFVwcGVyLmxvYWRPblNjcm9sbC5vYnNlcnZlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nYW50dFVwcGVyLmxvYWRPblNjcm9sbC5lbWl0KHsgc3RhcnQ6IGRhdGVzLnN0YXJ0LmdldFVuaXhUaW1lKCksIGVuZDogZGF0ZXMuZW5kLmdldFVuaXhUaW1lKCkgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChldmVudC5kaXJlY3Rpb24gPT09IFNjcm9sbERpcmVjdGlvbi5SSUdIVCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRlcyA9IHRoaXMudmlldy5hZGRFbmREYXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkYXRlcyAmJiB0aGlzLmdhbnR0VXBwZXIubG9hZE9uU2Nyb2xsLm9ic2VydmVycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nYW50dFVwcGVyLmxvYWRPblNjcm9sbC5lbWl0KHsgc3RhcnQ6IGRhdGVzLnN0YXJ0LmdldFVuaXhUaW1lKCksIGVuZDogZGF0ZXMuZW5kLmdldFVuaXhUaW1lKCkgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwUmVzaXplKCkge1xuICAgICAgICB0aGlzLmRvbVxuICAgICAgICAgICAgLmdldFJlc2l6ZSgpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXR1cFNjcm9sbENsYXNzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwU2Nyb2xsQ2xhc3MoKSB7XG4gICAgICAgIGNvbnN0IG1haW5Db250YWluZXIgPSB0aGlzLmRvbS5tYWluQ29udGFpbmVyIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBjb25zdCBoZWlnaHQgPSBtYWluQ29udGFpbmVyLm9mZnNldEhlaWdodDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsSGVpZ2h0ID0gbWFpbkNvbnRhaW5lci5zY3JvbGxIZWlnaHQ7XG4gICAgICAgIGlmIChzY3JvbGxIZWlnaHQgPiBoZWlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTmFtZSA9ICdnYW50dCBnYW50dC1zY3JvbGwnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NOYW1lID0gJ2dhbnR0JztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzY3JvbGxUb1RvZGF5KCkge1xuICAgICAgICBjb25zdCB4ID0gdGhpcy52aWV3LmdldFRvZGF5WFBvaW50KCk7XG4gICAgICAgIHRoaXMuZG9tLnNjcm9sbE1haW5Db250YWluZXIoeCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNjcm9sbFRvRGF0ZShkYXRlOiBudW1iZXIgfCBHYW50dERhdGUpIHtcbiAgICAgICAgbGV0IHg6IG51bWJlcjtcbiAgICAgICAgaWYgKHR5cGVvZiBkYXRlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgeCA9IHRoaXMudmlldy5nZXRYUG9pbnRCeURhdGUobmV3IEdhbnR0RGF0ZShkYXRlKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB4ID0gdGhpcy52aWV3LmdldFhQb2ludEJ5RGF0ZShkYXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZG9tLnNjcm9sbE1haW5Db250YWluZXIoeCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdhbnR0LXNpZGVcIiBbc3R5bGUud2lkdGgucHhdPVwic2lkZVdpZHRoXCI+XG4gIDxkaXYgY2xhc3M9XCJnYW50dC1zaWRlLWNvbnRhaW5lclwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJzaWRlVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImdhbnR0LWNvbnRhaW5lclwiPlxuICA8Z2FudHQtY2FsZW5kYXItb3ZlcmxheT48L2dhbnR0LWNhbGVuZGFyLW92ZXJsYXk+XG4gIDxnYW50dC1kcmFnLWJhY2tkcm9wPjwvZ2FudHQtZHJhZy1iYWNrZHJvcD5cbiAgPGRpdiBjbGFzcz1cImdhbnR0LW1haW5cIj5cbiAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibWFpblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9kaXY+XG48L2Rpdj5cbjxnYW50dC10b29sYmFyICpuZ0lmPVwiZ2FudHRVcHBlci5zaG93VG9vbGJhciB8fCBnYW50dFVwcGVyLnRvb2xiYXJUZW1wbGF0ZVwiIFt0ZW1wbGF0ZV09XCJnYW50dFVwcGVyLnRvb2xiYXJUZW1wbGF0ZVwiPiA8L2dhbnR0LXRvb2xiYXI+XG4iXX0=
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvcm9vdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9wYWNrYWdlcy9nYW50dC9zcmMvcm9vdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUdULFVBQVUsRUFDVixNQUFNLEVBQ04sWUFBWSxFQUVaLEtBQUssRUFDTCxRQUFRLEVBRVIsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckMsT0FBTyxFQUFjLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7Ozs7QUFVekMsTUFBTSxPQUFPLHFCQUFxQjtJQVk5QixJQUFZLElBQUk7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUNZLFVBQW1DLEVBQ25DLE1BQWMsRUFDZCxHQUFvQixFQUNyQixhQUFpQyxFQUNOLFVBQXNCLEVBQ3BDLFlBQStCO1FBTDNDLGVBQVUsR0FBVixVQUFVLENBQXlCO1FBQ25DLFdBQU0sR0FBTixNQUFNLENBQVE7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RUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRUUsWUFBWTtzQkFBM0QsWUFBWTt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUc2QixRQUFRO3NCQUFsRixTQUFTO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgT25Jbml0LFxuICAgIE5nWm9uZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgT25EZXN0cm95LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdhbnR0RG9tU2VydmljZSwgU2Nyb2xsRGlyZWN0aW9uIH0gZnJvbSAnLi9nYW50dC1kb20uc2VydmljZSc7XG5pbXBvcnQgeyBHYW50dERyYWdDb250YWluZXIgfSBmcm9tICcuL2dhbnR0LWRyYWctY29udGFpbmVyJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgZnJvbSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR2FudHRVcHBlciwgR0FOVFRfVVBQRVJfVE9LRU4gfSBmcm9tICcuL2dhbnR0LXVwcGVyJztcbmltcG9ydCB7IEdhbnR0UHJpbnRTZXJ2aWNlIH0gZnJvbSAnLi9nYW50dC1wcmludC5zZXJ2aWNlJztcbmltcG9ydCB7IHBhc3NpdmVMaXN0ZW5lck9wdGlvbnMgfSBmcm9tICcuL3V0aWxzL3Bhc3NpdmUtbGlzdGVuZXJzJztcbmltcG9ydCB7IEdhbnR0RHJhZ0JhY2tkcm9wQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2RyYWctYmFja2Ryb3AvZHJhZy1iYWNrZHJvcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgR2FudHREYXRlIH0gZnJvbSAnLi91dGlscy9kYXRlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtZ2FudHQtcm9vdCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Jvb3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW0dhbnR0RG9tU2VydmljZSwgR2FudHREcmFnQ29udGFpbmVyXSxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAnZ2FudHQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBOZ3hHYW50dFJvb3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgc2lkZVdpZHRoOiBudW1iZXI7XG5cbiAgICBAQ29udGVudENoaWxkKCdzaWRlVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBzaWRlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAQ29udGVudENoaWxkKCdtYWluVGVtcGxhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBtYWluVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKiogVGhlIG5hdGl2ZSBgPGdhbnR0LWRyYWctYmFja2Ryb3A+PC9nYW50dC1kcmFnLWJhY2tkcm9wPmAgZWxlbWVudC4gKi9cbiAgICBAVmlld0NoaWxkKEdhbnR0RHJhZ0JhY2tkcm9wQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogRWxlbWVudFJlZiB9KSBiYWNrZHJvcDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIGdldCB2aWV3KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nYW50dFVwcGVyLnZpZXc7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgICAgIHByaXZhdGUgZG9tOiBHYW50dERvbVNlcnZpY2UsXG4gICAgICAgIHB1YmxpYyBkcmFnQ29udGFpbmVyOiBHYW50dERyYWdDb250YWluZXIsXG4gICAgICAgIEBJbmplY3QoR0FOVFRfVVBQRVJfVE9LRU4pIHB1YmxpYyBnYW50dFVwcGVyOiBHYW50dFVwcGVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHByaW50U2VydmljZTogR2FudHRQcmludFNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5nYW50dFVwcGVyLmRyYWdDb250YWluZXIgPSBkcmFnQ29udGFpbmVyO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICAvLyBOb3RlOiB0aGUgem9uZSBtYXkgYmUgbm9vcGVkIHRocm91Z2ggYEJvb3RzdHJhcE9wdGlvbnNgIHdoZW4gYm9vdHN0cmFwcGluZyB0aGUgcm9vdCBtb2R1bGUuIFRoaXMgbWVhbnNcbiAgICAgICAgLy8gdGhlIGBvblN0YWJsZWAgd2lsbCBuZXZlciBlbWl0IGFueSB2YWx1ZS5cbiAgICAgICAgY29uc3Qgb25TdGFibGUkID0gdGhpcy5uZ1pvbmUuaXNTdGFibGUgPyBmcm9tKFByb21pc2UucmVzb2x2ZSgpKSA6IHRoaXMubmdab25lLm9uU3RhYmxlLnBpcGUodGFrZSgxKSk7XG4gICAgICAgIC8vIE5vcm1hbGx5IHRoaXMgaXNuJ3QgaW4gdGhlIHpvbmUsIGJ1dCBpdCBjYW4gY2F1c2UgcGVyZm9ybWFuY2UgcmVncmVzc2lvbnMgZm9yIGFwcHNcbiAgICAgICAgLy8gdXNpbmcgYHpvbmUtcGF0Y2gtcnhqc2AgYmVjYXVzZSBpdCdsbCB0cmlnZ2VyIGEgY2hhbmdlIGRldGVjdGlvbiB3aGVuIGl0IHVuc3Vic2NyaWJlcy5cbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgb25TdGFibGUkLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmUkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmRvbS5pbml0aWFsaXplKHRoaXMuZWxlbWVudFJlZik7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMucHJpbnRTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJpbnRTZXJ2aWNlLnJlZ2lzdGVyKHRoaXMuZWxlbWVudFJlZik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBTY3JvbGxDbGFzcygpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBSZXNpemUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldHVwVmlld1Njcm9sbCgpO1xuICAgICAgICAgICAgICAgIC8vIOS8mOWMluWIneWni+WMluaXtlNjcm9sbOa7muWKqOS9k+mqjOmXrumimO+8jOmAmui/h+mAj+aYjuW6puino+WGs++8jOm7mOiupOmAj+aYjuW6puS4ujDvvIzmu5rliqjnu5PmnZ/lkI7mgaLlpI1cbiAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5vcGFjaXR5ID0gJzEnO1xuICAgICAgICAgICAgICAgIHRoaXMuZ2FudHRVcHBlci52aWV3Q2hhbmdlLnBpcGUoc3RhcnRXaXRoPG51bGwsIG51bGw+KG51bGwpLCB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFRvVG9kYXkoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBWaWV3U2Nyb2xsKCkge1xuICAgICAgICBpZiAodGhpcy5nYW50dFVwcGVyLmRpc2FibGVkTG9hZE9uU2Nyb2xsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kb21cbiAgICAgICAgICAgIC5nZXRWaWV3ZXJTY3JvbGwocGFzc2l2ZUxpc3RlbmVyT3B0aW9ucylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChldmVudC5kaXJlY3Rpb24gPT09IFNjcm9sbERpcmVjdGlvbi5MRUZUKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVzID0gdGhpcy52aWV3LmFkZFN0YXJ0RGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZGF0ZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC5zY3JvbGxMZWZ0ICs9IHRoaXMudmlldy5nZXREYXRlUmFuZ2VXaWR0aChkYXRlcy5zdGFydCwgZGF0ZXMuZW5kKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmdhbnR0VXBwZXIubG9hZE9uU2Nyb2xsLm9ic2VydmVycykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdhbnR0VXBwZXIubG9hZE9uU2Nyb2xsLmVtaXQoeyBzdGFydDogZGF0ZXMuc3RhcnQuZ2V0VW5peFRpbWUoKSwgZW5kOiBkYXRlcy5lbmQuZ2V0VW5peFRpbWUoKSB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRpcmVjdGlvbiA9PT0gU2Nyb2xsRGlyZWN0aW9uLlJJR0hUKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVzID0gdGhpcy52aWV3LmFkZEVuZERhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRhdGVzICYmIHRoaXMuZ2FudHRVcHBlci5sb2FkT25TY3JvbGwub2JzZXJ2ZXJzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmdhbnR0VXBwZXIubG9hZE9uU2Nyb2xsLmVtaXQoeyBzdGFydDogZGF0ZXMuc3RhcnQuZ2V0VW5peFRpbWUoKSwgZW5kOiBkYXRlcy5lbmQuZ2V0VW5peFRpbWUoKSB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBSZXNpemUoKSB7XG4gICAgICAgIHRoaXMuZG9tXG4gICAgICAgICAgICAuZ2V0UmVzaXplKClcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlJCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldHVwU2Nyb2xsQ2xhc3MoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBTY3JvbGxDbGFzcygpIHtcbiAgICAgICAgY29uc3QgbWFpbkNvbnRhaW5lciA9IHRoaXMuZG9tLm1haW5Db250YWluZXIgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGhlaWdodCA9IG1haW5Db250YWluZXIub2Zmc2V0SGVpZ2h0O1xuICAgICAgICBjb25zdCBzY3JvbGxIZWlnaHQgPSBtYWluQ29udGFpbmVyLnNjcm9sbEhlaWdodDtcbiAgICAgICAgaWYgKHNjcm9sbEhlaWdodCA+IGhlaWdodCkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NOYW1lID0gJ2dhbnR0IGdhbnR0LXNjcm9sbCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc05hbWUgPSAnZ2FudHQnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHNjcm9sbFRvVG9kYXkoKSB7XG4gICAgICAgIGNvbnN0IHggPSB0aGlzLnZpZXcuZ2V0VG9kYXlYUG9pbnQoKTtcbiAgICAgICAgdGhpcy5kb20uc2Nyb2xsTWFpbkNvbnRhaW5lcih4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2Nyb2xsVG9EYXRlKGRhdGU6IG51bWJlciB8IEdhbnR0RGF0ZSkge1xuICAgICAgICBsZXQgeDogbnVtYmVyO1xuICAgICAgICBpZiAodHlwZW9mIGRhdGUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICB4ID0gdGhpcy52aWV3LmdldFhQb2ludEJ5RGF0ZShuZXcgR2FudHREYXRlKGRhdGUpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHggPSB0aGlzLnZpZXcuZ2V0WFBvaW50QnlEYXRlKGRhdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kb20uc2Nyb2xsTWFpbkNvbnRhaW5lcih4KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ2FudHQtc2lkZVwiIFtzdHlsZS53aWR0aC5weF09XCJzaWRlV2lkdGhcIj5cbiAgPGRpdiBjbGFzcz1cImdhbnR0LXNpZGUtY29udGFpbmVyXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNpZGVUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZ2FudHQtY29udGFpbmVyXCI+XG4gIDxnYW50dC1jYWxlbmRhci1vdmVybGF5PjwvZ2FudHQtY2FsZW5kYXItb3ZlcmxheT5cbiAgPGdhbnR0LWRyYWctYmFja2Ryb3A+PC9nYW50dC1kcmFnLWJhY2tkcm9wPlxuICA8ZGl2IGNsYXNzPVwiZ2FudHQtbWFpblwiPlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJtYWluVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGdhbnR0LXRvb2xiYXIgKm5nSWY9XCJnYW50dFVwcGVyLnNob3dUb29sYmFyIHx8IGdhbnR0VXBwZXIudG9vbGJhclRlbXBsYXRlXCIgW3RlbXBsYXRlXT1cImdhbnR0VXBwZXIudG9vbGJhclRlbXBsYXRlXCI+IDwvZ2FudHQtdG9vbGJhcj5cbiJdfQ==
|
|
@@ -4,16 +4,16 @@ import { GANTT_UPPER_TOKEN } from '../gantt-upper';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "../gantt-upper";
|
|
6
6
|
export class NgxGanttTableColumnComponent {
|
|
7
|
-
constructor(ganttUpper) {
|
|
8
|
-
this.ganttUpper = ganttUpper;
|
|
9
|
-
}
|
|
10
7
|
set width(width) {
|
|
11
8
|
this.columnWidth = coerceCssPixelValue(width);
|
|
12
9
|
}
|
|
10
|
+
constructor(ganttUpper) {
|
|
11
|
+
this.ganttUpper = ganttUpper;
|
|
12
|
+
}
|
|
13
13
|
}
|
|
14
|
-
NgxGanttTableColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
15
|
-
NgxGanttTableColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
16
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
14
|
+
NgxGanttTableColumnComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttTableColumnComponent, deps: [{ token: GANTT_UPPER_TOKEN }], target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
+
NgxGanttTableColumnComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: NgxGanttTableColumnComponent, selector: "ngx-gantt-column", inputs: { width: "width", name: "name" }, queries: [{ propertyName: "templateRef", first: true, predicate: ["cell"], descendants: true, static: true }, { propertyName: "headerTemplateRef", first: true, predicate: ["header"], descendants: true, static: true }], ngImport: i0, template: '', isInline: true });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttTableColumnComponent, decorators: [{
|
|
17
17
|
type: Component,
|
|
18
18
|
args: [{
|
|
19
19
|
selector: 'ngx-gantt-column',
|
|
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
|
|
|
33
33
|
type: ContentChild,
|
|
34
34
|
args: ['header', { static: true }]
|
|
35
35
|
}] } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy90YWJsZS9nYW50dC1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFlLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFjLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUsvRCxNQUFNLE9BQU8sNEJBQTRCO0lBR3JDLElBQ0ksS0FBSyxDQUFDLEtBQXNCO1FBQzVCLElBQUksQ0FBQyxXQUFXLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQVFELFlBQThDLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7SUFBRyxDQUFDOzt5SEFkL0QsNEJBQTRCLGtCQWNqQixpQkFBaUI7NkdBZDVCLDRCQUE0Qiw2VEFGM0IsRUFBRTsyRkFFSCw0QkFBNEI7a0JBSnhDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLEVBQUU7aUJBQ2Y7OzBCQWVnQixNQUFNOzJCQUFDLGlCQUFpQjs0Q0FWakMsS0FBSztzQkFEUixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFFa0MsV0FBVztzQkFBbEQsWUFBWTt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVJLGlCQUFpQjtzQkFBMUQsWUFBWTt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmLCBJbnB1dCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VDc3NQaXhlbFZhbHVlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IEdhbnR0VXBwZXIsIEdBTlRUX1VQUEVSX1RPS0VOIH0gZnJvbSAnLi4vZ2FudHQtdXBwZXInO1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICduZ3gtZ2FudHQtY29sdW1uJyxcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgY2xhc3MgTmd4R2FudHRUYWJsZUNvbHVtbkNvbXBvbmVudCB7XG4gICAgcHVibGljIGNvbHVtbldpZHRoOiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCB3aWR0aCh3aWR0aDogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuY29sdW1uV2lkdGggPSBjb2VyY2VDc3NQaXhlbFZhbHVlKHdpZHRoKTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBuYW1lOiBzdHJpbmc7XG5cbiAgICBAQ29udGVudENoaWxkKCdjZWxsJywgeyBzdGF0aWM6IHRydWUgfSkgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAQ29udGVudENoaWxkKCdoZWFkZXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBoZWFkZXJUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoR0FOVFRfVVBQRVJfVE9LRU4pIHB1YmxpYyBnYW50dFVwcGVyOiBHYW50dFVwcGVyKSB7fVxufVxuIl19
|
|
@@ -5,9 +5,9 @@ export class NgxGanttTableComponent {
|
|
|
5
5
|
this.columnChanges = new EventEmitter();
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
-
NgxGanttTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
9
|
-
NgxGanttTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
8
|
+
NgxGanttTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
NgxGanttTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.4", type: NgxGanttTableComponent, selector: "ngx-gantt-table", outputs: { columnChanges: "columnChanges" }, queries: [{ propertyName: "rowBeforeTemplate", first: true, predicate: ["rowBeforeSlot"], descendants: true, static: true }, { propertyName: "rowAfterTemplate", first: true, predicate: ["rowAfterSlot"], descendants: true, static: true }], ngImport: i0, template: '', isInline: true });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.4", ngImport: i0, type: NgxGanttTableComponent, decorators: [{
|
|
11
11
|
type: Component,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: 'ngx-gantt-table',
|
|
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
|
|
|
22
22
|
type: ContentChild,
|
|
23
23
|
args: ['rowAfterSlot', { static: true }]
|
|
24
24
|
}] } });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2FudHQtdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvZ2FudHQvc3JjL3RhYmxlL2dhbnR0LXRhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFlLE1BQU0sZUFBZSxDQUFDOztBQU8zRixNQUFNLE9BQU8sc0JBQXNCO0lBSm5DO1FBS2Msa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBbUIsQ0FBQztLQUtqRTs7bUhBTlksc0JBQXNCO3VHQUF0QixzQkFBc0IsbVZBRnJCLEVBQUU7MkZBRUgsc0JBQXNCO2tCQUpsQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSxFQUFFO2lCQUNmOzhCQUVhLGFBQWE7c0JBQXRCLE1BQU07Z0JBRTBDLGlCQUFpQjtzQkFBakUsWUFBWTt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVDLGdCQUFnQjtzQkFBL0QsWUFBWTt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR2FudHRUYWJsZUV2ZW50IH0gZnJvbSAnLi4vY2xhc3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25neC1nYW50dC10YWJsZScsXG4gICAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIE5neEdhbnR0VGFibGVDb21wb25lbnQge1xuICAgIEBPdXRwdXQoKSBjb2x1bW5DaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxHYW50dFRhYmxlRXZlbnQ+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKCdyb3dCZWZvcmVTbG90JywgeyBzdGF0aWM6IHRydWUgfSkgcm93QmVmb3JlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBAQ29udGVudENoaWxkKCdyb3dBZnRlclNsb3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSByb3dBZnRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuIl19
|
package/esm2020/views/view.mjs
CHANGED
|
@@ -9,6 +9,12 @@ const viewOptions = {
|
|
|
9
9
|
dateFormat: defaultConfig.dateFormat
|
|
10
10
|
};
|
|
11
11
|
export class GanttView {
|
|
12
|
+
get start() {
|
|
13
|
+
return this.start$.getValue();
|
|
14
|
+
}
|
|
15
|
+
get end() {
|
|
16
|
+
return this.end$.getValue();
|
|
17
|
+
}
|
|
12
18
|
constructor(start, end, options) {
|
|
13
19
|
this.showTimeline = true;
|
|
14
20
|
this.options = Object.assign({}, viewOptions, options);
|
|
@@ -22,12 +28,6 @@ export class GanttView {
|
|
|
22
28
|
this.end$ = new BehaviorSubject(endDate);
|
|
23
29
|
this.initialize();
|
|
24
30
|
}
|
|
25
|
-
get start() {
|
|
26
|
-
return this.start$.getValue();
|
|
27
|
-
}
|
|
28
|
-
get end() {
|
|
29
|
-
return this.end$.getValue();
|
|
30
|
-
}
|
|
31
31
|
getDateIntervalWidth(start, end) {
|
|
32
32
|
let result = 0;
|
|
33
33
|
const days = differenceInDays(end.value, start.value);
|
|
@@ -120,4 +120,4 @@ export class GanttView {
|
|
|
120
120
|
return this.getDateIntervalWidth(start, end.addSeconds(1));
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBbUIsTUFBTSxpQkFBaUIsQ0FBQztBQUdqRSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxFQUFFLENBQUM7QUFFdEMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsRUFBRSxDQUFDO0FBc0J4QyxNQUFNLFdBQVcsR0FBcUI7SUFDbEMsR0FBRyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO0lBQy9DLEdBQUcsRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUU7SUFDNUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxVQUFVO0NBQ3ZDLENBQUM7QUFFRixNQUFNLE9BQWdCLFNBQVM7SUErQjNCLFlBQVksS0FBb0IsRUFBRSxHQUFrQixFQUFFLE9BQXlCO1FBTi9FLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBT2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRO1lBQzVCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDMUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFD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LENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQ2hILE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDN0QsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ2xDLE9BQU8sU0FBUyxFQUFFLEtBQUssQ0FBQztTQUMzQjthQUFNO1lBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDakUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsUUFBUSxLQUFLLENBQUMsRUFBRTtnQkFDdEMsT0FBTyxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUN4QztZQUNELE9BQU8sU0FBUyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLGlCQUFpQixDQUFDLEtBQWdCLEVBQUUsR0FBYztRQUM5Qyw4REFBOEQ7UUFDOUQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBHYW50dERhdGUsIGRpZmZlcmVuY2VJbkRheXMsIEdhbnR0RGF0ZVV0aWwgfSBmcm9tICcuLi91dGlscy9kYXRlJztcbmltcG9ydCB7IEdhbnR0RGF0ZVBvaW50IH0gZnJvbSAnLi4vY2xhc3MvZGF0ZS1wb2ludCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlZmF1bHRDb25maWcsIEdhbnR0RGF0ZUZvcm1hdCB9IGZyb20gJy4uL2dhbnR0LmNvbmZpZyc7XG5pbXBvcnQgeyBHYW50dFZpZXdUeXBlIH0gZnJvbSAnLi4vY2xhc3MnO1xuXG5leHBvcnQgY29uc3QgcHJpbWFyeURhdGVQb2ludFRvcCA9IDE4O1xuXG5leHBvcnQgY29uc3Qgc2Vjb25kYXJ5RGF0ZVBvaW50VG9wID0gMzY7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2FudHRWaWV3RGF0ZSB7XG4gICAgZGF0ZTogR2FudHREYXRlO1xuICAgIGlzQ3VzdG9tPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHYW50dFZpZXdPcHRpb25zIHtcbiAgICBzdGFydD86IEdhbnR0RGF0ZTtcbiAgICBlbmQ/OiBHYW50dERhdGU7XG4gICAgbWluPzogR2FudHREYXRlO1xuICAgIG1heD86IEdhbnR0RGF0ZTtcbiAgICBjZWxsV2lkdGg/OiBudW1iZXI7XG4gICAgYWRkQW1vdW50PzogbnVtYmVyO1xuICAgIGFkZFVuaXQ/OiBHYW50dERhdGVVdGlsO1xuICAgIGRhdGVGb3JtYXQ/OiBHYW50dERhdGVGb3JtYXQ7XG4gICAgLy8gZmlsbCBkYXlzIHdoZW4gc3RhcnQgb3IgZW5kIGlzIG51bGxcbiAgICBmaWxsRGF5cz86IG51bWJlcjtcbiAgICAvLyBjdXN0b20ga2V5IGFuZCB2YWx1ZVxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuY29uc3Qgdmlld09wdGlvbnM6IEdhbnR0Vmlld09wdGlvbnMgPSB7XG4gICAgbWluOiBuZXcgR2FudHREYXRlKCkuYWRkWWVhcnMoLTEpLnN0YXJ0T2ZZZWFyKCksXG4gICAgbWF4OiBuZXcgR2FudHREYXRlKCkuYWRkWWVhcnMoMSkuZW5kT2ZZZWFyKCksXG4gICAgZGF0ZUZvcm1hdDogZGVmYXVsdENvbmZpZy5kYXRlRm9ybWF0XG59O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR2FudHRWaWV3IHtcbiAgICB2aWV3VHlwZTogR2FudHRWaWV3VHlwZTtcblxuICAgIHN0YXJ0JDogQmVoYXZpb3JTdWJqZWN0PEdhbnR0RGF0ZT47XG5cbiAgICBlbmQkOiBCZWhhdmlvclN1YmplY3Q8R2FudHREYXRlPjtcblxuICAgIGdldCBzdGFydCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnQkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGVuZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW5kJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHByaW1hcnlEYXRlUG9pbnRzOiBHYW50dERhdGVQb2ludFtdO1xuXG4gICAgc2Vjb25kYXJ5RGF0ZVBvaW50czogR2FudHREYXRlUG9pbnRbXTtcblxuICAgIHdpZHRoOiBudW1iZXI7XG5cbiAgICBjZWxsV2lkdGg6IG51bWJlcjtcblxuICAgIHByaW1hcnlXaWR0aDogbnVtYmVyO1xuXG4gICAgc2hvd1RpbWVsaW5lID0gdHJ1ZTtcblxuICAgIHNob3dXZWVrQmFja2Ryb3A6IGJvb2xlYW47XG5cbiAgICBvcHRpb25zOiBHYW50dFZpZXdPcHRpb25zO1xuXG4gICAgY29uc3RydWN0b3Ioc3RhcnQ6IEdhbnR0Vmlld0RhdGUsIGVuZDogR2FudHRWaWV3RGF0ZSwgb3B0aW9uczogR2FudHRWaWV3T3B0aW9ucykge1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB2aWV3T3B0aW9ucywgb3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHN0YXJ0RGF0ZSA9IHN0YXJ0LmlzQ3VzdG9tXG4gICAgICAgICAgICA/IHRoaXMuc3RhcnRPZihzdGFydC5kYXRlKVxuICAgICAgICAgICAgOiB0aGlzLnN0YXJ0T2Yoc3RhcnQuZGF0ZS52YWx1ZSA8IHRoaXMub3B0aW9ucy5zdGFydC52YWx1ZSA/IHN0YXJ0LmRhdGUgOiB0aGlzLm9wdGlvbnMuc3RhcnQpO1xuICAgICAgICBjb25zdCBlbmREYXRlID0gZW5kLmlzQ3VzdG9tXG4gICAgICAgICAgICA/IHRoaXMuZW5kT2YoZW5kLmRhdGUpXG4gICAgICAgICAgICA6IHRoaXMuZW5kT2YoZW5kLmRhdGUudmFsdWUgPiB0aGlzLm9wdGlvbnMuZW5kLnZhbHVlID8gZW5kLmRhdGUgOiB0aGlzLm9wdGlvbnMuZW5kKTtcbiAgICAgICAgdGhpcy5zdGFydCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEdhbnR0RGF0ZT4oc3RhcnREYXRlKTtcbiAgICAgICAgdGhpcy5lbmQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxHYW50dERhdGU+KGVuZERhdGUpO1xuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICB9XG5cbiAgICBhYnN0cmFjdCBzdGFydE9mKGRhdGU6IEdhbnR0RGF0ZSk6IEdhbnR0RGF0ZTtcblxuICAgIGFic3RyYWN0IGVuZE9mKGRhdGU6IEdhbnR0RGF0ZSk6IEdhbnR0RGF0ZTtcblxuICAgIC8vIOiOt+WPluS4gOe6p+aXtumXtOe9keagvOWQiOW5tuWQjueahOWuveW6plxuICAgIGFic3RyYWN0IGdldFByaW1hcnlXaWR0aCgpOiBudW1iZXI7XG5cbiAgICAvLyDojrflj5blvZPliY3op4blm77kuIvmr4/kuIDlpKnljaDnlKjnmoTlrr3luqZcbiAgICBhYnN0cmFjdCBnZXREYXlPY2N1cGFuY3lXaWR0aChkYXRlOiBHYW50dERhdGUpOiBudW1iZXI7XG5cbiAgICAvLyDojrflj5bkuIDnuqfml7bpl7TngrnvvIjlnZDmoIfvvIzmmL7npLrlkI3np7DvvIlcbiAgICBhYnN0cmFjdCBnZXRQcmltYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdO1xuXG4gICAgLy8g6I635Y+W5LqM57qn5pe26Ze054K577yI5Z2Q5qCH77yM5pi+56S65ZCN56ew77yJXG4gICAgYWJzdHJhY3QgZ2V0U2Vjb25kYXJ5RGF0ZVBvaW50cygpOiBHYW50dERhdGVQb2ludFtdO1xuXG4gICAgcHJvdGVjdGVkIGdldERhdGVJbnRlcnZhbFdpZHRoKHN0YXJ0OiBHYW50dERhdGUsIGVuZDogR2FudHREYXRlKSB7XG4gICAgICAgIGxldCByZXN1bHQgPSAwO1xuICAgICAgICBjb25zdCBkYXlzID0gZGlmZmVyZW5jZUluRGF5cyhlbmQudmFsdWUsIHN0YXJ0LnZhbHVlKTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBNYXRoLmFicyhkYXlzKTsgaSsrKSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gdGhpcy5nZXREYXlPY2N1cGFuY3lXaWR0aChzdGFydC5hZGREYXlzKGkpKTtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQgPSBkYXlzID49IDAgPyByZXN1bHQgOiAtcmVzdWx0O1xuICAgICAgICByZXR1cm4gTnVtYmVyKHJlc3VsdC50b0ZpeGVkKDMpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZSgpIHtcbiAgICAgICAgdGhpcy5wcmltYXJ5RGF0ZVBvaW50cyA9IHRoaXMuZ2V0UHJpbWFyeURhdGVQb2ludHMoKTtcbiAgICAgICAgdGhpcy5zZWNvbmRhcnlEYXRlUG9pbnRzID0gdGhpcy5nZXRTZWNvbmRhcnlEYXRlUG9pbnRzKCk7XG4gICAgICAgIHRoaXMud2lkdGggPSB0aGlzLmdldFdpZHRoKCk7XG4gICAgICAgIHRoaXMuY2VsbFdpZHRoID0gdGhpcy5nZXRDZWxsV2lkdGgoKTtcbiAgICAgICAgdGhpcy5wcmltYXJ5V2lkdGggPSB0aGlzLmdldFByaW1hcnlXaWR0aCgpO1xuICAgIH1cblxuICAgIGFkZFN0YXJ0RGF0ZSgpIHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLnN0YXJ0T2YodGhpcy5zdGFydC5hZGQodGhpcy5vcHRpb25zLmFkZEFtb3VudCAqIC0xLCB0aGlzLm9wdGlvbnMuYWRkVW5pdCkpO1xuICAgICAgICBpZiAoc3RhcnQudmFsdWUgPj0gdGhpcy5vcHRpb25zLm1pbi52YWx1ZSkge1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luID0gdGhpcy5zdGFydDtcbiAgICAgICAgICAgIHRoaXMuc3RhcnQkLm5leHQoc3RhcnQpO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGFydDogdGhpcy5zdGFydCwgZW5kOiBvcmlnaW4gfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBhZGRFbmREYXRlKCkge1xuICAgICAgICBjb25zdCBlbmQgPSB0aGlzLmVuZE9mKHRoaXMuZW5kLmFkZCh0aGlzLm9wdGlvbnMuYWRkQW1vdW50LCB0aGlzLm9wdGlvbnMuYWRkVW5pdCkpO1xuICAgICAgICBpZiAoZW5kLnZhbHVlIDw9IHRoaXMub3B0aW9ucy5tYXgudmFsdWUpIHtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdpbiA9IHRoaXMuZW5kO1xuICAgICAgICAgICAgdGhpcy5lbmQkLm5leHQoZW5kKTtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHsgc3RhcnQ6IG9yaWdpbiwgZW5kOiB0aGlzLmVuZCB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHVwZGF0ZURhdGUoc3RhcnQ6IEdhbnR0RGF0ZSwgZW5kOiBHYW50dERhdGUpIHtcbiAgICAgICAgc3RhcnQgPSB0aGlzLnN0YXJ0T2Yoc3RhcnQpO1xuICAgICAgICBlbmQgPSB0aGlzLmVuZE9mKGVuZCk7XG4gICAgICAgIGlmIChzdGFydC52YWx1ZSA8IHRoaXMuc3RhcnQudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnQkLm5leHQoc3RhcnQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbmQudmFsdWUgPiB0aGlzLmVuZC52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5lbmQkLm5leHQoZW5kKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICB9XG5cbiAgICAvLyDojrflj5ZWaWV355qE5a695bqmXG4gICAgZ2V0V2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldENlbGxXaWR0aCgpICogdGhpcy5zZWNvbmRhcnlEYXRlUG9pbnRzLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvLyDojrflj5bljZXkuKrnvZHmoLznmoTlrr3luqZcbiAgICBnZXRDZWxsV2lkdGgoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuY2VsbFdpZHRoO1xuICAgIH1cblxuICAgIC8vIOiOt+WPluW9k+WJjeaXtumXtOeahFjlnZDmoIdcbiAgICBnZXRUb2RheVhQb2ludCgpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB0b2FkeSA9IG5ldyBHYW50dERhdGUoKS5zdGFydE9mRGF5KCk7XG4gICAgICAgIGlmICh0b2FkeS52YWx1ZSA+IHRoaXMuc3RhcnQudmFsdWUgJiYgdG9hZHkudmFsdWUgPCB0aGlzLmVuZC52YWx1ZSkge1xuICAgICAgICAgICAgY29uc3QgeCA9IHRoaXMuZ2V0WFBvaW50QnlEYXRlKHRvYWR5KSArIHRoaXMuZ2V0RGF5T2NjdXBhbmN5V2lkdGgodG9hZHkpIC8gMjtcbiAgICAgICAgICAgIHJldHVybiB4O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyDojrflj5bmjIflrprml7bpl7TnmoRY5Z2Q5qCHXG4gICAgZ2V0WFBvaW50QnlEYXRlKGRhdGU6IEdhbnR0RGF0ZSkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXREYXRlSW50ZXJ2YWxXaWR0aCh0aGlzLnN0YXJ0LCBkYXRlKTtcbiAgICB9XG5cbiAgICAvLyDmoLnmja5Y5Z2Q5qCH6I635Y+W5a+55bqU5pe26Ze0XG4gICAgZ2V0RGF0ZUJ5WFBvaW50KHg6IG51bWJlcikge1xuICAgICAgICBjb25zdCBpbmRleE9mU2Vjb25kYXJ5RGF0ZSA9IE1hdGgubWF4KE1hdGguZmxvb3IoeCAvIHRoaXMuZ2V0Q2VsbFdpZHRoKCkpLCAwKTtcbiAgICAgICAgY29uc3QgbWF0Y2hEYXRlID0gdGhpcy5zZWNvbmRhcnlEYXRlUG9pbnRzW01hdGgubWluKHRoaXMuc2Vjb25kYXJ5RGF0ZVBvaW50cy5sZW5ndGggLSAxLCBpbmRleE9mU2Vjb25kYXJ5RGF0ZSldO1xuICAgICAgICBjb25zdCBkYXlXaWR0aCA9IHRoaXMuZ2V0RGF5T2NjdXBhbmN5V2lkdGgobWF0Y2hEYXRlPy5zdGFydCk7XG4gICAgICAgIGlmIChkYXlXaWR0aCA9PT0gdGhpcy5nZXRDZWxsV2lkdGgoKSkge1xuICAgICAgICAgICAgcmV0dXJuIG1hdGNoRGF0ZT8uc3RhcnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBkYXkgPSBNYXRoLmZsb29yKCh4ICUgdGhpcy5nZXRDZWxsV2lkdGgoKSkgLyBkYXlXaWR0aCkgKyAxO1xuICAgICAgICAgICAgaWYgKHRoaXMuZ2V0Q2VsbFdpZHRoKCkgLyBkYXlXaWR0aCA9PT0gNykge1xuICAgICAgICAgICAgICAgIHJldHVybiBtYXRjaERhdGU/LnN0YXJ0LmFkZERheXMoZGF5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBtYXRjaERhdGU/LnN0YXJ0LnNldERhdGUoZGF5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIOiOt+WPluaMh+WumuaXtumXtOiMg+WbtOeahOWuveW6plxuICAgIGdldERhdGVSYW5nZVdpZHRoKHN0YXJ0OiBHYW50dERhdGUsIGVuZDogR2FudHREYXRlKSB7XG4gICAgICAgIC8vIGFkZFNlY29uZHMoMSkg5piv5Zug5Li66K6h566X55u45beu5aSp5Lya5Lul5LiA5Liq5pW05aSp5p2l6K6h566XIGVuZOaXtumXtOS4gOiIrOaYrzU55YiGNTnnp5LkuI3mmK/kuIDkuKrmlbTlpKnvvIzmiYDku6XpnIDopoHliqAxXG4gICAgICAgIHJldHVybiB0aGlzLmdldERhdGVJbnRlcnZhbFdpZHRoKHN0YXJ0LCBlbmQuYWRkU2Vjb25kcygxKSk7XG4gICAgfVxufVxuIl19
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2dhbnR0L3NyYy92aWV3cy92aWV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLGFBQWEsRUFBbUIsTUFBTSxpQkFBaUIsQ0FBQztBQUdqRSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxFQUFFLENBQUM7QUFFdEMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsRUFBRSxDQUFDO0FBc0J4QyxNQUFNLFdBQVcsR0FBcUI7SUFDbEMsR0FBRyxFQUFFLElBQUksU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO0lBQy9DLEdBQUcsRUFBRSxJQUFJLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUU7SUFDNUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxVQUFVO0NBQ3ZDLENBQUM7QUFFRixNQUFNLE9BQWdCLFNBQVM7SUFPM0IsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDSCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQWtCRCxZQUFZLEtBQW9CLEVBQUUsR0FBa0IsRUFBRSxPQUF5QjtRQU4vRSxpQkFBWSxHQUFHLElBQUksQ0FBQztRQU9oQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN2RCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsUUFBUTtZQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQzFCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsUUFBUTtZQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1lBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBZSxDQUFZLFNBQVMsQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxlQUFlLENBQVksT0FBTyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFrQlMsb0JBQW9CLENBQUMsS0FBZ0IsRUFBRSxHQUFjO1FBQzNELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNmLE1BQU0sSUFBSSxHQUFHLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3pEO1FBQ0QsTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDdEMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFUyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUNyRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDekQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDL0MsQ0FBQztJQUVELFlBQVk7UUFDUixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM5RixJQUFJLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFO1lBQ3ZDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUM7U0FDN0M7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsVUFBVTtRQUNOLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ25GLElBQUksR0FBRyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUU7WUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDbEIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUMzQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBZ0IsRUFBRSxHQUFjO1FBQ3ZDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtZQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzQjtRQUNELElBQUksR0FBRyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRTtZQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN2QjtRQUNELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtJQUNaLFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxZQUFZO0lBQ1osWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7SUFDbEMsQ0FBQztJQUVELGFBQWE7SUFDYixjQUFjO1FBQ1YsTUFBTSxLQUFLLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzQyxJQUFJLEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRTtZQUNoRSxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDN0UsT0FBTyxDQUFDLENBQUM7U0FDWjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFRCxhQUFhO0lBQ2IsZUFBZSxDQUFDLElBQWU7UUFDM0IsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsY0FBYztJQUNkLGVBQWUsQ0FBQyxDQUFTO1FBQ3JCLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUM7UUFDaEgsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3RCxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDbEMsT0FBTyxTQUFTLEVBQUUsS0FBSyxDQUFDO1NBQzNCO2FBQU07WUFDSCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqRSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxRQUFRLEtBQUssQ0FBQyxFQUFFO2dCQUN0QyxPQUFPLFNBQVMsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3hDO1lBQ0QsT0FBTyxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsaUJBQWlCLENBQUMsS0FBZ0IsRUFBRSxHQUFjO1FBQzlDLDhEQUE4RDtRQUM5RCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdhbnR0RGF0ZSwgZGlmZmVyZW5jZUluRGF5cywgR2FudHREYXRlVXRpbCB9IGZyb20gJy4uL3V0aWxzL2RhdGUnO1xuaW1wb3J0IHsgR2FudHREYXRlUG9pbnQgfSBmcm9tICcuLi9jbGFzcy9kYXRlLXBvaW50JztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVmYXVsdENvbmZpZywgR2FudHREYXRlRm9ybWF0IH0gZnJvbSAnLi4vZ2FudHQuY29uZmlnJztcbmltcG9ydCB7IEdhbnR0Vmlld1R5cGUgfSBmcm9tICcuLi9jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBwcmltYXJ5RGF0ZVBvaW50VG9wID0gMTg7XG5cbmV4cG9ydCBjb25zdCBzZWNvbmRhcnlEYXRlUG9pbnRUb3AgPSAzNjtcblxuZXhwb3J0IGludGVyZmFjZSBHYW50dFZpZXdEYXRlIHtcbiAgICBkYXRlOiBHYW50dERhdGU7XG4gICAgaXNDdXN0b20/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdhbnR0Vmlld09wdGlvbnMge1xuICAgIHN0YXJ0PzogR2FudHREYXRlO1xuICAgIGVuZD86IEdhbnR0RGF0ZTtcbiAgICBtaW4/OiBHYW50dERhdGU7XG4gICAgbWF4PzogR2FudHREYXRlO1xuICAgIGNlbGxXaWR0aD86IG51bWJlcjtcbiAgICBhZGRBbW91bnQ/OiBudW1iZXI7XG4gICAgYWRkVW5pdD86IEdhbnR0RGF0ZVV0aWw7XG4gICAgZGF0ZUZvcm1hdD86IEdhbnR0RGF0ZUZvcm1hdDtcbiAgICAvLyBmaWxsIGRheXMgd2hlbiBzdGFydCBvciBlbmQgaXMgbnVsbFxuICAgIGZpbGxEYXlzPzogbnVtYmVyO1xuICAgIC8vIGN1c3RvbSBrZXkgYW5kIHZhbHVlXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5jb25zdCB2aWV3T3B0aW9uczogR2FudHRWaWV3T3B0aW9ucyA9IHtcbiAgICBtaW46IG5ldyBHYW50dERhdGUoKS5hZGRZZWFycygtMSkuc3RhcnRPZlllYXIoKSxcbiAgICBtYXg6IG5ldyBHYW50dERhdGUoKS5hZGRZZWFycygxKS5lbmRPZlllYXIoKSxcbiAgICBkYXRlRm9ybWF0OiBkZWZhdWx0Q29uZmlnLmRhdGVGb3JtYXRcbn07XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBHYW50dFZpZXcge1xuICAgIHZpZXdUeXBlOiBHYW50dFZpZXdUeXBlO1xuXG4gICAgc3RhcnQkOiBCZWhhdmlvclN1YmplY3Q8R2FudHREYXRlPjtcblxuICAgIGVuZCQ6IEJlaGF2aW9yU3ViamVjdDxHYW50dERhdGU+O1xuXG4gICAgZ2V0IHN0YXJ0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zdGFydCQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBnZXQgZW5kKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbmQkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHJpbWFyeURhdGVQb2ludHM6IEdhbnR0RGF0ZVBvaW50W107XG5cbiAgICBzZWNvbmRhcnlEYXRlUG9pbnRzOiBHYW50dERhdGVQb2ludFtdO1xuXG4gICAgd2lkdGg6IG51bWJlcjtcblxuICAgIGNlbGxXaWR0aDogbnVtYmVyO1xuXG4gICAgcHJpbWFyeVdpZHRoOiBudW1iZXI7XG5cbiAgICBzaG93VGltZWxpbmUgPSB0cnVlO1xuXG4gICAgc2hvd1dlZWtCYWNrZHJvcDogYm9vbGVhbjtcblxuICAgIG9wdGlvbnM6IEdhbnR0Vmlld09wdGlvbnM7XG5cbiAgICBjb25zdHJ1Y3RvcihzdGFydDogR2FudHRWaWV3RGF0ZSwgZW5kOiBHYW50dFZpZXdEYXRlLCBvcHRpb25zOiBHYW50dFZpZXdPcHRpb25zKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHZpZXdPcHRpb25zLCBvcHRpb25zKTtcbiAgICAgICAgY29uc3Qgc3RhcnREYXRlID0gc3RhcnQuaXNDdXN0b21cbiAgICAgICAgICAgID8gdGhpcy5zdGFydE9mKHN0YXJ0LmRhdGUpXG4gICAgICAgICAgICA6IHRoaXMuc3RhcnRPZihzdGFydC5kYXRlLnZhbHVlIDwgdGhpcy5vcHRpb25zLnN0YXJ0LnZhbHVlID8gc3RhcnQuZGF0ZSA6IHRoaXMub3B0aW9ucy5zdGFydCk7XG4gICAgICAgIGNvbnN0IGVuZERhdGUgPSBlbmQuaXNDdXN0b21cbiAgICAgICAgICAgID8gdGhpcy5lbmRPZihlbmQuZGF0ZSlcbiAgICAgICAgICAgIDogdGhpcy5lbmRPZihlbmQuZGF0ZS52YWx1ZSA+IHRoaXMub3B0aW9ucy5lbmQudmFsdWUgPyBlbmQuZGF0ZSA6IHRoaXMub3B0aW9ucy5lbmQpO1xuICAgICAgICB0aGlzLnN0YXJ0JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8R2FudHREYXRlPihzdGFydERhdGUpO1xuICAgICAgICB0aGlzLmVuZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEdhbnR0RGF0ZT4oZW5kRGF0ZSk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgIH1cblxuICAgIGFic3RyYWN0IHN0YXJ0T2YoZGF0ZTogR2FudHREYXRlKTogR2FudHREYXRlO1xuXG4gICAgYWJzdHJhY3QgZW5kT2YoZGF0ZTogR2FudHREYXRlKTogR2FudHREYXRlO1xuXG4gICAgLy8g6I635Y+W5LiA57qn5pe26Ze0572R5qC85ZCI5bm25ZCO55qE5a695bqmXG4gICAgYWJzdHJhY3QgZ2V0UHJpbWFyeVdpZHRoKCk6IG51bWJlcjtcblxuICAgIC8vIOiOt+WPluW9k+WJjeinhuWbvuS4i+avj+S4gOWkqeWNoOeUqOeahOWuveW6plxuICAgIGFic3RyYWN0IGdldERheU9jY3VwYW5jeVdpZHRoKGRhdGU6IEdhbnR0RGF0ZSk6IG51bWJlcjtcblxuICAgIC8vIOiOt+WPluS4gOe6p+aXtumXtOeCue+8iOWdkOagh++8jOaYvuekuuWQjeensO+8iVxuICAgIGFic3RyYWN0IGdldFByaW1hcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W107XG5cbiAgICAvLyDojrflj5bkuoznuqfml7bpl7TngrnvvIjlnZDmoIfvvIzmmL7npLrlkI3np7DvvIlcbiAgICBhYnN0cmFjdCBnZXRTZWNvbmRhcnlEYXRlUG9pbnRzKCk6IEdhbnR0RGF0ZVBvaW50W107XG5cbiAgICBwcm90ZWN0ZWQgZ2V0RGF0ZUludGVydmFsV2lkdGgoc3RhcnQ6IEdhbnR0RGF0ZSwgZW5kOiBHYW50dERhdGUpIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IDA7XG4gICAgICAgIGNvbnN0IGRheXMgPSBkaWZmZXJlbmNlSW5EYXlzKGVuZC52YWx1ZSwgc3RhcnQudmFsdWUpO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IE1hdGguYWJzKGRheXMpOyBpKyspIHtcbiAgICAgICAgICAgIHJlc3VsdCArPSB0aGlzLmdldERheU9jY3VwYW5jeVdpZHRoKHN0YXJ0LmFkZERheXMoaSkpO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdCA9IGRheXMgPj0gMCA/IHJlc3VsdCA6IC1yZXN1bHQ7XG4gICAgICAgIHJldHVybiBOdW1iZXIocmVzdWx0LnRvRml4ZWQoMykpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBpbml0aWFsaXplKCkge1xuICAgICAgICB0aGlzLnByaW1hcnlEYXRlUG9pbnRzID0gdGhpcy5nZXRQcmltYXJ5RGF0ZVBvaW50cygpO1xuICAgICAgICB0aGlzLnNlY29uZGFyeURhdGVQb2ludHMgPSB0aGlzLmdldFNlY29uZGFyeURhdGVQb2ludHMoKTtcbiAgICAgICAgdGhpcy53aWR0aCA9IHRoaXMuZ2V0V2lkdGgoKTtcbiAgICAgICAgdGhpcy5jZWxsV2lkdGggPSB0aGlzLmdldENlbGxXaWR0aCgpO1xuICAgICAgICB0aGlzLnByaW1hcnlXaWR0aCA9IHRoaXMuZ2V0UHJpbWFyeVdpZHRoKCk7XG4gICAgfVxuXG4gICAgYWRkU3RhcnREYXRlKCkge1xuICAgICAgICBjb25zdCBzdGFydCA9IHRoaXMuc3RhcnRPZih0aGlzLnN0YXJ0LmFkZCh0aGlzLm9wdGlvbnMuYWRkQW1vdW50ICogLTEsIHRoaXMub3B0aW9ucy5hZGRVbml0KSk7XG4gICAgICAgIGlmIChzdGFydC52YWx1ZSA+PSB0aGlzLm9wdGlvbnMubWluLnZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBvcmlnaW4gPSB0aGlzLnN0YXJ0O1xuICAgICAgICAgICAgdGhpcy5zdGFydCQubmV4dChzdGFydCk7XG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgICAgICAgIHJldHVybiB7IHN0YXJ0OiB0aGlzLnN0YXJ0LCBlbmQ6IG9yaWdpbiB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGFkZEVuZERhdGUoKSB7XG4gICAgICAgIGNvbnN0IGVuZCA9IHRoaXMuZW5kT2YodGhpcy5lbmQuYWRkKHRoaXMub3B0aW9ucy5hZGRBbW91bnQsIHRoaXMub3B0aW9ucy5hZGRVbml0KSk7XG4gICAgICAgIGlmIChlbmQudmFsdWUgPD0gdGhpcy5vcHRpb25zLm1heC52YWx1ZSkge1xuICAgICAgICAgICAgY29uc3Qgb3JpZ2luID0gdGhpcy5lbmQ7XG4gICAgICAgICAgICB0aGlzLmVuZCQubmV4dChlbmQpO1xuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICAgICAgICByZXR1cm4geyBzdGFydDogb3JpZ2luLCBlbmQ6IHRoaXMuZW5kIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdXBkYXRlRGF0ZShzdGFydDogR2FudHREYXRlLCBlbmQ6IEdhbnR0RGF0ZSkge1xuICAgICAgICBzdGFydCA9IHRoaXMuc3RhcnRPZihzdGFydCk7XG4gICAgICAgIGVuZCA9IHRoaXMuZW5kT2YoZW5kKTtcbiAgICAgICAgaWYgKHN0YXJ0LnZhbHVlIDwgdGhpcy5zdGFydC52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zdGFydCQubmV4dChzdGFydCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuZC52YWx1ZSA+IHRoaXMuZW5kLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmVuZCQubmV4dChlbmQpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xuICAgIH1cblxuICAgIC8vIOiOt+WPllZpZXfnmoTlrr3luqZcbiAgICBnZXRXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2VsbFdpZHRoKCkgKiB0aGlzLnNlY29uZGFyeURhdGVQb2ludHMubGVuZ3RoO1xuICAgIH1cblxuICAgIC8vIOiOt+WPluWNleS4que9keagvOeahOWuveW6plxuICAgIGdldENlbGxXaWR0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5jZWxsV2lkdGg7XG4gICAgfVxuXG4gICAgLy8g6I635Y+W5b2T5YmN5pe26Ze055qEWOWdkOagh1xuICAgIGdldFRvZGF5WFBvaW50KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHRvYWR5ID0gbmV3IEdhbnR0RGF0ZSgpLnN0YXJ0T2ZEYXkoKTtcbiAgICAgICAgaWYgKHRvYWR5LnZhbHVlID4gdGhpcy5zdGFydC52YWx1ZSAmJiB0b2FkeS52YWx1ZSA8IHRoaXMuZW5kLnZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCB4ID0gdGhpcy5nZXRYUG9pbnRCeURhdGUodG9hZHkpICsgdGhpcy5nZXREYXlPY2N1cGFuY3lXaWR0aCh0b2FkeSkgLyAyO1xuICAgICAgICAgICAgcmV0dXJuIHg7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIOiOt+WPluaMh+WumuaXtumXtOeahFjlnZDmoIdcbiAgICBnZXRYUG9pbnRCeURhdGUoZGF0ZTogR2FudHREYXRlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldERhdGVJbnRlcnZhbFdpZHRoKHRoaXMuc3RhcnQsIGRhdGUpO1xuICAgIH1cblxuICAgIC8vIOagueaNrljlnZDmoIfojrflj5blr7nlupTml7bpl7RcbiAgICBnZXREYXRlQnlYUG9pbnQoeDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IGluZGV4T2ZTZWNvbmRhcnlEYXRlID0gTWF0aC5tYXgoTWF0aC5mbG9vcih4IC8gdGhpcy5nZXRDZWxsV2lkdGgoKSksIDApO1xuICAgICAgICBjb25zdCBtYXRjaERhdGUgPSB0aGlzLnNlY29uZGFyeURhdGVQb2ludHNbTWF0aC5taW4odGhpcy5zZWNvbmRhcnlEYXRlUG9pbnRzLmxlbmd0aCAtIDEsIGluZGV4T2ZTZWNvbmRhcnlEYXRlKV07XG4gICAgICAgIGNvbnN0IGRheVdpZHRoID0gdGhpcy5nZXREYXlPY2N1cGFuY3lXaWR0aChtYXRjaERhdGU/LnN0YXJ0KTtcbiAgICAgICAgaWYgKGRheVdpZHRoID09PSB0aGlzLmdldENlbGxXaWR0aCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gbWF0Y2hEYXRlPy5zdGFydDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGRheSA9IE1hdGguZmxvb3IoKHggJSB0aGlzLmdldENlbGxXaWR0aCgpKSAvIGRheVdpZHRoKSArIDE7XG4gICAgICAgICAgICBpZiAodGhpcy5nZXRDZWxsV2lkdGgoKSAvIGRheVdpZHRoID09PSA3KSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1hdGNoRGF0ZT8uc3RhcnQuYWRkRGF5cyhkYXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG1hdGNoRGF0ZT8uc3RhcnQuc2V0RGF0ZShkYXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8g6I635Y+W5oyH5a6a5pe26Ze06IyD5Zu055qE5a695bqmXG4gICAgZ2V0RGF0ZVJhbmdlV2lkdGgoc3RhcnQ6IEdhbnR0RGF0ZSwgZW5kOiBHYW50dERhdGUpIHtcbiAgICAgICAgLy8gYWRkU2Vjb25kcygxKSDmmK/lm6DkuLrorqHnrpfnm7jlt67lpKnkvJrku6XkuIDkuKrmlbTlpKnmnaXorqHnrpcgZW5k5pe26Ze05LiA6Iis5pivNTnliIY1OeenkuS4jeaYr+S4gOS4quaVtOWkqe+8jOaJgOS7pemcgOimgeWKoDFcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGF0ZUludGVydmFsV2lkdGgoc3RhcnQsIGVuZC5hZGRTZWNvbmRzKDEpKTtcbiAgICB9XG59XG4iXX0=
|