taxtank-core 0.7.2 → 0.8.2
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/bundles/taxtank-core.umd.js +180 -155
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/collection.js +7 -4
- package/esm2015/lib/collections/property/property.collection.js +2 -5
- package/esm2015/lib/db/Enums/property/property-share-access.enum.js +6 -0
- package/esm2015/lib/db/Enums/property/property-share-status.enum.js +7 -0
- package/esm2015/lib/db/Enums/user-event-type-client-type.enum.js +9 -9
- package/esm2015/lib/db/Models/client-details.js +1 -1
- package/esm2015/lib/db/Models/property/property-sale/property-sale.js +1 -1
- package/esm2015/lib/db/Models/property/property-share.js +3 -0
- package/esm2015/lib/db/Models/property/property.js +1 -1
- package/esm2015/lib/db/Models/user.js +1 -1
- package/esm2015/lib/models/bank/basiq-config.js +12 -0
- package/esm2015/lib/models/depreciation/depreciation.js +2 -2
- package/esm2015/lib/models/endpoint/endpoints.const.js +4 -4
- package/esm2015/lib/models/event/app-event-type.enum.js +2 -2
- package/esm2015/lib/models/notification/notification.js +3 -3
- package/esm2015/lib/models/pdf/pdf-config.js +11 -3
- package/esm2015/lib/models/property/property-sale/property-sale.js +1 -1
- package/esm2015/lib/models/property/{property-owner.js → property-share.js} +15 -15
- package/esm2015/lib/models/property/property.js +9 -8
- package/esm2015/lib/models/property/share-filter-options.enum.js +11 -0
- package/esm2015/lib/services/bank/bank-account.service.js +2 -2
- package/esm2015/lib/services/depreciation/depreciation.service.js +2 -2
- package/esm2015/lib/services/pdf/pdf.service.js +12 -3
- package/esm2015/lib/services/property/property-share/property-share.service.js +115 -0
- package/esm2015/lib/services/property/property.service.js +6 -6
- package/esm2015/public-api.js +8 -6
- package/fesm2015/taxtank-core.js +149 -126
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/collection.d.ts +2 -1
- package/lib/collections/property/property.collection.d.ts +1 -4
- package/lib/db/Enums/property/property-share-access.enum.d.ts +4 -0
- package/lib/db/Enums/property/{property-owner-status.enum.d.ts → property-share-status.enum.d.ts} +1 -1
- package/lib/db/Enums/user-event-type-client-type.enum.d.ts +8 -8
- package/lib/db/Models/client-details.d.ts +1 -0
- package/lib/db/Models/property/property-sale/property-sale.d.ts +4 -3
- package/lib/db/Models/property/{property-owner.d.ts → property-share.d.ts} +6 -6
- package/lib/db/Models/property/property.d.ts +2 -2
- package/lib/db/Models/user.d.ts +2 -2
- package/lib/models/bank/basiq-config.d.ts +17 -0
- package/lib/models/event/app-event-type.enum.d.ts +1 -1
- package/lib/models/property/{property-owner.d.ts → property-share.d.ts} +3 -3
- package/lib/models/property/property.d.ts +6 -5
- package/lib/models/property/share-filter-options.enum.d.ts +9 -0
- package/lib/services/pdf/pdf.service.d.ts +1 -0
- package/lib/services/property/property-share/property-share.service.d.ts +44 -0
- package/lib/services/property/property.service.d.ts +3 -3
- package/package.json +1 -1
- package/public-api.d.ts +7 -5
- package/esm2015/lib/db/Enums/property/property-owner-access.enum.js +0 -6
- package/esm2015/lib/db/Enums/property/property-owner-status.enum.js +0 -7
- package/esm2015/lib/db/Models/property/property-owner.js +0 -3
- package/esm2015/lib/models/property/ownership-filter-options.enum.js +0 -10
- package/esm2015/lib/services/property/property-owner/property-owner.service.js +0 -123
- package/lib/db/Enums/property/property-owner-access.enum.d.ts +0 -4
- package/lib/models/property/ownership-filter-options.enum.d.ts +0 -8
- package/lib/services/property/property-owner/property-owner.service.d.ts +0 -52
|
@@ -1,48 +1,48 @@
|
|
|
1
1
|
import { __decorate } from "tslib";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { PropertyShare as PropertyShareBase } from '../../db/Models/property/property-share';
|
|
3
|
+
import { PropertyShareStatusEnum } from '../../db/Enums/property/property-share-status.enum';
|
|
4
4
|
import { Transform, Type } from 'class-transformer';
|
|
5
5
|
import { User } from '../user/user';
|
|
6
6
|
import { RegistrationInvite } from '../registration-invite/registration-invite';
|
|
7
7
|
import { Property } from './property';
|
|
8
|
-
export class
|
|
8
|
+
export class PropertyShare extends PropertyShareBase {
|
|
9
9
|
isAccepted() {
|
|
10
|
-
return this.status ===
|
|
10
|
+
return this.status === PropertyShareStatusEnum.APPROVED;
|
|
11
11
|
}
|
|
12
12
|
isPending() {
|
|
13
|
-
return this.status ===
|
|
13
|
+
return this.status === PropertyShareStatusEnum.PENDING;
|
|
14
14
|
}
|
|
15
15
|
isRejected() {
|
|
16
|
-
return this.status ===
|
|
16
|
+
return this.status === PropertyShareStatusEnum.REJECTED;
|
|
17
17
|
}
|
|
18
18
|
get statusName() {
|
|
19
19
|
var _a;
|
|
20
|
-
return (_a =
|
|
20
|
+
return (_a = PropertyShareStatusEnum[this.status]) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* Return full user name if user is already registered.
|
|
24
24
|
* Otherwise - return first name from invitation
|
|
25
25
|
*/
|
|
26
|
-
get
|
|
26
|
+
get userName() {
|
|
27
27
|
return this.user ? this.user.fullName : `${this.invite.firstName}`;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
__decorate([
|
|
31
31
|
Type(() => Date)
|
|
32
|
-
],
|
|
32
|
+
], PropertyShare.prototype, "fromDate", void 0);
|
|
33
33
|
__decorate([
|
|
34
34
|
Type(() => Date)
|
|
35
|
-
],
|
|
35
|
+
], PropertyShare.prototype, "toDate", void 0);
|
|
36
36
|
__decorate([
|
|
37
37
|
Type(() => User)
|
|
38
|
-
],
|
|
38
|
+
], PropertyShare.prototype, "user", void 0);
|
|
39
39
|
__decorate([
|
|
40
40
|
Type(() => RegistrationInvite)
|
|
41
|
-
],
|
|
41
|
+
], PropertyShare.prototype, "invite", void 0);
|
|
42
42
|
__decorate([
|
|
43
43
|
Type(() => Property)
|
|
44
|
-
],
|
|
44
|
+
], PropertyShare.prototype, "property", void 0);
|
|
45
45
|
__decorate([
|
|
46
46
|
Transform(({ obj }) => obj.user ? obj.user.email : obj.invite.email)
|
|
47
|
-
],
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
], PropertyShare.prototype, "email", void 0);
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2hhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNoYXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsYUFBYSxJQUFJLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDN0YsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDN0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdEMsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBaUI7SUFtQmxELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssdUJBQXVCLENBQUMsUUFBUSxDQUFDO0lBQzFELENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLHVCQUF1QixDQUFDLE9BQU8sQ0FBQztJQUN6RCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyx1QkFBdUIsQ0FBQyxRQUFRLENBQUM7SUFDMUQsQ0FBQztJQUVELElBQUksVUFBVTs7UUFDWixPQUFPLE1BQUEsdUJBQXVCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQywwQ0FBRSxXQUFXLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JFLENBQUM7Q0FDRjtBQXhDQztJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7K0NBQ0Y7QUFHZjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7NkNBQ0o7QUFHYjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7MkNBQ047QUFHWDtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzs2Q0FDSjtBQUczQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUM7K0NBQ0Y7QUFHbkI7SUFEQyxTQUFTLENBQUMsQ0FBQyxFQUFDLEdBQUcsRUFBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7NENBQ3JEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvcGVydHlTaGFyZSBhcyBQcm9wZXJ0eVNoYXJlQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zaGFyZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNoYXJlU3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LXNoYXJlLXN0YXR1cy5lbnVtJztcbmltcG9ydCB7IFRyYW5zZm9ybSwgVHlwZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91c2VyL3VzZXInO1xuaW1wb3J0IHsgUmVnaXN0cmF0aW9uSW52aXRlIH0gZnJvbSAnLi4vcmVnaXN0cmF0aW9uLWludml0ZS9yZWdpc3RyYXRpb24taW52aXRlJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi9wcm9wZXJ0eSc7XG5cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVNoYXJlIGV4dGVuZHMgUHJvcGVydHlTaGFyZUJhc2Uge1xuICBAVHlwZSgoKSA9PiBEYXRlKVxuICBmcm9tRGF0ZTogRGF0ZTtcblxuICBAVHlwZSgoKSA9PiBEYXRlKVxuICB0b0RhdGU6IERhdGU7XG5cbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgdXNlcjogVXNlcjtcblxuICBAVHlwZSgoKSA9PiBSZWdpc3RyYXRpb25JbnZpdGUpXG4gIGludml0ZTogUmVnaXN0cmF0aW9uSW52aXRlO1xuXG4gIEBUeXBlKCgpID0+IFByb3BlcnR5KVxuICBwcm9wZXJ0eTogUHJvcGVydHk7XG5cbiAgQFRyYW5zZm9ybSgoe29ian0pID0+IG9iai51c2VyID8gb2JqLnVzZXIuZW1haWwgOiBvYmouaW52aXRlLmVtYWlsKVxuICBlbWFpbDogc3RyaW5nO1xuXG4gIGlzQWNjZXB0ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzID09PSBQcm9wZXJ0eVNoYXJlU3RhdHVzRW51bS5BUFBST1ZFRDtcbiAgfVxuXG4gIGlzUGVuZGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0dXMgPT09IFByb3BlcnR5U2hhcmVTdGF0dXNFbnVtLlBFTkRJTkc7XG4gIH1cblxuICBpc1JlamVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1cyA9PT0gUHJvcGVydHlTaGFyZVN0YXR1c0VudW0uUkVKRUNURUQ7XG4gIH1cblxuICBnZXQgc3RhdHVzTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBQcm9wZXJ0eVNoYXJlU3RhdHVzRW51bVt0aGlzLnN0YXR1c10/LnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGZ1bGwgdXNlciBuYW1lIGlmIHVzZXIgaXMgYWxyZWFkeSByZWdpc3RlcmVkLlxuICAgKiBPdGhlcndpc2UgLSByZXR1cm4gZmlyc3QgbmFtZSBmcm9tIGludml0YXRpb25cbiAgICovXG4gIGdldCB1c2VyTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnVzZXIgPyB0aGlzLnVzZXIuZnVsbE5hbWUgOiBgJHt0aGlzLmludml0ZS5maXJzdE5hbWV9YDtcbiAgfVxufVxuIl19
|
|
@@ -69,21 +69,21 @@ export class Property extends PropertyBase {
|
|
|
69
69
|
return (this.marketValue - this.purchasePrice) / this.marketValue;
|
|
70
70
|
}
|
|
71
71
|
get myShare() {
|
|
72
|
-
return this.
|
|
72
|
+
return this.shares.find((share) => share.user.id === +localStorage.getItem('userId'));
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
75
|
-
* exact claim
|
|
75
|
+
* exact claim including share percent
|
|
76
76
|
*/
|
|
77
|
-
get
|
|
78
|
-
return this.
|
|
77
|
+
get shareClaimPercent() {
|
|
78
|
+
return this.sharePercent * this.claimPercent / 100;
|
|
79
79
|
}
|
|
80
80
|
get actualValuation() {
|
|
81
81
|
return this.valuations.reduce((maxDateValuation, valuation) => {
|
|
82
82
|
return maxDateValuation.date > valuation.date ? maxDateValuation : valuation;
|
|
83
83
|
}, this.valuations[0]);
|
|
84
84
|
}
|
|
85
|
-
get
|
|
86
|
-
return this.myShare.
|
|
85
|
+
get sharePercent() {
|
|
86
|
+
return this.myShare.percent;
|
|
87
87
|
}
|
|
88
88
|
get previousCategory() {
|
|
89
89
|
let previousCategory;
|
|
@@ -101,9 +101,10 @@ export class Property extends PropertyBase {
|
|
|
101
101
|
return this.forecasts.find((forecast) => forecast.financialYear === year);
|
|
102
102
|
}
|
|
103
103
|
get isShared() {
|
|
104
|
-
return this.
|
|
104
|
+
return this.shares.length > 1;
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
107
|
+
* @TODO consider to move methods related with propertySale to separated class, since used just in one module yet
|
|
107
108
|
* purchase costs - claimed costs, except `ppr to investment` exemption,
|
|
108
109
|
* in that case it's equal to market value, when property became an investment property
|
|
109
110
|
*/
|
|
@@ -211,4 +212,4 @@ __decorate([
|
|
|
211
212
|
__decorate([
|
|
212
213
|
Exclude()
|
|
213
214
|
], Property.prototype, "documentFile", void 0);
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxJQUFJLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBSTNFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDbEMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBR2pDLE9BQU8sRUFDTCwwQ0FBMEMsRUFDM0MsTUFBTSwwRkFBMEYsQ0FBQztBQUVsRzs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsWUFBWTtJQW1DeEMsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBSSxRQUFROztRQUNWLE9BQU8sQ0FBQyxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsYUFBYSwwQ0FBRSxNQUFNLENBQUEsQ0FBQztJQUN0QyxDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFFRDs7T0FFRztJQUNILFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBNEIsRUFBVyxFQUFFLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVELElBQUksV0FBVzs7UUFDYixPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsZUFBZSwwQ0FBRSxXQUFXLEtBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBMEIsRUFBVyxFQUFFLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVELElBQUksc0JBQXNCOztRQUN4QixPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsbUJBQW1CLDBDQUFFLFlBQVksS0FBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELElBQUkscUJBQXFCOztRQUN2QixPQUFPLENBQUEsTUFBQSxJQUFJLENBQUMsbUJBQW1CLDBDQUFFLFdBQVcsS0FBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsUUFBMEIsRUFBVSxFQUFFO1lBQy9FLE9BQU8sR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNyRSxDQUFDLEVBQUUsSUFBSSxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDcEUsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFvQixFQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNoSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxnQkFBbUMsRUFBRSxTQUE0QixFQUFFLEVBQUU7WUFDbEcsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUMvRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLElBQUksZ0JBQWtDLENBQUM7UUFFdkMsTUFBTSxjQUFjLEdBQVcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQztRQUU3RCxJQUFJLGNBQWMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQztTQUNoRjtRQUVELE9BQU8sZ0JBQWdCLENBQUM7SUFDMUIsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixvRkFBb0Y7UUFDcEYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxJQUFZO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUEwQixFQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQ3ZHLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsaUJBQWlCLENBQUMsSUFBa0I7UUFDbEMsTUFBTSxXQUFXLEdBQVcsSUFBSSwwQ0FBMEMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2SCxJQUFJLFdBQVcsRUFBRTtZQUNmLE9BQU8sV0FBVyxDQUFDO1NBQ3BCO1FBRUQsT0FBTyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMseUJBQXlCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3pILENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVksQ0FBQyxJQUFrQjtRQUM3QixPQUFPLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxJQUFrQjtRQUNoQyxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxJQUFrQjtRQUNoQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztTQUM3QjtRQUVELFFBQVEsSUFBSSxFQUFFO1lBQ1osMENBQTBDO1lBQzFDLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssd0JBQXdCLENBQUMsY0FBYztnQkFDL0QsT0FBTyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUM7WUFDOUIsa0VBQWtFO1lBQ2xFLEtBQUssSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNoRCxPQUFPLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztZQUN4QztnQkFDRSxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLENBQUMsSUFBa0I7O1FBQ3JDLE1BQU0sUUFBUSxHQUErQyxJQUFJLDBDQUEwQyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRXZJLFFBQVEsTUFBQSxJQUFJLENBQUMsWUFBWSwwQ0FBRSxFQUFFLEVBQUU7WUFDN0IsNERBQTREO1lBQzVELEtBQUssZ0JBQWdCLENBQUMsYUFBYTtnQkFDakMsT0FBTyxHQUFHLENBQUM7WUFDYiw4RkFBOEY7WUFDOUYsS0FBSyxnQkFBZ0IsQ0FBQyxpQkFBaUI7Z0JBQ3JDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFFdEQsT0FBTyxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUM7WUFDakUsNkVBQTZFO1lBQzdFLEtBQUssZ0JBQWdCLENBQUMsaUJBQWlCO2dCQUNyQyxnR0FBZ0c7Z0JBQ2hHLE1BQU0sS0FBSyxHQUFXLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDOUUsT0FBTyxRQUFRLENBQUMsZUFBZSxFQUFFLEdBQUcsR0FBRyxHQUFHLEtBQUssQ0FBQztZQUNsRCxpQkFBaUI7WUFDakIsS0FBSyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUM7WUFDMUIsS0FBSyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7WUFDckMsS0FBSyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7WUFDL0IsS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLO2dCQUN6QixPQUFPLENBQUMsQ0FBQztZQUNYLGVBQWU7WUFDZjtnQkFDRSxPQUFPLENBQUMsQ0FBQztTQUNaO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsb0JBQW9CLENBQUMsSUFBa0IsRUFBRSxhQUE4QixNQUFNO1FBQzNFLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUMvRSxDQUFDO0NBQ0Y7QUFoT0M7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDOzhDQUNFO0FBR25CO0lBREMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQztnREFDSTtBQUdyQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7eUNBQ0g7QUFHakI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7MENBQ0Y7QUFHM0I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7NENBQ0U7QUFHaEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7MkNBQ0M7QUFHOUI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7bURBQ1M7QUFHOUM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3NDQUNOO0FBR1g7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7K0NBQ0s7QUFJdEM7SUFEQyxPQUFPLEVBQUU7OENBQ1MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Byb3BlcnR5IGFzIFByb3BlcnR5QmFzZX0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7RG9jdW1lbnRhYmxlfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RvY3VtZW50YWJsZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtJRG9jdW1lbnR9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZG9jdW1lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7UHJvcGVydHlPd25lcn0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LW93bmVyJztcbmltcG9ydCB7UHJvcGVydHlTdWJzY3JpcHRpb259IGZyb20gJy4vcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7RXhjbHVkZSwgVHlwZX0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHtQaG90b2FibGV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcGhvdG9hYmxlJztcbmltcG9ydCB7QWRkcmVzc30gZnJvbSAnLi4vYWRkcmVzcy9hZGRyZXNzJztcbmltcG9ydCB7UHJvcGVydHlDYXRlZ29yeX0gZnJvbSAnLi9wcm9wZXJ0eS1jYXRlZ29yeSc7XG5pbXBvcnQge1Byb3BlcnR5VmFsdWF0aW9ufSBmcm9tICcuL3Byb3BlcnR5LXZhbHVhdGlvbic7XG5pbXBvcnQge1Byb3BlcnR5Rm9yZWNhc3R9IGZyb20gJy4vcHJvcGVydHktZm9yZWNhc3QnO1xuaW1wb3J0IHtQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnR9IGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQnO1xuaW1wb3J0IHtVc2VyfSBmcm9tICcuLi91c2VyL3VzZXInO1xuaW1wb3J0IHtGaW5hbmNpYWxZZWFyfSBmcm9tICcuLi9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQge1RheEV4ZW1wdGlvbkVudW19IGZyb20gJy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi5lbnVtJztcbmltcG9ydCB7UHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1saXN0LmVudW0nO1xuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge1Byb3BlcnR5U2FsZX0gZnJvbSAnLi9wcm9wZXJ0eS1zYWxlL3Byb3BlcnR5LXNhbGUnO1xuaW1wb3J0IHt1bml0T2ZUaW1lfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtcbiAgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YWRhdGFDb2xsZWN0aW9uXG59IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZS10YXgtZXhlbXB0aW9uLW1ldGFkYXRhLmNvbGxlY3Rpb24nO1xuXG4vKipcbiAqIHByb3BlcnR5U2FsZSBkb2NzIC0gaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy80MjA5NTA4MzUzL1Byb3BlcnR5K1NvbGQrYnV0dG9uXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eSBleHRlbmRzIFByb3BlcnR5QmFzZSBpbXBsZW1lbnRzIFBob3RvYWJsZSwgRG9jdW1lbnRhYmxlIHtcbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgY29udHJhY3REYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHNldHRsZW1lbnREYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IEFkZHJlc3MpXG4gIGFkZHJlc3M6IEFkZHJlc3M7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlDYXRlZ29yeSlcbiAgY2F0ZWdvcnk6IFByb3BlcnR5Q2F0ZWdvcnk7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlWYWx1YXRpb24pXG4gIHZhbHVhdGlvbnM6IFByb3BlcnR5VmFsdWF0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlGb3JlY2FzdClcbiAgZm9yZWNhc3RzOiBQcm9wZXJ0eUZvcmVjYXN0W107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50KVxuICBjYXRlZ29yeU1vdmVtZW50czogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50W107XG5cbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgdXNlcjogVXNlcjtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVN1YnNjcmlwdGlvbilcbiAgc3Vic2NyaXB0aW9uczogUHJvcGVydHlTdWJzY3JpcHRpb25bXTtcblxuICAvLyBjb3VsZCBiZSBGaWxlIHdoZW4ganVzdCBhZGRlZCBuZXcgaW1hZ2VcbiAgQEV4Y2x1ZGUoKVxuICBkb2N1bWVudEZpbGU6IEZpbGU7XG5cbiAgLy8gQFRPRE8gcmVmYWN0b3Igd2l0aCBzcGFyZSB0YW5rXG4gIGRvY3VtZW50czogSURvY3VtZW50W107XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzLm5hbWU7XG4gIH1cblxuICBnZXQgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zdWJzY3JpcHRpb25zPy5sZW5ndGg7XG4gIH1cblxuICBpc093bigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy51c2VyLmlkID09PSArbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBpbml0aWFscyBvZiBwcm9wZXJ0eS4gUmVxdWlyZWQgYnkgUGhvdG9hYmxlIGludGVyZmFjZVxuICAgKi9cbiAgZ2V0SW5pdGlhbHMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lLnNwbGl0KCcgJylbMV0uc2xpY2UoMCwgMik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHByb3BlcnR5IHBob3RvLiBSZXF1aXJlZCBieSBQaG90b2FibGUgaW50ZXJmYWNlXG4gICAqL1xuICBnZXRQaG90bygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBob3RvO1xuICB9XG5cbiAgZ2V0IGNhcGl0YWxDb3N0c1RvdGFsQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3RhbXBEdXR5ICsgdGhpcy5sZWdhbEZlZXMgKyB0aGlzLm90aGVyQ2FwaXRhbENvc3RzO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRZZWFyVmFsdWF0aW9ucygpOiBQcm9wZXJ0eVZhbHVhdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy52YWx1YXRpb25zLmZpbHRlcigodmFsdWF0aW9uOiBQcm9wZXJ0eVZhbHVhdGlvbik6IGJvb2xlYW4gPT4gdmFsdWF0aW9uLmlzQ3VycmVudFllYXIoKSk7XG4gIH1cblxuICBnZXQgbWFya2V0VmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hY3R1YWxWYWx1YXRpb24/Lm1hcmtldFZhbHVlIHx8IDA7XG4gIH1cblxuICBnZXQgY3VycmVudFllYXJGb3JlY2FzdCgpOiBQcm9wZXJ0eUZvcmVjYXN0IHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMuZmluZCgoZm9yZWNhc3Q6IFByb3BlcnR5Rm9yZWNhc3QpOiBib29sZWFuID0+IGZvcmVjYXN0LmlzQ3VycmVudFllYXIoKSk7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZFJlbnRhbFJldHVybigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnJlbnRhbFJldHVybiB8fCAwO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRUYXhQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnRheFBvc2l0aW9uIHx8IDA7XG4gIH1cblxuICBnZXQgZmlyc3RGb3JlY2FzdFllYXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMucmVkdWNlKChtaW46IG51bWJlciwgZm9yZWNhc3Q6IFByb3BlcnR5Rm9yZWNhc3QpOiBudW1iZXIgPT4ge1xuICAgICAgcmV0dXJuIG1pbiA+IGZvcmVjYXN0LmZpbmFuY2lhbFllYXIgPyBmb3JlY2FzdC5maW5hbmNpYWxZZWFyIDogbWluO1xuICAgIH0sIG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhcik7XG4gIH1cblxuICBnZXQgbWFya2V0VmFsdWVHcm93dGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMubWFya2V0VmFsdWUgLSB0aGlzLnB1cmNoYXNlUHJpY2UpIC8gdGhpcy5tYXJrZXRWYWx1ZTtcbiAgfVxuXG4gIGdldCBteVNoYXJlKCk6IFByb3BlcnR5T3duZXIge1xuICAgIHJldHVybiB0aGlzLm93bmVycy5maW5kKChvd25lcjogUHJvcGVydHlPd25lcik6IGJvb2xlYW4gPT4gb3duZXIudXNlci5pZCA9PT0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VySWQnKSk7XG4gIH1cblxuICAvKipcbiAgICogZXhhY3QgY2xhaW0gcGVyY2VudCBpbmNsdWRlcyBvd25lcnNoaXBcbiAgICovXG4gIGdldCBvd25lcnNoaXBDbGFpbVBlcmNlbnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5vd25lcnNoaXBQZXJjZW50ICogdGhpcy5jbGFpbVBlcmNlbnQgLyAxMDA7XG4gIH1cblxuICBnZXQgYWN0dWFsVmFsdWF0aW9uKCk6IFByb3BlcnR5VmFsdWF0aW9uIHtcbiAgICByZXR1cm4gdGhpcy52YWx1YXRpb25zLnJlZHVjZSgobWF4RGF0ZVZhbHVhdGlvbjogUHJvcGVydHlWYWx1YXRpb24sIHZhbHVhdGlvbjogUHJvcGVydHlWYWx1YXRpb24pID0+IHtcbiAgICAgIHJldHVybiBtYXhEYXRlVmFsdWF0aW9uLmRhdGUgPiB2YWx1YXRpb24uZGF0ZSA/IG1heERhdGVWYWx1YXRpb24gOiB2YWx1YXRpb247XG4gICAgfSwgdGhpcy52YWx1YXRpb25zWzBdKTtcbiAgfVxuXG4gIGdldCBvd25lcnNoaXBQZXJjZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubXlTaGFyZS5vd25lcnNoaXBQZXJjZW50O1xuICB9XG5cbiAgZ2V0IHByZXZpb3VzQ2F0ZWdvcnkoKTogUHJvcGVydHlDYXRlZ29yeSB7XG4gICAgbGV0IHByZXZpb3VzQ2F0ZWdvcnk6IFByb3BlcnR5Q2F0ZWdvcnk7XG5cbiAgICBjb25zdCBtb3ZlbWVudHNDb3VudDogbnVtYmVyID0gdGhpcy5jYXRlZ29yeU1vdmVtZW50cy5sZW5ndGg7XG5cbiAgICBpZiAobW92ZW1lbnRzQ291bnQgPiAxKSB7XG4gICAgICBwcmV2aW91c0NhdGVnb3J5ID0gdGhpcy5jYXRlZ29yeU1vdmVtZW50c1ttb3ZlbWVudHNDb3VudCAtIDJdLnByb3BlcnR5Q2F0ZWdvcnk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByZXZpb3VzQ2F0ZWdvcnk7XG4gIH1cblxuICBnZXRDdXJyZW50U3Vic2NyaXB0aW9uKCk6IFByb3BlcnR5U3Vic2NyaXB0aW9uIHtcbiAgICAvLyBhbHdheXMgcmV0dXJuIGZpcnN0IGVsZW1lbnQgYmVjYXVzZSBzdWJzY3JpcHRpb25zIGFycmF5IGNvbnRhaW5zIG9ubHkgb25lIGVsZW1lbnRcbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zWzBdO1xuICB9XG5cbiAgZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcjogbnVtYmVyKTogUHJvcGVydHlGb3JlY2FzdCB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoKGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSB5ZWFyKTtcbiAgfVxuXG4gIGdldCBpc1NoYXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vd25lcnMubGVuZ3RoID4gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBwdXJjaGFzZSBjb3N0cyAtIGNsYWltZWQgY29zdHMsIGV4Y2VwdCBgcHByIHRvIGludmVzdG1lbnRgIGV4ZW1wdGlvbixcbiAgICogaW4gdGhhdCBjYXNlIGl0J3MgZXF1YWwgdG8gbWFya2V0IHZhbHVlLCB3aGVuIHByb3BlcnR5IGJlY2FtZSBhbiBpbnZlc3RtZW50IHByb3BlcnR5XG4gICAqL1xuICBjYWxjdWxhdGVDb3N0QmFzZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIGNvbnN0IG1hcmtldFZhbHVlOiBudW1iZXIgPSBuZXcgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YWRhdGFDb2xsZWN0aW9uKHNhbGUudGF4RXhlbXB0aW9uTWV0YWRhdGEpLmdldE1hcmtldFZhbHVlKCk7XG4gICAgaWYgKG1hcmtldFZhbHVlKSB7XG4gICAgICByZXR1cm4gbWFya2V0VmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHVyY2hhc2VQcmljZSArIHRoaXMuY2FwaXRhbENvc3RzVG90YWxBbW91bnQgKyBzYWxlLnN0cnVjdHVyYWxJbXByb3ZlbWVudHNXRFYgLSBzYWxlLmJ1aWxkaW5nQXRDb3N0Q2xhaW1lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBncm9zcyBjYXBpdGFsIGdhaW4gdGF4OiBzYWxlIGNvc3RzIC0gY29zdCBiYXNlXG4gICAqL1xuICBjYWxjdWxhdGVDR1Qoc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gc2FsZS5wcmljZSAtIHNhbGUuc2FsZUNvc3RzVG90YWxBbW91bnQgLSBzYWxlLmNhcGl0YWxMb3NzIC0gdGhpcy5jYWxjdWxhdGVDb3N0QmFzZShzYWxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBuZXQgY2FwaXRhbCBnYWluIHRheCAoaW5jbHVkZXMgdGF4IGV4ZW1wdGlvbnMpXG4gICAqL1xuICBjYWxjdWxhdGVOZXRDR1Qoc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDR1RFeGVtcHRpb25SYXRpbyhzYWxlKSAqIHRoaXMuY2FsY3VsYXRlQ0dUKHNhbGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIGd1ZXNzIHRheCBleGVtcHRpb24gYmFzZWQgb24gcHJvcGVydHkgZGV0YWlsc1xuICAgKi9cbiAgZ2V0Q0dURXhlbXB0aW9uKHNhbGU6IFByb3BlcnR5U2FsZSk6IFRheEV4ZW1wdGlvbkVudW0ge1xuICAgIGlmIChzYWxlLnRheEV4ZW1wdGlvbikge1xuICAgICAgcmV0dXJuIHNhbGUudGF4RXhlbXB0aW9uLmlkO1xuICAgIH1cblxuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgLy8gZXhlbXB0aW9uIGZvciBtYWluIHJlc2lkZW5jZSBwcm9wZXJ0aWVzXG4gICAgICBjYXNlIHRoaXMuY2F0ZWdvcnkuaWQgPT09IFByb3BlcnR5Q2F0ZWdvcnlMaXN0RW51bS5PV05FUl9PQ0NVUElFRDpcbiAgICAgICAgcmV0dXJuIFRheEV4ZW1wdGlvbkVudW0uUFBSO1xuICAgICAgLy8gZXhlbXB0aW9uIGZvciBpbnZlc3RtZW50IHByb3BlcnRpZXMgb3duZWQgZm9yIGF0IGxlYXN0IG9uZSB5ZWFyXG4gICAgICBjYXNlIHRoaXMuZ2V0T3duZXJzaGlwRHVyYXRpb24oc2FsZSwgJ3llYXJzJykgPj0gMTpcbiAgICAgICAgcmV0dXJuIFRheEV4ZW1wdGlvbkVudW0uT05FX1lFQVJfUlVMRTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiB0YXggZXhlbXB0aW9uIGNhbiByZWR1Y2UgY2d0IGZyb20gMTAwJSB0byBsZXNzICh1cCB0byB6ZXJvKVxuICAgKi9cbiAgZ2V0Q0dURXhlbXB0aW9uUmF0aW8oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBjb25zdCBtZXRhZGF0YTogUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YWRhdGFDb2xsZWN0aW9uID0gbmV3IFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFkYXRhQ29sbGVjdGlvbihzYWxlLnRheEV4ZW1wdGlvbk1ldGFkYXRhKTtcblxuICAgIHN3aXRjaCAoc2FsZS50YXhFeGVtcHRpb24/LmlkKSB7XG4gICAgICAvLyA1MCUgZXhlbXB0aW9uIGZvciBpbnZlc3RtZW50cyBvd25lZCBmb3IgYXQgbGVhc3Qgb25lIHllYXJcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5PTkVfWUVBUl9SVUxFOlxuICAgICAgICByZXR1cm4gMC41O1xuICAgICAgLy8gaW52ZXN0bWVudCBwcm9wZXJ0eSBiZWNvbWUgbWFpbiByZXNpZGVuY2UgKGV4ZW1wdGlvbiBmb3IgbWFpbiByZXNpZGVuY2Ugb3duZXJzaGlwIGR1cmF0aW9uKVxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLklOVkVTVE1FTlRfVE9fUFBSOlxuICAgICAgICBjb25zdCBvd25lcnNoaXBEYXlzID0gdGhpcy5nZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlKTtcblxuICAgICAgICByZXR1cm4gKG93bmVyc2hpcERheXMgLSBtZXRhZGF0YS5nZXRQUFJEYXlzKCkpIC8gb3duZXJzaGlwRGF5cztcbiAgICAgIC8vIG1haW4gcmVzaWRlbmNlIGJlY29tZSBpbnZlc3RtZW50IChleGVtcHRpb24gZm9yIGhvbWUgb2ZmaWNlIHBlcmNlbnQgdXNhZ2UpXG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uUFBSX1RPX0lOVkVTVE1FTlQ6XG4gICAgICAgIC8vIDEgeWVhciBDR1QgZGlzY291bnQgY2FuIHN0aWxsIGFwcGx5IChvbiB0aGUgaW5jb21lIHByb2R1Y2luZyAlIGlmIHVzZWQgZm9yIDEyIG1vbnRocyBvciBtb3JlKVxuICAgICAgICBjb25zdCByYXRpbzogbnVtYmVyID0gdGhpcy5nZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlLCAneWVhcnMnKSA+PSAxID8gMC41IDogMTtcbiAgICAgICAgcmV0dXJuIG1ldGFkYXRhLmdldENsYWltUGVyY2VudCgpIC8gMTAwICogcmF0aW87XG4gICAgICAvLyBmdWxsIGV4ZW1wdGlvblxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5TSVhfWUVBUlNfUlVMRTpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5UUkFOU0ZFUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5PVEhFUjpcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICAvLyBubyBleGVtcHRpb25cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBvd25lcnNoaXAgZHVyYXRpb24gZnJvbSBwdXJjaGFzZSB0aWxsIHNhbGVcbiAgICovXG4gIGdldE93bmVyc2hpcER1cmF0aW9uKHNhbGU6IFByb3BlcnR5U2FsZSwgdW5pdE9mVGltZTogdW5pdE9mVGltZS5EaWZmID0gJ2RheXMnKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbW9tZW50KHNhbGUuY29udHJhY3REYXRlKS5kaWZmKG1vbWVudCh0aGlzLmNvbnRyYWN0RGF0ZSksIHVuaXRPZlRpbWUpO1xuICB9XG59XG4iXX0=
|
|
215
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsUUFBUSxJQUFJLFlBQVksRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBSTNFLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQzNDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUM7QUFDbEMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQy9ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzdGLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBR2pDLE9BQU8sRUFDTCwwQ0FBMEMsRUFDM0MsTUFBTSwwRkFBMEYsQ0FBQztBQUVsRzs7R0FFRztBQUNILE1BQU0sT0FBTyxRQUFTLFNBQVEsWUFBWTtJQW1DeEMsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lB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QUFDLElBQUksQ0FBQztnREFDSTtBQUdyQjtJQURDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7eUNBQ0g7QUFHakI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7MENBQ0Y7QUFHM0I7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7NENBQ0U7QUFHaEM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7MkNBQ0M7QUFHOUI7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7bURBQ1M7QUFHOUM7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO3NDQUNOO0FBR1g7SUFEQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7K0NBQ0s7QUFJdEM7SUFEQyxPQUFPLEVBQUU7OENBQ1MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Byb3BlcnR5IGFzIFByb3BlcnR5QmFzZX0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7RG9jdW1lbnRhYmxlfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RvY3VtZW50YWJsZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtJRG9jdW1lbnR9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZG9jdW1lbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7UHJvcGVydHlTaGFyZX0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNoYXJlJztcbmltcG9ydCB7UHJvcGVydHlTdWJzY3JpcHRpb259IGZyb20gJy4vcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7RXhjbHVkZSwgVHlwZX0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHtQaG90b2FibGV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvcGhvdG9hYmxlJztcbmltcG9ydCB7QWRkcmVzc30gZnJvbSAnLi4vYWRkcmVzcy9hZGRyZXNzJztcbmltcG9ydCB7UHJvcGVydHlDYXRlZ29yeX0gZnJvbSAnLi9wcm9wZXJ0eS1jYXRlZ29yeSc7XG5pbXBvcnQge1Byb3BlcnR5VmFsdWF0aW9ufSBmcm9tICcuL3Byb3BlcnR5LXZhbHVhdGlvbic7XG5pbXBvcnQge1Byb3BlcnR5Rm9yZWNhc3R9IGZyb20gJy4vcHJvcGVydHktZm9yZWNhc3QnO1xuaW1wb3J0IHtQcm9wZXJ0eUNhdGVnb3J5TW92ZW1lbnR9IGZyb20gJy4vcHJvcGVydHktY2F0ZWdvcnktbW92ZW1lbnQnO1xuaW1wb3J0IHtVc2VyfSBmcm9tICcuLi91c2VyL3VzZXInO1xuaW1wb3J0IHtGaW5hbmNpYWxZZWFyfSBmcm9tICcuLi9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQge1RheEV4ZW1wdGlvbkVudW19IGZyb20gJy4uLy4uL2RiL0VudW1zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvdGF4LWV4ZW1wdGlvbi5lbnVtJztcbmltcG9ydCB7UHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtfSBmcm9tICcuLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1saXN0LmVudW0nO1xuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQge1Byb3BlcnR5U2FsZX0gZnJvbSAnLi9wcm9wZXJ0eS1zYWxlL3Byb3BlcnR5LXNhbGUnO1xuaW1wb3J0IHt1bml0T2ZUaW1lfSBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHtcbiAgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YWRhdGFDb2xsZWN0aW9uXG59IGZyb20gJy4uLy4uL2NvbGxlY3Rpb25zL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZS10YXgtZXhlbXB0aW9uLW1ldGFkYXRhLmNvbGxlY3Rpb24nO1xuXG4vKipcbiAqIHByb3BlcnR5U2FsZSBkb2NzIC0gaHR0cHM6Ly90YXh0YW5rLmF0bGFzc2lhbi5uZXQvd2lraS9zcGFjZXMvVEFYVEFOSy9wYWdlcy80MjA5NTA4MzUzL1Byb3BlcnR5K1NvbGQrYnV0dG9uXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eSBleHRlbmRzIFByb3BlcnR5QmFzZSBpbXBsZW1lbnRzIFBob3RvYWJsZSwgRG9jdW1lbnRhYmxlIHtcbiAgQFR5cGUoKCkgPT4gRGF0ZSlcbiAgY29udHJhY3REYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IERhdGUpXG4gIHNldHRsZW1lbnREYXRlOiBEYXRlO1xuXG4gIEBUeXBlKCgpID0+IEFkZHJlc3MpXG4gIGFkZHJlc3M6IEFkZHJlc3M7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlDYXRlZ29yeSlcbiAgY2F0ZWdvcnk6IFByb3BlcnR5Q2F0ZWdvcnk7XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlWYWx1YXRpb24pXG4gIHZhbHVhdGlvbnM6IFByb3BlcnR5VmFsdWF0aW9uW107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlGb3JlY2FzdClcbiAgZm9yZWNhc3RzOiBQcm9wZXJ0eUZvcmVjYXN0W107XG5cbiAgQFR5cGUoKCkgPT4gUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50KVxuICBjYXRlZ29yeU1vdmVtZW50czogUHJvcGVydHlDYXRlZ29yeU1vdmVtZW50W107XG5cbiAgQFR5cGUoKCkgPT4gVXNlcilcbiAgdXNlcjogVXNlcjtcblxuICBAVHlwZSgoKSA9PiBQcm9wZXJ0eVN1YnNjcmlwdGlvbilcbiAgc3Vic2NyaXB0aW9uczogUHJvcGVydHlTdWJzY3JpcHRpb25bXTtcblxuICAvLyBjb3VsZCBiZSBGaWxlIHdoZW4ganVzdCBhZGRlZCBuZXcgaW1hZ2VcbiAgQEV4Y2x1ZGUoKVxuICBkb2N1bWVudEZpbGU6IEZpbGU7XG5cbiAgLy8gQFRPRE8gcmVmYWN0b3Igd2l0aCBzcGFyZSB0YW5rXG4gIGRvY3VtZW50czogSURvY3VtZW50W107XG5cbiAgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hZGRyZXNzLm5hbWU7XG4gIH1cblxuICBnZXQgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zdWJzY3JpcHRpb25zPy5sZW5ndGg7XG4gIH1cblxuICBpc093bigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy51c2VyLmlkID09PSArbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBpbml0aWFscyBvZiBwcm9wZXJ0eS4gUmVxdWlyZWQgYnkgUGhvdG9hYmxlIGludGVyZmFjZVxuICAgKi9cbiAgZ2V0SW5pdGlhbHMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lLnNwbGl0KCcgJylbMV0uc2xpY2UoMCwgMik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHByb3BlcnR5IHBob3RvLiBSZXF1aXJlZCBieSBQaG90b2FibGUgaW50ZXJmYWNlXG4gICAqL1xuICBnZXRQaG90bygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBob3RvO1xuICB9XG5cbiAgZ2V0IGNhcGl0YWxDb3N0c1RvdGFsQW1vdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuc3RhbXBEdXR5ICsgdGhpcy5sZWdhbEZlZXMgKyB0aGlzLm90aGVyQ2FwaXRhbENvc3RzO1xuICB9XG5cbiAgZ2V0IGN1cnJlbnRZZWFyVmFsdWF0aW9ucygpOiBQcm9wZXJ0eVZhbHVhdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy52YWx1YXRpb25zLmZpbHRlcigodmFsdWF0aW9uOiBQcm9wZXJ0eVZhbHVhdGlvbik6IGJvb2xlYW4gPT4gdmFsdWF0aW9uLmlzQ3VycmVudFllYXIoKSk7XG4gIH1cblxuICBnZXQgbWFya2V0VmFsdWUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hY3R1YWxWYWx1YXRpb24/Lm1hcmtldFZhbHVlIHx8IDA7XG4gIH1cblxuICBnZXQgY3VycmVudFllYXJGb3JlY2FzdCgpOiBQcm9wZXJ0eUZvcmVjYXN0IHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMuZmluZCgoZm9yZWNhc3Q6IFByb3BlcnR5Rm9yZWNhc3QpOiBib29sZWFuID0+IGZvcmVjYXN0LmlzQ3VycmVudFllYXIoKSk7XG4gIH1cblxuICBnZXQgZm9yZWNhc3RlZFJlbnRhbFJldHVybigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnJlbnRhbFJldHVybiB8fCAwO1xuICB9XG5cbiAgZ2V0IGZvcmVjYXN0ZWRUYXhQb3NpdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRZZWFyRm9yZWNhc3Q/LnRheFBvc2l0aW9uIHx8IDA7XG4gIH1cblxuICBnZXQgZmlyc3RGb3JlY2FzdFllYXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5mb3JlY2FzdHMucmVkdWNlKChtaW46IG51bWJlciwgZm9yZWNhc3Q6IFByb3BlcnR5Rm9yZWNhc3QpOiBudW1iZXIgPT4ge1xuICAgICAgcmV0dXJuIG1pbiA+IGZvcmVjYXN0LmZpbmFuY2lhbFllYXIgPyBmb3JlY2FzdC5maW5hbmNpYWxZZWFyIDogbWluO1xuICAgIH0sIG5ldyBGaW5hbmNpYWxZZWFyKCkueWVhcik7XG4gIH1cblxuICBnZXQgbWFya2V0VmFsdWVHcm93dGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMubWFya2V0VmFsdWUgLSB0aGlzLnB1cmNoYXNlUHJpY2UpIC8gdGhpcy5tYXJrZXRWYWx1ZTtcbiAgfVxuXG4gIGdldCBteVNoYXJlKCk6IFByb3BlcnR5U2hhcmUge1xuICAgIHJldHVybiB0aGlzLnNoYXJlcy5maW5kKChzaGFyZTogUHJvcGVydHlTaGFyZSk6IGJvb2xlYW4gPT4gc2hhcmUudXNlci5pZCA9PT0gK2xvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VySWQnKSk7XG4gIH1cblxuICAvKipcbiAgICogZXhhY3QgY2xhaW0gaW5jbHVkaW5nIHNoYXJlIHBlcmNlbnRcbiAgICovXG4gIGdldCBzaGFyZUNsYWltUGVyY2VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNoYXJlUGVyY2VudCAqIHRoaXMuY2xhaW1QZXJjZW50IC8gMTAwO1xuICB9XG5cbiAgZ2V0IGFjdHVhbFZhbHVhdGlvbigpOiBQcm9wZXJ0eVZhbHVhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWF0aW9ucy5yZWR1Y2UoKG1heERhdGVWYWx1YXRpb246IFByb3BlcnR5VmFsdWF0aW9uLCB2YWx1YXRpb246IFByb3BlcnR5VmFsdWF0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gbWF4RGF0ZVZhbHVhdGlvbi5kYXRlID4gdmFsdWF0aW9uLmRhdGUgPyBtYXhEYXRlVmFsdWF0aW9uIDogdmFsdWF0aW9uO1xuICAgIH0sIHRoaXMudmFsdWF0aW9uc1swXSk7XG4gIH1cblxuICBnZXQgc2hhcmVQZXJjZW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubXlTaGFyZS5wZXJjZW50O1xuICB9XG5cbiAgZ2V0IHByZXZpb3VzQ2F0ZWdvcnkoKTogUHJvcGVydHlDYXRlZ29yeSB7XG4gICAgbGV0IHByZXZpb3VzQ2F0ZWdvcnk6IFByb3BlcnR5Q2F0ZWdvcnk7XG5cbiAgICBjb25zdCBtb3ZlbWVudHNDb3VudDogbnVtYmVyID0gdGhpcy5jYXRlZ29yeU1vdmVtZW50cy5sZW5ndGg7XG5cbiAgICBpZiAobW92ZW1lbnRzQ291bnQgPiAxKSB7XG4gICAgICBwcmV2aW91c0NhdGVnb3J5ID0gdGhpcy5jYXRlZ29yeU1vdmVtZW50c1ttb3ZlbWVudHNDb3VudCAtIDJdLnByb3BlcnR5Q2F0ZWdvcnk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByZXZpb3VzQ2F0ZWdvcnk7XG4gIH1cblxuICBnZXRDdXJyZW50U3Vic2NyaXB0aW9uKCk6IFByb3BlcnR5U3Vic2NyaXB0aW9uIHtcbiAgICAvLyBhbHdheXMgcmV0dXJuIGZpcnN0IGVsZW1lbnQgYmVjYXVzZSBzdWJzY3JpcHRpb25zIGFycmF5IGNvbnRhaW5zIG9ubHkgb25lIGVsZW1lbnRcbiAgICByZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zWzBdO1xuICB9XG5cbiAgZ2V0Rm9yZWNhc3RCeVllYXIoeWVhcjogbnVtYmVyKTogUHJvcGVydHlGb3JlY2FzdCB7XG4gICAgcmV0dXJuIHRoaXMuZm9yZWNhc3RzLmZpbmQoKGZvcmVjYXN0OiBQcm9wZXJ0eUZvcmVjYXN0KTogYm9vbGVhbiA9PiBmb3JlY2FzdC5maW5hbmNpYWxZZWFyID09PSB5ZWFyKTtcbiAgfVxuXG4gIGdldCBpc1NoYXJlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaGFyZXMubGVuZ3RoID4gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBjb25zaWRlciB0byBtb3ZlIG1ldGhvZHMgcmVsYXRlZCB3aXRoIHByb3BlcnR5U2FsZSB0byBzZXBhcmF0ZWQgY2xhc3MsIHNpbmNlIHVzZWQganVzdCBpbiBvbmUgbW9kdWxlIHlldFxuICAgKiBwdXJjaGFzZSBjb3N0cyAtIGNsYWltZWQgY29zdHMsIGV4Y2VwdCBgcHByIHRvIGludmVzdG1lbnRgIGV4ZW1wdGlvbixcbiAgICogaW4gdGhhdCBjYXNlIGl0J3MgZXF1YWwgdG8gbWFya2V0IHZhbHVlLCB3aGVuIHByb3BlcnR5IGJlY2FtZSBhbiBpbnZlc3RtZW50IHByb3BlcnR5XG4gICAqL1xuICBjYWxjdWxhdGVDb3N0QmFzZShzYWxlOiBQcm9wZXJ0eVNhbGUpOiBudW1iZXIge1xuICAgIGNvbnN0IG1hcmtldFZhbHVlOiBudW1iZXIgPSBuZXcgUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YWRhdGFDb2xsZWN0aW9uKHNhbGUudGF4RXhlbXB0aW9uTWV0YWRhdGEpLmdldE1hcmtldFZhbHVlKCk7XG4gICAgaWYgKG1hcmtldFZhbHVlKSB7XG4gICAgICByZXR1cm4gbWFya2V0VmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucHVyY2hhc2VQcmljZSArIHRoaXMuY2FwaXRhbENvc3RzVG90YWxBbW91bnQgKyBzYWxlLnN0cnVjdHVyYWxJbXByb3ZlbWVudHNXRFYgLSBzYWxlLmJ1aWxkaW5nQXRDb3N0Q2xhaW1lZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBncm9zcyBjYXBpdGFsIGdhaW4gdGF4OiBzYWxlIGNvc3RzIC0gY29zdCBiYXNlXG4gICAqL1xuICBjYWxjdWxhdGVDR1Qoc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gc2FsZS5wcmljZSAtIHNhbGUuc2FsZUNvc3RzVG90YWxBbW91bnQgLSBzYWxlLmNhcGl0YWxMb3NzIC0gdGhpcy5jYWxjdWxhdGVDb3N0QmFzZShzYWxlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBuZXQgY2FwaXRhbCBnYWluIHRheCAoaW5jbHVkZXMgdGF4IGV4ZW1wdGlvbnMpXG4gICAqL1xuICBjYWxjdWxhdGVOZXRDR1Qoc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5nZXRDR1RFeGVtcHRpb25SYXRpbyhzYWxlKSAqIHRoaXMuY2FsY3VsYXRlQ0dUKHNhbGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIGd1ZXNzIHRheCBleGVtcHRpb24gYmFzZWQgb24gcHJvcGVydHkgZGV0YWlsc1xuICAgKi9cbiAgZ2V0Q0dURXhlbXB0aW9uKHNhbGU6IFByb3BlcnR5U2FsZSk6IFRheEV4ZW1wdGlvbkVudW0ge1xuICAgIGlmIChzYWxlLnRheEV4ZW1wdGlvbikge1xuICAgICAgcmV0dXJuIHNhbGUudGF4RXhlbXB0aW9uLmlkO1xuICAgIH1cblxuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgLy8gZXhlbXB0aW9uIGZvciBtYWluIHJlc2lkZW5jZSBwcm9wZXJ0aWVzXG4gICAgICBjYXNlIHRoaXMuY2F0ZWdvcnkuaWQgPT09IFByb3BlcnR5Q2F0ZWdvcnlMaXN0RW51bS5PV05FUl9PQ0NVUElFRDpcbiAgICAgICAgcmV0dXJuIFRheEV4ZW1wdGlvbkVudW0uUFBSO1xuICAgICAgLy8gZXhlbXB0aW9uIGZvciBpbnZlc3RtZW50IHByb3BlcnRpZXMgb3duZWQgZm9yIGF0IGxlYXN0IG9uZSB5ZWFyXG4gICAgICBjYXNlIHRoaXMuZ2V0T3duZXJzaGlwRHVyYXRpb24oc2FsZSwgJ3llYXJzJykgPj0gMTpcbiAgICAgICAgcmV0dXJuIFRheEV4ZW1wdGlvbkVudW0uT05FX1lFQVJfUlVMRTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiB0YXggZXhlbXB0aW9uIGNhbiByZWR1Y2UgY2d0IGZyb20gMTAwJSB0byBsZXNzICh1cCB0byB6ZXJvKVxuICAgKi9cbiAgZ2V0Q0dURXhlbXB0aW9uUmF0aW8oc2FsZTogUHJvcGVydHlTYWxlKTogbnVtYmVyIHtcbiAgICBjb25zdCBtZXRhZGF0YTogUHJvcGVydHlTYWxlVGF4RXhlbXB0aW9uTWV0YWRhdGFDb2xsZWN0aW9uID0gbmV3IFByb3BlcnR5U2FsZVRheEV4ZW1wdGlvbk1ldGFkYXRhQ29sbGVjdGlvbihzYWxlLnRheEV4ZW1wdGlvbk1ldGFkYXRhKTtcblxuICAgIHN3aXRjaCAoc2FsZS50YXhFeGVtcHRpb24/LmlkKSB7XG4gICAgICAvLyA1MCUgZXhlbXB0aW9uIGZvciBpbnZlc3RtZW50cyBvd25lZCBmb3IgYXQgbGVhc3Qgb25lIHllYXJcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5PTkVfWUVBUl9SVUxFOlxuICAgICAgICByZXR1cm4gMC41O1xuICAgICAgLy8gaW52ZXN0bWVudCBwcm9wZXJ0eSBiZWNvbWUgbWFpbiByZXNpZGVuY2UgKGV4ZW1wdGlvbiBmb3IgbWFpbiByZXNpZGVuY2Ugb3duZXJzaGlwIGR1cmF0aW9uKVxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLklOVkVTVE1FTlRfVE9fUFBSOlxuICAgICAgICBjb25zdCBvd25lcnNoaXBEYXlzID0gdGhpcy5nZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlKTtcblxuICAgICAgICByZXR1cm4gKG93bmVyc2hpcERheXMgLSBtZXRhZGF0YS5nZXRQUFJEYXlzKCkpIC8gb3duZXJzaGlwRGF5cztcbiAgICAgIC8vIG1haW4gcmVzaWRlbmNlIGJlY29tZSBpbnZlc3RtZW50IChleGVtcHRpb24gZm9yIGhvbWUgb2ZmaWNlIHBlcmNlbnQgdXNhZ2UpXG4gICAgICBjYXNlIFRheEV4ZW1wdGlvbkVudW0uUFBSX1RPX0lOVkVTVE1FTlQ6XG4gICAgICAgIC8vIDEgeWVhciBDR1QgZGlzY291bnQgY2FuIHN0aWxsIGFwcGx5IChvbiB0aGUgaW5jb21lIHByb2R1Y2luZyAlIGlmIHVzZWQgZm9yIDEyIG1vbnRocyBvciBtb3JlKVxuICAgICAgICBjb25zdCByYXRpbzogbnVtYmVyID0gdGhpcy5nZXRPd25lcnNoaXBEdXJhdGlvbihzYWxlLCAneWVhcnMnKSA+PSAxID8gMC41IDogMTtcbiAgICAgICAgcmV0dXJuIG1ldGFkYXRhLmdldENsYWltUGVyY2VudCgpIC8gMTAwICogcmF0aW87XG4gICAgICAvLyBmdWxsIGV4ZW1wdGlvblxuICAgICAgY2FzZSBUYXhFeGVtcHRpb25FbnVtLlBQUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5TSVhfWUVBUlNfUlVMRTpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5UUkFOU0ZFUjpcbiAgICAgIGNhc2UgVGF4RXhlbXB0aW9uRW51bS5PVEhFUjpcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICAvLyBubyBleGVtcHRpb25cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBvd25lcnNoaXAgZHVyYXRpb24gZnJvbSBwdXJjaGFzZSB0aWxsIHNhbGVcbiAgICovXG4gIGdldE93bmVyc2hpcER1cmF0aW9uKHNhbGU6IFByb3BlcnR5U2FsZSwgdW5pdE9mVGltZTogdW5pdE9mVGltZS5EaWZmID0gJ2RheXMnKTogbnVtYmVyIHtcbiAgICByZXR1cm4gbW9tZW50KHNhbGUuY29udHJhY3REYXRlKS5kaWZmKG1vbWVudCh0aGlzLmNvbnRyYWN0RGF0ZSksIHVuaXRPZlRpbWUpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @TODO used only on dashboard, move from tt-core
|
|
3
|
+
* Enum with properties ownership filter options
|
|
4
|
+
*/
|
|
5
|
+
export var ShareFilterOptionsEnum;
|
|
6
|
+
(function (ShareFilterOptionsEnum) {
|
|
7
|
+
ShareFilterOptionsEnum[ShareFilterOptionsEnum["ALL"] = 1] = "ALL";
|
|
8
|
+
ShareFilterOptionsEnum[ShareFilterOptionsEnum["CREATED"] = 2] = "CREATED";
|
|
9
|
+
ShareFilterOptionsEnum[ShareFilterOptionsEnum["SHARED"] = 3] = "SHARED";
|
|
10
|
+
})(ShareFilterOptionsEnum || (ShareFilterOptionsEnum = {}));
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmUtZmlsdGVyLW9wdGlvbnMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9tb2RlbHMvcHJvcGVydHkvc2hhcmUtZmlsdGVyLW9wdGlvbnMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQU4sSUFBWSxzQkFJWDtBQUpELFdBQVksc0JBQXNCO0lBQ2hDLGlFQUFPLENBQUE7SUFDUCx5RUFBVyxDQUFBO0lBQ1gsdUVBQVUsQ0FBQTtBQUNaLENBQUMsRUFKVyxzQkFBc0IsS0FBdEIsc0JBQXNCLFFBSWpDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAVE9ETyB1c2VkIG9ubHkgb24gZGFzaGJvYXJkLCBtb3ZlIGZyb20gdHQtY29yZVxuICogRW51bSB3aXRoIHByb3BlcnRpZXMgb3duZXJzaGlwIGZpbHRlciBvcHRpb25zXG4gKi9cbmV4cG9ydCBlbnVtIFNoYXJlRmlsdGVyT3B0aW9uc0VudW0ge1xuICBBTEwgPSAxLFxuICBDUkVBVEVEID0gMixcbiAgU0hBUkVEID0gM1xufVxuIl19
|
|
@@ -93,7 +93,7 @@ export class BankAccountService extends BaseRestService {
|
|
|
93
93
|
*/
|
|
94
94
|
listenToEventDispatcherChanges() {
|
|
95
95
|
this.eventDispatcherService.on([
|
|
96
|
-
AppEventTypeEnum.
|
|
96
|
+
AppEventTypeEnum.PROPERTY_SHARE_UPDATED,
|
|
97
97
|
AppEventTypeEnum.LOAN_PAYOUT_UPDATED,
|
|
98
98
|
AppEventTypeEnum.BANK_CONNECTION_ADDED
|
|
99
99
|
]).subscribe(() => {
|
|
@@ -115,4 +115,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
115
115
|
type: Inject,
|
|
116
116
|
args: ['environment']
|
|
117
117
|
}] }]; } });
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvYmFuay9iYW5rLWFjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUlqRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUzRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUFFeEU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsZUFBNkM7SUFLbkYsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0I7UUFFakQsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUp2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFQbkQsc0NBQXNDO1FBQ3RDLFFBQUcsR0FBVyxlQUFlLENBQUM7UUFDOUIsZUFBVSxHQUFHLFdBQVcsQ0FBQztRQVF2QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJ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L0dVLGtCQUFrQixrRkFRbkIsYUFBYTtvSEFSWixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFTSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0JhbmtBY2NvdW50IGFzIEJhbmtBY2NvdW50QmFzZX0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL2JhbmstYWNjb3VudCc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7cmVwbGFjZX0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7cGxhaW5Ub0NsYXNzfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQge0Jhc2VSZXN0U2VydmljZX0gZnJvbSAnLi4vYmFzZS1yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHtCYW5rQWNjb3VudH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmltcG9ydCB7RXZlbnREaXNwYXRjaGVyU2VydmljZX0gZnJvbSAnLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7QXBwRXZlbnR9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHtBcHBFdmVudFR5cGVFbnVtfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5cbi8qKlxuICogU2VydmljZSB0aGF0IGhhbmRsaW5nIHVzZXIncyBiYW5rIGFjY291bnRzIGxvZ2ljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJhbmtBY2NvdW50U2VydmljZSBleHRlbmRzIEJhc2VSZXN0U2VydmljZTxCYW5rQWNjb3VudEJhc2UsIEJhbmtBY2NvdW50PiB7XG4gIC8vIGFwaSB1cmwgcGFyYW1ldGVyIGZvciBiYW5rIGFjY291bnRzXG4gIHVybDogc3RyaW5nID0gJ2JhbmstYWNjb3VudHMnO1xuICBtb2RlbENsYXNzID0gQmFua0FjY291bnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCk7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gc3lzdGVtIG5vdGlmaWNhdGlvbnMgYW5kIHVwZGF0ZSBjYWNoZSB3aGVuIGdvdCBiYXNpcSBub3RpZmljYXRpb24gcmVjZWl2ZWRcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvRXZlbnREaXNwYXRjaGVyQ2hhbmdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZWQgbWFudWFsIGJhbmsgYWNjb3VudFxuICAgKiBAcGFyYW0gYmFua0FjY291bnRzXG4gICAqIEBwYXJhbSBxdWVyeVBhcmFtc1xuICAgKi9cbiAgYWRkQmF0Y2goYmFua0FjY291bnRzOiBCYW5rQWNjb3VudFtdLCBxdWVyeVBhcmFtczogb2JqZWN0ID0ge30pOiBPYnNlcnZhYmxlPEJhbmtBY2NvdW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBiYW5rQWNjb3VudHMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdCYW5rQWNjb3VudHNCYXNlOiBCYW5rQWNjb3VudEJhc2VbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld0JhbmtBY2NvdW50czogQmFua0FjY291bnRbXSA9IG5ld0JhbmtBY2NvdW50c0Jhc2UubWFwKChiYW5rQWNjb3VudEJhc2U6IEJhbmtBY2NvdW50QmFzZSk6IEJhbmtBY2NvdW50ID0+IHBsYWluVG9DbGFzcyhCYW5rQWNjb3VudCwgYmFua0FjY291bnRCYXNlKSk7XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBTktfQUNDT1VOVF9DUkVBVEVELCBuZXdCYW5rQWNjb3VudHMpKTtcbiAgICAgICAgICBjb25zdCB0ZW1wQ2FjaGU6IEJhbmtBY2NvdW50W10gPSBfLmNsb25lRGVlcCh0aGlzLmNhY2hlKTtcbiAgICAgICAgICB0ZW1wQ2FjaGUucHVzaCguLi5uZXdCYW5rQWNjb3VudHMpO1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0ZW1wQ2FjaGU7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiBuZXdCYW5rQWNjb3VudHM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBiYW5rIGFjY291bnQgYW5kIGZpcmUgZXZlbnRcbiAgICovXG4gIHVwZGF0ZShiYW5rQWNjb3VudDogQmFua0FjY291bnQpOiBPYnNlcnZhYmxlPEJhbmtBY2NvdW50PiB7XG4gICAgcmV0dXJuIHN1cGVyLnVwZGF0ZShiYW5rQWNjb3VudCkucGlwZShcbiAgICAgIG1hcCgodXBkYXRlZEJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4ge1xuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uQkFOS19BQ0NPVU5UX1VQREFURUQsIHVwZGF0ZWRCYW5rQWNjb3VudCkpO1xuICAgICAgICByZXR1cm4gdXBkYXRlZEJhbmtBY2NvdW50O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBiYW5rIGFjY291bnQgb3BlbmluZyBiYWxhbmNlXG4gICAqIEBwYXJhbSBiYW5rQWNjb3VudCBCYW5rIGFjY291bnQgZm9yIGJhbGFuY2UgdXBkYXRpbmdcbiAgICovXG4gIHVwZGF0ZU9wZW5pbmdCYWxhbmNlKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtiYW5rQWNjb3VudC5pZH0vb3BlbmluZy1iYWxhbmNlcy8ke2JhbmtBY2NvdW50LmdldEN1cnJlbnRZZWFyQmFsYW5jZSgpLmlkfWAsIGJhbmtBY2NvdW50LmdldEN1cnJlbnRZZWFyQmFsYW5jZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRlbXBDYWNoZTogQmFua0FjY291bnRbXSA9IF8uY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuXG4gICAgICAgICAgcmVwbGFjZSh0ZW1wQ2FjaGVbdGVtcENhY2hlLmZpbmRJbmRleCgoYmE6IEJhbmtBY2NvdW50KSA9PiBiYS5pZCA9PT0gYmFua0FjY291bnQuaWQpXS5iYWxhbmNlcywgcmVzcG9uc2UpO1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0ZW1wQ2FjaGU7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgYmFuayBhY2NvdW50IGN1cnJlbnQgYmFsYW5jZVxuICAgKi9cbiAgdXBkYXRlQ3VycmVudEJhbGFuY2UoYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KTogT2JzZXJ2YWJsZTxCYW5rQWNjb3VudD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7YmFua0FjY291bnQuaWR9L2JhbGFuY2VgLCBiYW5rQWNjb3VudClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkQmFua0FjY291bnQ6IEJhbmtBY2NvdW50ID0gcGxhaW5Ub0NsYXNzKEJhbmtBY2NvdW50LCByZXNwb25zZSk7XG5cbiAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHVwZGF0ZWRCYW5rQWNjb3VudCk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBTktfQUNDT1VOVF9VUERBVEVELCB1cGRhdGVkQmFua0FjY291bnQpKTtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlZEJhbmtBY2NvdW50O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGdldE93bigpOiBPYnNlcnZhYmxlPEJhbmtBY2NvdW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoYmFua0FjY291bnRzOiBCYW5rQWNjb3VudFtdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGJhbmtBY2NvdW50cy5maWx0ZXIoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4gYmFua0FjY291bnQuaXNPd25lcigrbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpKSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50c1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0V2ZW50RGlzcGF0Y2hlckNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfT1dORVJfVVBEQVRFRCxcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uTE9BTl9QQVlPVVRfVVBEQVRFRCxcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uQkFOS19DT05ORUNUSU9OX0FEREVEXG4gICAgXSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKGJhbmtBY2NvdW50czogQmFua0FjY291bnRbXSkgPT4ge1xuICAgICAgICB0aGlzLmNhY2hlID0gYmFua0FjY291bnRzO1xuICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuay1hY2NvdW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvYmFuay9iYW5rLWFjY291bnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUlqRCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUM5QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUUzRCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDdEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7Ozs7QUFFeEU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsZUFBNkM7SUFLbkYsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0I7UUFFakQsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUp2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFQbkQsc0NBQXNDO1FBQ3RDLFFBQUcsR0FBVyxlQUFlLENBQUM7UUFDOUIsZUFBVSxHQUFHLFdBQVcsQ0FBQztRQVF2QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJ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L0dVLGtCQUFrQixrRkFRbkIsYUFBYTtvSEFSWixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFTSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0JhbmtBY2NvdW50IGFzIEJhbmtBY2NvdW50QmFzZX0gZnJvbSAnLi4vLi4vZGIvTW9kZWxzL2JhbmstYWNjb3VudCc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7cmVwbGFjZX0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7cGxhaW5Ub0NsYXNzfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQge0Jhc2VSZXN0U2VydmljZX0gZnJvbSAnLi4vYmFzZS1yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHtCYW5rQWNjb3VudH0gZnJvbSAnLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmltcG9ydCB7RXZlbnREaXNwYXRjaGVyU2VydmljZX0gZnJvbSAnLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7QXBwRXZlbnR9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHtBcHBFdmVudFR5cGVFbnVtfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5cbi8qKlxuICogU2VydmljZSB0aGF0IGhhbmRsaW5nIHVzZXIncyBiYW5rIGFjY291bnRzIGxvZ2ljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJhbmtBY2NvdW50U2VydmljZSBleHRlbmRzIEJhc2VSZXN0U2VydmljZTxCYW5rQWNjb3VudEJhc2UsIEJhbmtBY2NvdW50PiB7XG4gIC8vIGFwaSB1cmwgcGFyYW1ldGVyIGZvciBiYW5rIGFjY291bnRzXG4gIHVybDogc3RyaW5nID0gJ2JhbmstYWNjb3VudHMnO1xuICBtb2RlbENsYXNzID0gQmFua0FjY291bnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCk7XG4gICAgdGhpcy5saXN0ZW5FdmVudHMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gc3lzdGVtIG5vdGlmaWNhdGlvbnMgYW5kIHVwZGF0ZSBjYWNoZSB3aGVuIGdvdCBiYXNpcSBub3RpZmljYXRpb24gcmVjZWl2ZWRcbiAgICovXG4gIGxpc3RlbkV2ZW50cygpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvRXZlbnREaXNwYXRjaGVyQ2hhbmdlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZWQgbWFudWFsIGJhbmsgYWNjb3VudFxuICAgKiBAcGFyYW0gYmFua0FjY291bnRzXG4gICAqIEBwYXJhbSBxdWVyeVBhcmFtc1xuICAgKi9cbiAgYWRkQmF0Y2goYmFua0FjY291bnRzOiBCYW5rQWNjb3VudFtdLCBxdWVyeVBhcmFtczogb2JqZWN0ID0ge30pOiBPYnNlcnZhYmxlPEJhbmtBY2NvdW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBiYW5rQWNjb3VudHMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdCYW5rQWNjb3VudHNCYXNlOiBCYW5rQWNjb3VudEJhc2VbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5ld0JhbmtBY2NvdW50czogQmFua0FjY291bnRbXSA9IG5ld0JhbmtBY2NvdW50c0Jhc2UubWFwKChiYW5rQWNjb3VudEJhc2U6IEJhbmtBY2NvdW50QmFzZSk6IEJhbmtBY2NvdW50ID0+IHBsYWluVG9DbGFzcyhCYW5rQWNjb3VudCwgYmFua0FjY291bnRCYXNlKSk7XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBTktfQUNDT1VOVF9DUkVBVEVELCBuZXdCYW5rQWNjb3VudHMpKTtcbiAgICAgICAgICBjb25zdCB0ZW1wQ2FjaGU6IEJhbmtBY2NvdW50W10gPSBfLmNsb25lRGVlcCh0aGlzLmNhY2hlKTtcbiAgICAgICAgICB0ZW1wQ2FjaGUucHVzaCguLi5uZXdCYW5rQWNjb3VudHMpO1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0ZW1wQ2FjaGU7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiBuZXdCYW5rQWNjb3VudHM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBiYW5rIGFjY291bnQgYW5kIGZpcmUgZXZlbnRcbiAgICovXG4gIHVwZGF0ZShiYW5rQWNjb3VudDogQmFua0FjY291bnQpOiBPYnNlcnZhYmxlPEJhbmtBY2NvdW50PiB7XG4gICAgcmV0dXJuIHN1cGVyLnVwZGF0ZShiYW5rQWNjb3VudCkucGlwZShcbiAgICAgIG1hcCgodXBkYXRlZEJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4ge1xuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uQkFOS19BQ0NPVU5UX1VQREFURUQsIHVwZGF0ZWRCYW5rQWNjb3VudCkpO1xuICAgICAgICByZXR1cm4gdXBkYXRlZEJhbmtBY2NvdW50O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBiYW5rIGFjY291bnQgb3BlbmluZyBiYWxhbmNlXG4gICAqIEBwYXJhbSBiYW5rQWNjb3VudCBCYW5rIGFjY291bnQgZm9yIGJhbGFuY2UgdXBkYXRpbmdcbiAgICovXG4gIHVwZGF0ZU9wZW5pbmdCYWxhbmNlKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtiYW5rQWNjb3VudC5pZH0vb3BlbmluZy1iYWxhbmNlcy8ke2JhbmtBY2NvdW50LmdldEN1cnJlbnRZZWFyQmFsYW5jZSgpLmlkfWAsIGJhbmtBY2NvdW50LmdldEN1cnJlbnRZZWFyQmFsYW5jZSgpKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdCkgPT4ge1xuICAgICAgICAgIGNvbnN0IHRlbXBDYWNoZTogQmFua0FjY291bnRbXSA9IF8uY2xvbmVEZWVwKHRoaXMuY2FjaGUpO1xuXG4gICAgICAgICAgcmVwbGFjZSh0ZW1wQ2FjaGVbdGVtcENhY2hlLmZpbmRJbmRleCgoYmE6IEJhbmtBY2NvdW50KSA9PiBiYS5pZCA9PT0gYmFua0FjY291bnQuaWQpXS5iYWxhbmNlcywgcmVzcG9uc2UpO1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0ZW1wQ2FjaGU7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgYmFuayBhY2NvdW50IGN1cnJlbnQgYmFsYW5jZVxuICAgKi9cbiAgdXBkYXRlQ3VycmVudEJhbGFuY2UoYmFua0FjY291bnQ6IEJhbmtBY2NvdW50KTogT2JzZXJ2YWJsZTxCYW5rQWNjb3VudD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7YmFua0FjY291bnQuaWR9L2JhbGFuY2VgLCBiYW5rQWNjb3VudClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkQmFua0FjY291bnQ6IEJhbmtBY2NvdW50ID0gcGxhaW5Ub0NsYXNzKEJhbmtBY2NvdW50LCByZXNwb25zZSk7XG5cbiAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHVwZGF0ZWRCYW5rQWNjb3VudCk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkJBTktfQUNDT1VOVF9VUERBVEVELCB1cGRhdGVkQmFua0FjY291bnQpKTtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlZEJhbmtBY2NvdW50O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGdldE93bigpOiBPYnNlcnZhYmxlPEJhbmtBY2NvdW50W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoYmFua0FjY291bnRzOiBCYW5rQWNjb3VudFtdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGJhbmtBY2NvdW50cy5maWx0ZXIoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4gYmFua0FjY291bnQuaXNPd25lcigrbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpKSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50c1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0V2ZW50RGlzcGF0Y2hlckNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfU0hBUkVfVVBEQVRFRCxcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uTE9BTl9QQVlPVVRfVVBEQVRFRCxcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uQkFOS19DT05ORUNUSU9OX0FEREVEXG4gICAgXSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKGJhbmtBY2NvdW50czogQmFua0FjY291bnRbXSkgPT4ge1xuICAgICAgICB0aGlzLmNhY2hlID0gYmFua0FjY291bnRzO1xuICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -109,7 +109,7 @@ export class DepreciationService extends BaseRestService {
|
|
|
109
109
|
* Listen to EventDispatcherService event related to updated bank loan
|
|
110
110
|
*/
|
|
111
111
|
listenToUpdatedLoan() {
|
|
112
|
-
this.eventDispatcherService.on([AppEventTypeEnum.LOAN_UPDATED, AppEventTypeEnum.
|
|
112
|
+
this.eventDispatcherService.on([AppEventTypeEnum.LOAN_UPDATED, AppEventTypeEnum.PROPERTY_SHARE_UPDATED]).subscribe(() => {
|
|
113
113
|
this.fetch().subscribe();
|
|
114
114
|
});
|
|
115
115
|
}
|
|
@@ -143,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
143
143
|
type: Inject,
|
|
144
144
|
args: ['environment']
|
|
145
145
|
}] }]; } });
|
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7OztBQU1yRixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZUFBK0M7SUFJdEYsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0I7UUFFakQsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUp2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFObkQsZUFBVSxHQUF3QixZQUFZLENBQUM7UUFDL0MsUUFBRyxHQUFXLGVBQWUsQ0FBQztR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QUNLLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLDBCQUEwQjtRQUNoQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRTtZQUM3RyxJQUFJLFdBQVcsQ0FBQyxjQUFjLEVBQUUsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQzFCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzlILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2lIQW5KVSxtQkFBbUIsa0ZBT3BCLGFBQWE7cUhBUFosbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBUUksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24gYXMgRGVwcmVjaWF0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcmVwbGFjZSB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQmFzZVJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uUmVjZWlwdCB9IGZyb20gJy4uLy4uL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLXJlY2VpcHQnO1xuaW1wb3J0IHsgQmFua0FjY291bnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEZXByZWNpYXRpb25TZXJ2aWNlIGV4dGVuZHMgQmFzZVJlc3RTZXJ2aWNlPERlcHJlY2lhdGlvbkJhc2UsIERlcHJlY2lhdGlvbj4ge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgRGVwcmVjaWF0aW9uID0gRGVwcmVjaWF0aW9uO1xuICB1cmw6IHN0cmluZyA9ICdkZXByZWNpYXRpb25zJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50KTtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHNpbmdsZSBkZXByZWNpYXRpb25cbiAgICogQFRPRE8gYWRkIGF1dG8tZ2VuZXJhdGlvbiBmb3IgZXZlbnRzXG4gICAqL1xuICBhZGQoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBPYnNlcnZhYmxlPERlcHJlY2lhdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmFkZEJhdGNoKFtkZXByZWNpYXRpb25dKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgobmV3RGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10pOiBEZXByZWNpYXRpb24gPT4ge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5ERVBSRUNJQVRJT05TX0NSRUFURUQsIG5ld0RlcHJlY2lhdGlvbnNbMF0pKTtcbiAgICAgICAgICByZXR1cm4gbmV3RGVwcmVjaWF0aW9uc1swXTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIG11bHRpcGxlIGRlcHJlY2lhdGlvbnNcbiAgICogQFRPRE8gYWRkIGF1dG8tZ2VuZXJhdGlvbiBmb3IgZXZlbnRzXG4gICAqL1xuICBhZGRCYXRjaChkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXSk6IE9ic2VydmFibGU8RGVwcmVjaWF0aW9uW10+IHtcbiAgICByZXR1cm4gc3VwZXIuYWRkQmF0Y2goZGVwcmVjaWF0aW9ucykucGlwZShcbiAgICAgIG1hcCgobmV3RGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10pOiBEZXByZWNpYXRpb25bXSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5ERVBSRUNJQVRJT05TX0NSRUFURUQsIG5ld0RlcHJlY2lhdGlvbnMpKTtcbiAgICAgICAgcmV0dXJuIG5ld0RlcHJlY2lhdGlvbnM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIERlcHJlY2lhdGlvbnMgZXZlbnRzXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5Ub1VwZGF0ZWRMb2FuKCk7XG4gICAgdGhpcy5saXN0ZW5Ub1ZlaGljbGVDbGFpbSgpO1xuICAgIHRoaXMubGlzdGVuVG9VcGRhdGVkQmFua0FjY291bnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGVwcmVjaWF0aW9ucyByZWxhdGVkIHRvIFZlaGljbGUgY2F0ZWdvcnlcbiAgICovXG4gIGdldFZlaGljbGVEZXByZWNpYXRpb25zKCk6IE9ic2VydmFibGU8RGVwcmVjaWF0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXSkgPT4ge1xuICAgICAgICByZXR1cm4gZGVwcmVjaWF0aW9ucy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKSA9PiBkZXByZWNpYXRpb24uaXNWZWhpY2xlRGVwcmVjaWF0aW9uKCkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0Q2xvc2VCYWxhbmNlKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vY2xvc2luZy1iYWxhbmNlP2ZpbmFuY2lhbFllYXI9JHtuZXcgRmluYW5jaWFsWWVhcigpLnllYXJ9YCwgZGVwcmVjaWF0aW9uKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IG51bWJlcikgPT4ge1xuICAgICAgICAgIHJldHVybiByZXNwb25zZSB8fCAwO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyB3cm9uZyBwbGFjZSwgbW92ZSB0byBjb2xsZWN0aW9uIG1vZGVsXG4gICAqL1xuICBjYWxjdWxhdGVTdW1tYXJ5QW1vdW50KGRlcHJlY2lhdGlvbkxpc3Q6IERlcHJlY2lhdGlvbltdKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGVwcmVjaWF0aW9uTGlzdC5yZWR1Y2UoKHN1bTogbnVtYmVyLCBkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbikgPT4ge1xuICAgICAgLy8gZGVwcmVjaWF0aW9uIG1heSBub3QgaGF2ZSBmb3JlY2FzdCBpdGVtIGZvciBjdXJyZW50IGZpbmFuY2lhbCB5ZWFyXG4gICAgICBpZiAoIWRlcHJlY2lhdGlvbi5jdXJyZW50WWVhckZvcmVjYXN0KSB7XG4gICAgICAgIHJldHVybiBzdW07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdW0gKyBkZXByZWNpYXRpb24uY3VycmVudFllYXJGb3JlY2FzdC5jbGFpbUFtb3VudDtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIGNhbGN1bGF0ZUJvcnJvd2luZ0V4cGVuc2VzKGRlcHJlY2lhdGlvbkxpc3Q6IERlcHJlY2lhdGlvbltdKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRCeUlkcyhkZXByZWNpYXRpb25MaXN0KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10pID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVTdW1tYXJ5QW1vdW50KGRlcHJlY2lhdGlvbnMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbikgPT4gZGVwcmVjaWF0aW9uLmlzQm9ycm93aW5nRXhwZW5zZSgpKSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgY2FsY3VsYXRlRGVwcmVjaWF0aW9ucyhkZXByZWNpYXRpb25MaXN0OiBEZXByZWNpYXRpb25bXSk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlJZHMoZGVwcmVjaWF0aW9uTGlzdClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbltdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlU3VtbWFyeUFtb3VudChkZXByZWNpYXRpb25zLmZpbHRlcigoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pID0+ICFkZXByZWNpYXRpb24uaXNCb3Jyb3dpbmdFeHBlbnNlKCkpKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBsb2FkIGRlcHJlY2lhdGlvbiByZWNlaXB0XG4gICAqIEBwYXJhbSBkZXByZWNpYXRpb24gZm9yIHdoaWNoIHdpbGwgYmUgdXBsb2FkZWQgcmVjZWlwdFxuICAgKi9cbiAgdXBsb2FkUmVjZWlwdChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGRlcHJlY2lhdGlvbi5maWxlKTtcbiAgICBkZXByZWNpYXRpb24ucmVjZWlwdCA9IG51bGw7XG5cbiAgICB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke2RlcHJlY2lhdGlvbi5pZH0vcmVjZWlwdHNgLCBmb3JtRGF0YSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlY2VpcHRSZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIC8vIHdlIGRvbid0IG5lZWQgdG8ga2VlcCBmaWxlIGFmdGVyIHNhdmVcbiAgICAgICAgZGVwcmVjaWF0aW9uLmZpbGUgPSBudWxsO1xuICAgICAgICBkZXByZWNpYXRpb24ucmVjZWlwdCA9IHBsYWluVG9DbGFzcyhEZXByZWNpYXRpb25SZWNlaXB0LCByZWNlaXB0UmVzcG9uc2UpO1xuICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIGRlcHJlY2lhdGlvbik7XG4gICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQodGhpcy5jYWNoZS5zbGljZSgpKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gdXBkYXRlZCBiYW5rIGxvYW5cbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVG9VcGRhdGVkTG9hbigpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW0FwcEV2ZW50VHlwZUVudW0uTE9BTl9VUERBVEVELCBBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX09XTkVSX1VQREFURURdKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gdXBkYXRlZCBiYW5rIGFjY291bnRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVG9VcGRhdGVkQmFua0FjY291bnQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtBcHBFdmVudFR5cGVFbnVtLkJBTktfQUNDT1VOVF9VUERBVEVEXSkuc3Vic2NyaWJlKChiYW5rQWNjb3VudDogQmFua0FjY291bnQpID0+IHtcbiAgICAgIGlmIChiYW5rQWNjb3VudC5pc1Byb3BlcnR5VGFuaygpKSB7XG4gICAgICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIHVwZGF0ZWQgdmVoaWNsZSBjbGFpbVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1ZlaGljbGVDbGFpbSgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW0FwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9DTEFJTV9DUkVBVEVELCBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fVVBEQVRFRF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZldGNoKCkuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7OztBQU1yRixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZUFBK0M7SUFJdEYsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0I7UUFFakQsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUp2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFObkQsZUFBVSxHQUF3QixZQUFZLENBQUM7UUFDL0MsUUFBRyxHQUFXLGVBQWUsQ0FBQztR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QUNLLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLDBCQUEwQjtRQUNoQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRTtZQUM3RyxJQUFJLFdBQVcsQ0FBQyxjQUFjLEVBQUUsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO2FBQzFCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzlILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2lIQW5KVSxtQkFBbUIsa0ZBT3BCLGFBQWE7cUhBUFosbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBUUksTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEZXByZWNpYXRpb24gYXMgRGVwcmVjaWF0aW9uQmFzZSB9IGZyb20gJy4uLy4uL2RiL01vZGVscy9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcmVwbGFjZSB9IGZyb20gJy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgQmFzZVJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vYmFzZS1yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEZpbmFuY2lhbFllYXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmluYW5jaWFsLXllYXIvZmluYW5jaWFsLXllYXInO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uUmVjZWlwdCB9IGZyb20gJy4uLy4uL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLXJlY2VpcHQnO1xuaW1wb3J0IHsgQmFua0FjY291bnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvYmFuay9iYW5rLWFjY291bnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEZXByZWNpYXRpb25TZXJ2aWNlIGV4dGVuZHMgQmFzZVJlc3RTZXJ2aWNlPERlcHJlY2lhdGlvbkJhc2UsIERlcHJlY2lhdGlvbj4ge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgRGVwcmVjaWF0aW9uID0gRGVwcmVjaWF0aW9uO1xuICB1cmw6IHN0cmluZyA9ICdkZXByZWNpYXRpb25zJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55XG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50KTtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHNpbmdsZSBkZXByZWNpYXRpb25cbiAgICogQFRPRE8gYWRkIGF1dG8tZ2VuZXJhdGlvbiBmb3IgZXZlbnRzXG4gICAqL1xuICBhZGQoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBPYnNlcnZhYmxlPERlcHJlY2lhdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmFkZEJhdGNoKFtkZXByZWNpYXRpb25dKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgobmV3RGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10pOiBEZXByZWNpYXRpb24gPT4ge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5ERVBSRUNJQVRJT05TX0NSRUFURUQsIG5ld0RlcHJlY2lhdGlvbnNbMF0pKTtcbiAgICAgICAgICByZXR1cm4gbmV3RGVwcmVjaWF0aW9uc1swXTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIG11bHRpcGxlIGRlcHJlY2lhdGlvbnNcbiAgICogQFRPRE8gYWRkIGF1dG8tZ2VuZXJhdGlvbiBmb3IgZXZlbnRzXG4gICAqL1xuICBhZGRCYXRjaChkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXSk6IE9ic2VydmFibGU8RGVwcmVjaWF0aW9uW10+IHtcbiAgICByZXR1cm4gc3VwZXIuYWRkQmF0Y2goZGVwcmVjaWF0aW9ucykucGlwZShcbiAgICAgIG1hcCgobmV3RGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10pOiBEZXByZWNpYXRpb25bXSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5ERVBSRUNJQVRJT05TX0NSRUFURUQsIG5ld0RlcHJlY2lhdGlvbnMpKTtcbiAgICAgICAgcmV0dXJuIG5ld0RlcHJlY2lhdGlvbnM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIERlcHJlY2lhdGlvbnMgZXZlbnRzXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5Ub1VwZGF0ZWRMb2FuKCk7XG4gICAgdGhpcy5saXN0ZW5Ub1ZlaGljbGVDbGFpbSgpO1xuICAgIHRoaXMubGlzdGVuVG9VcGRhdGVkQmFua0FjY291bnQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZGVwcmVjaWF0aW9ucyByZWxhdGVkIHRvIFZlaGljbGUgY2F0ZWdvcnlcbiAgICovXG4gIGdldFZlaGljbGVEZXByZWNpYXRpb25zKCk6IE9ic2VydmFibGU8RGVwcmVjaWF0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXSkgPT4ge1xuICAgICAgICByZXR1cm4gZGVwcmVjaWF0aW9ucy5maWx0ZXIoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKSA9PiBkZXByZWNpYXRpb24uaXNWZWhpY2xlRGVwcmVjaWF0aW9uKCkpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0Q2xvc2VCYWxhbmNlKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vY2xvc2luZy1iYWxhbmNlP2ZpbmFuY2lhbFllYXI9JHtuZXcgRmluYW5jaWFsWWVhcigpLnllYXJ9YCwgZGVwcmVjaWF0aW9uKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IG51bWJlcikgPT4ge1xuICAgICAgICAgIHJldHVybiByZXNwb25zZSB8fCAwO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyB3cm9uZyBwbGFjZSwgbW92ZSB0byBjb2xsZWN0aW9uIG1vZGVsXG4gICAqL1xuICBjYWxjdWxhdGVTdW1tYXJ5QW1vdW50KGRlcHJlY2lhdGlvbkxpc3Q6IERlcHJlY2lhdGlvbltdKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGVwcmVjaWF0aW9uTGlzdC5yZWR1Y2UoKHN1bTogbnVtYmVyLCBkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbikgPT4ge1xuICAgICAgLy8gZGVwcmVjaWF0aW9uIG1heSBub3QgaGF2ZSBmb3JlY2FzdCBpdGVtIGZvciBjdXJyZW50IGZpbmFuY2lhbCB5ZWFyXG4gICAgICBpZiAoIWRlcHJlY2lhdGlvbi5jdXJyZW50WWVhckZvcmVjYXN0KSB7XG4gICAgICAgIHJldHVybiBzdW07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdW0gKyBkZXByZWNpYXRpb24uY3VycmVudFllYXJGb3JlY2FzdC5jbGFpbUFtb3VudDtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIGNhbGN1bGF0ZUJvcnJvd2luZ0V4cGVuc2VzKGRlcHJlY2lhdGlvbkxpc3Q6IERlcHJlY2lhdGlvbltdKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRCeUlkcyhkZXByZWNpYXRpb25MaXN0KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10pID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jYWxjdWxhdGVTdW1tYXJ5QW1vdW50KGRlcHJlY2lhdGlvbnMuZmlsdGVyKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbikgPT4gZGVwcmVjaWF0aW9uLmlzQm9ycm93aW5nRXhwZW5zZSgpKSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgY2FsY3VsYXRlRGVwcmVjaWF0aW9ucyhkZXByZWNpYXRpb25MaXN0OiBEZXByZWNpYXRpb25bXSk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlJZHMoZGVwcmVjaWF0aW9uTGlzdClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGRlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbltdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY2FsY3VsYXRlU3VtbWFyeUFtb3VudChkZXByZWNpYXRpb25zLmZpbHRlcigoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pID0+ICFkZXByZWNpYXRpb24uaXNCb3Jyb3dpbmdFeHBlbnNlKCkpKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVXBsb2FkIGRlcHJlY2lhdGlvbiByZWNlaXB0XG4gICAqIEBwYXJhbSBkZXByZWNpYXRpb24gZm9yIHdoaWNoIHdpbGwgYmUgdXBsb2FkZWQgcmVjZWlwdFxuICAgKi9cbiAgdXBsb2FkUmVjZWlwdChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IGZvcm1EYXRhOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZScsIGRlcHJlY2lhdGlvbi5maWxlKTtcbiAgICBkZXByZWNpYXRpb24ucmVjZWlwdCA9IG51bGw7XG5cbiAgICB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke2RlcHJlY2lhdGlvbi5pZH0vcmVjZWlwdHNgLCBmb3JtRGF0YSlcbiAgICAgIC5zdWJzY3JpYmUoKHJlY2VpcHRSZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgIC8vIHdlIGRvbid0IG5lZWQgdG8ga2VlcCBmaWxlIGFmdGVyIHNhdmVcbiAgICAgICAgZGVwcmVjaWF0aW9uLmZpbGUgPSBudWxsO1xuICAgICAgICBkZXByZWNpYXRpb24ucmVjZWlwdCA9IHBsYWluVG9DbGFzcyhEZXByZWNpYXRpb25SZWNlaXB0LCByZWNlaXB0UmVzcG9uc2UpO1xuICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIGRlcHJlY2lhdGlvbik7XG4gICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQodGhpcy5jYWNoZS5zbGljZSgpKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gdXBkYXRlZCBiYW5rIGxvYW5cbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVG9VcGRhdGVkTG9hbigpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW0FwcEV2ZW50VHlwZUVudW0uTE9BTl9VUERBVEVELCBBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX1NIQVJFX1VQREFURURdKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gdXBkYXRlZCBiYW5rIGFjY291bnRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVG9VcGRhdGVkQmFua0FjY291bnQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtBcHBFdmVudFR5cGVFbnVtLkJBTktfQUNDT1VOVF9VUERBVEVEXSkuc3Vic2NyaWJlKChiYW5rQWNjb3VudDogQmFua0FjY291bnQpID0+IHtcbiAgICAgIGlmIChiYW5rQWNjb3VudC5pc1Byb3BlcnR5VGFuaygpKSB7XG4gICAgICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIHVwZGF0ZWQgdmVoaWNsZSBjbGFpbVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1ZlaGljbGVDbGFpbSgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW0FwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9DTEFJTV9DUkVBVEVELCBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fVVBEQVRFRF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZldGNoKCkuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -28,6 +28,7 @@ export class PdfService {
|
|
|
28
28
|
generateFromTables(tables, title) {
|
|
29
29
|
const pdf = new jsPDF();
|
|
30
30
|
this.setDocumentTitle(pdf, title);
|
|
31
|
+
this.setDocumentLogo(pdf);
|
|
31
32
|
tables.forEach((table) => {
|
|
32
33
|
var _a;
|
|
33
34
|
// Add table caption if not provided
|
|
@@ -44,9 +45,12 @@ export class PdfService {
|
|
|
44
45
|
const options = {
|
|
45
46
|
html: table,
|
|
46
47
|
startY: lastTableCoords + captionHeight + PDF_CONFIG.contentTitleCoords.marginTop,
|
|
48
|
+
headStyles: {
|
|
49
|
+
fillColor: PDF_CONFIG.text.colorPrimary,
|
|
50
|
+
},
|
|
47
51
|
footStyles: {
|
|
48
|
-
fillColor: PDF_CONFIG.text.
|
|
49
|
-
textColor: PDF_CONFIG.text.
|
|
52
|
+
fillColor: PDF_CONFIG.text.colorWhite,
|
|
53
|
+
textColor: PDF_CONFIG.text.colorBlack
|
|
50
54
|
},
|
|
51
55
|
didParseCell: (data) => {
|
|
52
56
|
// Align last column content to right
|
|
@@ -64,6 +68,11 @@ export class PdfService {
|
|
|
64
68
|
.setFont(PDF_CONFIG.text.fontName, PDF_CONFIG.text.fontStyle, PDF_CONFIG.text.fontWeight)
|
|
65
69
|
.text(title, PDF_CONFIG.text.positionX, PDF_CONFIG.text.positionY);
|
|
66
70
|
}
|
|
71
|
+
setDocumentLogo(doc) {
|
|
72
|
+
const logo = new Image();
|
|
73
|
+
logo.src = PDF_CONFIG.logo.src;
|
|
74
|
+
doc.addImage(logo, 'PNG', PDF_CONFIG.logo.positionX, PDF_CONFIG.logo.positionY, PDF_CONFIG.logo.width, PDF_CONFIG.logo.height);
|
|
75
|
+
}
|
|
67
76
|
/**
|
|
68
77
|
* @Todo remove/refactor when all DataTable dependent methods will be cleared-up
|
|
69
78
|
* Generate PDF file from provided data
|
|
@@ -102,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
102
111
|
providedIn: 'root'
|
|
103
112
|
}]
|
|
104
113
|
}] });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvcGRmL3BkZi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sU0FBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFNekQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQUNyQiwwQkFBMEI7SUFDMUI7O09BRUc7SUFDSCxRQUFRLENBQUMsTUFBd0IsRUFBRSxLQUFhLEVBQUUsUUFBZ0I7UUFDaEUsTUFBTSxRQUFRLEdBQVUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFNUQsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWSxDQUFDLE1BQW9DLEVBQUUsS0FBYSxFQUFFLFFBQWdCO1FBQ2hGLE1BQU0sUUFBUSxHQUFVLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0QsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ssa0JBQWtCLENBQUMsTUFBb0MsRUFBRSxLQUFjO1FBQzdFLE1BQU0sR0FBRyxHQUFVLElBQUksS0FBSyxFQUFFLENBQUM7UUFFL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVsQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBdUIsRUFBRSxFQUFFOztZQUN6QyxvQ0FBb0M7WUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQ2xCLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDdEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFBO2FBQzdCO1lBRUQsdUJBQXVCO1lBQ3ZCLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7WUFDMUYsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxlQUFlLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM3SCxxREFBcUQ7WUFDckQsTUFBTSxhQUFhLEdBQVcsR0FBRyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsTUFBQSxLQUFLLENBQUMsT0FBTywwQ0FBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEksZ0JBQWdCO1lBQ2hCLE1BQU0sT0FBTyxHQUFHO2dCQUNkLElBQUksRUFBRSxLQUFLO2dCQUNYLE1BQU0sRUFBRSxlQUFlLEdBQUcsYUFBYSxHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTO2dCQUNqRixVQUFVLEVBQUU7b0JBQ1YsU0FBUyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUztvQkFDcEMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUztpQkFDckM7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ3JCLHFDQUFxQztvQkFDckMsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFO3dCQUMxRixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFBO3FCQUNsQztnQkFDSCxDQUFDO2FBQ0YsQ0FBQztZQUVGLFNBQVMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxHQUFVLEVBQUUsS0FBYztRQUNqRCxHQUFHLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2FBQ3RDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzthQUN4RixJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOzs7T0FHRztJQUNLLGVBQWUsQ0FBQyxNQUF3QixFQUFFLEtBQWM7UUFDOUQsTUFBTSxHQUFHLEdBQVUsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUUvQiwyQkFBMkI7UUFDM0IsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQzthQUN0QyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDeEYsSUFBSSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXJFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDMUMsdUJBQXVCO1lBQ3ZCLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7WUFDMUYsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLGVBQWUsR0FBRyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ25ILGdCQUFnQjtZQUNoQixNQUFNLE9BQU8sR0FBRztnQkFDZCxNQUFNLEVBQUUsZUFBZSxHQUFHLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTO2dCQUNqRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBK0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM5RSxJQUFJLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDbkIsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMxQixVQUFVLEVBQUU7b0JBQ1YsU0FBUyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUztvQkFDcEMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUztpQkFDckM7YUFDRixDQUFDO1lBRUYsU0FBUyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7d0dBbkdVLFVBQVU7NEdBQVYsVUFBVSxjQU5ULE1BQU07NEZBTVAsVUFBVTtrQkFQdEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhVGFibGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0YS10YWJsZS9kYXRhLXRhYmxlJztcbmltcG9ydCB7IERhdGFUYWJsZUNvbHVtbiB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhLXRhYmxlL2RhdGEtdGFibGUtY29sdW1uJztcbmltcG9ydCBqc1BERiBmcm9tICdqc3BkZic7XG5pbXBvcnQgYXV0b1RhYmxlIGZyb20gJ2pzcGRmLWF1dG90YWJsZSc7XG5pbXBvcnQgeyBQREZfQ09ORklHIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3BkZi9wZGYtY29uZmlnJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggUERGIChnZW5lcmF0ZSwgZG93bmxvYWQsIGUudC5jLilcbiAqL1xuZXhwb3J0IGNsYXNzIFBkZlNlcnZpY2Uge1xuICAvLyBAVG9kbyByZW1vdmUgJ2FueScgdHlwZVxuICAvKipcbiAgICogRG93bmxvYWQgZ2VuZXJhdGVkIFBERiBmaWxlXG4gICAqL1xuICBkb3dubG9hZCh0YWJsZXM6IERhdGFUYWJsZTxhbnk+W10sIHRpdGxlOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkb2N1bWVudDoganNQREYgPSB0aGlzLmdlbmVyYXRlUGRmRmlsZSh0YWJsZXMsIHRpdGxlKTtcblxuICAgIGRvY3VtZW50LnNhdmUoYCR7ZmlsZU5hbWV9LnBkZmApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUb2RvIHJlbmFtZSB3aGVuIGFsbCBEYXRhVGFibGUgZGVwZW5kZW50IG1ldGhvZHMgd2lsbCBiZSBjbGVhcmVkLXVwXG4gICAqL1xuICBleHBvcnRUYWJsZXModGFibGVzOiBOb2RlTGlzdE9mPEhUTUxUYWJsZUVsZW1lbnQ+LCB0aXRsZTogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZG9jdW1lbnQ6IGpzUERGID0gdGhpcy5nZW5lcmF0ZUZyb21UYWJsZXModGFibGVzLCB0aXRsZSk7XG4gICAgZG9jdW1lbnQuc2F2ZShgJHtmaWxlTmFtZX0ucGRmYCk7XG4gIH1cblxuICAvKipcbiAgICogQFRvZG8gcmVuYW1lIHdoZW4gYWxsIERhdGFUYWJsZSBkZXBlbmRlbnQgbWV0aG9kcyB3aWxsIGJlIGNsZWFyZWQtdXBcbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVGcm9tVGFibGVzKHRhYmxlczogTm9kZUxpc3RPZjxIVE1MVGFibGVFbGVtZW50PiwgdGl0bGU/OiBzdHJpbmcpOiBqc1BERiB7XG4gICAgY29uc3QgcGRmOiBqc1BERiA9IG5ldyBqc1BERigpO1xuXG4gICAgdGhpcy5zZXREb2N1bWVudFRpdGxlKHBkZiwgdGl0bGUpO1xuXG4gICAgdGFibGVzLmZvckVhY2goKHRhYmxlOiBIVE1MVGFibGVFbGVtZW50KSA9PiB7XG4gICAgICAvLyBBZGQgdGFibGUgY2FwdGlvbiBpZiBub3QgcHJvdmlkZWRcbiAgICAgIGlmICghdGFibGUuY2FwdGlvbikge1xuICAgICAgICB0YWJsZS5jcmVhdGVDYXB0aW9uKCk7XG4gICAgICAgIHRhYmxlLmNhcHRpb24uaW5uZXJUZXh0ID0gJydcbiAgICAgIH1cblxuICAgICAgLy8gY29vcmRzIG9mIGxhc3QgdGFibGVcbiAgICAgIGNvbnN0IGxhc3RUYWJsZUNvb3JkcyA9IHBkZlsnbGFzdEF1dG9UYWJsZSddLmZpbmFsWSB8fCBQREZfQ09ORklHLmNvbnRlbnRDb29yZHMubWFyZ2luVG9wO1xuICAgICAgcGRmLnRleHQodGFibGUuY2FwdGlvbi5pbm5lclRleHQsIFBERl9DT05GSUcuY29udGVudENvb3Jkcy5tYXJnaW5MZWZ0LCBsYXN0VGFibGVDb29yZHMgKyBQREZfQ09ORklHLmNvbnRlbnRDb29yZHMubWFyZ2luVG9wKTtcbiAgICAgIC8vIGdldCBjYXB0aW9uIGhlaWdodCBiYXNlZCBvbiBjYXB0aW9uIGNvbnRlbnQgaGVpZ2h0XG4gICAgICBjb25zdCBjYXB0aW9uSGVpZ2h0OiBudW1iZXIgPSBwZGYuZ2V0VGV4dERpbWVuc2lvbnMocGRmLnNwbGl0VGV4dFRvU2l6ZSh0YWJsZS5jYXB0aW9uPy5pbm5lclRleHQsIHBkZi5pbnRlcm5hbC5wYWdlU2l6ZS53aWR0aCkpLmg7XG4gICAgICAvLyB0YWJsZSBvcHRpb25zXG4gICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICBodG1sOiB0YWJsZSxcbiAgICAgICAgc3RhcnRZOiBsYXN0VGFibGVDb29yZHMgKyBjYXB0aW9uSGVpZ2h0ICsgUERGX0NPTkZJRy5jb250ZW50VGl0bGVDb29yZHMubWFyZ2luVG9wLFxuICAgICAgICBmb290U3R5bGVzOiB7XG4gICAgICAgICAgZmlsbENvbG9yOiBQREZfQ09ORklHLnRleHQuZmlsbENvbG9yLFxuICAgICAgICAgIHRleHRDb2xvcjogUERGX0NPTkZJRy50ZXh0LnRleHRDb2xvclxuICAgICAgICB9LFxuICAgICAgICBkaWRQYXJzZUNlbGw6IChkYXRhKSA9PiB7XG4gICAgICAgICAgLy8gQWxpZ24gbGFzdCBjb2x1bW4gY29udGVudCB0byByaWdodFxuICAgICAgICAgIGlmIChkYXRhLnRhYmxlLmNvbHVtbnMubGVuZ3RoID4gMSAmJiAoZGF0YS5jb2x1bW4uaW5kZXggPT09IGRhdGEudGFibGUuY29sdW1ucy5sZW5ndGggLSAxKSkge1xuICAgICAgICAgICAgZGF0YS5jZWxsLnN0eWxlcy5oYWxpZ24gPSAncmlnaHQnXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBhdXRvVGFibGUocGRmLCBvcHRpb25zKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBwZGY7XG4gIH1cblxuICBwcml2YXRlIHNldERvY3VtZW50VGl0bGUoZG9jOiBqc1BERiwgdGl0bGU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBkb2Muc2V0Rm9udFNpemUoUERGX0NPTkZJRy50ZXh0LmZvbnRTaXplKVxuICAgICAgLnNldEZvbnQoUERGX0NPTkZJRy50ZXh0LmZvbnROYW1lLCBQREZfQ09ORklHLnRleHQuZm9udFN0eWxlLCBQREZfQ09ORklHLnRleHQuZm9udFdlaWdodClcbiAgICAgIC50ZXh0KHRpdGxlLCBQREZfQ09ORklHLnRleHQucG9zaXRpb25YLCBQREZfQ09ORklHLnRleHQucG9zaXRpb25ZKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVG9kbyByZW1vdmUvcmVmYWN0b3Igd2hlbiBhbGwgRGF0YVRhYmxlIGRlcGVuZGVudCBtZXRob2RzIHdpbGwgYmUgY2xlYXJlZC11cFxuICAgKiBHZW5lcmF0ZSBQREYgZmlsZSBmcm9tIHByb3ZpZGVkIGRhdGFcbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVQZGZGaWxlKHRhYmxlczogRGF0YVRhYmxlPGFueT5bXSwgdGl0bGU/OiBzdHJpbmcpOiBqc1BERiB7XG4gICAgY29uc3QgcGRmOiBqc1BERiA9IG5ldyBqc1BERigpO1xuXG4gICAgLy8gc2V0IGRvY3VtZW50IGZvbnQgcGFyYW1zXG4gICAgcGRmLnNldEZvbnRTaXplKFBERl9DT05GSUcudGV4dC5mb250U2l6ZSlcbiAgICAgIC5zZXRGb250KFBERl9DT05GSUcudGV4dC5mb250TmFtZSwgUERGX0NPTkZJRy50ZXh0LmZvbnRTdHlsZSwgUERGX0NPTkZJRy50ZXh0LmZvbnRXZWlnaHQpXG4gICAgICAudGV4dCh0aXRsZSwgUERGX0NPTkZJRy50ZXh0LnBvc2l0aW9uWCwgUERGX0NPTkZJRy50ZXh0LnBvc2l0aW9uWSk7XG5cbiAgICB0YWJsZXMuZm9yRWFjaCgodGFibGU6IERhdGFUYWJsZTxvYmplY3Q+KSA9PiB7XG4gICAgICAvLyBjb29yZHMgb2YgbGFzdCB0YWJsZVxuICAgICAgY29uc3QgbGFzdFRhYmxlQ29vcmRzID0gcGRmWydsYXN0QXV0b1RhYmxlJ10uZmluYWxZIHx8IFBERl9DT05GSUcuY29udGVudENvb3Jkcy5tYXJnaW5Ub3A7XG4gICAgICBwZGYudGV4dCh0YWJsZS5jYXB0aW9uLCBQREZfQ09ORklHLmNvbnRlbnRDb29yZHMubWFyZ2luTGVmdCwgbGFzdFRhYmxlQ29vcmRzICsgUERGX0NPTkZJRy5jb250ZW50Q29vcmRzLm1hcmdpblRvcCk7XG4gICAgICAvLyB0YWJsZSBvcHRpb25zXG4gICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICBzdGFydFk6IGxhc3RUYWJsZUNvb3JkcyArIFBERl9DT05GSUcuY29udGVudFRpdGxlQ29vcmRzLm1hcmdpblRvcCxcbiAgICAgICAgaGVhZDogW3RhYmxlWydjb2x1bW5zJ10ubWFwKChjb2x1bW46IERhdGFUYWJsZUNvbHVtbjxvYmplY3Q+KSA9PiBjb2x1bW4ubmFtZSldLFxuICAgICAgICBib2R5OiB0YWJsZVsncm93cyddLFxuICAgICAgICBmb290OiBbdGFibGVbJ2Zvb3RlclJvdyddXSxcbiAgICAgICAgZm9vdFN0eWxlczoge1xuICAgICAgICAgIGZpbGxDb2xvcjogUERGX0NPTkZJRy50ZXh0LmZpbGxDb2xvcixcbiAgICAgICAgICB0ZXh0Q29sb3I6IFBERl9DT05GSUcudGV4dC50ZXh0Q29sb3JcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgYXV0b1RhYmxlKHBkZiwgb3B0aW9ucyk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGRmO1xuICB9XG59XG4iXX0=
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvcGRmL3BkZi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sU0FBUyxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFNekQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVTtJQUNyQiwwQkFBMEI7SUFDMUI7O09BRUc7SUFDSCxRQUFRLENBQUMsTUFBd0IsRUFBRSxLQUFhLEVBQUUsUUFBZ0I7UUFDaEUsTUFBTSxRQUFRLEdBQVUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFNUQsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWSxDQUFDLE1BQW9DLEVBQUUsS0FBYSxFQUFFLFFBQWdCO1FBQ2hGLE1BQU0sUUFBUSxHQUFVLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0QsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ssa0JBQWtCLENBQUMsTUFBb0MsRUFBRSxLQUFjO1FBQzdFLE1BQU0sR0FBRyxHQUFVLElBQUksS0FBSyxFQUFFLENBQUM7UUFFL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FB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QixJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzFCLFVBQVUsRUFBRTtvQkFDVixTQUFTLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTO29CQUNwQyxTQUFTLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTO2lCQUNyQzthQUNGLENBQUM7WUFFRixTQUFTLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOzt3R0FwSFUsVUFBVTs0R0FBVixVQUFVLGNBTlQsTUFBTTs0RkFNUCxVQUFVO2tCQVB0QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERhdGFUYWJsZSB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRhLXRhYmxlL2RhdGEtdGFibGUnO1xuaW1wb3J0IHsgRGF0YVRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RhdGEtdGFibGUvZGF0YS10YWJsZS1jb2x1bW4nO1xuaW1wb3J0IGpzUERGIGZyb20gJ2pzcGRmJztcbmltcG9ydCBhdXRvVGFibGUgZnJvbSAnanNwZGYtYXV0b3RhYmxlJztcbmltcG9ydCB7IFBERl9DT05GSUcgfSBmcm9tICcuLi8uLi9tb2RlbHMvcGRmL3BkZi1jb25maWcnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIHdvcmsgd2l0aCBQREYgKGdlbmVyYXRlLCBkb3dubG9hZCwgZS50LmMuKVxuICovXG5leHBvcnQgY2xhc3MgUGRmU2VydmljZSB7XG4gIC8vIEBUb2RvIHJlbW92ZSAnYW55JyB0eXBlXG4gIC8qKlxuICAgKiBEb3dubG9hZCBnZW5lcmF0ZWQgUERGIGZpbGVcbiAgICovXG4gIGRvd25sb2FkKHRhYmxlczogRGF0YVRhYmxlPGFueT5bXSwgdGl0bGU6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGRvY3VtZW50OiBqc1BERiA9IHRoaXMuZ2VuZXJhdGVQZGZGaWxlKHRhYmxlcywgdGl0bGUpO1xuXG4gICAgZG9jdW1lbnQuc2F2ZShgJHtmaWxlTmFtZX0ucGRmYCk7XG4gIH1cblxuICAvKipcbiAgICogQFRvZG8gcmVuYW1lIHdoZW4gYWxsIERhdGFUYWJsZSBkZXBlbmRlbnQgbWV0aG9kcyB3aWxsIGJlIGNsZWFyZWQtdXBcbiAgICovXG4gIGV4cG9ydFRhYmxlcyh0YWJsZXM6IE5vZGVMaXN0T2Y8SFRNTFRhYmxlRWxlbWVudD4sIHRpdGxlOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBkb2N1bWVudDoganNQREYgPSB0aGlzLmdlbmVyYXRlRnJvbVRhYmxlcyh0YWJsZXMsIHRpdGxlKTtcbiAgICBkb2N1bWVudC5zYXZlKGAke2ZpbGVOYW1lfS5wZGZgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVG9kbyByZW5hbWUgd2hlbiBhbGwgRGF0YVRhYmxlIGRlcGVuZGVudCBtZXRob2RzIHdpbGwgYmUgY2xlYXJlZC11cFxuICAgKi9cbiAgcHJpdmF0ZSBnZW5lcmF0ZUZyb21UYWJsZXModGFibGVzOiBOb2RlTGlzdE9mPEhUTUxUYWJsZUVsZW1lbnQ+LCB0aXRsZT86IHN0cmluZyk6IGpzUERGIHtcbiAgICBjb25zdCBwZGY6IGpzUERGID0gbmV3IGpzUERGKCk7XG5cbiAgICB0aGlzLnNldERvY3VtZW50VGl0bGUocGRmLCB0aXRsZSk7XG4gICAgdGhpcy5zZXREb2N1bWVudExvZ28ocGRmKTtcblxuICAgIHRhYmxlcy5mb3JFYWNoKCh0YWJsZTogSFRNTFRhYmxlRWxlbWVudCkgPT4ge1xuICAgICAgLy8gQWRkIHRhYmxlIGNhcHRpb24gaWYgbm90IHByb3ZpZGVkXG4gICAgICBpZiAoIXRhYmxlLmNhcHRpb24pIHtcbiAgICAgICAgdGFibGUuY3JlYXRlQ2FwdGlvbigpO1xuICAgICAgICB0YWJsZS5jYXB0aW9uLmlubmVyVGV4dCA9ICcnXG4gICAgICB9XG5cbiAgICAgIC8vIGNvb3JkcyBvZiBsYXN0IHRhYmxlXG4gICAgICBjb25zdCBsYXN0VGFibGVDb29yZHMgPSBwZGZbJ2xhc3RBdXRvVGFibGUnXS5maW5hbFkgfHwgUERGX0NPTkZJRy5jb250ZW50Q29vcmRzLm1hcmdpblRvcDtcbiAgICAgIHBkZi50ZXh0KHRhYmxlLmNhcHRpb24uaW5uZXJUZXh0LCBQREZfQ09ORklHLmNvbnRlbnRDb29yZHMubWFyZ2luTGVmdCwgbGFzdFRhYmxlQ29vcmRzICsgUERGX0NPTkZJRy5jb250ZW50Q29vcmRzLm1hcmdpblRvcCk7XG4gICAgICAvLyBnZXQgY2FwdGlvbiBoZWlnaHQgYmFzZWQgb24gY2FwdGlvbiBjb250ZW50IGhlaWdodFxuICAgICAgY29uc3QgY2FwdGlvbkhlaWdodDogbnVtYmVyID0gcGRmLmdldFRleHREaW1lbnNpb25zKHBkZi5zcGxpdFRleHRUb1NpemUodGFibGUuY2FwdGlvbj8uaW5uZXJUZXh0LCBwZGYuaW50ZXJuYWwucGFnZVNpemUud2lkdGgpKS5oO1xuICAgICAgLy8gdGFibGUgb3B0aW9uc1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgaHRtbDogdGFibGUsXG4gICAgICAgIHN0YXJ0WTogbGFzdFRhYmxlQ29vcmRzICsgY2FwdGlvbkhlaWdodCArIFBERl9DT05GSUcuY29udGVudFRpdGxlQ29vcmRzLm1hcmdpblRvcCxcbiAgICAgICAgaGVhZFN0eWxlczoge1xuICAgICAgICAgIGZpbGxDb2xvcjogUERGX0NPTkZJRy50ZXh0LmNvbG9yUHJpbWFyeSxcbiAgICAgICAgfSxcbiAgICAgICAgZm9vdFN0eWxlczoge1xuICAgICAgICAgIGZpbGxDb2xvcjogUERGX0NPTkZJRy50ZXh0LmNvbG9yV2hpdGUsXG4gICAgICAgICAgdGV4dENvbG9yOiBQREZfQ09ORklHLnRleHQuY29sb3JCbGFja1xuICAgICAgICB9LFxuICAgICAgICBkaWRQYXJzZUNlbGw6IChkYXRhKSA9PiB7XG4gICAgICAgICAgLy8gQWxpZ24gbGFzdCBjb2x1bW4gY29udGVudCB0byByaWdodFxuICAgICAgICAgIGlmIChkYXRhLnRhYmxlLmNvbHVtbnMubGVuZ3RoID4gMSAmJiAoZGF0YS5jb2x1bW4uaW5kZXggPT09IGRhdGEudGFibGUuY29sdW1ucy5sZW5ndGggLSAxKSkge1xuICAgICAgICAgICAgZGF0YS5jZWxsLnN0eWxlcy5oYWxpZ24gPSAncmlnaHQnXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBhdXRvVGFibGUocGRmLCBvcHRpb25zKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBwZGY7XG4gIH1cblxuICBwcml2YXRlIHNldERvY3VtZW50VGl0bGUoZG9jOiBqc1BERiwgdGl0bGU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBkb2Muc2V0Rm9udFNpemUoUERGX0NPTkZJRy50ZXh0LmZvbnRTaXplKVxuICAgICAgLnNldEZvbnQoUERGX0NPTkZJRy50ZXh0LmZvbnROYW1lLCBQREZfQ09ORklHLnRleHQuZm9udFN0eWxlLCBQREZfQ09ORklHLnRleHQuZm9udFdlaWdodClcbiAgICAgIC50ZXh0KHRpdGxlLCBQREZfQ09ORklHLnRleHQucG9zaXRpb25YLCBQREZfQ09ORklHLnRleHQucG9zaXRpb25ZKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RG9jdW1lbnRMb2dvKGRvYzoganNQREYpOiB2b2lkIHtcbiAgICBjb25zdCBsb2dvID0gbmV3IEltYWdlKCk7XG4gICAgbG9nby5zcmMgPSBQREZfQ09ORklHLmxvZ28uc3JjO1xuICAgIGRvYy5hZGRJbWFnZShcbiAgICAgIGxvZ28sXG4gICAgICAnUE5HJyxcbiAgICAgIFBERl9DT05GSUcubG9nby5wb3NpdGlvblgsXG4gICAgICBQREZfQ09ORklHLmxvZ28ucG9zaXRpb25ZLFxuICAgICAgUERGX0NPTkZJRy5sb2dvLndpZHRoLFxuICAgICAgUERGX0NPTkZJRy5sb2dvLmhlaWdodFxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBAVG9kbyByZW1vdmUvcmVmYWN0b3Igd2hlbiBhbGwgRGF0YVRhYmxlIGRlcGVuZGVudCBtZXRob2RzIHdpbGwgYmUgY2xlYXJlZC11cFxuICAgKiBHZW5lcmF0ZSBQREYgZmlsZSBmcm9tIHByb3ZpZGVkIGRhdGFcbiAgICovXG4gIHByaXZhdGUgZ2VuZXJhdGVQZGZGaWxlKHRhYmxlczogRGF0YVRhYmxlPGFueT5bXSwgdGl0bGU/OiBzdHJpbmcpOiBqc1BERiB7XG4gICAgY29uc3QgcGRmOiBqc1BERiA9IG5ldyBqc1BERigpO1xuXG4gICAgLy8gc2V0IGRvY3VtZW50IGZvbnQgcGFyYW1zXG4gICAgcGRmLnNldEZvbnRTaXplKFBERl9DT05GSUcudGV4dC5mb250U2l6ZSlcbiAgICAgIC5zZXRGb250KFBERl9DT05GSUcudGV4dC5mb250TmFtZSwgUERGX0NPTkZJRy50ZXh0LmZvbnRTdHlsZSwgUERGX0NPTkZJRy50ZXh0LmZvbnRXZWlnaHQpXG4gICAgICAudGV4dCh0aXRsZSwgUERGX0NPTkZJRy50ZXh0LnBvc2l0aW9uWCwgUERGX0NPTkZJRy50ZXh0LnBvc2l0aW9uWSk7XG5cbiAgICB0YWJsZXMuZm9yRWFjaCgodGFibGU6IERhdGFUYWJsZTxvYmplY3Q+KSA9PiB7XG4gICAgICAvLyBjb29yZHMgb2YgbGFzdCB0YWJsZVxuICAgICAgY29uc3QgbGFzdFRhYmxlQ29vcmRzID0gcGRmWydsYXN0QXV0b1RhYmxlJ10uZmluYWxZIHx8IFBERl9DT05GSUcuY29udGVudENvb3Jkcy5tYXJnaW5Ub3A7XG4gICAgICBwZGYudGV4dCh0YWJsZS5jYXB0aW9uLCBQREZfQ09ORklHLmNvbnRlbnRDb29yZHMubWFyZ2luTGVmdCwgbGFzdFRhYmxlQ29vcmRzICsgUERGX0NPTkZJRy5jb250ZW50Q29vcmRzLm1hcmdpblRvcCk7XG4gICAgICAvLyB0YWJsZSBvcHRpb25zXG4gICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICBzdGFydFk6IGxhc3RUYWJsZUNvb3JkcyArIFBERl9DT05GSUcuY29udGVudFRpdGxlQ29vcmRzLm1hcmdpblRvcCxcbiAgICAgICAgaGVhZDogW3RhYmxlWydjb2x1bW5zJ10ubWFwKChjb2x1bW46IERhdGFUYWJsZUNvbHVtbjxvYmplY3Q+KSA9PiBjb2x1bW4ubmFtZSldLFxuICAgICAgICBib2R5OiB0YWJsZVsncm93cyddLFxuICAgICAgICBmb290OiBbdGFibGVbJ2Zvb3RlclJvdyddXSxcbiAgICAgICAgZm9vdFN0eWxlczoge1xuICAgICAgICAgIGZpbGxDb2xvcjogUERGX0NPTkZJRy50ZXh0LmZpbGxDb2xvcixcbiAgICAgICAgICB0ZXh0Q29sb3I6IFBERl9DT05GSUcudGV4dC50ZXh0Q29sb3JcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgYXV0b1RhYmxlKHBkZiwgb3B0aW9ucyk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGRmO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import { replace } from '../../../functions/array';
|
|
4
|
+
import { plainToClass } from 'class-transformer';
|
|
5
|
+
import { PropertyShare } from '../../../models/property/property-share';
|
|
6
|
+
import { BaseRestService } from '../../base-rest.service';
|
|
7
|
+
import { AppEvent } from '../../../models/event/app-event';
|
|
8
|
+
import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/common/http";
|
|
11
|
+
import * as i2 from "../../event/event-dispatcher.service";
|
|
12
|
+
// @TODO check and improve logic during refactoring
|
|
13
|
+
export class PropertyShareService extends BaseRestService {
|
|
14
|
+
constructor(http, eventDispatcherService, environment) {
|
|
15
|
+
super(http, eventDispatcherService, environment);
|
|
16
|
+
this.http = http;
|
|
17
|
+
this.eventDispatcherService = eventDispatcherService;
|
|
18
|
+
this.environment = environment;
|
|
19
|
+
// api url parameter for properties shares
|
|
20
|
+
this.url = 'properties/shares';
|
|
21
|
+
this.modelClass = PropertyShare;
|
|
22
|
+
this.listenEvents();
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Listen to Event Dispatcher events
|
|
26
|
+
*/
|
|
27
|
+
listenEvents() {
|
|
28
|
+
this.listenUserUpdated();
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Updated loan
|
|
32
|
+
*/
|
|
33
|
+
update(propertyShare) {
|
|
34
|
+
return this.http.put(`${this.environment.apiV2}/${this.url}/${propertyShare.id}`, propertyShare)
|
|
35
|
+
.pipe(map((updatedPropertyShareBase) => {
|
|
36
|
+
const updatedPropertyShare = plainToClass(PropertyShare, updatedPropertyShareBase);
|
|
37
|
+
// if loan type is NOT vehicle - fire EventDispatcher event
|
|
38
|
+
this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.PROPERTY_SHARE_UPDATED, null));
|
|
39
|
+
replace(this.cache, updatedPropertyShare);
|
|
40
|
+
this.updateCache();
|
|
41
|
+
return updatedPropertyShare;
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Re-invite property share
|
|
46
|
+
* @param share user to share property
|
|
47
|
+
*/
|
|
48
|
+
reinvite(share) {
|
|
49
|
+
return this.http.post(`${this.environment.apiV2}/${this.url}/${share.id}/reinvite`, {});
|
|
50
|
+
}
|
|
51
|
+
getIncoming() {
|
|
52
|
+
return this.get()
|
|
53
|
+
.pipe(map((propertyShares) => {
|
|
54
|
+
const propertySharesIncoming = [];
|
|
55
|
+
propertyShares.forEach((propertyShare) => {
|
|
56
|
+
var _a;
|
|
57
|
+
if (((_a = propertyShare.user) === null || _a === void 0 ? void 0 : _a.isLoggedIn()) && propertyShare.isPending() && propertyShare.property.user.id !== +localStorage.getItem('userId')) {
|
|
58
|
+
propertySharesIncoming.push(propertyShare);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
return propertySharesIncoming;
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get outcoming property shares list
|
|
66
|
+
*/
|
|
67
|
+
getOutcoming() {
|
|
68
|
+
return this.get().pipe(map((propertyShares) => {
|
|
69
|
+
return this.filterOutcoming(propertyShares);
|
|
70
|
+
}));
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Filter outcoming property shares
|
|
74
|
+
*/
|
|
75
|
+
filterOutcoming(propertyShares) {
|
|
76
|
+
const propertySharesOutcoming = [];
|
|
77
|
+
propertyShares.forEach((propertyShare) => {
|
|
78
|
+
var _a;
|
|
79
|
+
if (!((_a = propertyShare.user) === null || _a === void 0 ? void 0 : _a.isLoggedIn())) {
|
|
80
|
+
propertySharesOutcoming.push(propertyShare);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
return propertySharesOutcoming;
|
|
84
|
+
}
|
|
85
|
+
getByPropertyId(propertyId) {
|
|
86
|
+
return this.get()
|
|
87
|
+
.pipe(map((propertyShares) => {
|
|
88
|
+
return propertyShares.filter((propertyShare) => propertyShare.property.id === propertyId);
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Listen to User updated event
|
|
93
|
+
*/
|
|
94
|
+
listenUserUpdated() {
|
|
95
|
+
this.eventDispatcherService.on(AppEventTypeEnum.USER_UPDATED)
|
|
96
|
+
.subscribe(() => {
|
|
97
|
+
this.fetch().subscribe((propertyShares) => {
|
|
98
|
+
this.cache = propertyShares;
|
|
99
|
+
this.updateCache();
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
PropertyShareService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyShareService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
105
|
+
PropertyShareService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyShareService, providedIn: 'root' });
|
|
106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PropertyShareService, decorators: [{
|
|
107
|
+
type: Injectable,
|
|
108
|
+
args: [{
|
|
109
|
+
providedIn: 'root'
|
|
110
|
+
}]
|
|
111
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.EventDispatcherService }, { type: undefined, decorators: [{
|
|
112
|
+
type: Inject,
|
|
113
|
+
args: ['environment']
|
|
114
|
+
}] }]; } });
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktc2hhcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9wcm9wZXJ0eS9wcm9wZXJ0eS1zaGFyZS9wcm9wZXJ0eS1zaGFyZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7O0FBRTdFLG1EQUFtRDtBQUluRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsZUFBaUQ7SUFLekYsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0I7UUFFakQsS0FBSyxDQUFDLElBQUksRUFBRSxzQkFBc0IsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUp2QyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBd0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFQbkQsMENBQTBDO1FBQzFDLFFBQUcsR0FBVyxtQkFBbUIsQ0FBQztRQUNsQyxlQUFVLEdBQUcsYUFBYSxDQUFDO1FBUXpCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lB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LGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUE0QixFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxVQUFVLENBQUMsQ0FBQztRQUMzRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVEOztPQUVHO0lBQ0ssaUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO2FBQzFELFNBQVMsQ0FBQyxHQUFTLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGNBQStCLEVBQUUsRUFBRTtnQkFDekQsSUFBSSxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7a0hBM0dVLG9CQUFvQixrRkFRckIsYUFBYTtzSEFSWixvQkFBb0IsY0FGbkIsTUFBTTs0RkFFUCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFTSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFByb3BlcnR5U2hhcmUgYXMgUHJvcGVydHlTaGFyZUJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2hhcmUnO1xuaW1wb3J0IHsgcmVwbGFjZSB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNoYXJlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNoYXJlJztcbmltcG9ydCB7IEJhc2VSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL2Jhc2UtcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuXG4vLyBAVE9ETyBjaGVjayBhbmQgaW1wcm92ZSBsb2dpYyBkdXJpbmcgcmVmYWN0b3JpbmdcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb3BlcnR5U2hhcmVTZXJ2aWNlIGV4dGVuZHMgQmFzZVJlc3RTZXJ2aWNlPFByb3BlcnR5U2hhcmVCYXNlLCBQcm9wZXJ0eVNoYXJlPiB7XG4gIC8vIGFwaSB1cmwgcGFyYW1ldGVyIGZvciBwcm9wZXJ0aWVzIHNoYXJlc1xuICB1cmw6IHN0cmluZyA9ICdwcm9wZXJ0aWVzL3NoYXJlcyc7XG4gIG1vZGVsQ2xhc3MgPSBQcm9wZXJ0eVNoYXJlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnlcbiAgKSB7XG4gICAgc3VwZXIoaHR0cCwgZXZlbnREaXNwYXRjaGVyU2VydmljZSwgZW52aXJvbm1lbnQpO1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50IERpc3BhdGNoZXIgZXZlbnRzXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5Vc2VyVXBkYXRlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZWQgbG9hblxuICAgKi9cbiAgdXBkYXRlKHByb3BlcnR5U2hhcmU6IFByb3BlcnR5U2hhcmUpOiBPYnNlcnZhYmxlPFByb3BlcnR5U2hhcmU+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke3Byb3BlcnR5U2hhcmUuaWR9YCwgcHJvcGVydHlTaGFyZSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHVwZGF0ZWRQcm9wZXJ0eVNoYXJlQmFzZTogUHJvcGVydHlTaGFyZUJhc2UpID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkUHJvcGVydHlTaGFyZTogUHJvcGVydHlTaGFyZSA9IHBsYWluVG9DbGFzcyhQcm9wZXJ0eVNoYXJlLCB1cGRhdGVkUHJvcGVydHlTaGFyZUJhc2UpO1xuICAgICAgICAgIC8vIGlmIGxvYW4gdHlwZSBpcyBOT1QgdmVoaWNsZSAtIGZpcmUgRXZlbnREaXNwYXRjaGVyIGV2ZW50XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX1NIQVJFX1VQREFURUQsIG51bGwpKTtcblxuICAgICAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgdXBkYXRlZFByb3BlcnR5U2hhcmUpO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlZFByb3BlcnR5U2hhcmU7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLWludml0ZSBwcm9wZXJ0eSBzaGFyZVxuICAgKiBAcGFyYW0gc2hhcmUgdXNlciB0byBzaGFyZSBwcm9wZXJ0eVxuICAgKi9cbiAgcmVpbnZpdGUoc2hhcmU6IFByb3BlcnR5U2hhcmUpOiBPYnNlcnZhYmxlPG9iamVjdD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke3NoYXJlLmlkfS9yZWludml0ZWAsIHt9KTtcbiAgfVxuXG4gIGdldEluY29taW5nKCk6IE9ic2VydmFibGU8UHJvcGVydHlTaGFyZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKG1hcCgocHJvcGVydHlTaGFyZXM6IFByb3BlcnR5U2hhcmVbXSkgPT4ge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eVNoYXJlc0luY29taW5nOiBQcm9wZXJ0eVNoYXJlW10gPSBbXTtcblxuICAgICAgICBwcm9wZXJ0eVNoYXJlcy5mb3JFYWNoKChwcm9wZXJ0eVNoYXJlOiBQcm9wZXJ0eVNoYXJlKSA9PiB7XG4gICAgICAgICAgaWYgKHByb3BlcnR5U2hhcmUudXNlcj8uaXNMb2dnZWRJbigpICYmIHByb3BlcnR5U2hhcmUuaXNQZW5kaW5nKCkgJiYgcHJvcGVydHlTaGFyZS5wcm9wZXJ0eS51c2VyLmlkICE9PSArbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXJJZCcpKSB7XG4gICAgICAgICAgICBwcm9wZXJ0eVNoYXJlc0luY29taW5nLnB1c2gocHJvcGVydHlTaGFyZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gcHJvcGVydHlTaGFyZXNJbmNvbWluZztcbiAgICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgb3V0Y29taW5nIHByb3BlcnR5IHNoYXJlcyBsaXN0XG4gICAqL1xuICBnZXRPdXRjb21pbmcoKTogT2JzZXJ2YWJsZTxQcm9wZXJ0eVNoYXJlW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChwcm9wZXJ0eVNoYXJlczogUHJvcGVydHlTaGFyZVtdKTogUHJvcGVydHlTaGFyZVtdID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyT3V0Y29taW5nKHByb3BlcnR5U2hhcmVzKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXIgb3V0Y29taW5nIHByb3BlcnR5IHNoYXJlc1xuICAgKi9cbiAgZmlsdGVyT3V0Y29taW5nKHByb3BlcnR5U2hhcmVzOiBQcm9wZXJ0eVNoYXJlW10pOiBQcm9wZXJ0eVNoYXJlW10ge1xuICAgIGNvbnN0IHByb3BlcnR5U2hhcmVzT3V0Y29taW5nOiBQcm9wZXJ0eVNoYXJlW10gPSBbXTtcblxuICAgIHByb3BlcnR5U2hhcmVzLmZvckVhY2goKHByb3BlcnR5U2hhcmU6IFByb3BlcnR5U2hhcmUpID0+IHtcbiAgICAgIGlmICghcHJvcGVydHlTaGFyZS51c2VyPy5pc0xvZ2dlZEluKCkpIHtcbiAgICAgICAgcHJvcGVydHlTaGFyZXNPdXRjb21pbmcucHVzaChwcm9wZXJ0eVNoYXJlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBwcm9wZXJ0eVNoYXJlc091dGNvbWluZztcbiAgfVxuXG4gIGdldEJ5UHJvcGVydHlJZChwcm9wZXJ0eUlkOiBudW1iZXIpOiBPYnNlcnZhYmxlPFByb3BlcnR5U2hhcmVbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChwcm9wZXJ0eVNoYXJlczogUHJvcGVydHlTaGFyZVtdKSA9PiB7XG4gICAgICAgIHJldHVybiBwcm9wZXJ0eVNoYXJlcy5maWx0ZXIoKHByb3BlcnR5U2hhcmU6IFByb3BlcnR5U2hhcmUpID0+IHByb3BlcnR5U2hhcmUucHJvcGVydHkuaWQgPT09IHByb3BlcnR5SWQpO1xuICAgICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBVc2VyIHVwZGF0ZWQgZXZlbnRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuVXNlclVwZGF0ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uVVNFUl9VUERBVEVEKVxuICAgICAgLnN1YnNjcmliZSgoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuZmV0Y2goKS5zdWJzY3JpYmUoKHByb3BlcnR5U2hhcmVzOiBQcm9wZXJ0eVNoYXJlW10pID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gcHJvcGVydHlTaGFyZXM7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
|