taxtank-core 0.24.3 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taxtank-core.umd.js +3067 -2561
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/client-invite.collection.js +1 -4
- package/esm2015/lib/collections/depreciation.collection.js +11 -1
- package/esm2015/lib/collections/index.js +3 -0
- package/esm2015/lib/collections/loan/loan-payment.collection.js +14 -1
- package/esm2015/lib/collections/loan/loan.collection.js +11 -1
- package/esm2015/lib/collections/report/vehicle-expense/vehicle-expense.collection.js +1 -1
- package/esm2015/lib/collections/transaction/transaction.collection.js +20 -1
- package/esm2015/lib/collections/vehicle/index.js +3 -0
- package/esm2015/lib/collections/vehicle/vehicle-claim.collection.js +27 -0
- package/esm2015/lib/collections/vehicle/vehicle-logbook.collection.js +106 -0
- package/esm2015/lib/db/Enums/bank-account-type.enum.js +3 -2
- package/esm2015/lib/db/Enums/vehicle-claim-details-method.enum.js +6 -0
- package/esm2015/lib/db/Models/sole/sole-business.js +1 -1
- package/esm2015/lib/db/Models/sole/sole-invoice-template.js +1 -1
- package/esm2015/lib/db/Models/transaction/transaction-base.js +15 -2
- package/esm2015/lib/db/Models/vehicle/vehicle-claim-details.js +4 -0
- package/esm2015/lib/db/Models/vehicle/vehicle-claim.js +1 -1
- package/esm2015/lib/db/Models/vehicle/vehicle-logbook.js +1 -1
- package/esm2015/lib/db/Models/vehicle/vehicle.js +1 -1
- package/esm2015/lib/forms/abstract.form.js +23 -1
- package/esm2015/lib/forms/bank/bank-account/bank-account-add-manual.form.js +8 -5
- package/esm2015/lib/forms/bank/bank-account/bank-account-allocation.form.js +16 -9
- package/esm2015/lib/forms/bank/bank-account/bank-account-import.form.js +8 -3
- package/esm2015/lib/forms/index.js +3 -4
- package/esm2015/lib/forms/loan/index.js +2 -0
- package/esm2015/lib/forms/loan/loan.form.js +86 -0
- package/esm2015/lib/forms/report/my-tax/my-tax-deductions.form.js +2 -2
- package/esm2015/lib/forms/sole/index.js +3 -1
- package/esm2015/lib/forms/sole/sole-business-allocations.form.js +65 -0
- package/esm2015/lib/forms/sole/sole-invoice-template.form.js +13 -0
- package/esm2015/lib/forms/vehicle/index.js +5 -0
- package/esm2015/lib/forms/vehicle/vehicle-claim-details.form.js +21 -0
- package/esm2015/lib/forms/vehicle/vehicle-claim.form.js +12 -102
- package/esm2015/lib/forms/vehicle/vehicle-logbook.form.js +56 -0
- package/esm2015/lib/forms/vehicle/vehicle.form.js +5 -2
- package/esm2015/lib/models/bank/bank-account-types.const.js +1 -2
- package/esm2015/lib/models/bank/bank-account.js +10 -5
- package/esm2015/lib/models/bank/type-loan.const.js +1 -2
- package/esm2015/lib/models/endpoint/endpoints.const.js +13 -4
- package/esm2015/lib/models/event/app-event-type.enum.js +7 -4
- package/esm2015/lib/models/index.js +2 -1
- package/esm2015/lib/models/loan/loan.js +36 -2
- package/esm2015/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.js +5 -5
- package/esm2015/lib/models/sole/sole-business.js +2 -2
- package/esm2015/lib/models/sole/sole-invoice-template.js +5 -2
- package/esm2015/lib/models/vehicle/index.js +6 -0
- package/esm2015/lib/models/vehicle/logbook-period.js +23 -0
- package/esm2015/lib/models/vehicle/vehicle-claim-details.js +26 -0
- package/esm2015/lib/models/vehicle/vehicle-claim.js +64 -0
- package/esm2015/lib/models/vehicle/vehicle-logbook.js +32 -0
- package/esm2015/lib/models/vehicle/vehicle.js +10 -0
- package/esm2015/lib/services/http/depreciation/depreciation.service.js +10 -5
- package/esm2015/lib/services/http/firm/client-invite/client-invite.service.js +15 -1
- package/esm2015/lib/services/http/firm/client-movement/client-movement.service.js +13 -10
- package/esm2015/lib/services/http/index.js +2 -1
- package/esm2015/lib/services/http/sole/index.js +2 -1
- package/esm2015/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.js +21 -0
- package/esm2015/lib/services/http/tax-review/tax-review.service.js +11 -3
- package/esm2015/lib/services/http/transaction/transaction.service.js +12 -1
- package/esm2015/lib/services/http/vehicle/index.js +5 -0
- package/esm2015/lib/services/http/vehicle/vehicle-claim-details.service.js +91 -0
- package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +65 -6
- package/esm2015/lib/services/http/vehicle/vehicle-logbook.service.js +11 -47
- package/esm2015/lib/services/http/vehicle/vehicle.service.js +2 -52
- package/esm2015/lib/services/index.js +2 -1
- package/esm2015/lib/services/vehicle/index.js +2 -0
- package/esm2015/lib/services/vehicle/logbook-best-period.service.js +72 -0
- package/esm2015/lib/validators/index.js +3 -1
- package/esm2015/lib/validators/min-date/messages.enum.js +5 -0
- package/esm2015/lib/validators/min-date/min-date.validator.js +14 -0
- package/esm2015/public-api.js +3 -14
- package/fesm2015/taxtank-core.js +2253 -1814
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/client-invite.collection.d.ts +0 -3
- package/lib/collections/depreciation.collection.d.ts +6 -1
- package/lib/collections/index.d.ts +1 -0
- package/lib/collections/loan/loan-payment.collection.d.ts +4 -0
- package/lib/collections/loan/loan.collection.d.ts +6 -0
- package/lib/collections/report/vehicle-expense/vehicle-expense.collection.d.ts +1 -1
- package/lib/collections/transaction/transaction.collection.d.ts +9 -0
- package/lib/collections/vehicle/index.d.ts +2 -0
- package/lib/collections/vehicle/vehicle-claim.collection.d.ts +14 -0
- package/lib/collections/vehicle/vehicle-logbook.collection.d.ts +38 -0
- package/lib/db/Enums/bank-account-type.enum.d.ts +0 -1
- package/lib/db/Enums/vehicle-claim-details-method.enum.d.ts +4 -0
- package/lib/db/Models/sole/sole-business.d.ts +2 -0
- package/lib/db/Models/sole/sole-invoice-template.d.ts +1 -0
- package/lib/db/Models/transaction/transaction-base.d.ts +2 -0
- package/lib/db/Models/vehicle/vehicle-claim-details.d.ts +10 -0
- package/lib/db/Models/vehicle/vehicle-claim.d.ts +3 -5
- package/lib/db/Models/vehicle/vehicle-logbook.d.ts +3 -2
- package/lib/forms/abstract.form.d.ts +12 -0
- package/lib/forms/index.d.ts +2 -3
- package/lib/forms/loan/index.d.ts +1 -0
- package/lib/forms/loan/loan.form.d.ts +25 -0
- package/lib/forms/sole/index.d.ts +2 -0
- package/lib/forms/sole/sole-business-allocations.form.d.ts +17 -0
- package/lib/forms/sole/sole-invoice-template.form.d.ts +5 -0
- package/lib/forms/vehicle/index.d.ts +4 -0
- package/lib/forms/vehicle/vehicle-claim-details.form.d.ts +13 -0
- package/lib/forms/vehicle/vehicle-claim.form.d.ts +8 -38
- package/lib/forms/vehicle/vehicle-logbook.form.d.ts +20 -0
- package/lib/forms/vehicle/vehicle.form.d.ts +4 -1
- package/lib/models/bank/bank-account.d.ts +3 -2
- package/lib/models/event/app-event-type.enum.d.ts +6 -3
- package/lib/models/index.d.ts +1 -0
- package/lib/models/loan/loan.d.ts +26 -0
- package/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.d.ts +3 -2
- package/lib/models/sole/sole-business.d.ts +1 -1
- package/lib/models/sole/sole-invoice-template.d.ts +1 -0
- package/lib/models/vehicle/index.d.ts +5 -0
- package/lib/models/vehicle/logbook-period.d.ts +15 -0
- package/lib/models/vehicle/vehicle-claim-details.d.ts +8 -0
- package/lib/models/{logbook → vehicle}/vehicle-claim.d.ts +11 -17
- package/lib/models/vehicle/vehicle-logbook.d.ts +17 -0
- package/lib/models/{logbook → vehicle}/vehicle.d.ts +0 -5
- package/lib/services/http/depreciation/depreciation.service.d.ts +1 -1
- package/lib/services/http/firm/client-invite/client-invite.service.d.ts +7 -1
- package/lib/services/http/firm/client-movement/client-movement.service.d.ts +2 -4
- package/lib/services/http/index.d.ts +1 -0
- package/lib/services/http/sole/index.d.ts +1 -0
- package/lib/services/http/sole/sole-invoice-template/sole-invoice-template.service.d.ts +11 -0
- package/lib/services/http/tax-review/tax-review.service.d.ts +1 -0
- package/lib/services/http/transaction/transaction.service.d.ts +1 -0
- package/lib/services/http/vehicle/index.d.ts +4 -0
- package/lib/services/http/vehicle/vehicle-claim-details.service.d.ts +34 -0
- package/lib/services/http/vehicle/vehicle-claim.service.d.ts +22 -5
- package/lib/services/http/vehicle/vehicle-logbook.service.d.ts +6 -15
- package/lib/services/http/vehicle/vehicle.service.d.ts +2 -20
- package/lib/services/index.d.ts +1 -0
- package/lib/services/vehicle/index.d.ts +1 -0
- package/lib/services/vehicle/logbook-best-period.service.d.ts +28 -0
- package/lib/validators/index.d.ts +2 -0
- package/lib/validators/min-date/messages.enum.d.ts +3 -0
- package/lib/validators/min-date/min-date.validator.d.ts +5 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -13
- package/esm2015/lib/collections/vehicle-logbook.collection.js +0 -88
- package/esm2015/lib/collections/vehicle.collection.js +0 -9
- package/esm2015/lib/db/Enums/vehicle-claim-method.enum.js +0 -6
- package/esm2015/lib/forms/bank/bank-account/bank-account-loan.form.js +0 -23
- package/esm2015/lib/models/logbook/default-vehicle-expense.js +0 -20
- package/esm2015/lib/models/logbook/logbook-period.js +0 -18
- package/esm2015/lib/models/logbook/logbook-purpose-options.const.js +0 -6
- package/esm2015/lib/models/logbook/vehicle-claim.js +0 -94
- package/esm2015/lib/models/logbook/vehicle-logbook.js +0 -22
- package/esm2015/lib/models/logbook/vehicle.js +0 -17
- package/esm2015/lib/services/http/user/users-invite/users-invite.service.js +0 -23
- package/esm2015/lib/services/http/vehicle/messages.enum.js +0 -13
- package/lib/collections/vehicle-logbook.collection.d.ts +0 -30
- package/lib/collections/vehicle.collection.d.ts +0 -6
- package/lib/db/Enums/vehicle-claim-method.enum.d.ts +0 -4
- package/lib/forms/bank/bank-account/bank-account-loan.form.d.ts +0 -8
- package/lib/models/logbook/default-vehicle-expense.d.ts +0 -5
- package/lib/models/logbook/logbook-period.d.ts +0 -10
- package/lib/models/logbook/logbook-purpose-options.const.d.ts +0 -4
- package/lib/models/logbook/vehicle-logbook.d.ts +0 -12
- package/lib/services/http/user/users-invite/users-invite.service.d.ts +0 -13
- package/lib/services/http/vehicle/messages.enum.d.ts +0 -11
|
@@ -7,6 +7,7 @@ import { RestService } from '../../rest/rest.service';
|
|
|
7
7
|
import { ClientMovement } from '../../../../models/client/client-movement';
|
|
8
8
|
import { AppEvent } from '../../../../models/event/app-event';
|
|
9
9
|
import { AppEventTypeEnum } from '../../../../models/event/app-event-type.enum';
|
|
10
|
+
import { UserEventTypeClientTypeEnum } from "../../../../db/Enums/user-event-type-client-type.enum";
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
export class ClientMovementService extends RestService {
|
|
12
13
|
constructor() {
|
|
@@ -15,6 +16,10 @@ export class ClientMovementService extends RestService {
|
|
|
15
16
|
this.url = 'client-movements';
|
|
16
17
|
this.isHydra = true;
|
|
17
18
|
}
|
|
19
|
+
listenEvents() {
|
|
20
|
+
this.listenNotifications();
|
|
21
|
+
this.listenClientInvites();
|
|
22
|
+
}
|
|
18
23
|
/**
|
|
19
24
|
* @TODO BaseRestService should return collection
|
|
20
25
|
*/
|
|
@@ -59,11 +64,12 @@ export class ClientMovementService extends RestService {
|
|
|
59
64
|
this.updateCache();
|
|
60
65
|
}));
|
|
61
66
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
+
listenNotifications() {
|
|
68
|
+
this.eventDispatcherService.on(AppEventTypeEnum.NOTIFICATION_ADDED).subscribe((notification) => {
|
|
69
|
+
if (!notification.isRead && notification.eventType === UserEventTypeClientTypeEnum.FIRM_INVITE_ACCEPTED) {
|
|
70
|
+
this.resetCache();
|
|
71
|
+
}
|
|
72
|
+
});
|
|
67
73
|
}
|
|
68
74
|
/**
|
|
69
75
|
* Listen to EventDispatcherService event related to clients invitations
|
|
@@ -71,10 +77,7 @@ export class ClientMovementService extends RestService {
|
|
|
71
77
|
listenClientInvites() {
|
|
72
78
|
this.eventDispatcherService.on(AppEventTypeEnum.CLIENT_INVITE_ACCEPTED)
|
|
73
79
|
.subscribe(() => {
|
|
74
|
-
this.
|
|
75
|
-
this.cache = clientMovements;
|
|
76
|
-
this.updateCache();
|
|
77
|
-
});
|
|
80
|
+
this.resetCache();
|
|
78
81
|
});
|
|
79
82
|
}
|
|
80
83
|
}
|
|
@@ -86,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
86
89
|
providedIn: 'root'
|
|
87
90
|
}]
|
|
88
91
|
}] });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW1vdmVtZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9maXJtL2NsaWVudC1tb3ZlbWVudC9jbGllbnQtbW92ZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRTlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQzs7QUFNaEYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFdBQStDO0lBSDFGOztRQUlFLGVBQVUsR0FBMEIsY0FBYyxDQUFDO1FBQ25ELFFBQUcsR0FBVyxrQkFBa0IsQ0FBQztRQUNqQyxZQUFPLEdBQVksSUFBSSxDQUFDO0tBbUZ6QjtJQWpGQzs7T0FFRztJQUNILE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ3BCLEdBQUcsQ0FBQyxDQUFDLGVBQWlDLEVBQUUsRUFBRTtZQUN4QyxPQUFPLElBQUksd0JBQXdCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUN2QixHQUFHLENBQUMsQ0FBQyxlQUF5QyxFQUE0QixFQUFFO1lBQzFFLE9BQU8sZUFBZSxDQUFDLE1BQU0sQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELG1CQUFtQixDQUFDLElBQWtCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FDMUIsR0FBRyxDQUFDLENBQUMsZUFBeUMsRUFBNEIsRUFBRTtZQUMxRSxPQUFPLGVBQWUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBd0I7UUFDN0IsZ0VBQWdFO1FBQ2hFLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzFGLEdBQUcsQ0FBQyxDQUFDLGVBQStCLEVBQUUsRUFBRTtZQUN0QyxzQ0FBc0M7WUFDdEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQW9CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2xGLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUVuQixJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLGlDQUFpQyxFQUFFLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVqSSxPQUFPLGVBQWUsQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxlQUFpQztRQUMzQyxNQUFNLEtBQUssR0FBaUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQThCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUNqSSxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsY0FBOEI7UUFDbEMsY0FBYyxDQUFDLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUsscUJBQXFCLGNBQWMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUM7YUFDMUcsSUFBSSxDQUNILEdBQUcsQ0FBQyxHQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsc0JBQXNCLENBQUMsUUFBUSxDQUFDLElBQUksUUFBUSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDbEcsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQXdCLEVBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNLLG1CQUFtQjtRQUN6QixJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDO2FBQ3BFLFNBQVMsQ0FBQyxHQUFTLEVBQUU7WUFDcEIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLGVBQWlDLEVBQUUsRUFBRTtnQkFDM0QsSUFBSSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7bUhBckZVLHFCQUFxQjt1SEFBckIscUJBQXFCLGNBRnBCLE1BQU07NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsaWVudE1vdmVtZW50IGFzIENsaWVudE1vdmVtZW50QmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9maXJtL2NsaWVudC1tb3ZlbWVudCc7XG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29sbGVjdGlvbnMvY2xpZW50LW1vdmVtZW50LmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgRmlybVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvRW51bXMvZmlybS10eXBlLmVudW0nO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBDbGllbnRNb3ZlbWVudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9jbGllbnQvY2xpZW50LW1vdmVtZW50JztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENsaWVudE1vdmVtZW50U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPENsaWVudE1vdmVtZW50QmFzZSwgQ2xpZW50TW92ZW1lbnQ+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgQ2xpZW50TW92ZW1lbnQgPSBDbGllbnRNb3ZlbWVudDtcbiAgdXJsOiBzdHJpbmcgPSAnY2xpZW50LW1vdmVtZW50cyc7XG4gIGlzSHlkcmE6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBAVE9ETyBCYXNlUmVzdFNlcnZpY2Ugc2hvdWxkIHJldHVybiBjb2xsZWN0aW9uXG4gICAqL1xuICBnZXRBbGwoKTogT2JzZXJ2YWJsZTxDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChjbGllbnRNb3ZlbWVudHM6IENsaWVudE1vdmVtZW50W10pID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24oY2xpZW50TW92ZW1lbnRzKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldEFjdGl2ZSgpOiBPYnNlcnZhYmxlPENsaWVudE1vdmVtZW50Q29sbGVjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmdldEFsbCgpLnBpcGUoXG4gICAgICBtYXAoKGNsaWVudE1vdmVtZW50czogQ2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uKTogQ2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uID0+IHtcbiAgICAgICAgcmV0dXJuIGNsaWVudE1vdmVtZW50cy5hY3RpdmU7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBnZXRBY3RpdmVCeUZpcm1UeXBlKHR5cGU6IEZpcm1UeXBlRW51bSk6IE9ic2VydmFibGU8Q2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWN0aXZlKCkucGlwZShcbiAgICAgIG1hcCgoY2xpZW50TW92ZW1lbnRzOiBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24pOiBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24gPT4ge1xuICAgICAgICByZXR1cm4gY2xpZW50TW92ZW1lbnRzLmdldEJ5RmlybVR5cGUodHlwZSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGUobW92ZW1lbnQ6IENsaWVudE1vdmVtZW50KTogT2JzZXJ2YWJsZTxDbGllbnRNb3ZlbWVudD4ge1xuICAgIC8vIGV4dGVuZCBiYXNlICdhZGQnIG1ldGhvZCBhbmQgcGFzcyBpbnRvIGl0IG1vdmVtZW50IHdpdGhvdXQgaWRcbiAgICByZXR1cm4gc3VwZXIuYWRkKHBsYWluVG9DbGFzcyhDbGllbnRNb3ZlbWVudCwgT2JqZWN0LmFzc2lnbih7fSwgbW92ZW1lbnQsIHtpZDogbnVsbH0pKSkucGlwZShcbiAgICAgIG1hcCgodXBkYXRlZE1vdmVtZW50OiBDbGllbnRNb3ZlbWVudCkgPT4ge1xuICAgICAgICAvLyByZW1vdmUgcHJvdmlkZWQgbW92ZW1lbnQgZnJvbSBjYWNoZVxuICAgICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5maWx0ZXIoKGl0ZW06IENsaWVudE1vdmVtZW50KSA9PiBpdGVtLmlkICE9PSBtb3ZlbWVudC5pZCk7XG4gICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcblxuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uQ0xJRU5UX1RSQU5TRkVSX1RPX09USEVSX0VNUExPWUVFLCBbdXBkYXRlZE1vdmVtZW50LmNsaWVudF0pKTtcblxuICAgICAgICByZXR1cm4gdXBkYXRlZE1vdmVtZW50O1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlQmF0Y2goY2xpZW50TW92ZW1lbnRzOiBDbGllbnRNb3ZlbWVudFtdKTogT2JzZXJ2YWJsZTxDbGllbnRNb3ZlbWVudFtdPiB7XG4gICAgY29uc3QgYmF0Y2g6IE9ic2VydmFibGU8Q2xpZW50TW92ZW1lbnQ+W10gPSBjbGllbnRNb3ZlbWVudHMubWFwKChjbGllbnRNb3ZlbWVudDogQ2xpZW50TW92ZW1lbnQpID0+IHRoaXMudXBkYXRlKGNsaWVudE1vdmVtZW50KSk7XG4gICAgcmV0dXJuIGZvcmtKb2luKGJhdGNoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWplY3QgY3VycmVudCBmaXJtXG4gICAqL1xuICBjbG9zZShjbGllbnRNb3ZlbWVudDogQ2xpZW50TW92ZW1lbnQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjbGllbnRNb3ZlbWVudC5kYXRlVG8gPSBuZXcgRGF0ZSgpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L2NsaWVudC1tb3ZlbWVudHMvJHtjbGllbnRNb3ZlbWVudC5pZH0vY2xvc2VgLCBjbGllbnRNb3ZlbWVudClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5DTElFTlRfTU9WRU1FTlRfQ0xPU0VELCBudWxsKSk7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRoaXMuY2FjaGUuZmlsdGVyKChtb3ZlbWVudDogQ2xpZW50TW92ZW1lbnQpOiBib29sZWFuID0+IG1vdmVtZW50LmlkICE9PSBjbGllbnRNb3ZlbWVudC5pZCk7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gRXZlbnQgRGlzcGF0Y2hlciBzZXJ2aWNlXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5DbGllbnRJbnZpdGVzKCk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byBjbGllbnRzIGludml0YXRpb25zXG4gICAqL1xuICBwcml2YXRlIGxpc3RlbkNsaWVudEludml0ZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uQ0xJRU5UX0lOVklURV9BQ0NFUFRFRClcbiAgICAgIC5zdWJzY3JpYmUoKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLmZldGNoKCkuc3Vic2NyaWJlKChjbGllbnRNb3ZlbWVudHM6IENsaWVudE1vdmVtZW50W10pID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gY2xpZW50TW92ZW1lbnRzO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LW1vdmVtZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9maXJtL2NsaWVudC1tb3ZlbWVudC9jbGllbnQtbW92ZW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBRTlGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUdoRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7QUFLcEcsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFdBQStDO0lBSDFGOztRQUlFLGVBQVUsR0FBMEIsY0FBYyxDQUFDO1FBQ25ELFFBQUcsR0FBVyxrQkFBa0IsQ0FBQztRQUNqQyxZQUFPLEdBQVksSUFBSSxDQUFDO0tBc0Z6QjtJQXBGQyxZQUFZO1FBQ1YsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTTtRQUNKLE9BQU8sSUFBSSxDQUFD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Q0FBQyxTQUFTLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUU7WUFDM0csSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSywyQkFBMkIsQ0FBQyxvQkFBb0IsRUFBRTtnQkFDdkcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ25CO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQzthQUNwRSxTQUFTLENBQUMsR0FBUyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O21IQXhGVSxxQkFBcUI7dUhBQXJCLHFCQUFxQixjQUZwQixNQUFNOzRGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbGllbnRNb3ZlbWVudCBhcyBDbGllbnRNb3ZlbWVudEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYi9Nb2RlbHMvZmlybS9jbGllbnQtbW92ZW1lbnQnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENsaWVudE1vdmVtZW50Q29sbGVjdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbGxlY3Rpb25zL2NsaWVudC1tb3ZlbWVudC5jb2xsZWN0aW9uJztcbmltcG9ydCB7IEZpcm1UeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL0VudW1zL2Zpcm0tdHlwZS5lbnVtJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2xpZW50TW92ZW1lbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvY2xpZW50L2NsaWVudC1tb3ZlbWVudCc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uIH0gZnJvbSBcIi4uLy4uLy4uLy4uL21vZGVscy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uXCI7XG5pbXBvcnQgeyBVc2VyRXZlbnRUeXBlQ2xpZW50VHlwZUVudW0gfSBmcm9tIFwiLi4vLi4vLi4vLi4vZGIvRW51bXMvdXNlci1ldmVudC10eXBlLWNsaWVudC10eXBlLmVudW1cIjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ2xpZW50TW92ZW1lbnRTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8Q2xpZW50TW92ZW1lbnRCYXNlLCBDbGllbnRNb3ZlbWVudD4gaW1wbGVtZW50cyBJRXZlbnRMaXN0ZW5lciB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBDbGllbnRNb3ZlbWVudCA9IENsaWVudE1vdmVtZW50O1xuICB1cmw6IHN0cmluZyA9ICdjbGllbnQtbW92ZW1lbnRzJztcbiAgaXNIeWRyYTogYm9vbGVhbiA9IHRydWU7XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuTm90aWZpY2F0aW9ucygpO1xuICAgIHRoaXMubGlzdGVuQ2xpZW50SW52aXRlcygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIEJhc2VSZXN0U2VydmljZSBzaG91bGQgcmV0dXJuIGNvbGxlY3Rpb25cbiAgICovXG4gIGdldEFsbCgpOiBPYnNlcnZhYmxlPENsaWVudE1vdmVtZW50Q29sbGVjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUoXG4gICAgICBtYXAoKGNsaWVudE1vdmVtZW50czogQ2xpZW50TW92ZW1lbnRbXSkgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IENsaWVudE1vdmVtZW50Q29sbGVjdGlvbihjbGllbnRNb3ZlbWVudHMpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgZ2V0QWN0aXZlKCk6IE9ic2VydmFibGU8Q2xpZW50TW92ZW1lbnRDb2xsZWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QWxsKCkucGlwZShcbiAgICAgIG1hcCgoY2xpZW50TW92ZW1lbnRzOiBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24pOiBDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24gPT4ge1xuICAgICAgICByZXR1cm4gY2xpZW50TW92ZW1lbnRzLmFjdGl2ZTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldEFjdGl2ZUJ5RmlybVR5cGUodHlwZTogRmlybVR5cGVFbnVtKTogT2JzZXJ2YWJsZTxDbGllbnRNb3ZlbWVudENvbGxlY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRBY3RpdmUoKS5waXBlKFxuICAgICAgbWFwKChjbGllbnRNb3ZlbWVudHM6IENsaWVudE1vdmVtZW50Q29sbGVjdGlvbik6IENsaWVudE1vdmVtZW50Q29sbGVjdGlvbiA9PiB7XG4gICAgICAgIHJldHVybiBjbGllbnRNb3ZlbWVudHMuZ2V0QnlGaXJtVHlwZSh0eXBlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZShtb3ZlbWVudDogQ2xpZW50TW92ZW1lbnQpOiBPYnNlcnZhYmxlPENsaWVudE1vdmVtZW50PiB7XG4gICAgLy8gZXh0ZW5kIGJhc2UgJ2FkZCcgbWV0aG9kIGFuZCBwYXNzIGludG8gaXQgbW92ZW1lbnQgd2l0aG91dCBpZFxuICAgIHJldHVybiBzdXBlci5hZGQocGxhaW5Ub0NsYXNzKENsaWVudE1vdmVtZW50LCBPYmplY3QuYXNzaWduKHt9LCBtb3ZlbWVudCwge2lkOiBudWxsfSkpKS5waXBlKFxuICAgICAgbWFwKCh1cGRhdGVkTW92ZW1lbnQ6IENsaWVudE1vdmVtZW50KSA9PiB7XG4gICAgICAgIC8vIHJlbW92ZSBwcm92aWRlZCBtb3ZlbWVudCBmcm9tIGNhY2hlXG4gICAgICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLmZpbHRlcigoaXRlbTogQ2xpZW50TW92ZW1lbnQpID0+IGl0ZW0uaWQgIT09IG1vdmVtZW50LmlkKTtcbiAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuXG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5DTElFTlRfVFJBTlNGRVJfVE9fT1RIRVJfRU1QTE9ZRUUsIFt1cGRhdGVkTW92ZW1lbnQuY2xpZW50XSkpO1xuXG4gICAgICAgIHJldHVybiB1cGRhdGVkTW92ZW1lbnQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGVCYXRjaChjbGllbnRNb3ZlbWVudHM6IENsaWVudE1vdmVtZW50W10pOiBPYnNlcnZhYmxlPENsaWVudE1vdmVtZW50W10+IHtcbiAgICBjb25zdCBiYXRjaDogT2JzZXJ2YWJsZTxDbGllbnRNb3ZlbWVudD5bXSA9IGNsaWVudE1vdmVtZW50cy5tYXAoKGNsaWVudE1vdmVtZW50OiBDbGllbnRNb3ZlbWVudCkgPT4gdGhpcy51cGRhdGUoY2xpZW50TW92ZW1lbnQpKTtcbiAgICByZXR1cm4gZm9ya0pvaW4oYmF0Y2gpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlamVjdCBjdXJyZW50IGZpcm1cbiAgICovXG4gIGNsb3NlKGNsaWVudE1vdmVtZW50OiBDbGllbnRNb3ZlbWVudCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGNsaWVudE1vdmVtZW50LmRhdGVUbyA9IG5ldyBEYXRlKCk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vY2xpZW50LW1vdmVtZW50cy8ke2NsaWVudE1vdmVtZW50LmlkfS9jbG9zZWAsIGNsaWVudE1vdmVtZW50KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkNMSUVOVF9NT1ZFTUVOVF9DTE9TRUQsIG51bGwpKTtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5maWx0ZXIoKG1vdmVtZW50OiBDbGllbnRNb3ZlbWVudCk6IGJvb2xlYW4gPT4gbW92ZW1lbnQuaWQgIT09IGNsaWVudE1vdmVtZW50LmlkKTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ob3RpZmljYXRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLk5PVElGSUNBVElPTl9BRERFRCkuc3Vic2NyaWJlKChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikgPT4ge1xuICAgICAgaWYgKCFub3RpZmljYXRpb24uaXNSZWFkICYmIG5vdGlmaWNhdGlvbi5ldmVudFR5cGUgPT09IFVzZXJFdmVudFR5cGVDbGllbnRUeXBlRW51bS5GSVJNX0lOVklURV9BQ0NFUFRFRCkge1xuICAgICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIGNsaWVudHMgaW52aXRhdGlvbnNcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuQ2xpZW50SW52aXRlcygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5DTElFTlRfSU5WSVRFX0FDQ0VQVEVEKVxuICAgICAgLnN1YnNjcmliZSgoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './sole';
|
|
2
|
-
|
|
2
|
+
export * from './vehicle';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc29sZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZlaGljbGUnO1xuIl19
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './sole-business/sole-business.service';
|
|
2
2
|
export * from './sole-contact/sole-contact.service';
|
|
3
3
|
export * from './sole-details/sole-details.service';
|
|
4
|
-
|
|
4
|
+
export * from './sole-invoice-template/sole-invoice-template.service';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9zb2xlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsdURBQXVELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NvbGUtYnVzaW5lc3Mvc29sZS1idXNpbmVzcy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc29sZS1jb250YWN0L3NvbGUtY29udGFjdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc29sZS1kZXRhaWxzL3NvbGUtZGV0YWlscy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc29sZS1pbnZvaWNlLXRlbXBsYXRlL3NvbGUtaW52b2ljZS10ZW1wbGF0ZS5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { RestService } from '../../rest/rest.service';
|
|
3
|
+
import { SoleInvoiceTemplate } from '../../../../models';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class SoleInvoiceTemplateService extends RestService {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.modelClass = SoleInvoiceTemplate;
|
|
9
|
+
this.url = 'sole-invoice-templates';
|
|
10
|
+
this.isHydra = true;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
SoleInvoiceTemplateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleInvoiceTemplateService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
|
+
SoleInvoiceTemplateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleInvoiceTemplateService, providedIn: 'root' });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleInvoiceTemplateService, decorators: [{
|
|
16
|
+
type: Injectable,
|
|
17
|
+
args: [{
|
|
18
|
+
providedIn: 'root'
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1pbnZvaWNlLXRlbXBsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9zb2xlL3NvbGUtaW52b2ljZS10ZW1wbGF0ZS9zb2xlLWludm9pY2UtdGVtcGxhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFLekQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLFdBQXlEO0lBSHpHOztRQUlFLGVBQVUsR0FBK0IsbUJBQW1CLENBQUM7UUFDN0QsUUFBRyxHQUFXLHdCQUF3QixDQUFDO1FBQ3ZDLFlBQU8sR0FBWSxJQUFJLENBQUM7S0FDekI7O3dIQUpZLDBCQUEwQjs0SEFBMUIsMEJBQTBCLGNBRnpCLE1BQU07NEZBRVAsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU29sZUludm9pY2VUZW1wbGF0ZSBhcyBTb2xlSW52b2ljZVRlbXBsYXRlQmFzZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RiL01vZGVscy9zb2xlL3NvbGUtaW52b2ljZS10ZW1wbGF0ZSc7XG5pbXBvcnQgeyBTb2xlSW52b2ljZVRlbXBsYXRlIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU29sZUludm9pY2VUZW1wbGF0ZVNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxTb2xlSW52b2ljZVRlbXBsYXRlQmFzZSwgU29sZUludm9pY2VUZW1wbGF0ZT57XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBTb2xlSW52b2ljZVRlbXBsYXRlID0gU29sZUludm9pY2VUZW1wbGF0ZTtcbiAgdXJsOiBzdHJpbmcgPSAnc29sZS1pbnZvaWNlLXRlbXBsYXRlcyc7XG4gIGlzSHlkcmE6IGJvb2xlYW4gPSB0cnVlO1xufVxuIl19
|
|
@@ -7,6 +7,7 @@ import { plainToClass } from 'class-transformer';
|
|
|
7
7
|
import { TaxReview } from '../../../models/tax-review/tax-review';
|
|
8
8
|
import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
|
|
9
9
|
import { AppEvent } from '../../../models/event/app-event';
|
|
10
|
+
import { UserEventTypeClientTypeEnum } from "../../../db/Enums/user-event-type-client-type.enum";
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
/**
|
|
12
13
|
* Service to work with tax review
|
|
@@ -23,6 +24,7 @@ export class TaxReviewService extends RestService {
|
|
|
23
24
|
listenEvents() {
|
|
24
25
|
this.listenFirmChanges();
|
|
25
26
|
this.listenClientTransfer();
|
|
27
|
+
this.listenNotifications();
|
|
26
28
|
}
|
|
27
29
|
/**
|
|
28
30
|
* Add new Tax Review (request from client to firm)
|
|
@@ -61,8 +63,7 @@ export class TaxReviewService extends RestService {
|
|
|
61
63
|
listenFirmChanges() {
|
|
62
64
|
this.eventDispatcherService.on([AppEventTypeEnum.CLIENT_MOVEMENT_CLOSED, AppEventTypeEnum.CLIENT_INVITE_ACCEPTED])
|
|
63
65
|
.subscribe(() => {
|
|
64
|
-
this.
|
|
65
|
-
this.updateCache();
|
|
66
|
+
this.resetCache();
|
|
66
67
|
});
|
|
67
68
|
}
|
|
68
69
|
/**
|
|
@@ -82,6 +83,13 @@ export class TaxReviewService extends RestService {
|
|
|
82
83
|
this.updateCache();
|
|
83
84
|
});
|
|
84
85
|
}
|
|
86
|
+
listenNotifications() {
|
|
87
|
+
this.eventDispatcherService.on(AppEventTypeEnum.NOTIFICATION_ADDED).subscribe((notification) => {
|
|
88
|
+
if (!notification.isRead && notification.eventType === UserEventTypeClientTypeEnum.FIRM_INVITE_ACCEPTED) {
|
|
89
|
+
this.resetCache();
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
}
|
|
85
93
|
}
|
|
86
94
|
TaxReviewService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxReviewService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
87
95
|
TaxReviewService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TaxReviewService, providedIn: 'root' });
|
|
@@ -91,4 +99,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
91
99
|
providedIn: 'root'
|
|
92
100
|
}]
|
|
93
101
|
}] });
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGF4LXJldmlldy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvdGF4LXJldmlldy90YXgtcmV2aWV3LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFJM0QsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7O0FBRWpHOztHQUVHO0FBSUgsTUFBTSxPQUFPLGdCQUFpQixTQUFRLFdBQXFDO0lBSDNFOztRQUlFLFFBQUcsR0FBVyxhQUFhLENBQUM7UUFDNUIsZUFBVSxHQUFxQixTQUFTLENBQUM7S0F3RjFDO0lBdEZDOztPQUVHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxPQUFPLENBQUMsT0FBZTtRQUNyQixPQUFPLElBQUks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QWdCLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUEwQixFQUFFLEVBQUU7WUFDM0csSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLFNBQVMsS0FBSywyQkFBMkIsQ0FBQyxvQkFBb0IsRUFBRTtnQkFDdkcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ25CO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs4R0F6RlUsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGZixNQUFNOzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYXhSZXZpZXcgYXMgVGF4UmV2aWV3QmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy9maXJtL2FjY291bnRhbnQvdGF4LXJldmlldyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgcmVwbGFjZSB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFRheFJldmlldyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90YXgtcmV2aWV3L3RheC1yZXZpZXcnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3VzZXIvdXNlcic7XG5pbXBvcnQgeyBJRXZlbnRMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvZXZlbnQtbGlzdGVuZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvblwiO1xuaW1wb3J0IHsgVXNlckV2ZW50VHlwZUNsaWVudFR5cGVFbnVtIH0gZnJvbSBcIi4uLy4uLy4uL2RiL0VudW1zL3VzZXItZXZlbnQtdHlwZS1jbGllbnQtdHlwZS5lbnVtXCI7XG5cbi8qKlxuICogU2VydmljZSB0byB3b3JrIHdpdGggdGF4IHJldmlld1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUYXhSZXZpZXdTZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8VGF4UmV2aWV3QmFzZSwgVGF4UmV2aWV3PiBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgdXJsOiBzdHJpbmcgPSAndGF4LXJldmlld3MnO1xuICBtb2RlbENsYXNzOiB0eXBlb2YgVGF4UmV2aWV3ID0gVGF4UmV2aWV3O1xuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZXZlbnRzIGZyb20gU1NFIGFuZCBFdmVudCBEaXNwYXRjaGVyIHNlcnZpY2VzXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5GaXJtQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuQ2xpZW50VHJhbnNmZXIoKTtcbiAgICB0aGlzLmxpc3Rlbk5vdGlmaWNhdGlvbnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgbmV3IFRheCBSZXZpZXcgKHJlcXVlc3QgZnJvbSBjbGllbnQgdG8gZmlybSlcbiAgICogQHBhcmFtIGZpblllYXJcbiAgICovXG4gIHJlcXVlc3QoZmluWWVhcjogbnVtYmVyKTogT2JzZXJ2YWJsZTxUYXhSZXZpZXc+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0/ZmluYW5jaWFsWWVhcj0ke2ZpblllYXJ9YCwge30pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdUYXhSZXZpZXc6IFRheFJldmlld0Jhc2UpOiBUYXhSZXZpZXcgPT4ge1xuICAgICAgICAgIGNvbnN0IHRheFJldmlldzogVGF4UmV2aWV3ID0gcGxhaW5Ub0NsYXNzKFRheFJldmlldywgbmV3VGF4UmV2aWV3KTtcbiAgICAgICAgICBjb25zdCB0ZW1wQ2FjaGU6IFRheFJldmlld1tdID0gXy5jbG9uZURlZXAodGhpcy5jYWNoZSk7XG4gICAgICAgICAgdGVtcENhY2hlLnB1c2godGF4UmV2aWV3KTtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGVtcENhY2hlO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICByZXR1cm4gdGF4UmV2aWV3O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGF4IHJldmlld1xuICAgKiBAcGFyYW0gdGF4UmV2aWV3IHRvIGJlIHVwZGF0ZWRcbiAgICovXG4gIHVwZGF0ZSh0YXhSZXZpZXc6IFRheFJldmlldyk6IE9ic2VydmFibGU8VGF4UmV2aWV3PiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHt0YXhSZXZpZXcuaWR9YCwgdGF4UmV2aWV3KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodXBkYXRlZFRheFJldmlldzogVGF4UmV2aWV3QmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRJbnN0YW5jZTogVGF4UmV2aWV3ID0gcGxhaW5Ub0NsYXNzKFRheFJldmlldywgdXBkYXRlZFRheFJldmlldyk7XG5cbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uVEFYX1JFVklFV19VUERBVEVELCB1cGRhdGVkSW5zdGFuY2UpKTtcblxuICAgICAgICAgIGNvbnN0IHRlbXBDYWNoZTogVGF4UmV2aWV3W10gPSBfLmNsb25lRGVlcCh0aGlzLmNhY2hlKTtcbiAgICAgICAgICByZXBsYWNlKHRlbXBDYWNoZSwgdXBkYXRlZEluc3RhbmNlKTtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGVtcENhY2hlO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcblxuICAgICAgICAgIHJldHVybiB1cGRhdGVkSW5zdGFuY2U7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFyIGNhY2hlIHdoZW4gdXNlciByZWplY3QgZmlybVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5GaXJtQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW0FwcEV2ZW50VHlwZUVudW0uQ0xJRU5UX01PVkVNRU5UX0NMT1NFRCwgQXBwRXZlbnRUeXBlRW51bS5DTElFTlRfSU5WSVRFX0FDQ0VQVEVEXSlcbiAgICAgIC5zdWJzY3JpYmUoKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBmaXJtIGZvciBhbGwgdHJhbnNmZXJyZWQgY2xpZW50c1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5DbGllbnRUcmFuc2ZlcigpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5DTElFTlRfVFJBTlNGRVJfVE9fT1RIRVJfRU1QTE9ZRUUpXG4gICAgICAuc3Vic2NyaWJlKCh0cmFuc2ZlcnJlZENsaWVudHM6IFVzZXJbXSk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCB0ZW1wQ2FjaGU6IFRheFJldmlld1tdID0gXy5jbG9uZURlZXAodGhpcy5jYWNoZSk7XG5cbiAgICAgICAgdHJhbnNmZXJyZWRDbGllbnRzLmZvckVhY2goKHRyYW5zZmVycmVkQ2xpZW50OiBVc2VyKTogdm9pZCA9PiB7XG4gICAgICAgICAgY29uc3QgdGF4UmV2aWV3SW5kZXg6IG51bWJlciA9IHRlbXBDYWNoZS5maW5kSW5kZXgoKHRheFJldmlldzogVGF4UmV2aWV3KTogYm9vbGVhbiA9PiB0YXhSZXZpZXcuaWQgPT09IHRyYW5zZmVycmVkQ2xpZW50LmlkKTtcbiAgICAgICAgICAvLyBAVE9ETyB2aWtcbiAgICAgICAgICAvLyB0ZW1wQ2FjaGVbdGF4UmV2aWV3SW5kZXhdLmVtcGxveWVlID0gdHJhbnNmZXJyZWRDbGllbnQuYWNjb3VudGFudDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jYWNoZSA9IHRlbXBDYWNoZTtcbiAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3Rlbk5vdGlmaWNhdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uTk9USUZJQ0FUSU9OX0FEREVEKS5zdWJzY3JpYmUoKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKSA9PiB7XG4gICAgICBpZiAoIW5vdGlmaWNhdGlvbi5pc1JlYWQgJiYgbm90aWZpY2F0aW9uLmV2ZW50VHlwZSA9PT0gVXNlckV2ZW50VHlwZUNsaWVudFR5cGVFbnVtLkZJUk1fSU5WSVRFX0FDQ0VQVEVEKSB7XG4gICAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -43,6 +43,7 @@ export class TransactionService extends RestService {
|
|
|
43
43
|
this.listenPropertyShareUpdate();
|
|
44
44
|
this.listenReceiptAdded();
|
|
45
45
|
this.listenReceiptDeleted();
|
|
46
|
+
this.listenVehicleClaimChanges();
|
|
46
47
|
}
|
|
47
48
|
/**
|
|
48
49
|
* get list of all user's TaxTank transactions
|
|
@@ -322,6 +323,16 @@ export class TransactionService extends RestService {
|
|
|
322
323
|
this.updateCache();
|
|
323
324
|
});
|
|
324
325
|
}
|
|
326
|
+
listenVehicleClaimChanges() {
|
|
327
|
+
this.eventDispatcherService.on([
|
|
328
|
+
AppEventTypeEnum.VEHICLE_CLAIM_CREATED,
|
|
329
|
+
AppEventTypeEnum.VEHICLE_CLAIM_UPDATED,
|
|
330
|
+
AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_CREATED,
|
|
331
|
+
AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_UPDATED
|
|
332
|
+
]).subscribe(() => {
|
|
333
|
+
this.resetCache();
|
|
334
|
+
});
|
|
335
|
+
}
|
|
325
336
|
}
|
|
326
337
|
TransactionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TransactionService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }, { token: i4.TransactionReceiptService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
327
338
|
TransactionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: TransactionService, providedIn: 'root' });
|
|
@@ -334,4 +345,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
334
345
|
type: Inject,
|
|
335
346
|
args: ['environment']
|
|
336
347
|
}] }, { type: i3.ToastService }, { type: i4.TransactionReceiptService }]; } });
|
|
337
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RyxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNySCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHM0QsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdE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LENBQUMsZ0JBQWdCLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxrQkFBc0MsRUFBRSxFQUFFO1lBQ2hJLE1BQU0sbUJBQW1CLEdBQWdCLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRXRGLHdDQUF3QztZQUN4QyxtQkFBbUIsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2hDLG1CQUFtQixDQUFDLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQztZQUNqRCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQXdCLEVBQUUsRUFBRTtZQUNsSCxNQUFNLG1CQUFtQixHQUFnQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUVuRSxtQkFBbUIsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLG1CQUFtQixDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0hBN1dVLGtCQUFrQixrRkFTbkIsYUFBYTtvSEFUWixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gYXMgVHJhbnNhY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJlcGxhY2UsIHNvcnQgfSBmcm9tICcuLi8uLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgZW51bVRvTGlzdCB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9lbnVtLXRvLWxpc3QnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0hlYWRpbmdUYXhhYmxlRW51bSB9IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctdGF4YWJsZS5lbnVtJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNIZWFkaW5nVGF4RGVkdWN0aWJsZUVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLXRheC1kZWR1Y3RpYmxlLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLWNhdGVnb3JpZXMuY29uc3QnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblJlY2VpcHQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tcmVjZWlwdCc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy10YXgtbGFiZWxzLmVudW0nO1xuaW1wb3J0IHsgUHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnktbGlzdC5lbnVtJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVjZWlwdFNlcnZpY2UgfSBmcm9tICcuL3RyYW5zYWN0aW9uLXJlY2VpcHQvdHJhbnNhY3Rpb24tcmVjZWlwdC5zZXJ2aWNlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHRyYW5zYWN0aW9ucyBidXNpbmVzcyBsb2dpY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxUcmFuc2FjdGlvbkJhc2UsIFRyYW5zYWN0aW9uPiB7XG4gIC8vIHVybCBwYXJ0IGZvciBUcmFuc2FjdGlvbiBBUElcbiAgdXJsOiBzdHJpbmcgPSAndHJhbnNhY3Rpb25zJztcbiAgbW9kZWxDbGFzcyA9IFRyYW5zYWN0aW9uO1xuICB0cmFuc2FjdGlvbkRlbGV0ZWQ6IEV2ZW50RW1pdHRlcjxUcmFuc2FjdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJvdGVjdGVkIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25SZWNlaXB0U2VydmljZTogVHJhbnNhY3Rpb25SZWNlaXB0U2VydmljZVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCwgdG9hc3RTZXJ2aWNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZXZlbnRzIGZyb20gRXZlbnQgRGlzcGF0Y2hlciBzZXJ2aWNlc1xuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuRGVwcmVjaWF0aW9uQ2hhbmdlKCk7XG4gICAgdGhpcy5saXN0ZW5Qcm9wZXJ0eVNoYXJlVXBkYXRlKCk7XG4gICAgdGhpcy5saXN0ZW5SZWNlaXB0QWRkZWQoKTtcbiAgICB0aGlzLmxpc3RlblJlY2VpcHREZWxldGVkKCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgYWxsIHVzZXIncyBUYXhUYW5rIHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0KCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgLy8gc2V0IGNhY2hlIGFzIGRlZmF1bHQgZW1wdHkgYXJyYXkgdG8gYXZvaWQgbXVsdGlwbGUgYmFja2VuZCByZXF1ZXN0c1xuICAgICAgdGhpcy5jYWNoZSA9IFtdO1xuICAgICAgdGhpcy5mZXRjaCgpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0cmFuc2FjdGlvbnM7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZVN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIC8vIGFzc2lnbiBjaGlsZCB0cmFuc2FjdGlvbnMgKGZlZXMpIHRvIHBhcmVudCB0cmFuc2FjdGlvbnNcbiAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSA9PiB7XG4gICAgICAgIHRyYW5zYWN0aW9ucy5mb3JFYWNoKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiB2b2lkID0+IHtcbiAgICAgICAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMgPSB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIC8vIGdldCBsaXN0IG9mIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgLmZpbHRlcigodDogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHQucGFyZW50VHJhbnNhY3Rpb24gJiYgdC5wYXJlbnRUcmFuc2FjdGlvbi5pZCA9PT0gdHJhbnNhY3Rpb24uaWQpO1xuICAgICAgICB9KTtcbiAgICAgICAgc29ydCh0cmFuc2FjdGlvbnMsICdkYXRlJywgZmFsc2UpO1xuICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25zO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBzaW5nbGUgbmV3IHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBtb2RlbCBOZXcgVHJhbnNhY3Rpb24gaW5zdGFuY2UgZm9yIHNhdmluZ1xuICAgKi9cbiAgYWRkKG1vZGVsOiBUcmFuc2FjdGlvbik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb24+IHtcbiAgICAvLyB3ZSBkb24ndCBoYXZlIFBPU1QgQVBJIGVuZHBvaW50IGZvciBzaW5nbGUgdHJhbnNhY3Rpb25cbiAgICByZXR1cm4gdGhpcy5hZGRCYXRjaChbbW9kZWxdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgobmV3VHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb24gPT4ge1xuICAgICAgICAgIC8vIEBUT0RPIGFsZXhcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2goXG4gICAgICAgICAgICBuZXcgQXBwRXZlbnQ8VHJhbnNhY3Rpb24+KEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fQ1JFQVRFRCwgbmV3VHJhbnNhY3Rpb25zWzBdKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm4gbmV3VHJhbnNhY3Rpb25zWzBdO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgdHJhbnNhY3Rpb25zIHJlbGF0ZWQgd2l0aCBwcm9wZXJ0eVxuICAgKi9cbiAgZ2V0QnlQcm9wZXJ0eUlkKHByb3BlcnR5SWQ6IG51bWJlcik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHtcbiAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb24ucHJvcGVydHk/LmlkID09PSBwcm9wZXJ0eUlkO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0cmFuc2FjdGlvbnMgd2l0aCB0YW5rIHR5cGUgJ1dvcmsnXG4gICAqL1xuICBnZXRXb3JrVHJhbnNhY3Rpb25zKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHtcbiAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc1dvcmtUYW5rKCkpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiBwcm9wZXJ0eSBob2xkaW5nIGNvc3RzICh0cmFuc2FjdGlvbnMgcmVsYXRlZCB0byB2YWNhbnQgbGFuZCBwcm9wZXJ0eSlcbiAgICovXG4gIGdldFByb3BlcnR5SG9sZGluZ0Nvc3RzKHByb3BlcnR5SWQ6IG51bWJlcik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxuICAgICAgYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0/cHJvcGVydHlJZD0ke3Byb3BlcnR5SWR9JnByb3BlcnR5Q2F0ZWdvcnlJZD0ke1Byb3BlcnR5Q2F0ZWdvcnlMaXN0RW51bS5WQUNBTlRfTEFORH1gXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodHJhbnNhY3Rpb25zQmFzZTogVHJhbnNhY3Rpb25CYXNlW10pOiBUcmFuc2FjdGlvbltdID0+IHtcbiAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25zQmFzZS5tYXAoKHRyYW5zYWN0aW9uQmFzZTogVHJhbnNhY3Rpb25CYXNlKTogVHJhbnNhY3Rpb24gPT4gcGxhaW5Ub0NsYXNzKFRyYW5zYWN0aW9uLCB0cmFuc2FjdGlvbkJhc2UpKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdGF4YWJsZSB0cmFuc2FjdGlvbnMgd2l0aCB0YW5rIHR5cGUgJ1dvcmsnXG4gICAqL1xuICBnZXRUYXhhYmxlV29ya1RyYW5zYWN0aW9ucygpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRXb3JrVHJhbnNhY3Rpb25zKClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4ge1xuICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+ICEhdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy50YXhSZXR1cm5JdGVtKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogYWRkIG11bHRpcGxlIHRyYW5zYWN0aW9uc1xuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25zIExpc3Qgb2YgbmV3IFRyYW5zYWN0aW9uIGluc3RhbmNlcyBmb3Igc2F2aW5nXG4gICAqL1xuICBhZGRCYXRjaCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICB0cmFuc2FjdGlvbnMgPSBfLmNsb25lRGVlcCh0cmFuc2FjdGlvbnMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIHRyYW5zYWN0aW9ucylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkJhc2VbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFkZGVkVHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gcmVzcG9uc2UubWFwKChpdGVtOiBUcmFuc2FjdGlvbkJhc2UpID0+IHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwgaXRlbSkpO1xuXG4gICAgICAgICAgdHJhbnNhY3Rpb25zLmZvckVhY2goKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgLy8gQFRPRE8gYmFja2VuZDogbmVlZCB0byB1cGxvYWQgZmlsZSBpbiB0aGUgc2FtZSBiYWNrZW5kIGVuZHBvaW50IHdpdGggdHJhbnNhY3Rpb24gYWRkL3VwZGF0ZVxuICAgICAgICAgICAgLy8gY2hlY2sgaWYgcGFzc2VkIHJlY2VpcHQgYW5kIHVwbG9hZCBmaWxlXG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24uZmlsZSAmJiAodHJhbnNhY3Rpb24uZmlsZSBpbnN0YW5jZW9mIEZpbGUpKSB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uLmlkID0gcmVzcG9uc2VbaW5kZXhdLmlkO1xuICAgICAgICAgICAgICBhZGRlZFRyYW5zYWN0aW9uc1tpbmRleF0uZmlsZSA9IHRyYW5zYWN0aW9uLmZpbGU7XG4gICAgICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9DUkVBVEVEX1dJVEhfTkVXX1JFQ0VJUFQsIGFkZGVkVHJhbnNhY3Rpb25zW2luZGV4XSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBAVE9ETyBWaWt0b3I6IGltcGxlbWVudCBBUEkgZm9yIHNhdmluZyBvZiBuZXN0ZWQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAvLyBhZGQgY2hpbGQgdHJhbnNhY3Rpb25zIGlmIGV4aXN0XG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZm9yRWFjaCgoY2hpbGRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICBjaGlsZFRyYW5zYWN0aW9uLnBhcmVudFRyYW5zYWN0aW9uID0gcGxhaW5Ub0NsYXNzKFRyYW5zYWN0aW9uLCB7aWQ6IGFkZGVkVHJhbnNhY3Rpb25zW2luZGV4XS5pZH0pO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgdGhpcy5hZGRCYXRjaCh0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMpLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBhZGQgdHJhbnNmZXIgdHJhbnNhY3Rpb24gdG8gY2FjaGVcbiAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi5vcGVyYXRpb24gPT09IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5UUkFOU0ZFUikge1xuICAgICAgICAgICAgICBhZGRlZFRyYW5zYWN0aW9ucy5wdXNoKGFkZGVkVHJhbnNhY3Rpb25zWzBdLnRyYW5zZmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICAgICAgICB0aGlzLmNhY2hlLnB1c2goLi4uYWRkZWRUcmFuc2FjdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbltdPihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OU19DUkVBVEVELCBhZGRlZFRyYW5zYWN0aW9ucylcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgcmV0dXJuIGFkZGVkVHJhbnNhY3Rpb25zO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1cGRhdGUgZXhpc3RpbmcgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHRyYW5zYWN0aW9uIFRyYW5zYWN0aW9uIGluc3RhbmNlIGZvciB1cGRhdGluZ1xuICAgKi9cbiAgdXBkYXRlKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke3RyYW5zYWN0aW9uLmlkfWAsIHRyYW5zYWN0aW9uKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IFRyYW5zYWN0aW9uQmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24gPSBwbGFpblRvQ2xhc3MoVHJhbnNhY3Rpb24sIHJlc3BvbnNlKTtcblxuICAgICAgICAgIC8vIEBUT0RPIG5lZWQgdG8gdXBsb2FkIGZpbGUgaW4gdGhlIHNhbWUgYmFja2VuZCBlbmRwb2ludCB3aXRoIHRyYW5zYWN0aW9uIGFkZC91cGRhdGVcbiAgICAgICAgICAvLyBjaGVjayBpZiBwYXNzZWQgbmV3IHJlY2VpcHQgYW5kIHVwbG9hZCBmaWxlXG4gICAgICAgICAgaWYgKHRyYW5zYWN0aW9uLmZpbGUgJiYgKHRyYW5zYWN0aW9uLmZpbGUgaW5zdGFuY2VvZiBGaWxlKSkge1xuICAgICAgICAgICAgdXBkYXRlZFRyYW5zYWN0aW9uLmZpbGUgPSB0cmFuc2FjdGlvbi5maWxlO1xuICAgICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX1VQREFURURfV0lUSF9ORVdfUkVDRUlQVCwgdXBkYXRlZFRyYW5zYWN0aW9uKSk7XG4gICAgICAgICAgICAvLyByZWNlaXB0IGZpbGUgd2FzIHJlbW92ZWQgZnJvbSBmb3JtIC0gd2Ugc2hvdWxkIGRlbGV0ZSByZWNlaXB0IGZyb20gdHJhbnNhY3Rpb25cbiAgICAgICAgICB9IGVsc2UgaWYgKCF0cmFuc2FjdGlvbi5maWxlICYmIHRyYW5zYWN0aW9uLnJlY2VpcHQpIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9VUERBVEVEX1dJVEhfREVMRVRFRF9SRUNFSVBULCB1cGRhdGVkVHJhbnNhY3Rpb24pKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBAVE9ETyBWaWt0b3I6IGltcGxlbWVudCBBUEkgZm9yIHNhdmluZyBvZiBuZXN0ZWQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgaWYgKHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIC8vIGFkZCBwYXJlbnQgdHJhbnNhY3Rpb24gdG8gY2hpbGQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZm9yRWFjaCgoY2hpbGRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgY2hpbGRUcmFuc2FjdGlvbi5wYXJlbnRUcmFuc2FjdGlvbiA9IHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwge2lkOiB1cGRhdGVkVHJhbnNhY3Rpb24uaWR9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gc2VwYXJhdGUgY2hpbGQgdHJhbnNhY3Rpb25zIGJ5IGlkIGV4aXN0aW5nIHRvIGRlZmluZSBhZGQgb3IgdXBkYXRlIGFjdGlvbi5cbiAgICAgICAgICAgIGNvbnN0IGNoaWxkVHJhbnNhY3Rpb25zVG9VcGRhdGU6IFRyYW5zYWN0aW9uW10gPSB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbikgPT4gdC5pZCk7XG4gICAgICAgICAgICBjb25zdCBjaGlsZFRyYW5zYWN0aW9uc1RvQWRkOiBUcmFuc2FjdGlvbltdID0gdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmZpbHRlcigodDogVHJhbnNhY3Rpb24pID0+ICF0LmlkKTtcblxuICAgICAgICAgICAgLy8gdXBkYXRlIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgaWYgKGNoaWxkVHJhbnNhY3Rpb25zVG9VcGRhdGUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQmF0Y2goY2hpbGRUcmFuc2FjdGlvbnNUb1VwZGF0ZSkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFkZCBjaGlsZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIGlmIChjaGlsZFRyYW5zYWN0aW9uc1RvQWRkLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLmFkZEJhdGNoKGNoaWxkVHJhbnNhY3Rpb25zVG9BZGQpLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgdXBkYXRlZFRyYW5zYWN0aW9uKTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG5cbiAgICAgICAgICByZXR1cm4gdXBkYXRlZFRyYW5zYWN0aW9uO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1cGRhdGUgbXVsdGlwbGUgdHJhbnNhY3Rpb25zXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbnMgbGlzdCBvZiB0cmFuc2FjdGlvbnMgZm9yIHVwZGF0aW5nXG4gICAqL1xuICB1cGRhdGVCYXRjaCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIHRyYW5zYWN0aW9ucylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkJhc2VbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSByZXNwb25zZS5tYXAoKGl0ZW06IFRyYW5zYWN0aW9uQmFzZSkgPT4gcGxhaW5Ub0NsYXNzKFRyYW5zYWN0aW9uLCBpdGVtKSk7XG5cbiAgICAgICAgICB1cGRhdGVkVHJhbnNhY3Rpb25zLmZvckVhY2goKHVwZGF0ZWRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgdXBkYXRlZFRyYW5zYWN0aW9uKTtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICByZXR1cm4gdXBkYXRlZFRyYW5zYWN0aW9ucztcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZGVsZXRlIHRyYW5zYWN0aW9uIGFuZCByZWxhdGVkIHRyYW5zYWN0aW9uc1xuICAgKiBAcGFyYW0gbW9kZWxcbiAgICovXG4gIGRlbGV0ZShtb2RlbDogVHJhbnNhY3Rpb24pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke21vZGVsLmlkfWApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCgpOiB2b2lkID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdGhpcy5jYWNoZS5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4ge1xuICAgICAgICAgICAgLy8gd2hlbiBkZWxldGUgdHJhbnNmZXIgd2UgZGVsZXRlIGFjdHVhbGx5IDIgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICBpZiAobW9kZWwuaXNUcmFuc2Zlcikge1xuICAgICAgICAgICAgICBjb25zdCBpZHM6IG51bWJlcltdID0gW21vZGVsLmlkXTtcblxuICAgICAgICAgICAgICAvLyBnZXQgaWQgb2YgcmVsYXRlZCB0cmFuc2ZlciB0cmFuc2FjdGlvblxuICAgICAgICAgICAgICBpZiAobW9kZWwudHJhbnNmZXIpIHtcbiAgICAgICAgICAgICAgICAvLyBqdXN0IHRha2UgaWQgaWYgd2UgZGVsZXRlIHNvdXJjZSB0cmFuc2FjdGlvblxuICAgICAgICAgICAgICAgIGlkcy5wdXNoKG1vZGVsLnRyYW5zZmVyLmlkKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBmaW5kIHNvdXJjZSB0cmFuc2FjdGlvbiBpZCBpZiB3ZSBkZWxldGUgZGVzdGluYXRpb24gdHJhbnNhY3Rpb25cbiAgICAgICAgICAgICAgICBpZHMucHVzaCh0aGlzLmNhY2hlLmZpbmQoKHQ6IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0LnRyYW5zZmVyLmlkID09PSBtb2RlbC5pZCkuaWQpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgcmV0dXJuICFpZHMuaW5jbHVkZXModHJhbnNhY3Rpb24uaWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb24uaWQgIT09IG1vZGVsLmlkICYmIHRyYW5zYWN0aW9uLnBhcmVudFRyYW5zYWN0aW9uPy5pZCAhPT0gbW9kZWwuaWQ7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2goXG4gICAgICAgICAgICBuZXcgQXBwRXZlbnQ8VHJhbnNhY3Rpb24+KEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fREVMRVRFRCwgbW9kZWwpXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uRGVsZXRlZC5lbWl0KG1vZGVsKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogY2FsY3VsYXRlIGdyb3NzIGluY29tZSBhbW91bnQgYmFzZWQgb24gdHJhbnNhY3Rpb24gYW1vdW50IGFuZCB0YXhlcyAoZmVlcylcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9uIFRyYW5zYWN0aW9uIGluc3RhbmNlIGZvciBjYWxjdWxhdGlvblxuICAgKi9cbiAgY2FsY3VsYXRlR3Jvc3NBbW91bnQodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogbnVtYmVyIHtcbiAgICBsZXQgYW1vdW50OiBudW1iZXIgPSB0cmFuc2FjdGlvbi5hbW91bnQgfHwgMDtcblxuICAgIC8vIGdyb3NzIGluY29tZSBhbW91bnQgaW5jbHVkZXMgYW1vdW50IG9mIGZlZXMgZm9yIHByb3BlcnR5IHRhbmsgYW5kIHRheCBmb3Igd29yayB0YW5rXG4gICAgaWYgKHRyYW5zYWN0aW9uLmlzUHJvcGVydHlUYW5rKCkpIHtcbiAgICAgIGFtb3VudCArPSB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMucmVkdWNlKChzdW06IG51bWJlciwgaXRlbTogVHJhbnNhY3Rpb24pID0+IHN1bSArIGl0ZW0uYW1vdW50LCAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQFRPRE8gQWxleDogZml4IGxvZ2ljIGFmdGVyIFRULTY0MSByZWFkeVxuICAgICAgYW1vdW50ICs9ICh0cmFuc2FjdGlvbi50YXggfHwgMCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFtb3VudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGFiZWwgZm9yIHRyYW5zYWN0aW9uIHRheCBmaWVsZCBkZXBlbmRlZCBvZiBzZWxlY3RlZCBjaGFydCBhY2NvdW50LlxuICAgKiB0YXggdHlwZSBkZXBlbmRzIG9mIGNoYXJ0IGFjY291bnQgaGVhZGluZyBvciBjYXRlZ29yeS5cbiAgICovXG4gIGdldFRheExhYmVsKGNoYXJ0QWNjb3VudHM6IENoYXJ0QWNjb3VudHMpOiBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bSB7XG4gICAgLy8gZ2V0IHNpbXBsZSBhcnJheSBvZiBpZHMgZnJvbSBlbnVtIHdpdGggdGF4YWJsZSBjaGFydCBhY2NvdW50cyBoZWFkaW5nc1xuICAgIGNvbnN0IHRheGFibGVDQUhlYWRpbmdzSWRzOiBudW1iZXJbXSA9IGVudW1Ub0xpc3QoQ2hhcnRBY2NvdW50c0hlYWRpbmdUYXhhYmxlRW51bSlcbiAgICAgIC5tYXAoKGl0ZW06IHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IG51bWJlciB9KSA9PiBpdGVtLnZhbHVlKTtcbiAgICAvLyBnZXQgc2ltcGxlIGFycmF5IG9mIGlkcyBmcm9tIGVudW0gd2l0aCB0YXggZGVkdWN0aWJsZSBjaGFydCBhY2NvdW50cyBoZWFkaW5nc1xuICAgIGNvbnN0IGRlZHVjdGlibGVDQUhlYWRpbmdzSWRzOiBudW1iZXJbXSA9IGVudW1Ub0xpc3QoQ2hhcnRBY2NvdW50c0hlYWRpbmdUYXhEZWR1Y3RpYmxlRW51bSlcbiAgICAgIC5tYXAoKGl0ZW06IHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IG51bWJlciB9KSA9PiBpdGVtLnZhbHVlKTtcblxuICAgIC8vIGNoZWNrIGlmIG9uZSBvZiBpZHMgYXJyYXlzIGluY2x1ZGVzIGN1cnJlbnQgY2hhcnQgYWNjb3VudHMgaGVhZGluZyBpZCBhbmQgc2V0IHRheCBsYWJlbFxuICAgIC8vIG90aGVyd2lzZSBsYWJlbCBpcyBlbXB0eSBmb3IgdGhpcyBjbGFzc1xuICAgIHN3aXRjaCAodHJ1ZSkge1xuICAgICAgY2FzZSB0YXhhYmxlQ0FIZWFkaW5nc0lkcy5pbmNsdWRlcyhjaGFydEFjY291bnRzLmhlYWRpbmc/LmlkKTpcbiAgICAgICAgcmV0dXJuIENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtLlRBWF9QQUlEO1xuICAgICAgY2FzZSBkZWR1Y3RpYmxlQ0FIZWFkaW5nc0lkcy5pbmNsdWRlcyhjaGFydEFjY291bnRzLmhlYWRpbmc/LmlkKTpcbiAgICAgICAgcmV0dXJuIENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtLlRBWF9ERURVQ1RFRDtcbiAgICAgIGNhc2UgQ0hBUlRfQUNDT1VOVFNfQ0FURUdPUklFUy53b3JrSW5jb21lLmluY2x1ZGVzKGNoYXJ0QWNjb3VudHMuY2F0ZWdvcnkpOlxuICAgICAgICByZXR1cm4gQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0uVEFYX1dJVEhIRUxEO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gRGVwcmVjaWF0aW9uIGNoYW5naW5nXG4gICAqL1xuICBwcml2YXRlIGxpc3RlbkRlcHJlY2lhdGlvbkNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5ERVBSRUNJQVRJT05fREVMRVRFRCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZmV0Y2goKVxuICAgICAgICAuc3Vic2NyaWJlKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gdHJhbnNhY3Rpb25zO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byBQcm9wZXJ0eSBTaGFyZSBjaGFuZ2luZ1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Qcm9wZXJ0eVNoYXJlVXBkYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX1NIQVJFX1VQREFURUQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2V0Q2FjaGUoKSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblJlY2VpcHRBZGRlZCgpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9SRUNFSVBUX0NSRUFURUQpLnN1YnNjcmliZSgodHJhbnNhY3Rpb25SZWNlaXB0OiBUcmFuc2FjdGlvblJlY2VpcHQpID0+IHtcbiAgICAgIGNvbnN0IHRyYW5zYWN0aW9uVG9VcGRhdGU6IFRyYW5zYWN0aW9uID0gdGhpcy5maW5kKHRyYW5zYWN0aW9uUmVjZWlwdC50cmFuc2FjdGlvbi5pZCk7XG5cbiAgICAgIC8vIHdlIGRvbid0IG5lZWQgdG8ga2VlcCBmaWxlIGFmdGVyIHNhdmVcbiAgICAgIHRyYW5zYWN0aW9uVG9VcGRhdGUuZmlsZSA9IG51bGw7XG4gICAgICB0cmFuc2FjdGlvblRvVXBkYXRlLnJlY2VpcHQgPSB0cmFuc2FjdGlvblJlY2VpcHQ7XG4gICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHRyYW5zYWN0aW9uVG9VcGRhdGUpO1xuICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5SZWNlaXB0RGVsZXRlZCgpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9SRUNFSVBUX0RFTEVURUQpLnN1YnNjcmliZSgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICBjb25zdCB0cmFuc2FjdGlvblRvVXBkYXRlOiBUcmFuc2FjdGlvbiA9IHRoaXMuZmluZCh0cmFuc2FjdGlvbi5pZCk7XG5cbiAgICAgIHRyYW5zYWN0aW9uVG9VcGRhdGUucmVjZWlwdCA9IG51bGw7XG4gICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHRyYW5zYWN0aW9uVG9VcGRhdGUpO1xuICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
348
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RyxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNySCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHM0QsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdE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RUFBRTtZQUNoQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOztnSEF6WFUsa0JBQWtCLGtGQVNuQixhQUFhO29IQVRaLGtCQUFrQixjQUZqQixNQUFNOzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVVJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiBhcyBUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcmVwbGFjZSwgc29ydCB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBlbnVtVG9MaXN0IH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2VudW0tdG8tbGlzdCc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzSGVhZGluZ1RheGFibGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtaGVhZGluZy10YXhhYmxlLmVudW0nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0hlYWRpbmdUYXhEZWR1Y3RpYmxlRW51bSB9IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctdGF4LWRlZHVjdGlibGUuZW51bSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcmllcy5jb25zdCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVjZWlwdCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1yZWNlaXB0JztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLXRheC1sYWJlbHMuZW51bSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1saXN0LmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZWNlaXB0U2VydmljZSB9IGZyb20gJy4vdHJhbnNhY3Rpb24tcmVjZWlwdC90cmFuc2FjdGlvbi1yZWNlaXB0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9hc3QvdG9hc3Quc2VydmljZSc7XG5cbi8qKlxuICogU2VydmljZSBmb3IgdHJhbnNhY3Rpb25zIGJ1c2luZXNzIGxvZ2ljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFRyYW5zYWN0aW9uQmFzZSwgVHJhbnNhY3Rpb24+IHtcbiAgLy8gdXJsIHBhcnQgZm9yIFRyYW5zYWN0aW9uIEFQSVxuICB1cmw6IHN0cmluZyA9ICd0cmFuc2FjdGlvbnMnO1xuICBtb2RlbENsYXNzID0gVHJhbnNhY3Rpb247XG4gIHRyYW5zYWN0aW9uRGVsZXRlZDogRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb24+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgICBwcm90ZWN0ZWQgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvblJlY2VpcHRTZXJ2aWNlOiBUcmFuc2FjdGlvblJlY2VpcHRTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50LCB0b2FzdFNlcnZpY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBldmVudHMgZnJvbSBFdmVudCBEaXNwYXRjaGVyIHNlcnZpY2VzXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5EZXByZWNpYXRpb25DaGFuZ2UoKTtcbiAgICB0aGlzLmxpc3RlblByb3BlcnR5U2hhcmVVcGRhdGUoKTtcbiAgICB0aGlzLmxpc3RlblJlY2VpcHRBZGRlZCgpO1xuICAgIHRoaXMubGlzdGVuUmVjZWlwdERlbGV0ZWQoKTtcbiAgICB0aGlzLmxpc3RlblZlaGljbGVDbGFpbUNoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiBhbGwgdXNlcidzIFRheFRhbmsgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXQoKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICAvLyBzZXQgY2FjaGUgYXMgZGVmYXVsdCBlbXB0eSBhcnJheSB0byBhdm9pZCBtdWx0aXBsZSBiYWNrZW5kIHJlcXVlc3RzXG4gICAgICB0aGlzLmNhY2hlID0gW107XG4gICAgICB0aGlzLmZldGNoKClcbiAgICAgICAgLnN1YnNjcmliZSgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKSA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRyYW5zYWN0aW9ucztcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgLy8gYXNzaWduIGNoaWxkIHRyYW5zYWN0aW9ucyAoZmVlcykgdG8gcGFyZW50IHRyYW5zYWN0aW9uc1xuICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHtcbiAgICAgICAgdHJhbnNhY3Rpb25zLmZvckVhY2goKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IHZvaWQgPT4ge1xuICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucyA9IHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgLy8gZ2V0IGxpc3Qgb2YgY2hpbGQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdC5wYXJlbnRUcmFuc2FjdGlvbiAmJiB0LnBhcmVudFRyYW5zYWN0aW9uLmlkID09PSB0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgIH0pO1xuICAgICAgICBzb3J0KHRyYW5zYWN0aW9ucywgJ2RhdGUnLCBmYWxzZSk7XG4gICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHNpbmdsZSBuZXcgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIG1vZGVsIE5ldyBUcmFuc2FjdGlvbiBpbnN0YW5jZSBmb3Igc2F2aW5nXG4gICAqL1xuICBhZGQobW9kZWw6IFRyYW5zYWN0aW9uKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbj4ge1xuICAgIC8vIHdlIGRvbid0IGhhdmUgUE9TVCBBUEkgZW5kcG9pbnQgZm9yIHNpbmdsZSB0cmFuc2FjdGlvblxuICAgIHJldHVybiB0aGlzLmFkZEJhdGNoKFttb2RlbF0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbiA9PiB7XG4gICAgICAgICAgLy8gQFRPRE8gYWxleFxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbj4oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9DUkVBVEVELCBuZXdUcmFuc2FjdGlvbnNbMF0pXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHJldHVybiBuZXdUcmFuc2FjdGlvbnNbMF07XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCB0cmFuc2FjdGlvbnMgcmVsYXRlZCB3aXRoIHByb3BlcnR5XG4gICAqL1xuICBnZXRCeVByb3BlcnR5SWQocHJvcGVydHlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4ge1xuICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5wcm9wZXJ0eT8uaWQgPT09IHByb3BlcnR5SWQ7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIHRyYW5zYWN0aW9ucyB3aXRoIHRhbmsgdHlwZSAnV29yaydcbiAgICovXG4gIGdldFdvcmtUcmFuc2FjdGlvbnMoKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4ge1xuICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzV29ya1RhbmsoKSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIHByb3BlcnR5IGhvbGRpbmcgY29zdHMgKHRyYW5zYWN0aW9ucyByZWxhdGVkIHRvIHZhY2FudCBsYW5kIHByb3BlcnR5KVxuICAgKi9cbiAgZ2V0UHJvcGVydHlIb2xkaW5nQ29zdHMocHJvcGVydHlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICBgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfT9wcm9wZXJ0eUlkPSR7cHJvcGVydHlJZH0mcHJvcGVydHlDYXRlZ29yeUlkPSR7UHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtLlZBQ0FOVF9MQU5EfWBcbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnNCYXNlOiBUcmFuc2FjdGlvbkJhc2VbXSk6IFRyYW5zYWN0aW9uW10gPT4ge1xuICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnNCYXNlLm1hcCgodHJhbnNhY3Rpb25CYXNlOiBUcmFuc2FjdGlvbkJhc2UpOiBUcmFuc2FjdGlvbiA9PiBwbGFpblRvQ2xhc3MoVHJhbnNhY3Rpb24sIHRyYW5zYWN0aW9uQmFzZSkpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0YXhhYmxlIHRyYW5zYWN0aW9ucyB3aXRoIHRhbmsgdHlwZSAnV29yaydcbiAgICovXG4gIGdldFRheGFibGVXb3JrVHJhbnNhY3Rpb25zKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldFdvcmtUcmFuc2FjdGlvbnMoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9ucy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gISF0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLnRheFJldHVybkl0ZW0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhZGQgbXVsdGlwbGUgdHJhbnNhY3Rpb25zXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbnMgTGlzdCBvZiBuZXcgVHJhbnNhY3Rpb24gaW5zdGFuY2VzIGZvciBzYXZpbmdcbiAgICovXG4gIGFkZEJhdGNoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHRyYW5zYWN0aW9ucyA9IF8uY2xvbmVEZWVwKHRyYW5zYWN0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgdHJhbnNhY3Rpb25zKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IFRyYW5zYWN0aW9uQmFzZVtdKSA9PiB7XG4gICAgICAgICAgY29uc3QgYWRkZWRUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSByZXNwb25zZS5tYXAoKGl0ZW06IFRyYW5zYWN0aW9uQmFzZSkgPT4gcGxhaW5Ub0NsYXNzKFRyYW5zYWN0aW9uLCBpdGVtKSk7XG5cbiAgICAgICAgICB0cmFuc2FjdGlvbnMuZm9yRWFjaCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAvLyBAVE9ETyBiYWNrZW5kOiBuZWVkIHRvIHVwbG9hZCBmaWxlIGluIHRoZSBzYW1lIGJhY2tlbmQgZW5kcG9pbnQgd2l0aCB0cmFuc2FjdGlvbiBhZGQvdXBkYXRlXG4gICAgICAgICAgICAvLyBjaGVjayBpZiBwYXNzZWQgcmVjZWlwdCBhbmQgdXBsb2FkIGZpbGVcbiAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi5maWxlICYmICh0cmFuc2FjdGlvbi5maWxlIGluc3RhbmNlb2YgRmlsZSkpIHtcbiAgICAgICAgICAgICAgdHJhbnNhY3Rpb24uaWQgPSByZXNwb25zZVtpbmRleF0uaWQ7XG4gICAgICAgICAgICAgIGFkZGVkVHJhbnNhY3Rpb25zW2luZGV4XS5maWxlID0gdHJhbnNhY3Rpb24uZmlsZTtcbiAgICAgICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX0NSRUFURURfV0lUSF9ORVdfUkVDRUlQVCwgYWRkZWRUcmFuc2FjdGlvbnNbaW5kZXhdKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEBUT0RPIFZpa3RvcjogaW1wbGVtZW50IEFQSSBmb3Igc2F2aW5nIG9mIG5lc3RlZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIC8vIGFkZCBjaGlsZCB0cmFuc2FjdGlvbnMgaWYgZXhpc3RcbiAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5mb3JFYWNoKChjaGlsZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGNoaWxkVHJhbnNhY3Rpb24ucGFyZW50VHJhbnNhY3Rpb24gPSBwbGFpblRvQ2xhc3MoVHJhbnNhY3Rpb24sIHtpZDogYWRkZWRUcmFuc2FjdGlvbnNbaW5kZXhdLmlkfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB0aGlzLmFkZEJhdGNoKHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucykuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFkZCB0cmFuc2ZlciB0cmFuc2FjdGlvbiB0byBjYWNoZVxuICAgICAgICAgICAgaWYgKHRyYW5zYWN0aW9uLm9wZXJhdGlvbiA9PT0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLlRSQU5TRkVSKSB7XG4gICAgICAgICAgICAgIGFkZGVkVHJhbnNhY3Rpb25zLnB1c2goYWRkZWRUcmFuc2FjdGlvbnNbMF0udHJhbnNmZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHRoaXMuY2FjaGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FjaGUucHVzaCguLi5hZGRlZFRyYW5zYWN0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKFxuICAgICAgICAgICAgbmV3IEFwcEV2ZW50PFRyYW5zYWN0aW9uW10+KEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05TX0NSRUFURUQsIGFkZGVkVHJhbnNhY3Rpb25zKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm4gYWRkZWRUcmFuc2FjdGlvbnM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZSBleGlzdGluZyB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gVHJhbnNhY3Rpb24gaW5zdGFuY2UgZm9yIHVwZGF0aW5nXG4gICAqL1xuICB1cGRhdGUodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7dHJhbnNhY3Rpb24uaWR9YCwgdHJhbnNhY3Rpb24pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogVHJhbnNhY3Rpb25CYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiA9IHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwgcmVzcG9uc2UpO1xuXG4gICAgICAgICAgLy8gQFRPRE8gbmVlZCB0byB1cGxvYWQgZmlsZSBpbiB0aGUgc2FtZSBiYWNrZW5kIGVuZHBvaW50IHdpdGggdHJhbnNhY3Rpb24gYWRkL3VwZGF0ZVxuICAgICAgICAgIC8vIGNoZWNrIGlmIHBhc3NlZCBuZXcgcmVjZWlwdCBhbmQgdXBsb2FkIGZpbGVcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb24uZmlsZSAmJiAodHJhbnNhY3Rpb24uZmlsZSBpbnN0YW5jZW9mIEZpbGUpKSB7XG4gICAgICAgICAgICB1cGRhdGVkVHJhbnNhY3Rpb24uZmlsZSA9IHRyYW5zYWN0aW9uLmZpbGU7XG4gICAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fVVBEQVRFRF9XSVRIX05FV19SRUNFSVBULCB1cGRhdGVkVHJhbnNhY3Rpb24pKTtcbiAgICAgICAgICAgIC8vIHJlY2VpcHQgZmlsZSB3YXMgcmVtb3ZlZCBmcm9tIGZvcm0gLSB3ZSBzaG91bGQgZGVsZXRlIHJlY2VpcHQgZnJvbSB0cmFuc2FjdGlvblxuICAgICAgICAgIH0gZWxzZSBpZiAoIXRyYW5zYWN0aW9uLmZpbGUgJiYgdHJhbnNhY3Rpb24ucmVjZWlwdCkge1xuICAgICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX1VQREFURURfV0lUSF9ERUxFVEVEX1JFQ0VJUFQsIHVwZGF0ZWRUcmFuc2FjdGlvbikpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEBUT0RPIFZpa3RvcjogaW1wbGVtZW50IEFQSSBmb3Igc2F2aW5nIG9mIG5lc3RlZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgLy8gYWRkIHBhcmVudCB0cmFuc2FjdGlvbiB0byBjaGlsZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5mb3JFYWNoKChjaGlsZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgICBjaGlsZFRyYW5zYWN0aW9uLnBhcmVudFRyYW5zYWN0aW9uID0gcGxhaW5Ub0NsYXNzKFRyYW5zYWN0aW9uLCB7aWQ6IHVwZGF0ZWRUcmFuc2FjdGlvbi5pZH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBzZXBhcmF0ZSBjaGlsZCB0cmFuc2FjdGlvbnMgYnkgaWQgZXhpc3RpbmcgdG8gZGVmaW5lIGFkZCBvciB1cGRhdGUgYWN0aW9uLlxuICAgICAgICAgICAgY29uc3QgY2hpbGRUcmFuc2FjdGlvbnNUb1VwZGF0ZTogVHJhbnNhY3Rpb25bXSA9IHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5maWx0ZXIoKHQ6IFRyYW5zYWN0aW9uKSA9PiB0LmlkKTtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkVHJhbnNhY3Rpb25zVG9BZGQ6IFRyYW5zYWN0aW9uW10gPSB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbikgPT4gIXQuaWQpO1xuXG4gICAgICAgICAgICAvLyB1cGRhdGUgY2hpbGQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICBpZiAoY2hpbGRUcmFuc2FjdGlvbnNUb1VwZGF0ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVCYXRjaChjaGlsZFRyYW5zYWN0aW9uc1RvVXBkYXRlKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYWRkIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgaWYgKGNoaWxkVHJhbnNhY3Rpb25zVG9BZGQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRoaXMuYWRkQmF0Y2goY2hpbGRUcmFuc2FjdGlvbnNUb0FkZCkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCB1cGRhdGVkVHJhbnNhY3Rpb24pO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcblxuICAgICAgICAgIHJldHVybiB1cGRhdGVkVHJhbnNhY3Rpb247XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZSBtdWx0aXBsZSB0cmFuc2FjdGlvbnNcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9ucyBsaXN0IG9mIHRyYW5zYWN0aW9ucyBmb3IgdXBkYXRpbmdcbiAgICovXG4gIHVwZGF0ZUJhdGNoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgdHJhbnNhY3Rpb25zKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IFRyYW5zYWN0aW9uQmFzZVtdKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZFRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSA9IHJlc3BvbnNlLm1hcCgoaXRlbTogVHJhbnNhY3Rpb25CYXNlKSA9PiBwbGFpblRvQ2xhc3MoVHJhbnNhY3Rpb24sIGl0ZW0pKTtcblxuICAgICAgICAgIHVwZGF0ZWRUcmFuc2FjdGlvbnMuZm9yRWFjaCgodXBkYXRlZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCB1cGRhdGVkVHJhbnNhY3Rpb24pO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiB1cGRhdGVkVHJhbnNhY3Rpb25zO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkZWxldGUgdHJhbnNhY3Rpb24gYW5kIHJlbGF0ZWQgdHJhbnNhY3Rpb25zXG4gICAqIEBwYXJhbSBtb2RlbFxuICAgKi9cbiAgZGVsZXRlKG1vZGVsOiBUcmFuc2FjdGlvbik6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7bW9kZWwuaWR9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICAvLyB3aGVuIGRlbGV0ZSB0cmFuc2ZlciB3ZSBkZWxldGUgYWN0dWFsbHkgMiB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIGlmIChtb2RlbC5pc1RyYW5zZmVyKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGlkczogbnVtYmVyW10gPSBbbW9kZWwuaWRdO1xuXG4gICAgICAgICAgICAgIC8vIGdldCBpZCBvZiByZWxhdGVkIHRyYW5zZmVyIHRyYW5zYWN0aW9uXG4gICAgICAgICAgICAgIGlmIChtb2RlbC50cmFuc2Zlcikge1xuICAgICAgICAgICAgICAgIC8vIGp1c3QgdGFrZSBpZCBpZiB3ZSBkZWxldGUgc291cmNlIHRyYW5zYWN0aW9uXG4gICAgICAgICAgICAgICAgaWRzLnB1c2gobW9kZWwudHJhbnNmZXIuaWQpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGZpbmQgc291cmNlIHRyYW5zYWN0aW9uIGlkIGlmIHdlIGRlbGV0ZSBkZXN0aW5hdGlvbiB0cmFuc2FjdGlvblxuICAgICAgICAgICAgICAgIGlkcy5wdXNoKHRoaXMuY2FjaGUuZmluZCgodDogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHQudHJhbnNmZXIuaWQgPT09IG1vZGVsLmlkKS5pZCk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gIWlkcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pZCAhPT0gbW9kZWwuaWQgJiYgdHJhbnNhY3Rpb24ucGFyZW50VHJhbnNhY3Rpb24/LmlkICE9PSBtb2RlbC5pZDtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbj4oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9ERUxFVEVELCBtb2RlbClcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25EZWxldGVkLmVtaXQobW9kZWwpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxjdWxhdGUgZ3Jvc3MgaW5jb21lIGFtb3VudCBiYXNlZCBvbiB0cmFuc2FjdGlvbiBhbW91bnQgYW5kIHRheGVzIChmZWVzKVxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gVHJhbnNhY3Rpb24gaW5zdGFuY2UgZm9yIGNhbGN1bGF0aW9uXG4gICAqL1xuICBjYWxjdWxhdGVHcm9zc0Ftb3VudCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBudW1iZXIge1xuICAgIGxldCBhbW91bnQ6IG51bWJlciA9IHRyYW5zYWN0aW9uLmFtb3VudCB8fCAwO1xuXG4gICAgLy8gZ3Jvc3MgaW5jb21lIGFtb3VudCBpbmNsdWRlcyBhbW91bnQgb2YgZmVlcyBmb3IgcHJvcGVydHkgdGFuayBhbmQgdGF4IGZvciB3b3JrIHRhbmtcbiAgICBpZiAodHJhbnNhY3Rpb24uaXNQcm9wZXJ0eVRhbmsoKSkge1xuICAgICAgYW1vdW50ICs9IHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBpdGVtOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgaXRlbS5hbW91bnQsIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBAVE9ETyBBbGV4OiBmaXggbG9naWMgYWZ0ZXIgVFQtNjQxIHJlYWR5XG4gICAgICBhbW91bnQgKz0gKHRyYW5zYWN0aW9uLnRheCB8fCAwKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsYWJlbCBmb3IgdHJhbnNhY3Rpb24gdGF4IGZpZWxkIGRlcGVuZGVkIG9mIHNlbGVjdGVkIGNoYXJ0IGFjY291bnQuXG4gICAqIHRheCB0eXBlIGRlcGVuZHMgb2YgY2hhcnQgYWNjb3VudCBoZWFkaW5nIG9yIGNhdGVnb3J5LlxuICAgKi9cbiAgZ2V0VGF4TGFiZWwoY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cyk6IENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtIHtcbiAgICAvLyBnZXQgc2ltcGxlIGFycmF5IG9mIGlkcyBmcm9tIGVudW0gd2l0aCB0YXhhYmxlIGNoYXJ0IGFjY291bnRzIGhlYWRpbmdzXG4gICAgY29uc3QgdGF4YWJsZUNBSGVhZGluZ3NJZHM6IG51bWJlcltdID0gZW51bVRvTGlzdChDaGFydEFjY291bnRzSGVhZGluZ1RheGFibGVFbnVtKVxuICAgICAgLm1hcCgoaXRlbTogeyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIH0pID0+IGl0ZW0udmFsdWUpO1xuICAgIC8vIGdldCBzaW1wbGUgYXJyYXkgb2YgaWRzIGZyb20gZW51bSB3aXRoIHRheCBkZWR1Y3RpYmxlIGNoYXJ0IGFjY291bnRzIGhlYWRpbmdzXG4gICAgY29uc3QgZGVkdWN0aWJsZUNBSGVhZGluZ3NJZHM6IG51bWJlcltdID0gZW51bVRvTGlzdChDaGFydEFjY291bnRzSGVhZGluZ1RheERlZHVjdGlibGVFbnVtKVxuICAgICAgLm1hcCgoaXRlbTogeyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIH0pID0+IGl0ZW0udmFsdWUpO1xuXG4gICAgLy8gY2hlY2sgaWYgb25lIG9mIGlkcyBhcnJheXMgaW5jbHVkZXMgY3VycmVudCBjaGFydCBhY2NvdW50cyBoZWFkaW5nIGlkIGFuZCBzZXQgdGF4IGxhYmVsXG4gICAgLy8gb3RoZXJ3aXNlIGxhYmVsIGlzIGVtcHR5IGZvciB0aGlzIGNsYXNzXG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIHRheGFibGVDQUhlYWRpbmdzSWRzLmluY2x1ZGVzKGNoYXJ0QWNjb3VudHMuaGVhZGluZz8uaWQpOlxuICAgICAgICByZXR1cm4gQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0uVEFYX1BBSUQ7XG4gICAgICBjYXNlIGRlZHVjdGlibGVDQUhlYWRpbmdzSWRzLmluY2x1ZGVzKGNoYXJ0QWNjb3VudHMuaGVhZGluZz8uaWQpOlxuICAgICAgICByZXR1cm4gQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0uVEFYX0RFRFVDVEVEO1xuICAgICAgY2FzZSBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLndvcmtJbmNvbWUuaW5jbHVkZXMoY2hhcnRBY2NvdW50cy5jYXRlZ29yeSk6XG4gICAgICAgIHJldHVybiBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bS5UQVhfV0lUSEhFTEQ7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byBEZXByZWNpYXRpb24gY2hhbmdpbmdcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuRGVwcmVjaWF0aW9uQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLkRFUFJFQ0lBVElPTl9ERUxFVEVEKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5mZXRjaCgpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0cmFuc2FjdGlvbnM7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIFByb3BlcnR5IFNoYXJlIGNoYW5naW5nXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblByb3BlcnR5U2hhcmVVcGRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfU0hBUkVfVVBEQVRFRCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRDYWNoZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuUmVjZWlwdEFkZGVkKCkge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX1JFQ0VJUFRfQ1JFQVRFRCkuc3Vic2NyaWJlKCh0cmFuc2FjdGlvblJlY2VpcHQ6IFRyYW5zYWN0aW9uUmVjZWlwdCkgPT4ge1xuICAgICAgY29uc3QgdHJhbnNhY3Rpb25Ub1VwZGF0ZTogVHJhbnNhY3Rpb24gPSB0aGlzLmZpbmQodHJhbnNhY3Rpb25SZWNlaXB0LnRyYW5zYWN0aW9uLmlkKTtcblxuICAgICAgLy8gd2UgZG9uJ3QgbmVlZCB0byBrZWVwIGZpbGUgYWZ0ZXIgc2F2ZVxuICAgICAgdHJhbnNhY3Rpb25Ub1VwZGF0ZS5maWxlID0gbnVsbDtcbiAgICAgIHRyYW5zYWN0aW9uVG9VcGRhdGUucmVjZWlwdCA9IHRyYW5zYWN0aW9uUmVjZWlwdDtcbiAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgdHJhbnNhY3Rpb25Ub1VwZGF0ZSk7XG4gICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblJlY2VpcHREZWxldGVkKCkge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX1JFQ0VJUFRfREVMRVRFRCkuc3Vic2NyaWJlKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IHRyYW5zYWN0aW9uVG9VcGRhdGU6IFRyYW5zYWN0aW9uID0gdGhpcy5maW5kKHRyYW5zYWN0aW9uLmlkKTtcblxuICAgICAgdHJhbnNhY3Rpb25Ub1VwZGF0ZS5yZWNlaXB0ID0gbnVsbDtcbiAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgdHJhbnNhY3Rpb25Ub1VwZGF0ZSk7XG4gICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblZlaGljbGVDbGFpbUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9DTEFJTV9DUkVBVEVELFxuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX1VQREFURUQsXG4gICAgICBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19DUkVBVEVELFxuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfVVBEQVRFRFxuICAgIF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICB9KVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './vehicle.service';
|
|
2
|
+
export * from './vehicle-claim.service';
|
|
3
|
+
export * from './vehicle-claim-details.service';
|
|
4
|
+
export * from './vehicle-logbook.service';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC92ZWhpY2xlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsMkJBQTJCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3ZlaGljbGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZlaGljbGUtY2xhaW0uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3ZlaGljbGUtY2xhaW0tZGV0YWlscy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdmVoaWNsZS1sb2dib29rLnNlcnZpY2UnO1xuIl19
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { VehicleClaimDetails } from '../../../models';
|
|
3
|
+
import { ReplaySubject } from 'rxjs';
|
|
4
|
+
import { map, take } from 'rxjs/operators';
|
|
5
|
+
import { plainToClass } from 'class-transformer';
|
|
6
|
+
import { AppEvent } from '../../../models/event/app-event';
|
|
7
|
+
import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/common/http";
|
|
10
|
+
import * as i2 from "../../event/event-dispatcher.service";
|
|
11
|
+
/**
|
|
12
|
+
* @TODO TT-1777 Alex: extend from rest service when it refactored
|
|
13
|
+
*/
|
|
14
|
+
export class VehicleClaimDetailsService {
|
|
15
|
+
constructor(environment, http, eventDispatcherService) {
|
|
16
|
+
this.environment = environment;
|
|
17
|
+
this.http = http;
|
|
18
|
+
this.eventDispatcherService = eventDispatcherService;
|
|
19
|
+
this.cacheSubject = new ReplaySubject(1);
|
|
20
|
+
this.url = 'vehicle-claim-details';
|
|
21
|
+
this.listenEvents();
|
|
22
|
+
}
|
|
23
|
+
listenEvents() {
|
|
24
|
+
this.listenBestPeriodChanges();
|
|
25
|
+
}
|
|
26
|
+
get() {
|
|
27
|
+
if (!this.cache) {
|
|
28
|
+
this.http.get(`${this.environment.apiV2}/${this.url}`)
|
|
29
|
+
.pipe(map((response) => plainToClass(VehicleClaimDetails, response['hydra:member'][0], { excludePrefixes: ['@'] })))
|
|
30
|
+
.subscribe((vehicleClaimDetails) => {
|
|
31
|
+
this.cache = vehicleClaimDetails;
|
|
32
|
+
this.cacheSubject.next(this.cache);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return this.cacheSubject.asObservable();
|
|
36
|
+
}
|
|
37
|
+
add(details) {
|
|
38
|
+
return this.http.post(`${this.environment.apiV2}/${this.url}`, details).pipe(map((newDetails) => {
|
|
39
|
+
const details = plainToClass(VehicleClaimDetails, newDetails);
|
|
40
|
+
this.cache = details;
|
|
41
|
+
this.cacheSubject.next(details);
|
|
42
|
+
this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_CREATED, details));
|
|
43
|
+
return details;
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
update(details) {
|
|
47
|
+
return this.http.put(`${this.environment.apiV2}/${this.url}/${details.id}`, details).pipe(map((updatedDetails) => {
|
|
48
|
+
const details = plainToClass(VehicleClaimDetails, updatedDetails, { excludePrefixes: ['@'] });
|
|
49
|
+
this.cache = details;
|
|
50
|
+
this.cacheSubject.next(details);
|
|
51
|
+
this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_UPDATED, details));
|
|
52
|
+
return details;
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Listen logbook best period updates
|
|
57
|
+
* @TODO Vik: Best period move this and related logic to backend
|
|
58
|
+
*/
|
|
59
|
+
listenBestPeriodChanges() {
|
|
60
|
+
this.eventDispatcherService.on(AppEventTypeEnum.VEHICLE_LOGBOOK_BEST_PERIOD_UPDATED)
|
|
61
|
+
.subscribe((bestPeriod) => {
|
|
62
|
+
// Set details as manual if best period stop exist (removed logbook case)
|
|
63
|
+
if (!bestPeriod) {
|
|
64
|
+
this.updateToManual();
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Set vehicle claim details as manual
|
|
70
|
+
* @TODO Vik: Best period move this and related logic to backend
|
|
71
|
+
*/
|
|
72
|
+
updateToManual() {
|
|
73
|
+
// We are sure this.cache exist here because logbook best period calculation is based on vehicle claim details,
|
|
74
|
+
// so before we can get logbook best period changes, we must get vehicle claim details
|
|
75
|
+
const vehicleClaimDetails = plainToClass(VehicleClaimDetails, Object.assign({}, this.cache, { isManual: true }));
|
|
76
|
+
// take(1) is using to avoid unnecessary callback calling whe user updated details directly
|
|
77
|
+
this.update(vehicleClaimDetails).pipe(take(1)).subscribe();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
VehicleClaimDetailsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: VehicleClaimDetailsService, deps: [{ token: 'environment' }, { token: i1.HttpClient }, { token: i2.EventDispatcherService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
81
|
+
VehicleClaimDetailsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: VehicleClaimDetailsService, providedIn: 'root' });
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: VehicleClaimDetailsService, decorators: [{
|
|
83
|
+
type: Injectable,
|
|
84
|
+
args: [{
|
|
85
|
+
providedIn: 'root'
|
|
86
|
+
}]
|
|
87
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
88
|
+
type: Inject,
|
|
89
|
+
args: ['environment']
|
|
90
|
+
}] }, { type: i1.HttpClient }, { type: i2.EventDispatcherService }]; } });
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS1kZXRhaWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC92ZWhpY2xlL3ZlaGljbGUtY2xhaW0tZGV0YWlscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBaUIsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQzs7OztBQUc3RTs7R0FFRztBQUlILE1BQU0sT0FBTywwQkFBMEI7SUFLckMsWUFDbUMsV0FBZ0IsRUFDekMsSUFBZ0IsRUFDaEIsc0JBQThDO1FBRnJCLGdCQUFXLEdBQVgsV0FBVyxDQUFLO1FBQ3pDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQU54RCxpQkFBWSxHQUF1QyxJQUFJLGFBQWEsQ0FBc0IsQ0FBQyxDQUFDLENBQUM7UUFDN0YsUUFBRyxHQUFXLHVCQUF1QixDQUFDO1FBT3BDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxHQUFHO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FB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LG1CQUFtQixHQUF3QixZQUFZLENBQzNELG1CQUFtQixFQUNuQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQ2hELENBQUM7UUFFRiwyRkFBMkY7UUFDM0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM3RCxDQUFDOzt3SEE1RlUsMEJBQTBCLGtCQU0zQixhQUFhOzRIQU5aLDBCQUEwQixjQUZ6QixNQUFNOzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmVoaWNsZUNsYWltRGV0YWlscyBhcyBWZWhpY2xlQ2xhaW1EZXRhaWxzQmFzZSB9IGZyb20gJy4uLy4uLy4uL2RiL01vZGVscy92ZWhpY2xlL3ZlaGljbGUtY2xhaW0tZGV0YWlscyc7XG5pbXBvcnQgeyBMb2dib29rUGVyaW9kLCBWZWhpY2xlQ2xhaW1EZXRhaWxzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5cbi8qKlxuICogQFRPRE8gVFQtMTc3NyBBbGV4OiBleHRlbmQgZnJvbSByZXN0IHNlcnZpY2Ugd2hlbiBpdCByZWZhY3RvcmVkXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFZlaGljbGVDbGFpbURldGFpbHNTZXJ2aWNlIGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBjYWNoZTogVmVoaWNsZUNsYWltRGV0YWlscztcbiAgY2FjaGVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PFZlaGljbGVDbGFpbURldGFpbHM+ID0gbmV3IFJlcGxheVN1YmplY3Q8VmVoaWNsZUNsYWltRGV0YWlscz4oMSk7XG4gIHVybDogc3RyaW5nID0gJ3ZlaGljbGUtY2xhaW0tZGV0YWlscyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMubGlzdGVuRXZlbnRzKCk7XG4gIH1cblxuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5CZXN0UGVyaW9kQ2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0KCk6IE9ic2VydmFibGU8VmVoaWNsZUNsYWltRGV0YWlscz4ge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgdGhpcy5odHRwLmdldChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocmVzcG9uc2U6IG9iamVjdCk6IFZlaGljbGVDbGFpbURldGFpbHMgPT4gcGxhaW5Ub0NsYXNzKFZlaGljbGVDbGFpbURldGFpbHMsIHJlc3BvbnNlWydoeWRyYTptZW1iZXInXVswXSwge2V4Y2x1ZGVQcmVmaXhlczogWydAJ119KSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCh2ZWhpY2xlQ2xhaW1EZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzKSA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHZlaGljbGVDbGFpbURldGFpbHM7XG4gICAgICAgICAgdGhpcy5jYWNoZVN1YmplY3QubmV4dCh0aGlzLmNhY2hlKTtcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBhZGQoZGV0YWlsczogVmVoaWNsZUNsYWltRGV0YWlscyk6IE9ic2VydmFibGU8VmVoaWNsZUNsYWltRGV0YWlscz4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIGRldGFpbHMpLnBpcGUoXG4gICAgICBtYXAoKG5ld0RldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHNCYXNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGRldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHMgPSBwbGFpblRvQ2xhc3MoVmVoaWNsZUNsYWltRGV0YWlscywgbmV3RGV0YWlscyk7XG5cbiAgICAgICAgdGhpcy5jYWNoZSA9IGRldGFpbHM7XG4gICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQoZGV0YWlscyk7XG5cbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19DUkVBVEVELCBkZXRhaWxzKSlcblxuICAgICAgICByZXR1cm4gZGV0YWlscztcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgdXBkYXRlKGRldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHMpOiBPYnNlcnZhYmxlPFZlaGljbGVDbGFpbURldGFpbHM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke2RldGFpbHMuaWR9YCwgZGV0YWlscykucGlwZShcbiAgICAgIG1hcCgodXBkYXRlZERldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHNCYXNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGRldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHMgPSBwbGFpblRvQ2xhc3MoVmVoaWNsZUNsYWltRGV0YWlscywgdXBkYXRlZERldGFpbHMsIHtleGNsdWRlUHJlZml4ZXM6IFsnQCddfSk7XG5cbiAgICAgICAgdGhpcy5jYWNoZSA9IGRldGFpbHM7XG4gICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQoZGV0YWlscyk7XG5cbiAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19VUERBVEVELCBkZXRhaWxzKSlcblxuICAgICAgICByZXR1cm4gZGV0YWlscztcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cblxuICAvKipcbiAgICogTGlzdGVuIGxvZ2Jvb2sgYmVzdCBwZXJpb2QgdXBkYXRlc1xuICAgKiBAVE9ETyBWaWs6IEJlc3QgcGVyaW9kIG1vdmUgdGhpcyBhbmQgcmVsYXRlZCBsb2dpYyB0byBiYWNrZW5kXG4gICAqL1xuICBwcml2YXRlIGxpc3RlbkJlc3RQZXJpb2RDaGFuZ2VzKCkge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfTE9HQk9PS19CRVNUX1BFUklPRF9VUERBVEVEKVxuICAgICAgLnN1YnNjcmliZSgoYmVzdFBlcmlvZDogTG9nYm9va1BlcmlvZCkgPT4ge1xuICAgICAgICAvLyBTZXQgZGV0YWlscyBhcyBtYW51YWwgaWYgYmVzdCBwZXJpb2Qgc3RvcCBleGlzdCAocmVtb3ZlZCBsb2dib29rIGNhc2UpXG4gICAgICAgIGlmICghYmVzdFBlcmlvZCkge1xuICAgICAgICAgIHRoaXMudXBkYXRlVG9NYW51YWwoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuXG4gIC8qKlxuICAgKiBTZXQgdmVoaWNsZSBjbGFpbSBkZXRhaWxzIGFzIG1hbnVhbFxuICAgKiBAVE9ETyBWaWs6IEJlc3QgcGVyaW9kIG1vdmUgdGhpcyBhbmQgcmVsYXRlZCBsb2dpYyB0byBiYWNrZW5kXG4gICAqL1xuICBwcml2YXRlIHVwZGF0ZVRvTWFudWFsKCk6IHZvaWQge1xuICAgIC8vIFdlIGFyZSBzdXJlIHRoaXMuY2FjaGUgZXhpc3QgaGVyZSBiZWNhdXNlIGxvZ2Jvb2sgYmVzdCBwZXJpb2QgY2FsY3VsYXRpb24gaXMgYmFzZWQgb24gdmVoaWNsZSBjbGFpbSBkZXRhaWxzLFxuICAgIC8vIHNvIGJlZm9yZSB3ZSBjYW4gZ2V0IGxvZ2Jvb2sgYmVzdCBwZXJpb2QgY2hhbmdlcywgd2UgbXVzdCBnZXQgdmVoaWNsZSBjbGFpbSBkZXRhaWxzXG4gICAgY29uc3QgdmVoaWNsZUNsYWltRGV0YWlsczogVmVoaWNsZUNsYWltRGV0YWlscyA9IHBsYWluVG9DbGFzcyhcbiAgICAgIFZlaGljbGVDbGFpbURldGFpbHMsXG4gICAgICBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmNhY2hlLCB7aXNNYW51YWw6IHRydWV9KVxuICAgICk7XG5cbiAgICAvLyB0YWtlKDEpIGlzIHVzaW5nIHRvIGF2b2lkIHVubmVjZXNzYXJ5IGNhbGxiYWNrIGNhbGxpbmcgd2hlIHVzZXIgdXBkYXRlZCBkZXRhaWxzIGRpcmVjdGx5XG4gICAgdGhpcy51cGRhdGUodmVoaWNsZUNsYWltRGV0YWlscykucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19
|