barsa-novin-ray-core 1.0.359 → 1.0.361
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/abstract-classes/layout-item-base.mjs +4 -2
- package/esm2020/lib/abstract-classes/linear-list-helper.mjs +13 -4
- package/esm2020/lib/abstract-classes/report-view-base.component.mjs +13 -2
- package/esm2020/lib/constants.mjs +15 -1
- package/esm2020/lib/dynamic-component/base-view-item-props.mjs +4 -2
- package/esm2020/lib/dynamic-component/dynamic-layout.component.mjs +3 -3
- package/esm2020/lib/services/form-panel.service.mjs +17 -2
- package/esm2020/lib/services/upload.service.mjs +1 -1
- package/fesm2015/barsa-novin-ray-core.mjs +62 -8
- package/fesm2015/barsa-novin-ray-core.mjs.map +1 -1
- package/fesm2020/barsa-novin-ray-core.mjs +61 -8
- package/fesm2020/barsa-novin-ray-core.mjs.map +1 -1
- package/lib/abstract-classes/layout-item-base.d.ts +2 -1
- package/lib/abstract-classes/linear-list-helper.d.ts +1 -0
- package/lib/abstract-classes/report-view-base.component.d.ts +5 -1
- package/lib/constants.d.ts +1 -0
- package/lib/dynamic-component/base-view-item-props.d.ts +2 -1
- package/lib/services/form-panel.service.d.ts +1 -0
- package/lib/services/upload.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -18,7 +18,7 @@ export class LayoutItemBaseComponent extends BaseComponent {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
LayoutItemBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LayoutItemBaseComponent, deps: [{ token: i1.FormPanelService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
-
LayoutItemBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: LayoutItemBaseComponent, selector: "bnrc-layout-item-base", inputs: { config: "config", isPanel: "isPanel" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21
|
+
LayoutItemBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: LayoutItemBaseComponent, selector: "bnrc-layout-item-base", inputs: { config: "config", isPanel: "isPanel", rtl: "rtl" }, usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: LayoutItemBaseComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
24
24
|
args: [{
|
|
@@ -30,5 +30,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
30
30
|
type: Input
|
|
31
31
|
}], isPanel: [{
|
|
32
32
|
type: Input
|
|
33
|
+
}], rtl: [{
|
|
34
|
+
type: Input
|
|
33
35
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF5b3V0LWl0ZW0tYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLW5vdmluLXJheS1jb3JlL3NyYy9saWIvYWJzdHJhY3QtY2xhc3Nlcy9sYXlvdXQtaXRlbS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUM3RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBUzNDLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxhQUFhO0lBT3RELFlBQXNCLGdCQUFrQyxFQUFZLElBQXVCO1FBQ3ZGLEtBQUssRUFBRSxDQUFDO1FBRFUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFZLFNBQUksR0FBSixJQUFJLENBQW1CO1FBR3ZGLElBQUksQ0FBQyxFQUFFLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDN0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsbUJBQW1CLEVBQUUsRUFBRTtZQUN6RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsbUJBQW1CLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOztvSEFqQlEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsa0pBSHRCLEVBQUU7MkZBR0gsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxFQUFFO29CQUNaLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNsRDt1SUFFWSxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0LCBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0VW5pcXVlSWQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgRm9ybVBhbmVsU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Zvcm0tcGFuZWwuc2VydmljZSc7XG5pbXBvcnQgeyBMYXlvdXRTZXR0aW5nIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JucmMtbGF5b3V0LWl0ZW0tYmFzZScsXG4gICAgdGVtcGxhdGU6ICcnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIExheW91dEl0ZW1CYXNlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gICAgQElucHV0KCkgY29uZmlnOiBMYXlvdXRTZXR0aW5nO1xuICAgIEBJbnB1dCgpIGlzUGFuZWw6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcnRsOiBib29sZWFuO1xuICAgIGlzU2VhcmNoUGFuZWw6IGJvb2xlYW47XG4gICAgc2VhcmNoUGFuZWxJc09iamVjdDogYm9vbGVhbjtcbiAgICBpZDogc3RyaW5nO1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBmb3JtUGFuZWxTZXJ2aWNlOiBGb3JtUGFuZWxTZXJ2aWNlLCBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICB0aGlzLmlkID0gZ2V0VW5pcXVlSWQoNCk7XG4gICAgICAgIHRoaXMuZm9ybVBhbmVsU2VydmljZS5pc1NlYXJjaFBhbmVsJC5zdWJzY3JpYmUoKGlzU2VhcmNoUGFuZWwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbCA9IGlzU2VhcmNoUGFuZWw7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmZvcm1QYW5lbFNlcnZpY2Uuc2VhcmNoUGFuZWxJc09iamVjdCQuc3Vic2NyaWJlKChzZWFyY2hQYW5lbElzT2JqZWN0KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFBhbmVsSXNPYmplY3QgPSBzZWFyY2hQYW5lbElzT2JqZWN0O1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BehaviorSubject, forkJoin, Observable, Subject } from 'rxjs';
|
|
2
|
-
import { tap } from 'rxjs/operators';
|
|
2
|
+
import { takeUntil, tap } from 'rxjs/operators';
|
|
3
3
|
import { BaseComponent } from './base.component';
|
|
4
4
|
import { getIcon, getImagePath, isImage, getUniqueId } from '../constants';
|
|
5
5
|
import { BarsaApi } from './barsa-api';
|
|
@@ -14,7 +14,13 @@ export class LinearListHelper extends BaseComponent {
|
|
|
14
14
|
this._loading$ = new Subject();
|
|
15
15
|
this._delete$ = new Subject();
|
|
16
16
|
this._newFileUploaded$ = new Subject();
|
|
17
|
-
this.
|
|
17
|
+
this._uploadService.uploadingState$.pipe(takeUntil(this._onDestroy$)).subscribe((uploadState) => {
|
|
18
|
+
const uploadStateValue = this._getFileValueExtra(uploadState.key);
|
|
19
|
+
uploadStateValue.Progress = uploadState.progress;
|
|
20
|
+
uploadStateValue.UploadState = uploadState.state;
|
|
21
|
+
this._valueExtra[uploadState.key] = uploadStateValue;
|
|
22
|
+
this._valueExtra$.next({ ...this._valueExtra });
|
|
23
|
+
});
|
|
18
24
|
}
|
|
19
25
|
get loading$() {
|
|
20
26
|
return this._loading$.asObservable();
|
|
@@ -44,7 +50,10 @@ export class LinearListHelper extends BaseComponent {
|
|
|
44
50
|
return;
|
|
45
51
|
}
|
|
46
52
|
const fileAttachments = files.map((c) => this._createFileAttachment(c));
|
|
47
|
-
forkJoin(fileAttachments.map((fileAttachment) => this.uploadFile(fileAttachment, key))).subscribe();
|
|
53
|
+
forkJoin(fileAttachments.map((fileAttachment) => this.uploadFile(fileAttachment, key ? key : fileAttachment.Id))).subscribe();
|
|
54
|
+
}
|
|
55
|
+
destroy() {
|
|
56
|
+
this._onDestroy$.next();
|
|
48
57
|
}
|
|
49
58
|
get _valueExtra() {
|
|
50
59
|
return this._valueExtra$.getValue();
|
|
@@ -123,4 +132,4 @@ export class LinearListHelper extends BaseComponent {
|
|
|
123
132
|
this._newFileUploaded$.next(newFileAttachment);
|
|
124
133
|
}
|
|
125
134
|
}
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZWFyLWxpc3QtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL2xpbmVhci1saXN0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSXZDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxhQUFhO0lBTy9DLFlBQ1ksY0FBNkIsRUFDN0Isc0JBQTZDLEVBQzdDLFdBQW1CO1FBRTNCLEtBQUssRUFBRSxDQUFDO1FBSkEsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFDN0IsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF1QjtRQUM3QyxnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQVQvQixlQUFVLEdBQUcsSUFBSSxVQUFVLEVBQW1CLENBQUM7UUFFdkMsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBaUIsRUFBRSxDQUFDLENBQUM7UUFDdkQsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDbkMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFzQixDQUFDO1FBQzdDLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFzQixDQUFDO1FBTzFELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUM7SUFDMUQsQ0FB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YyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNuRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRJY29uLCBnZXRJbWFnZVBhdGgsIGlzSW1hZ2UsIGdldFVuaXF1ZUlkIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IFVwbG9hZFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy91cGxvYWQuc2VydmljZSc7XG5pbXBvcnQgeyBCYXJzYUFwaSB9IGZyb20gJy4vYmFyc2EtYXBpJztcbmltcG9ydCB7IEZpbGVzVmFsaWRhdGlvbkhlbHBlciB9IGZyb20gJy4vZmlsZXMtdmFsaWRhdGlvbi1oZWxwZXInO1xuaW1wb3J0IHsgRmlsZUF0dGFjaG1lbnRJbmZvLCBJVXBsb2FkaW5nU3RhdGUgfSBmcm9tICcuL21vZGVscyc7XG5cbmV4cG9ydCBjbGFzcyBMaW5lYXJMaXN0SGVscGVyIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gICAgdXBsb2FkaW5nJCA9IG5ldyBPYnNlcnZhYmxlPElVcGxvYWRpbmdTdGF0ZT4oKTtcblxuICAgIHByaXZhdGUgX3ZhbHVlRXh0cmEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxWYWx1ZUV4dHJhVHlwZT4oe30pO1xuICAgIHByaXZhdGUgX2xvYWRpbmckID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIF9kZWxldGUkID0gbmV3IFN1YmplY3Q8RmlsZUF0dGFjaG1lbnRJbmZvPigpO1xuICAgIHByaXZhdGUgX25ld0ZpbGVVcGxvYWRlZCQgPSBuZXcgU3ViamVjdDxGaWxlQXR0YWNobWVudEluZm8+KCk7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX3VwbG9hZFNlcnZpY2U6IFVwbG9hZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2ZpbGVzVmFsaWRhdGlvbkhlbHBlcjogRmlsZXNWYWxpZGF0aW9uSGVscGVyLFxuICAgICAgICBwcml2YXRlIF9maWVsZERlZklkOiBzdHJpbmdcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy51cGxvYWRpbmckID0gdGhpcy5fdXBsb2FkU2VydmljZS51cGxvYWRpbmdTdGF0ZSQ7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgbG9hZGluZyQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkaW5nJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCB2YWx1ZUV4dHJhJCgpOiBPYnNlcnZhYmxlPFZhbHVlRXh0cmFUeXBlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZUV4dHJhJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBkZWxldGUkKCk6IE9ic2VydmFibGU8RmlsZUF0dGFjaG1lbnRJbmZvPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kZWxldGUkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IG5ld0ZpbGVVcGxvYWRlZCQoKTogT2JzZXJ2YWJsZTxGaWxlQXR0YWNobWVudEluZm8+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25ld0ZpbGVVcGxvYWRlZCQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIGluaXQoZmlsZUF0dGFjaG1lbnRJbmZvOiBGaWxlQXR0YWNobWVudEluZm8pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZmlsZVZhbHVlRXh0cmEgPSB0aGlzLl9nZXRGaWxlVmFsdWVFeHRyYShmaWxlQXR0YWNobWVudEluZm8uSWQpO1xuICAgICAgICB0aGlzLl9zZXRJY29uQW5kSW1hZ2UoZmlsZUF0dGFjaG1lbnRJbmZvLCBmaWxlVmFsdWVFeHRyYSk7XG4gICAgfVxuICAgIGNhbmNlbChmaWxlQXR0YWNobWVudDogRmlsZUF0dGFjaG1lbnRJbmZvKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3ZhbHVlRXh0cmFbZmlsZUF0dGFjaG1lbnQuSWRdLmNhbmNlbGF0aW9uJD8ubmV4dCgpO1xuICAgIH1cbiAgICByZXRyeShmaWxlQXR0YWNobWVudDogRmlsZUF0dGFjaG1lbnRJbmZvKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBsb2FkRmlsZShmaWxlQXR0YWNobWVudCkuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHVwbG9hZFRvU2VydmVyKGZpbGVzOiBGaWxlW10sIGtleTogc3RyaW5nID0gJycpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNWYWxpZCA9IHRoaXMuX2ZpbGVzVmFsaWRhdGlvbkhlbHBlci52YWxpZGF0ZUZpbGVzKGZpbGVzKTtcbiAgICAgICAgaWYgKCFpc1ZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmlsZUF0dGFjaG1lbnRzID0gZmlsZXMubWFwKChjKSA9PiB0aGlzLl9jcmVhdGVGaWxlQXR0YWNobWVudChjKSk7XG4gICAgICAgIGZvcmtKb2luKGZpbGVBdHRhY2htZW50cy5tYXAoKGZpbGVBdHRhY2htZW50KSA9PiB0aGlzLnVwbG9hZEZpbGUoZmlsZUF0dGFjaG1lbnQsIGtleSkpKS5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgcHJvdGVjdGVkIGdldCBfdmFsdWVFeHRyYSgpOiBWYWx1ZUV4dHJhVHlwZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZUV4dHJhJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBfZ2V0RmlsZVZhbHVlRXh0cmEoZmlsZUlkKTogVXBsb2FkRmlsZVByb3BzIHtcbiAgICAgICAgY29uc3QgdmFsdWVFeHRyYSA9IHRoaXMuX3ZhbHVlRXh0cmE7XG4gICAgICAgIGNvbnN0IGZpbGVWYWx1ZUV4dHJhID0gdmFsdWVFeHRyYVtmaWxlSWRdO1xuICAgICAgICBpZiAoIWZpbGVWYWx1ZUV4dHJhKSB7XG4gICAgICAgICAgICB2YWx1ZUV4dHJhW2ZpbGVJZF0gPSB7fTtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlRXh0cmEkLm5leHQoeyAuLi52YWx1ZUV4dHJhIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWx1ZUV4dHJhW2ZpbGVJZF0gYXMgVXBsb2FkRmlsZVByb3BzO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX3NldEljb25BbmRJbWFnZShmaWxlQXR0YWNobWVudDogRmlsZUF0dGFjaG1lbnRJbmZvLCBmaWxlVmFsdWVFeHRyYTogVXBsb2FkRmlsZVByb3BzKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpbGVUeXBlID0gZmlsZUF0dGFjaG1lbnQuVHlwZTtcbiAgICAgICAgY29uc3QgZmlsZUlkID0gZmlsZUF0dGFjaG1lbnQuSWQ7XG4gICAgICAgIGlmIChmaWxlQXR0YWNobWVudC5Jc05ldyAmJiAhZmlsZVZhbHVlRXh0cmEuVXBsb2FkU3RhdGUpIHtcbiAgICAgICAgICAgIGZpbGVWYWx1ZUV4dHJhLkZpbGVVcmwgPSAnZG9jdW1lbnQnO1xuICAgICAgICAgICAgZmlsZVZhbHVlRXh0cmEuSXNJY29uID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0ltYWdlKGZpbGVUeXBlKSkge1xuICAgICAgICAgICAgZmlsZVZhbHVlRXh0cmEuRmlsZVVybCA9IGdldEltYWdlUGF0aCgnSUQnLCAnJywgZmlsZUlkKTtcbiAgICAgICAgICAgIGZpbGVWYWx1ZUV4dHJhLklzSWNvbiA9IGZhbHNlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZmlsZVZhbHVlRXh0cmEuRmlsZVVybCA9IGdldEljb24oZmlsZVR5cGUpO1xuICAgICAgICAgICAgZmlsZVZhbHVlRXh0cmEuSXNJY29uID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBfc2V0TG9hZGluZyhsb2FkaW5nOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2xvYWRpbmckLm5leHQobG9hZGluZyk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBfY3JlYXRlRmlsZUF0dGFjaG1lbnQoZmlsZTogRmlsZSwga2V5OiBzdHJpbmcgfCBudWxsID0gbnVsbCk6IGFueSB7XG4gICAgICAgIGNvbnN0IGlkOiBzdHJpbmcgPSBrZXkgPz8gZ2V0VW5pcXVlSWQoNCk7XG4gICAgICAgIGNvbnN0IHRlbXA6IHN0cmluZ1tdID0gZmlsZS5uYW1lLnNwbGl0KCcuJyk7XG4gICAgICAgIGNvbnN0IGV4dCA9IHRlbXBbdGVtcC5sZW5ndGggLSAxXTtcbiAgICAgICAgY29uc3QgbmV3RmlsZUF0dGFjaG1lbnQgPSB7XG4gICAgICAgICAgICBGaWxlTmFtZTogZmlsZS5uYW1lLFxuICAgICAgICAgICAgSWQ6IGlkLFxuICAgICAgICAgICAgRmlsZUlkOiBpZCxcbiAgICAgICAgICAgIElzRGVsZXRlZDogZmFsc2UsXG4gICAgICAgICAgICBJc05ldzogdHJ1ZSxcbiAgICAgICAgICAgIFR5cGU6IGV4dFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBmaWxlVmFsdWVFeHRyYSA9IHRoaXMuX2dldEZpbGVWYWx1ZUV4dHJhKG5ld0ZpbGVBdHRhY2htZW50LklkKTtcbiAgICAgICAgdGhpcy5fc2V0SWNvbkFuZEltYWdlKG5ld0ZpbGVBdHRhY2htZW50LCBmaWxlVmFsdWVFeHRyYSk7XG4gICAgICAgIGZpbGVWYWx1ZUV4dHJhLlVwbG9hZFN0YXRlID0gJ1JlYWR5JztcbiAgICAgICAgZmlsZVZhbHVlRXh0cmEuYmluYXJ5ID0gZmlsZTtcbiAgICAgICAgZmlsZVZhbHVlRXh0cmEuY2FuY2VsYXRpb24kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICAgICAgcmV0dXJuIG5ld0ZpbGVBdHRhY2htZW50O1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgdXBsb2FkRmlsZShmaWxlQXR0YWNobWVudDogRmlsZUF0dGFjaG1lbnRJbmZvLCBrZXk6IHN0cmluZyA9ICcnKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCd1bmljRmlsZU5hbWUnLCAneCcgKyBCYXJzYUFwaS5Db21tb24uVXRpbC5HZXROZXdNZXRhR3VpZCgpICsgJzs7OycgKyBmaWxlQXR0YWNobWVudC5GaWxlTmFtZSk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIHRoaXMuX3ZhbHVlRXh0cmFbZmlsZUF0dGFjaG1lbnQuSWRdLmJpbmFyeSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX3VwbG9hZFNlcnZpY2UudXBsb2FkKGZvcm1EYXRhLCB0aGlzLl9maWVsZERlZklkLCBrZXkpLnBpcGUoXG4gICAgICAgICAgICB0YXAoKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlcykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fdXBkYXRlVmFsdWUoZmlsZUF0dGFjaG1lbnQsIHJlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3VwZGF0ZVZhbHVlKGZpbGVBdHRhY2htZW50OiBGaWxlQXR0YWNobWVudEluZm8sIHJlczogYW55W10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZGVsZXRlJC5uZXh0KGZpbGVBdHRhY2htZW50KTtcbiAgICAgICAgLy8gdGhpcy5fZGVsZXRlRmlsZUF0dGFjaG1lbnQoZmlsZUF0dGFjaG1lbnQpO1xuICAgICAgICBjb25zdCBpZCA9IHJlc1swXS5GaWxlSWQ7XG4gICAgICAgIGNvbnN0IG5ld0ZpbGVBdHRhY2htZW50ID0ge1xuICAgICAgICAgICAgLi4uZmlsZUF0dGFjaG1lbnQsXG4gICAgICAgICAgICBJZDogaWQsXG4gICAgICAgICAgICBGaWxlSWQ6IGlkLFxuICAgICAgICAgICAgRmlsZU5hbWU6IHJlc1swXS5GaWxlTmFtZSxcbiAgICAgICAgICAgIElzRGVsZXRlZDogZmFsc2VcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZmlsZVZhbHVlRXh0cmEgPSB0aGlzLl9nZXRGaWxlVmFsdWVFeHRyYShpZCk7XG4gICAgICAgIGZpbGVWYWx1ZUV4dHJhLmJpbmFyeSA9IG51bGw7XG4gICAgICAgIHRoaXMuX3NldEljb25BbmRJbWFnZShuZXdGaWxlQXR0YWNobWVudCwgZmlsZVZhbHVlRXh0cmEpO1xuICAgICAgICB0aGlzLl9uZXdGaWxlVXBsb2FkZWQkLm5leHQobmV3RmlsZUF0dGFjaG1lbnQpO1xuICAgIH1cbn1cblxuaW50ZXJmYWNlIFVwbG9hZEZpbGVQcm9wcyB7XG4gICAgRmlsZVVybD86IHN0cmluZztcbiAgICBjYW5jZWxhdGlvbiQ/OiBTdWJqZWN0PHZvaWQ+O1xuICAgIGJpbmFyeT86IGFueTtcbiAgICBVcGxvYWRTdGF0ZT86IHN0cmluZztcbiAgICBQcm9ncmVzcz86IG51bWJlcjtcbiAgICBJc0ljb24/OiBib29sZWFuO1xufVxudHlwZSBWYWx1ZUV4dHJhVHlwZSA9IHsgW2tleTogc3RyaW5nXTogVXBsb2FkRmlsZVByb3BzIH07XG4iXX0=
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZWFyLWxpc3QtaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etbm92aW4tcmF5LWNvcmUvc3JjL2xpYi9hYnN0cmFjdC1jbGFzc2VzL2xpbmVhci1saXN0LWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFM0UsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUl2QyxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsYUFBYTtJQU8vQyxZQUNZLGNBQTZCLEVBQzdCLHNCQUE2QyxFQUM3QyxXQUFtQjtRQUUzQixLQUFLLEVBQUUsQ0FBQztRQUpBLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBdUI7UUFDN0MsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFUL0IsZUFBVSxHQUFHLElBQUksVUFBVSxFQUFtQixDQUFDO1FBRXZDLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQWlCLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQ25DLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBc0IsQ0FBQztRQUM3QyxzQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBc0IsQ0FBQztRQU8xRCxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFD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SUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUMxQztRQUNMLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRVMsWUFBWSxDQUFDLGNBQWtDLEVBQUUsR0FBVTtRQUNqRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNuQyw4Q0FBOEM7UUFDOUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUN6QixNQUFNLGlCQUFpQixHQUFHO1lBQ3RCLEdBQUcsY0FBYztZQUNqQixFQUFFLEVBQUUsRUFBRTtZQUNOLE1BQU0sRUFBRSxFQUFFO1lBQ1YsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO1lBQ3pCLFNBQVMsRUFBRSxLQUFLO1NBQ25CLENBQUM7UUFDRixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbkQsY0FBYyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNuRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IGdldEljb24sIGdldEltYWdlUGF0aCwgaXNJbWFnZSwgZ2V0VW5pcXVlSWQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVXBsb2FkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3VwbG9hZC5zZXJ2aWNlJztcbmltcG9ydCB7IEJhcnNhQXBpIH0gZnJvbSAnLi9iYXJzYS1hcGknO1xuaW1wb3J0IHsgRmlsZXNWYWxpZGF0aW9uSGVscGVyIH0gZnJvbSAnLi9maWxlcy12YWxpZGF0aW9uLWhlbHBlcic7XG5pbXBvcnQgeyBGaWxlQXR0YWNobWVudEluZm8sIElVcGxvYWRpbmdTdGF0ZSB9IGZyb20gJy4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIExpbmVhckxpc3RIZWxwZXIgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgICB1cGxvYWRpbmckID0gbmV3IE9ic2VydmFibGU8SVVwbG9hZGluZ1N0YXRlPigpO1xuXG4gICAgcHJpdmF0ZSBfdmFsdWVFeHRyYSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFZhbHVlRXh0cmFUeXBlPih7fSk7XG4gICAgcHJpdmF0ZSBfbG9hZGluZyQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIHByaXZhdGUgX2RlbGV0ZSQgPSBuZXcgU3ViamVjdDxGaWxlQXR0YWNobWVudEluZm8+KCk7XG4gICAgcHJpdmF0ZSBfbmV3RmlsZVVwbG9hZGVkJCA9IG5ldyBTdWJqZWN0PEZpbGVBdHRhY2htZW50SW5mbz4oKTtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfdXBsb2FkU2VydmljZTogVXBsb2FkU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfZmlsZXNWYWxpZGF0aW9uSGVscGVyOiBGaWxlc1ZhbGlkYXRpb25IZWxwZXIsXG4gICAgICAgIHByaXZhdGUgX2ZpZWxkRGVmSWQ6IHN0cmluZ1xuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl91cGxvYWRTZXJ2aWNlLnVwbG9hZGluZ1N0YXRlJC5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh1cGxvYWRTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdXBsb2FkU3RhdGVWYWx1ZSA9IHRoaXMuX2dldEZpbGVWYWx1ZUV4dHJhKHVwbG9hZFN0YXRlLmtleSk7XG4gICAgICAgICAgICB1cGxvYWRTdGF0ZVZhbHVlLlByb2dyZXNzID0gdXBsb2FkU3RhdGUucHJvZ3Jlc3M7XG4gICAgICAgICAgICB1cGxvYWRTdGF0ZVZhbHVlLlVwbG9hZFN0YXRlID0gdXBsb2FkU3RhdGUuc3RhdGU7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZUV4dHJhW3VwbG9hZFN0YXRlLmtleV0gPSB1cGxvYWRTdGF0ZVZhbHVlO1xuICAgICAgICAgICAgdGhpcy5fdmFsdWVFeHRyYSQubmV4dCh7IC4uLnRoaXMuX3ZhbHVlRXh0cmEgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0IGxvYWRpbmckKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fbG9hZGluZyQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgdmFsdWVFeHRyYSQoKTogT2JzZXJ2YWJsZTxWYWx1ZUV4dHJhVHlwZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWVFeHRyYSQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuICAgIHB1YmxpYyBnZXQgZGVsZXRlJCgpOiBPYnNlcnZhYmxlPEZpbGVBdHRhY2htZW50SW5mbz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGVsZXRlJC5hc09ic2VydmFibGUoKTtcbiAgICB9XG4gICAgcHVibGljIGdldCBuZXdGaWxlVXBsb2FkZWQkKCk6IE9ic2VydmFibGU8RmlsZUF0dGFjaG1lbnRJbmZvPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uZXdGaWxlVXBsb2FkZWQkLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cbiAgICBpbml0KGZpbGVBdHRhY2htZW50SW5mbzogRmlsZUF0dGFjaG1lbnRJbmZvKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpbGVWYWx1ZUV4dHJhID0gdGhpcy5fZ2V0RmlsZVZhbHVlRXh0cmEoZmlsZUF0dGFjaG1lbnRJbmZvLklkKTtcbiAgICAgICAgdGhpcy5fc2V0SWNvbkFuZEltYWdlKGZpbGVBdHRhY2htZW50SW5mbywgZmlsZVZhbHVlRXh0cmEpO1xuICAgIH1cbiAgICBjYW5jZWwoZmlsZUF0dGFjaG1lbnQ6IEZpbGVBdHRhY2htZW50SW5mbyk6IHZvaWQge1xuICAgICAgICB0aGlzLl92YWx1ZUV4dHJhW2ZpbGVBdHRhY2htZW50LklkXS5jYW5jZWxhdGlvbiQ/Lm5leHQoKTtcbiAgICB9XG4gICAgcmV0cnkoZmlsZUF0dGFjaG1lbnQ6IEZpbGVBdHRhY2htZW50SW5mbyk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwbG9hZEZpbGUoZmlsZUF0dGFjaG1lbnQpLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICB1cGxvYWRUb1NlcnZlcihmaWxlczogRmlsZVtdLCBrZXk6IHN0cmluZyA9ICcnKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGlzVmFsaWQgPSB0aGlzLl9maWxlc1ZhbGlkYXRpb25IZWxwZXIudmFsaWRhdGVGaWxlcyhmaWxlcyk7XG4gICAgICAgIGlmICghaXNWYWxpZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbGVBdHRhY2htZW50cyA9IGZpbGVzLm1hcCgoYykgPT4gdGhpcy5fY3JlYXRlRmlsZUF0dGFjaG1lbnQoYykpO1xuICAgICAgICBmb3JrSm9pbihcbiAgICAgICAgICAgIGZpbGVBdHRhY2htZW50cy5tYXAoKGZpbGVBdHRhY2htZW50KSA9PiB0aGlzLnVwbG9hZEZpbGUoZmlsZUF0dGFjaG1lbnQsIGtleSA/IGtleSA6IGZpbGVBdHRhY2htZW50LklkKSlcbiAgICAgICAgKS5zdWJzY3JpYmUoKTtcbiAgICB9XG4gICAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25EZXN0cm95JC5uZXh0KCk7XG4gICAgfVxuICAgIHByb3RlY3RlZCBnZXQgX3ZhbHVlRXh0cmEoKTogVmFsdWVFeHRyYVR5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWVFeHRyYSQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX2dldEZpbGVWYWx1ZUV4dHJhKGZpbGVJZCk6IFVwbG9hZEZpbGVQcm9wcyB7XG4gICAgICAgIGNvbnN0IHZhbHVlRXh0cmEgPSB0aGlzLl92YWx1ZUV4dHJhO1xuICAgICAgICBjb25zdCBmaWxlVmFsdWVFeHRyYSA9IHZhbHVlRXh0cmFbZmlsZUlkXTtcbiAgICAgICAgaWYgKCFmaWxlVmFsdWVFeHRyYSkge1xuICAgICAgICAgICAgdmFsdWVFeHRyYVtmaWxlSWRdID0ge307XG4gICAgICAgICAgICB0aGlzLl92YWx1ZUV4dHJhJC5uZXh0KHsgLi4udmFsdWVFeHRyYSB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWVFeHRyYVtmaWxlSWRdIGFzIFVwbG9hZEZpbGVQcm9wcztcbiAgICB9XG4gICAgcHJvdGVjdGVkIF9zZXRJY29uQW5kSW1hZ2UoZmlsZUF0dGFjaG1lbnQ6IEZpbGVBdHRhY2htZW50SW5mbywgZmlsZVZhbHVlRXh0cmE6IFVwbG9hZEZpbGVQcm9wcyk6IHZvaWQge1xuICAgICAgICBjb25zdCBmaWxlVHlwZSA9IGZpbGVBdHRhY2htZW50LlR5cGU7XG4gICAgICAgIGNvbnN0IGZpbGVJZCA9IGZpbGVBdHRhY2htZW50LklkO1xuICAgICAgICBpZiAoZmlsZUF0dGFjaG1lbnQuSXNOZXcgJiYgIWZpbGVWYWx1ZUV4dHJhLlVwbG9hZFN0YXRlKSB7XG4gICAgICAgICAgICBmaWxlVmFsdWVFeHRyYS5GaWxlVXJsID0gJ2RvY3VtZW50JztcbiAgICAgICAgICAgIGZpbGVWYWx1ZUV4dHJhLklzSWNvbiA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNJbWFnZShmaWxlVHlwZSkpIHtcbiAgICAgICAgICAgIGZpbGVWYWx1ZUV4dHJhLkZpbGVVcmwgPSBnZXRJbWFnZVBhdGgoJ0lEJywgJycsIGZpbGVJZCk7XG4gICAgICAgICAgICBmaWxlVmFsdWVFeHRyYS5Jc0ljb24gPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZpbGVWYWx1ZUV4dHJhLkZpbGVVcmwgPSBnZXRJY29uKGZpbGVUeXBlKTtcbiAgICAgICAgICAgIGZpbGVWYWx1ZUV4dHJhLklzSWNvbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgX3NldExvYWRpbmcobG9hZGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9sb2FkaW5nJC5uZXh0KGxvYWRpbmcpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgX2NyZWF0ZUZpbGVBdHRhY2htZW50KGZpbGU6IEZpbGUsIGtleTogc3RyaW5nIHwgbnVsbCA9IG51bGwpOiBhbnkge1xuICAgICAgICBjb25zdCBpZDogc3RyaW5nID0ga2V5ID8/IGdldFVuaXF1ZUlkKDQpO1xuICAgICAgICBjb25zdCB0ZW1wOiBzdHJpbmdbXSA9IGZpbGUubmFtZS5zcGxpdCgnLicpO1xuICAgICAgICBjb25zdCBleHQgPSB0ZW1wW3RlbXAubGVuZ3RoIC0gMV07XG4gICAgICAgIGNvbnN0IG5ld0ZpbGVBdHRhY2htZW50ID0ge1xuICAgICAgICAgICAgRmlsZU5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICAgIElkOiBpZCxcbiAgICAgICAgICAgIEZpbGVJZDogaWQsXG4gICAgICAgICAgICBJc0RlbGV0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgSXNOZXc6IHRydWUsXG4gICAgICAgICAgICBUeXBlOiBleHRcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZmlsZVZhbHVlRXh0cmEgPSB0aGlzLl9nZXRGaWxlVmFsdWVFeHRyYShuZXdGaWxlQXR0YWNobWVudC5JZCk7XG4gICAgICAgIHRoaXMuX3NldEljb25BbmRJbWFnZShuZXdGaWxlQXR0YWNobWVudCwgZmlsZVZhbHVlRXh0cmEpO1xuICAgICAgICBmaWxlVmFsdWVFeHRyYS5VcGxvYWRTdGF0ZSA9ICdSZWFkeSc7XG4gICAgICAgIGZpbGVWYWx1ZUV4dHJhLmJpbmFyeSA9IGZpbGU7XG4gICAgICAgIGZpbGVWYWx1ZUV4dHJhLmNhbmNlbGF0aW9uJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgICAgIHJldHVybiBuZXdGaWxlQXR0YWNobWVudDtcbiAgICB9XG4gICAgcHJvdGVjdGVkIHVwbG9hZEZpbGUoZmlsZUF0dGFjaG1lbnQ6IEZpbGVBdHRhY2htZW50SW5mbywga2V5OiBzdHJpbmcgPSAnJyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgndW5pY0ZpbGVOYW1lJywgJ3gnICsgQmFyc2FBcGkuQ29tbW9uLlV0aWwuR2V0TmV3TWV0YUd1aWQoKSArICc7OzsnICsgZmlsZUF0dGFjaG1lbnQuRmlsZU5hbWUpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCB0aGlzLl92YWx1ZUV4dHJhW2ZpbGVBdHRhY2htZW50LklkXS5iaW5hcnkpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLl91cGxvYWRTZXJ2aWNlLnVwbG9hZChmb3JtRGF0YSwgdGhpcy5fZmllbGREZWZJZCwga2V5KS5waXBlKFxuICAgICAgICAgICAgdGFwKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZVZhbHVlKGZpbGVBdHRhY2htZW50LCByZXMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIF91cGRhdGVWYWx1ZShmaWxlQXR0YWNobWVudDogRmlsZUF0dGFjaG1lbnRJbmZvLCByZXM6IGFueVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2RlbGV0ZSQubmV4dChmaWxlQXR0YWNobWVudCk7XG4gICAgICAgIC8vIHRoaXMuX2RlbGV0ZUZpbGVBdHRhY2htZW50KGZpbGVBdHRhY2htZW50KTtcbiAgICAgICAgY29uc3QgaWQgPSByZXNbMF0uRmlsZUlkO1xuICAgICAgICBjb25zdCBuZXdGaWxlQXR0YWNobWVudCA9IHtcbiAgICAgICAgICAgIC4uLmZpbGVBdHRhY2htZW50LFxuICAgICAgICAgICAgSWQ6IGlkLFxuICAgICAgICAgICAgRmlsZUlkOiBpZCxcbiAgICAgICAgICAgIEZpbGVOYW1lOiByZXNbMF0uRmlsZU5hbWUsXG4gICAgICAgICAgICBJc0RlbGV0ZWQ6IGZhbHNlXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGZpbGVWYWx1ZUV4dHJhID0gdGhpcy5fZ2V0RmlsZVZhbHVlRXh0cmEoaWQpO1xuICAgICAgICBmaWxlVmFsdWVFeHRyYS5iaW5hcnkgPSBudWxsO1xuICAgICAgICB0aGlzLl9zZXRJY29uQW5kSW1hZ2UobmV3RmlsZUF0dGFjaG1lbnQsIGZpbGVWYWx1ZUV4dHJhKTtcbiAgICAgICAgdGhpcy5fbmV3RmlsZVVwbG9hZGVkJC5uZXh0KG5ld0ZpbGVBdHRhY2htZW50KTtcbiAgICB9XG59XG5cbmludGVyZmFjZSBVcGxvYWRGaWxlUHJvcHMge1xuICAgIEZpbGVVcmw/OiBzdHJpbmc7XG4gICAgY2FuY2VsYXRpb24kPzogU3ViamVjdDx2b2lkPjtcbiAgICBiaW5hcnk/OiBhbnk7XG4gICAgVXBsb2FkU3RhdGU/OiBzdHJpbmc7XG4gICAgUHJvZ3Jlc3M/OiBudW1iZXI7XG4gICAgSXNJY29uPzogYm9vbGVhbjtcbn1cbnR5cGUgVmFsdWVFeHRyYVR5cGUgPSB7IFtrZXk6IHN0cmluZ106IFVwbG9hZEZpbGVQcm9wcyB9O1xuIl19
|
|
@@ -52,6 +52,11 @@ export class ReportViewBaseComponent extends BaseComponent {
|
|
|
52
52
|
}
|
|
53
53
|
this.elWidth = this._el.nativeElement.clientWidth;
|
|
54
54
|
this.fitWidth = this.viewSetting?.FitWidth === true ? true : false;
|
|
55
|
+
if (this.columns) {
|
|
56
|
+
const fieldDict = {};
|
|
57
|
+
this.columns.forEach((c) => (fieldDict[c.Caption] = c.Name));
|
|
58
|
+
this.fieldDict = fieldDict;
|
|
59
|
+
}
|
|
55
60
|
}
|
|
56
61
|
ngOnChanges(changes) {
|
|
57
62
|
super.ngOnChanges(changes);
|
|
@@ -153,7 +158,7 @@ export class ReportViewBaseComponent extends BaseComponent {
|
|
|
153
158
|
_containerWidthChanged(_) { }
|
|
154
159
|
}
|
|
155
160
|
ReportViewBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReportViewBaseComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i1.FindColumnByDbNamePipe }, { token: i2.UlvMainService }, { token: i2.PortalService }, { token: i2.UploadService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
156
|
-
ReportViewBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ReportViewBaseComponent, selector: "bnrc-report-view-base", inputs: { contextView: "contextView", viewSetting: "viewSetting", allColumns: "allColumns", isCheckList: "isCheckList", allChecked: "allChecked", moDataList: "moDataList", access: "access", groupby: "groupby", selectedCount: "selectedCount", conditionalFormats: "conditionalFormats", parentHeight: "parentHeight", deviceName: "deviceName", deviceSize: "deviceSize", contextMenuItems: "contextMenuItems", columns: "columns", allowInlineEdit: "allowInlineEdit", secondaryColumns: "secondaryColumns", popin: "popin", customFieldInfo: "customFieldInfo", hasSummary: "hasSummary", hasSelected: "hasSelected", columnsCount: "columnsCount", hideOpenIcon: "hideOpenIcon", openOnClick: "openOnClick", typeDefId: "typeDefId", extraRelation: "extraRelation", relationList: "relationList", disableResponsive: "disableResponsive", rowItem: "rowItem", mobileOrTablet: "mobileOrTablet", inDialog: "inDialog", isMultiSelect: "isMultiSelect", fullscreen: "fullscreen", hideSearchpanel: "hideSearchpanel", newInlineEditMo: "newInlineEditMo", selectedMo: "selectedMo", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", rowHoverable: "rowHoverable", tlbButtons: "tlbButtons", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", rowActivable: "rowActivable", contentDensity: "contentDensity", rtl: "rtl", showOkCancelButtons: "showOkCancelButtons", title: "title", gridFreeColumnSizing: "gridFreeColumnSizing", navigationArrow: "navigationArrow", cartableTemplates: "cartableTemplates", cartableChildsMo: "cartableChildsMo", containerWidth: "containerWidth" }, outputs: { resetWorkflowState: "resetWorkflowState", deselectAll: "deselectAll", editFormPanelCancel: "editFormPanelCancel", editFormPanelSave: "editFormPanelSave", selectNextInlineRecord: "selectNextInlineRecord", editFormPanelValueChange: "editFormPanelValueChange", ulvCommandClick: "ulvCommandClick", sortAscending: "sortAscending", workflowShareButtons: "workflowShareButtons", sortDescending: "sortDescending", filter: "filter", executeToolbarButton: "executeToolbarButton", rowCheck: "rowCheck", rowClick: "rowClick", cartableFormClosed: "cartableFormClosed", createNewMo: "createNewMo", updateMo: "updateMo", expandClick: "expandClick", trackBySelectedFn: "trackBySelectedFn", allCheckbox: "allCheckbox", mandatory: "mandatory", columnResized: "columnResized", hasDetailsInRow: "hasDetailsInRow" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
161
|
+
ReportViewBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: ReportViewBaseComponent, selector: "bnrc-report-view-base", inputs: { contextView: "contextView", viewSetting: "viewSetting", allColumns: "allColumns", isCheckList: "isCheckList", allChecked: "allChecked", moDataList: "moDataList", access: "access", groupby: "groupby", selectedCount: "selectedCount", conditionalFormats: "conditionalFormats", parentHeight: "parentHeight", deviceName: "deviceName", deviceSize: "deviceSize", contextMenuItems: "contextMenuItems", columns: "columns", allowInlineEdit: "allowInlineEdit", secondaryColumns: "secondaryColumns", popin: "popin", customFieldInfo: "customFieldInfo", hasSummary: "hasSummary", hasSelected: "hasSelected", columnsCount: "columnsCount", hideOpenIcon: "hideOpenIcon", openOnClick: "openOnClick", typeDefId: "typeDefId", reportId: "reportId", listEditViewId: "listEditViewId", typeViewId: "typeViewId", extraRelation: "extraRelation", relationList: "relationList", disableResponsive: "disableResponsive", rowItem: "rowItem", mobileOrTablet: "mobileOrTablet", inDialog: "inDialog", isMultiSelect: "isMultiSelect", fullscreen: "fullscreen", hideSearchpanel: "hideSearchpanel", newInlineEditMo: "newInlineEditMo", selectedMo: "selectedMo", inlineEditMode: "inlineEditMode", onlyInlineEdit: "onlyInlineEdit", rowHoverable: "rowHoverable", tlbButtons: "tlbButtons", formSetting: "formSetting", disableOverflowContextMenu: "disableOverflowContextMenu", rowActivable: "rowActivable", contentDensity: "contentDensity", rtl: "rtl", showOkCancelButtons: "showOkCancelButtons", title: "title", gridFreeColumnSizing: "gridFreeColumnSizing", navigationArrow: "navigationArrow", cartableTemplates: "cartableTemplates", cartableChildsMo: "cartableChildsMo", containerWidth: "containerWidth" }, outputs: { resetWorkflowState: "resetWorkflowState", deselectAll: "deselectAll", editFormPanelCancel: "editFormPanelCancel", editFormPanelSave: "editFormPanelSave", selectNextInlineRecord: "selectNextInlineRecord", editFormPanelValueChange: "editFormPanelValueChange", ulvCommandClick: "ulvCommandClick", sortAscending: "sortAscending", workflowShareButtons: "workflowShareButtons", sortDescending: "sortDescending", filter: "filter", executeToolbarButton: "executeToolbarButton", rowCheck: "rowCheck", rowClick: "rowClick", cartableFormClosed: "cartableFormClosed", createNewMo: "createNewMo", updateMo: "updateMo", expandClick: "expandClick", trackBySelectedFn: "trackBySelectedFn", allCheckbox: "allCheckbox", mandatory: "mandatory", columnResized: "columnResized", hasDetailsInRow: "hasDetailsInRow" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
157
162
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: ReportViewBaseComponent, decorators: [{
|
|
158
163
|
type: Component,
|
|
159
164
|
args: [{
|
|
@@ -213,6 +218,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
213
218
|
type: Input
|
|
214
219
|
}], typeDefId: [{
|
|
215
220
|
type: Input
|
|
221
|
+
}], reportId: [{
|
|
222
|
+
type: Input
|
|
223
|
+
}], listEditViewId: [{
|
|
224
|
+
type: Input
|
|
225
|
+
}], typeViewId: [{
|
|
226
|
+
type: Input
|
|
216
227
|
}], extraRelation: [{
|
|
217
228
|
type: Input
|
|
218
229
|
}], relationList: [{
|
|
@@ -314,4 +325,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
314
325
|
}], containerWidth: [{
|
|
315
326
|
type: Input
|
|
316
327
|
}] } });
|
|
317
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXctYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvcmVwb3J0LXZpZXctYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUlULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQXFCakQsTUFBTSxPQUFPLHVCQUEyRCxTQUFRLGFBQWE7SUF3RnpGLFlBQ2MsR0FBZSxFQUNmLElBQXVCLEVBQ3ZCLFVBQXFCLEVBQ3JCLG1CQUEyQyxFQUMzQyxlQUErQixFQUMvQixjQUE2QixFQUNqQixjQUE4QjtRQUVwRCxLQUFLLEVBQUUsQ0FBQztRQVJFLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQ3JCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFDM0Msb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQ2pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQXBEL0MsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFTbkIsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM5QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDOUQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDNUQsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7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S0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0ksa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csd0JBQXdCO3NCQUFqQyxNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ00sY0FBYztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVGVtcGxhdGVSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5cbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbmRDb2x1bW5CeURiTmFtZVBpcGUgfSBmcm9tICcuLi9waXBlcyc7XG5pbXBvcnQgeyBQb3J0YWxTZXJ2aWNlLCBVbHZNYWluU2VydmljZSwgVXBsb2FkU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcbmltcG9ydCB7XG4gICAgQWJicmV2YXRpb25EZXZpY2VTaXplLFxuICAgIGNvbHVtbnNSZXNpemVkRXZlbnRBcmdzLFxuICAgIERlZmF1bHRDb21tYW5kc0FjY2VzcyxcbiAgICBEZXZpY2VTaXplLFxuICAgIEZvcm1TZXR0aW5nLFxuICAgIE1ldGFvYmplY3REYXRhTW9kZWwsXG4gICAgUmVsYXRpb25JdGVtVHlwZSxcbiAgICBSZXBvcnRWaWV3Q29sdW1uLFxuICAgIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nLFxuICAgIFNoYXJlQnV0dG9uc0Nob2ljZURlZlxufSBmcm9tICcuL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYm5yYy1yZXBvcnQtdmlldy1iYXNlJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0Vmlld0Jhc2VDb21wb25lbnQ8VCBleHRlbmRzIFVpUmVwb3J0Vmlld0Jhc2VTZXR0aW5nPiBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGNvbnRleHRWaWV3OiBhbnk7XG4gICAgQElucHV0KCkgdmlld1NldHRpbmc6IFQ7XG4gICAgQElucHV0KCkgYWxsQ29sdW1uczogYW55O1xuICAgIEBJbnB1dCgpIGlzQ2hlY2tMaXN0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGFsbENoZWNrZWQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbW9EYXRhTGlzdDogYW55O1xuICAgIEBJbnB1dCgpIGFjY2VzczogRGVmYXVsdENvbW1hbmRzQWNjZXNzO1xuICAgIEBJbnB1dCgpIGdyb3VwYnk6IGFueTtcbiAgICBASW5wdXQoKSBzZWxlY3RlZENvdW50OiBhbnk7XG4gICAgQElucHV0KCkgY29uZGl0aW9uYWxGb3JtYXRzOiBhbnk7XG4gICAgQElucHV0KCkgcGFyZW50SGVpZ2h0OiBudW1iZXI7XG4gICAgQElucHV0KCkgZGV2aWNlTmFtZTogRGV2aWNlU2l6ZTtcbiAgICBASW5wdXQoKSBkZXZpY2VTaXplOiBBYmJyZXZhdGlvbkRldmljZVNpemU7XG4gICAgQElucHV0KCkgY29udGV4dE1lbnVJdGVtczogYW55W107XG4gICAgQElucHV0KCkgY29sdW1uczogYW55O1xuICAgIEBJbnB1dCgpIGFsbG93SW5saW5lRWRpdDogYW55O1xuICAgIEBJbnB1dCgpIHNlY29uZGFyeUNvbHVtbnM6IGFueTtcbiAgICBASW5wdXQoKSBwb3BpbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjdXN0b21GaWVsZEluZm86IE1ldGFvYmplY3REYXRhTW9kZWwgfCBhbnk7XG4gICAgQElucHV0KCkgaGFzU3VtbWFyeTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBoYXNTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBjb2x1bW5zQ291bnQ6IGFueTtcbiAgICBASW5wdXQoKSBoaWRlT3Blbkljb246IGJvb2xlYW47XG4gICAgQElucHV0KCkgb3Blbk9uQ2xpY2s6IGJvb2xlYW47XG4gICAgQElucHV0KCkgdHlwZURlZklkOiBzdHJpbmc7XG4gICAgQElucHV0KCkgZXh0cmFSZWxhdGlvbjogYW55O1xuICAgIEBJbnB1dCgpIHJlbGF0aW9uTGlzdDogQXJyYXk8UmVsYXRpb25JdGVtVHlwZT47XG4gICAgQElucHV0KCkgZGlzYWJsZVJlc3BvbnNpdmU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcm93SXRlbTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBASW5wdXQoKSBtb2JpbGVPclRhYmxldDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpbkRpYWxvZzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBpc011bHRpU2VsZWN0OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGZ1bGxzY3JlZW46IGJvb2xlYW47XG4gICAgQElucHV0KCkgaGlkZVNlYXJjaHBhbmVsOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG5ld0lubGluZUVkaXRNbzogTWV0YW9iamVjdERhdGFNb2RlbCB8IG51bGw7XG4gICAgQElucHV0KCkgc2VsZWN0ZWRNbzogTWV0YW9iamVjdERhdGFNb2RlbDtcbiAgICBASW5wdXQoKSBpbmxpbmVFZGl0TW9kZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBvbmx5SW5saW5lRWRpdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSByb3dIb3ZlcmFibGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgdGxiQnV0dG9uczogYW55W107XG4gICAgQElucHV0KCkgZm9ybVNldHRpbmc6IEZvcm1TZXR0aW5nO1xuICAgIEBJbnB1dCgpIGRpc2FibGVPdmVyZmxvd0NvbnRleHRNZW51OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHJvd0FjdGl2YWJsZSA9IHRydWU7XG4gICAgQElucHV0KCkgY29udGVudERlbnNpdHk6IENvbnRlbnREZW5zaXR5O1xuICAgIEBJbnB1dCgpIHJ0bDtcbiAgICBASW5wdXQoKSBzaG93T2tDYW5jZWxCdXR0b25zO1xuICAgIEBJbnB1dCgpIHRpdGxlO1xuICAgIEBJbnB1dCgpIGdyaWRGcmVlQ29sdW1uU2l6aW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG5hdmlnYXRpb25BcnJvdzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNhcnRhYmxlVGVtcGxhdGVzOiB7IFtrZXk6IHN0cmluZ106IEZvcm1TZXR0aW5nIH07XG4gICAgQElucHV0KCkgY2FydGFibGVDaGlsZHNNbzogeyBba2V5OiBzdHJpbmddOiBNZXRhb2JqZWN0RGF0YU1vZGVsIH07XG4gICAgQE91dHB1dCgpIHJlc2V0V29ya2Zsb3dTdGF0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgZGVzZWxlY3RBbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIGVkaXRGb3JtUGFuZWxDYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIGVkaXRGb3JtUGFuZWxTYXZlID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSBzZWxlY3ROZXh0SW5saW5lUmVjb3JkID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSBlZGl0Rm9ybVBhbmVsVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIHVsdkNvbW1hbmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBzb3J0QXNjZW5kaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHdvcmtmbG93U2hhcmVCdXR0b25zID0gbmV3IEV2ZW50RW1pdHRlcjxTaGFyZUJ1dHRvbnNDaG9pY2VEZWY+KCk7XG4gICAgQE91dHB1dCgpIHNvcnREZXNjZW5kaW5nID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBleGVjdXRlVG9vbGJhckJ1dHRvbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpdGVtSWQ6IHN0cmluZzsgb3B0aW9ucz86IGFueSB9PigpO1xuICAgIEBPdXRwdXQoKSByb3dDaGVjayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtbzsgaW5kZXg7IGNhdXNlPyB9PigpO1xuICAgIEBPdXRwdXQoKSByb3dDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtbzsgaW5kZXggfT4oKTtcbiAgICBAT3V0cHV0KCkgY2FydGFibGVGb3JtQ2xvc2VkID0gbmV3IEV2ZW50RW1pdHRlcjx7IG1vOyBpbmRleCB9PigpO1xuICAgIEBPdXRwdXQoKSBjcmVhdGVOZXdNbyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBAT3V0cHV0KCkgdXBkYXRlTW8gPSBuZXcgRXZlbnRFbWl0dGVyPE1ldGFvYmplY3REYXRhTW9kZWw+KCk7XG4gICAgQE91dHB1dCgpIGV4cGFuZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSB0cmFja0J5U2VsZWN0ZWRGbiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBpbmRleDsgcmVjb3JkIH0+KCk7XG4gICAgQE91dHB1dCgpIGFsbENoZWNrYm94ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBtYW5kYXRvcnkgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIGNvbHVtblJlc2l6ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGNvbHVtbnNSZXNpemVkRXZlbnRBcmdzPigpO1xuICAgIEBPdXRwdXQoKSBoYXNEZXRhaWxzSW5Sb3cgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQElucHV0KCkgc2V0IGNvbnRhaW5lcldpZHRoKHZhbDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX2NvbnRhaW5lcldpZHRoID0gdmFsO1xuICAgICAgICB0aGlzLl9jb250YWluZXJXaWR0aENoYW5nZWQodmFsKTtcbiAgICB9XG5cbiAgICByZXNpemVkQnlVc2VyOiBib29sZWFuO1xuICAgIGVsV2lkdGg6IG51bWJlcjtcbiAgICBjYW5WaWV3ID0gZmFsc2U7XG4gICAgZml0V2lkdGg6IGJvb2xlYW47XG4gICAgZmlyc3RTZWxlY3RlZE1ldGFvYmplY3Q6IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgY29udGV4dE1lbnVXaWR0aCA9IDA7XG4gICAgcHJpdmF0ZSBfc2luZ2xlQ2xpY2tlZDogYm9vbGVhbjtcbiAgICBwcm90ZWN0ZWQgX2NvbnRhaW5lcldpZHRoID0gMDtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIF9lbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJvdGVjdGVkIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX3JlbmRlcmVyMjogUmVuZGVyZXIyLFxuICAgICAgICBwcm90ZWN0ZWQgX2ZpbmRDb2x1bW5CeURiTmFtZTogRmluZENvbHVtbkJ5RGJOYW1lUGlwZSxcbiAgICAgICAgcHJvdGVjdGVkIF91bHZNYWluU2VydmljZTogVWx2TWFpblNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBfcG9ydGFsU2VydmljZTogUG9ydGFsU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIF91cGxvYWRTZXJ2aWNlPzogVXBsb2FkU2VydmljZVxuICAgICkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICBpZiAodGhpcy5hY2Nlc3MuVmlldyAmJiAhdGhpcy5zaG93T2tDYW5jZWxCdXR0b25zKSB7XG4gICAgICAgICAgICB0aGlzLmNhblZpZXcgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxXaWR0aCA9IHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICAgIHRoaXMuZml0V2lkdGggPSB0aGlzLnZpZXdTZXR0aW5nPy5GaXRXaWR0aCA9PT0gdHJ1ZSA/IHRydWUgOiBmYWxzZTtcbiAgICB9XG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgICAgICAgbGV0IGRldGVjdENoYW5nZXMgPSBmYWxzZTtcbiAgICAgICAgT2JqZWN0LmtleXMoY2hhbmdlcykuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAoIWNoYW5nZXNba2V5XS5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgICAgIHRoaXNba2V5XSA9IGNoYW5nZXNba2V5XS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICAgICAgZGV0ZWN0Q2hhbmdlcyA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZGV0ZWN0Q2hhbmdlcykge1xuICAgICAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRlc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc2VsZWN0QWxsLmVtaXQoKTtcbiAgICB9XG4gICAgb25Sb3dDaGVjayh7IG1vLCBpbmRleCB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NpbmdsZUNsaWNrZWQgPSB0cnVlO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9zaW5nbGVDbGlja2VkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3dDaGVjay5lbWl0KHsgbW8sIGluZGV4IH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAzMCk7XG4gICAgICAgIC8vIHRoaXMucm93Q2hlY2suZW1pdCh7IG1vLCBpbmRleCwgY2F1c2UgfSk7XG4gICAgfVxuICAgIG9uV29ya2Zsb3dTaGFyZUJ1dHRvbnMoZTogU2hhcmVCdXR0b25zQ2hvaWNlRGVmKTogdm9pZCB7XG4gICAgICAgIHRoaXMud29ya2Zsb3dTaGFyZUJ1dHRvbnMuZW1pdChlKTtcbiAgICB9XG4gICAgb25PbGdvRXZlbnRzKGU6IHsgdGl0bGU6IHN0cmluZzsgZGF0YT86IGFueSB9KTogdm9pZCB7XG4gICAgICAgIHRoaXNbZS50aXRsZV0uZW1pdChlLmRhdGEpO1xuICAgIH1cbiAgICBvblJvd0NsaWNrKHsgbW8sIGluZGV4IH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2luZ2xlQ2xpY2tlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJvd0NsaWNrLmVtaXQoeyBtbywgaW5kZXggfSk7XG4gICAgfVxuICAgIG9uQ2FydGFibGVGb3JtQ2xvc2VkKHsgbW8sIGluZGV4IH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYXJ0YWJsZUZvcm1DbG9zZWQuZW1pdCh7IG1vLCBpbmRleCB9KTtcbiAgICB9XG5cbiAgICBvbkV4cGFuZENsaWNrKG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5kQ2xpY2suZW1pdChtbyk7XG4gICAgfVxuXG4gICAgb25BbGxDaGVja2JveChjaGVja2VkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWxsQ2hlY2tib3guZW1pdChjaGVja2VkKTtcbiAgICB9XG4gICAgb25DbGVhckNoZWNrYm94KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFsbENoZWNrYm94LmVtaXQoZmFsc2UpO1xuICAgIH1cbiAgICBvblNlbGVjdE5leHRJbmxpbmVSZWNvcmQobW8pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3ROZXh0SW5saW5lUmVjb3JkLmVtaXQobW8pO1xuICAgIH1cbiAgICBvbkVkaXRGb3JtUGFuZWxTYXZlKG1vKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdEZvcm1QYW5lbFNhdmUuZW1pdChtbyk7XG4gICAgfVxuICAgIG9uRWRpdEZvcm1QYW5lbENhbmNlbChtbzogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxDYW5jZWwuZW1pdChtbyk7XG4gICAgfVxuICAgIG9uRWRpdEZvcm1QYW5lbFZhbHVlQ2hhbmdlKG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWRpdEZvcm1QYW5lbFZhbHVlQ2hhbmdlLmVtaXQobW8pO1xuICAgIH1cbiAgICBvblVsdkNvbW1hbmQoeyBtbywgaW5kZXggfSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVsdkNvbW1hbmRDbGljay5lbWl0KHsgbW8sIGluZGV4IH0pO1xuICAgIH1cblxuICAgIG9uU29ydEFzY2VuZGluZyhjb2x1bW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zb3J0QXNjZW5kaW5nLmVtaXQoY29sdW1uKTtcbiAgICB9XG5cbiAgICBvblNvcnREZXNjZW5kaW5nKGNvbHVtbik6IHZvaWQge1xuICAgICAgICB0aGlzLnNvcnREZXNjZW5kaW5nLmVtaXQoY29sdW1uKTtcbiAgICB9XG5cbiAgICBvbkZpbHRlcihjb2x1bW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5maWx0ZXIuZW1pdChjb2x1bW4pO1xuICAgIH1cbiAgICBvbkR5bmFtaWNDb21wb25lbnRFdmVudHMoZTogeyB0aXRsZTogc3RyaW5nOyBkYXRhPzogYW55IH0sIG1vOiBNZXRhb2JqZWN0RGF0YU1vZGVsLCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHN3aXRjaCAoZS50aXRsZSkge1xuICAgICAgICAgICAgY2FzZSAncm93Q2hlY2snOlxuICAgICAgICAgICAgICAgIHRoaXMub25Sb3dDaGVjayh7IG1vLCBpbmRleCB9KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ3Jvd0NsaWNrJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uUm93Q2xpY2soeyBtbywgaW5kZXggfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICd1bHZDb21tYW5kJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uVWx2Q29tbWFuZCh7IG1vLCBpbmRleCB9KTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgICBfdHJhY2tCeVNlbGVjdGVkRm4oaW5kZXgsIHJlY29yZCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyYWNrQnlTZWxlY3RlZEZuPy5lbWl0KHsgaW5kZXgsIHJlY29yZCB9KTtcbiAgICB9XG5cbiAgICBfdHJhY2tCeUNvbHVtbihpbmRleDogbnVtYmVyLCBjb2x1bW46IFJlcG9ydFZpZXdDb2x1bW4pOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7Y29sdW1uLk5hbWV9JHtpbmRleH1gO1xuICAgIH1cbiAgICBfdHJhY2tCeVJvdyhpbmRleDogbnVtYmVyLCByb3c6IE1ldGFvYmplY3REYXRhTW9kZWwpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7cm93LiRHcm91cCA/IHJvdy4kR3JvdXAgOiByb3cuSWR9JHtpbmRleH1gO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgcHJvdGVjdGVkIF9jb250YWluZXJXaWR0aENoYW5nZWQoXzogbnVtYmVyKTogdm9pZCB7fVxufVxuIl19
|
|
328
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXZpZXctYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1ub3Zpbi1yYXktY29yZS9zcmMvbGliL2Fic3RyYWN0LWNsYXNzZXMvcmVwb3J0LXZpZXctYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFFTCxRQUFRLEVBQ1IsTUFBTSxFQUlULE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQXFCakQsTUFBTSxPQUFPLHVCQUEyRCxTQUFRLGFBQWE7SUE0RnpGLFlBQ2MsR0FBZSxFQUNmLElBQXVCLEVBQ3ZCLFVBQXFCLEVBQ3JCLG1CQUEyQyxFQUMzQyxlQUErQixFQUMvQixjQUE2QixFQUNqQixjQUE4QjtRQUVwRCxLQUFLLEVBQUUsQ0FBQztRQVJFLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUN2QixlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQ3JCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBd0I7UUFDM0Msb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQ2pCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQXJEL0MsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFTbkIsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM5QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDOUQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7UUFDNUQsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQXVCLENBQUM7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LE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDTSxjQUFjO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2ltcGxlQ2hhbmdlcyxcbiAgICBUZW1wbGF0ZVJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmluZENvbHVtbkJ5RGJOYW1lUGlwZSB9IGZyb20gJy4uL3BpcGVzJztcbmltcG9ydCB7IFBvcnRhbFNlcnZpY2UsIFVsdk1haW5TZXJ2aWNlLCBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgICBBYmJyZXZhdGlvbkRldmljZVNpemUsXG4gICAgY29sdW1uc1Jlc2l6ZWRFdmVudEFyZ3MsXG4gICAgRGVmYXVsdENvbW1hbmRzQWNjZXNzLFxuICAgIERldmljZVNpemUsXG4gICAgRm9ybVNldHRpbmcsXG4gICAgTWV0YW9iamVjdERhdGFNb2RlbCxcbiAgICBSZWxhdGlvbkl0ZW1UeXBlLFxuICAgIFJlcG9ydFZpZXdDb2x1bW4sXG4gICAgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmcsXG4gICAgU2hhcmVCdXR0b25zQ2hvaWNlRGVmXG59IGZyb20gJy4vbW9kZWxzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdibnJjLXJlcG9ydC12aWV3LWJhc2UnLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBSZXBvcnRWaWV3QmFzZUNvbXBvbmVudDxUIGV4dGVuZHMgVWlSZXBvcnRWaWV3QmFzZVNldHRpbmc+IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgY29udGV4dFZpZXc6IGFueTtcbiAgICBASW5wdXQoKSB2aWV3U2V0dGluZzogVDtcbiAgICBASW5wdXQoKSBhbGxDb2x1bW5zOiBhbnk7XG4gICAgQElucHV0KCkgaXNDaGVja0xpc3Q6IGJvb2xlYW47XG4gICAgQElucHV0KCkgYWxsQ2hlY2tlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtb0RhdGFMaXN0OiBhbnk7XG4gICAgQElucHV0KCkgYWNjZXNzOiBEZWZhdWx0Q29tbWFuZHNBY2Nlc3M7XG4gICAgQElucHV0KCkgZ3JvdXBieTogYW55O1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkQ291bnQ6IGFueTtcbiAgICBASW5wdXQoKSBjb25kaXRpb25hbEZvcm1hdHM6IGFueTtcbiAgICBASW5wdXQoKSBwYXJlbnRIZWlnaHQ6IG51bWJlcjtcbiAgICBASW5wdXQoKSBkZXZpY2VOYW1lOiBEZXZpY2VTaXplO1xuICAgIEBJbnB1dCgpIGRldmljZVNpemU6IEFiYnJldmF0aW9uRGV2aWNlU2l6ZTtcbiAgICBASW5wdXQoKSBjb250ZXh0TWVudUl0ZW1zOiBhbnlbXTtcbiAgICBASW5wdXQoKSBjb2x1bW5zOiBhbnk7XG4gICAgQElucHV0KCkgYWxsb3dJbmxpbmVFZGl0OiBhbnk7XG4gICAgQElucHV0KCkgc2Vjb25kYXJ5Q29sdW1uczogYW55O1xuICAgIEBJbnB1dCgpIHBvcGluOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGN1c3RvbUZpZWxkSW5mbzogTWV0YW9iamVjdERhdGFNb2RlbCB8IGFueTtcbiAgICBASW5wdXQoKSBoYXNTdW1tYXJ5OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhhc1NlbGVjdGVkOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGNvbHVtbnNDb3VudDogYW55O1xuICAgIEBJbnB1dCgpIGhpZGVPcGVuSWNvbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBvcGVuT25DbGljazogYm9vbGVhbjtcbiAgICBASW5wdXQoKSB0eXBlRGVmSWQ6IHN0cmluZztcbiAgICBASW5wdXQoKSByZXBvcnRJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGxpc3RFZGl0Vmlld0lkOiBzdHJpbmc7XG4gICAgQElucHV0KCkgdHlwZVZpZXdJZDogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGV4dHJhUmVsYXRpb246IGFueTtcbiAgICBASW5wdXQoKSByZWxhdGlvbkxpc3Q6IEFycmF5PFJlbGF0aW9uSXRlbVR5cGU+O1xuICAgIEBJbnB1dCgpIGRpc2FibGVSZXNwb25zaXZlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHJvd0l0ZW06IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQElucHV0KCkgbW9iaWxlT3JUYWJsZXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaW5EaWFsb2c6IGJvb2xlYW47XG4gICAgQElucHV0KCkgaXNNdWx0aVNlbGVjdDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBmdWxsc2NyZWVuOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVTZWFyY2hwYW5lbDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBuZXdJbmxpbmVFZGl0TW86IE1ldGFvYmplY3REYXRhTW9kZWwgfCBudWxsO1xuICAgIEBJbnB1dCgpIHNlbGVjdGVkTW86IE1ldGFvYmplY3REYXRhTW9kZWw7XG4gICAgQElucHV0KCkgaW5saW5lRWRpdE1vZGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgb25seUlubGluZUVkaXQ6IGJvb2xlYW47XG4gICAgQElucHV0KCkgcm93SG92ZXJhYmxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIHRsYkJ1dHRvbnM6IGFueVtdO1xuICAgIEBJbnB1dCgpIGZvcm1TZXR0aW5nOiBGb3JtU2V0dGluZztcbiAgICBASW5wdXQoKSBkaXNhYmxlT3ZlcmZsb3dDb250ZXh0TWVudTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSByb3dBY3RpdmFibGUgPSB0cnVlO1xuICAgIEBJbnB1dCgpIGNvbnRlbnREZW5zaXR5OiBDb250ZW50RGVuc2l0eTtcbiAgICBASW5wdXQoKSBydGw7XG4gICAgQElucHV0KCkgc2hvd09rQ2FuY2VsQnV0dG9ucztcbiAgICBASW5wdXQoKSB0aXRsZTtcbiAgICBASW5wdXQoKSBncmlkRnJlZUNvbHVtblNpemluZzogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBuYXZpZ2F0aW9uQXJyb3c6IHN0cmluZztcbiAgICBASW5wdXQoKSBjYXJ0YWJsZVRlbXBsYXRlczogeyBba2V5OiBzdHJpbmddOiBGb3JtU2V0dGluZyB9O1xuICAgIEBJbnB1dCgpIGNhcnRhYmxlQ2hpbGRzTW86IHsgW2tleTogc3RyaW5nXTogTWV0YW9iamVjdERhdGFNb2RlbCB9O1xuICAgIEBPdXRwdXQoKSByZXNldFdvcmtmbG93U3RhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIGRlc2VsZWN0QWxsID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIEBPdXRwdXQoKSBlZGl0Rm9ybVBhbmVsQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSBlZGl0Rm9ybVBhbmVsU2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgc2VsZWN0TmV4dElubGluZVJlY29yZCA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgZWRpdEZvcm1QYW5lbFZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSB1bHZDb21tYW5kQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgc29ydEFzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSB3b3JrZmxvd1NoYXJlQnV0dG9ucyA9IG5ldyBFdmVudEVtaXR0ZXI8U2hhcmVCdXR0b25zQ2hvaWNlRGVmPigpO1xuICAgIEBPdXRwdXQoKSBzb3J0RGVzY2VuZGluZyA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgZXhlY3V0ZVRvb2xiYXJCdXR0b24gPSBuZXcgRXZlbnRFbWl0dGVyPHsgaXRlbUlkOiBzdHJpbmc7IG9wdGlvbnM/OiBhbnkgfT4oKTtcbiAgICBAT3V0cHV0KCkgcm93Q2hlY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbW87IGluZGV4OyBjYXVzZT8gfT4oKTtcbiAgICBAT3V0cHV0KCkgcm93Q2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbW87IGluZGV4IH0+KCk7XG4gICAgQE91dHB1dCgpIGNhcnRhYmxlRm9ybUNsb3NlZCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBtbzsgaW5kZXggfT4oKTtcbiAgICBAT3V0cHV0KCkgY3JlYXRlTmV3TW8gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIHVwZGF0ZU1vID0gbmV3IEV2ZW50RW1pdHRlcjxNZXRhb2JqZWN0RGF0YU1vZGVsPigpO1xuICAgIEBPdXRwdXQoKSBleHBhbmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TWV0YW9iamVjdERhdGFNb2RlbD4oKTtcbiAgICBAT3V0cHV0KCkgdHJhY2tCeVNlbGVjdGVkRm4gPSBuZXcgRXZlbnRFbWl0dGVyPHsgaW5kZXg7IHJlY29yZCB9PigpO1xuICAgIEBPdXRwdXQoKSBhbGxDaGVja2JveCA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCkgbWFuZGF0b3J5ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBPdXRwdXQoKSBjb2x1bW5SZXNpemVkID0gbmV3IEV2ZW50RW1pdHRlcjxjb2x1bW5zUmVzaXplZEV2ZW50QXJncz4oKTtcbiAgICBAT3V0cHV0KCkgaGFzRGV0YWlsc0luUm93ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICAgIEBJbnB1dCgpIHNldCBjb250YWluZXJXaWR0aCh2YWw6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9jb250YWluZXJXaWR0aCA9IHZhbDtcbiAgICAgICAgdGhpcy5fY29udGFpbmVyV2lkdGhDaGFuZ2VkKHZhbCk7XG4gICAgfVxuXG4gICAgcmVzaXplZEJ5VXNlcjogYm9vbGVhbjtcbiAgICBlbFdpZHRoOiBudW1iZXI7XG4gICAgY2FuVmlldyA9IGZhbHNlO1xuICAgIGZpdFdpZHRoOiBib29sZWFuO1xuICAgIGZpcnN0U2VsZWN0ZWRNZXRhb2JqZWN0OiBNZXRhb2JqZWN0RGF0YU1vZGVsO1xuICAgIGNvbnRleHRNZW51V2lkdGggPSAwO1xuICAgIGZpZWxkRGljdDogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICBwcml2YXRlIF9zaW5nbGVDbGlja2VkOiBib29sZWFuO1xuICAgIHByb3RlY3RlZCBfY29udGFpbmVyV2lkdGggPSAwO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgX2VsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcm90ZWN0ZWQgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByb3RlY3RlZCBfcmVuZGVyZXIyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByb3RlY3RlZCBfZmluZENvbHVtbkJ5RGJOYW1lOiBGaW5kQ29sdW1uQnlEYk5hbWVQaXBlLFxuICAgICAgICBwcm90ZWN0ZWQgX3Vsdk1haW5TZXJ2aWNlOiBVbHZNYWluU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIF9wb3J0YWxTZXJ2aWNlOiBQb3J0YWxTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgX3VwbG9hZFNlcnZpY2U/OiBVcGxvYWRTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIGlmICh0aGlzLmFjY2Vzcy5WaWV3ICYmICF0aGlzLnNob3dPa0NhbmNlbEJ1dHRvbnMpIHtcbiAgICAgICAgICAgIHRoaXMuY2FuVmlldyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbFdpZHRoID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aDtcbiAgICAgICAgdGhpcy5maXRXaWR0aCA9IHRoaXMudmlld1NldHRpbmc/LkZpdFdpZHRoID09PSB0cnVlID8gdHJ1ZSA6IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5jb2x1bW5zKSB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZERpY3QgPSB7fTtcbiAgICAgICAgICAgIHRoaXMuY29sdW1ucy5mb3JFYWNoKChjKSA9PiAoZmllbGREaWN0W2MuQ2FwdGlvbl0gPSBjLk5hbWUpKTtcbiAgICAgICAgICAgIHRoaXMuZmllbGREaWN0ID0gZmllbGREaWN0O1xuICAgICAgICB9XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gICAgICAgIGxldCBkZXRlY3RDaGFuZ2VzID0gZmFsc2U7XG4gICAgICAgIE9iamVjdC5rZXlzKGNoYW5nZXMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFjaGFuZ2VzW2tleV0uZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzW2tleV0gPSBjaGFuZ2VzW2tleV0uY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgICAgIGRldGVjdENoYW5nZXMgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGRldGVjdENoYW5nZXMpIHtcbiAgICAgICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EZXNlbGVjdEFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXNlbGVjdEFsbC5lbWl0KCk7XG4gICAgfVxuICAgIG9uUm93Q2hlY2soeyBtbywgaW5kZXggfSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zaW5nbGVDbGlja2VkID0gdHJ1ZTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5fc2luZ2xlQ2xpY2tlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMucm93Q2hlY2suZW1pdCh7IG1vLCBpbmRleCB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMzApO1xuICAgICAgICAvLyB0aGlzLnJvd0NoZWNrLmVtaXQoeyBtbywgaW5kZXgsIGNhdXNlIH0pO1xuICAgIH1cbiAgICBvbldvcmtmbG93U2hhcmVCdXR0b25zKGU6IFNoYXJlQnV0dG9uc0Nob2ljZURlZik6IHZvaWQge1xuICAgICAgICB0aGlzLndvcmtmbG93U2hhcmVCdXR0b25zLmVtaXQoZSk7XG4gICAgfVxuICAgIG9uT2xnb0V2ZW50cyhlOiB7IHRpdGxlOiBzdHJpbmc7IGRhdGE/OiBhbnkgfSk6IHZvaWQge1xuICAgICAgICB0aGlzW2UudGl0bGVdLmVtaXQoZS5kYXRhKTtcbiAgICB9XG4gICAgb25Sb3dDbGljayh7IG1vLCBpbmRleCB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NpbmdsZUNsaWNrZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5yb3dDbGljay5lbWl0KHsgbW8sIGluZGV4IH0pO1xuICAgIH1cbiAgICBvbkNhcnRhYmxlRm9ybUNsb3NlZCh7IG1vLCBpbmRleCB9KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2FydGFibGVGb3JtQ2xvc2VkLmVtaXQoeyBtbywgaW5kZXggfSk7XG4gICAgfVxuXG4gICAgb25FeHBhbmRDbGljayhtbzogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV4cGFuZENsaWNrLmVtaXQobW8pO1xuICAgIH1cblxuICAgIG9uQWxsQ2hlY2tib3goY2hlY2tlZCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFsbENoZWNrYm94LmVtaXQoY2hlY2tlZCk7XG4gICAgfVxuICAgIG9uQ2xlYXJDaGVja2JveCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hbGxDaGVja2JveC5lbWl0KGZhbHNlKTtcbiAgICB9XG4gICAgb25TZWxlY3ROZXh0SW5saW5lUmVjb3JkKG1vKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0TmV4dElubGluZVJlY29yZC5lbWl0KG1vKTtcbiAgICB9XG4gICAgb25FZGl0Rm9ybVBhbmVsU2F2ZShtbyk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxTYXZlLmVtaXQobW8pO1xuICAgIH1cbiAgICBvbkVkaXRGb3JtUGFuZWxDYW5jZWwobW86IE1ldGFvYmplY3REYXRhTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0Rm9ybVBhbmVsQ2FuY2VsLmVtaXQobW8pO1xuICAgIH1cbiAgICBvbkVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZShtbzogTWV0YW9iamVjdERhdGFNb2RlbCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRGb3JtUGFuZWxWYWx1ZUNoYW5nZS5lbWl0KG1vKTtcbiAgICB9XG4gICAgb25VbHZDb21tYW5kKHsgbW8sIGluZGV4IH0pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bHZDb21tYW5kQ2xpY2suZW1pdCh7IG1vLCBpbmRleCB9KTtcbiAgICB9XG5cbiAgICBvblNvcnRBc2NlbmRpbmcoY29sdW1uKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc29ydEFzY2VuZGluZy5lbWl0KGNvbHVtbik7XG4gICAgfVxuXG4gICAgb25Tb3J0RGVzY2VuZGluZyhjb2x1bW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zb3J0RGVzY2VuZGluZy5lbWl0KGNvbHVtbik7XG4gICAgfVxuXG4gICAgb25GaWx0ZXIoY29sdW1uKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmlsdGVyLmVtaXQoY29sdW1uKTtcbiAgICB9XG4gICAgb25EeW5hbWljQ29tcG9uZW50RXZlbnRzKGU6IHsgdGl0bGU6IHN0cmluZzsgZGF0YT86IGFueSB9LCBtbzogTWV0YW9iamVjdERhdGFNb2RlbCwgaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBzd2l0Y2ggKGUudGl0bGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3Jvd0NoZWNrJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uUm93Q2hlY2soeyBtbywgaW5kZXggfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdyb3dDbGljayc6XG4gICAgICAgICAgICAgICAgdGhpcy5vblJvd0NsaWNrKHsgbW8sIGluZGV4IH0pO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndWx2Q29tbWFuZCc6XG4gICAgICAgICAgICAgICAgdGhpcy5vblVsdkNvbW1hbmQoeyBtbywgaW5kZXggfSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGV0ZWN0Q2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gICAgX3RyYWNrQnlTZWxlY3RlZEZuKGluZGV4LCByZWNvcmQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50cmFja0J5U2VsZWN0ZWRGbj8uZW1pdCh7IGluZGV4LCByZWNvcmQgfSk7XG4gICAgfVxuXG4gICAgX3RyYWNrQnlDb2x1bW4oaW5kZXg6IG51bWJlciwgY29sdW1uOiBSZXBvcnRWaWV3Q29sdW1uKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke2NvbHVtbi5OYW1lfSR7aW5kZXh9YDtcbiAgICB9XG4gICAgX3RyYWNrQnlSb3coaW5kZXg6IG51bWJlciwgcm93OiBNZXRhb2JqZWN0RGF0YU1vZGVsKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3Jvdy4kR3JvdXAgPyByb3cuJEdyb3VwIDogcm93LklkfSR7aW5kZXh9YDtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIHByb3RlY3RlZCBfY29udGFpbmVyV2lkdGhDaGFuZ2VkKF86IG51bWJlcik6IHZvaWQge31cbn1cbiJdfQ==
|