taxtank-core 0.27.2 → 0.27.5
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 +441 -199
- package/bundles/taxtank-core.umd.js.map +1 -1
- package/esm2015/lib/collections/chart-accounts.collection.js +3 -3
- package/esm2015/lib/collections/depreciation.collection.js +10 -9
- package/esm2015/lib/collections/transaction/transaction.collection.js +5 -2
- package/esm2015/lib/collections/vehicle/vehicle-claim.collection.js +2 -4
- package/esm2015/lib/collections/vehicle/vehicle-logbook.collection.js +15 -30
- package/esm2015/lib/db/Enums/depreciation-calculation.enum.js +2 -1
- package/esm2015/lib/db/Enums/sole-depreciation-method.enum.js +6 -0
- package/esm2015/lib/db/Models/sole/sole-business-activity.js +4 -0
- package/esm2015/lib/db/Models/sole/sole-business.js +1 -1
- package/esm2015/lib/db/Models/sole/sole-depreciation-method.js +4 -0
- package/esm2015/lib/db/Models/sole/sole-details.js +1 -1
- package/esm2015/lib/db/Models/user/user.js +1 -1
- package/esm2015/lib/forms/abstract.form.js +11 -5
- package/esm2015/lib/forms/bank/bank-account/bank-account-allocation.form.js +6 -3
- package/esm2015/lib/forms/sole/index.js +2 -1
- package/esm2015/lib/forms/sole/sole-business-allocations.form.js +2 -1
- package/esm2015/lib/forms/sole/sole-business.form.js +3 -3
- package/esm2015/lib/forms/sole/sole-depreciation-method.form.js +10 -0
- package/esm2015/lib/forms/sole/sole-invoice-template.form.js +2 -2
- package/esm2015/lib/forms/vehicle/vehicle-claim-details.form.js +3 -7
- package/esm2015/lib/forms/vehicle/vehicle-claim.form.js +8 -2
- package/esm2015/lib/forms/vehicle/vehicle-logbook.form.js +22 -15
- package/esm2015/lib/models/account-setup/account-setup-items.const.js +2 -2
- package/esm2015/lib/models/bank/bank-account.js +4 -1
- package/esm2015/lib/models/chart-accounts/chart-accounts.js +9 -9
- package/esm2015/lib/models/depreciation/depreciation-group.enum.js +2 -1
- package/esm2015/lib/models/depreciation/depreciation-groups.const.js +7 -2
- package/esm2015/lib/models/depreciation/depreciation.js +32 -25
- package/esm2015/lib/models/endpoint/endpoints.const.js +6 -4
- package/esm2015/lib/models/event/app-event-type.enum.js +33 -31
- package/esm2015/lib/models/financial-year/financial-year.js +2 -1
- package/esm2015/lib/models/report/depreciation/depreciation-report-item.js +2 -2
- package/esm2015/lib/models/report/my-tax/my-tax-deductions/my-tax-deductions.js +3 -3
- package/esm2015/lib/models/sole/index.js +3 -1
- package/esm2015/lib/models/sole/sole-business-activity.js +4 -0
- package/esm2015/lib/models/sole/sole-business.js +5 -1
- package/esm2015/lib/models/sole/sole-depreciation-method.js +8 -0
- package/esm2015/lib/models/sole/sole-invoice-template.js +5 -4
- package/esm2015/lib/models/transaction/transaction.js +3 -3
- package/esm2015/lib/models/vehicle/logbook-period.js +2 -1
- package/esm2015/lib/models/vehicle/vehicle-claim-details.js +12 -11
- package/esm2015/lib/models/vehicle/vehicle-claim.js +14 -13
- package/esm2015/lib/models/vehicle/vehicle-logbook.js +18 -5
- package/esm2015/lib/services/account-setup/account-setup.service.js +2 -2
- package/esm2015/lib/services/affiliate/rewardful/rewardful.service.js +34 -0
- package/esm2015/lib/services/http/depreciation/depreciation.service.js +19 -2
- package/esm2015/lib/services/http/property/property.service.js +8 -1
- package/esm2015/lib/services/http/sole/index.js +3 -1
- package/esm2015/lib/services/http/sole/sole-business-activity/sole-business-activity.service.js +21 -0
- package/esm2015/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.js +62 -0
- package/esm2015/lib/services/http/transaction/transaction.service.js +1 -2
- package/esm2015/lib/services/http/vehicle/vehicle-claim-details.service.js +7 -6
- package/esm2015/lib/services/http/vehicle/vehicle-claim.service.js +10 -10
- package/esm2015/lib/services/index.js +2 -1
- package/esm2015/public-api.js +2 -1
- package/fesm2015/taxtank-core.js +381 -189
- package/fesm2015/taxtank-core.js.map +1 -1
- package/lib/collections/chart-accounts.collection.d.ts +2 -2
- package/lib/collections/depreciation.collection.d.ts +2 -1
- package/lib/collections/transaction/transaction.collection.d.ts +2 -2
- package/lib/collections/vehicle/vehicle-claim.collection.d.ts +1 -3
- package/lib/collections/vehicle/vehicle-logbook.collection.d.ts +4 -9
- package/lib/db/Enums/depreciation-calculation.enum.d.ts +2 -1
- package/lib/db/Enums/sole-depreciation-method.enum.d.ts +4 -0
- package/lib/db/Models/sole/sole-business-activity.d.ts +6 -0
- package/lib/db/Models/sole/sole-business.d.ts +2 -1
- package/lib/db/Models/sole/sole-depreciation-method.d.ts +10 -0
- package/lib/db/Models/user/user.d.ts +1 -0
- package/lib/forms/abstract.form.d.ts +3 -1
- package/lib/forms/bank/bank-account/bank-account-allocation.form.d.ts +4 -2
- package/lib/forms/sole/index.d.ts +1 -0
- package/lib/forms/sole/sole-business-allocations.form.d.ts +1 -0
- package/lib/forms/sole/sole-business.form.d.ts +1 -1
- package/lib/forms/sole/sole-depreciation-method.form.d.ts +5 -0
- package/lib/forms/vehicle/vehicle-claim-details.form.d.ts +1 -6
- package/lib/forms/vehicle/vehicle-claim.form.d.ts +3 -0
- package/lib/forms/vehicle/vehicle-logbook.form.d.ts +4 -0
- package/lib/models/bank/bank-account.d.ts +2 -0
- package/lib/models/chart-accounts/chart-accounts.d.ts +6 -6
- package/lib/models/depreciation/depreciation-group.enum.d.ts +2 -1
- package/lib/models/depreciation/depreciation.d.ts +9 -16
- package/lib/models/event/app-event-type.enum.d.ts +32 -30
- package/lib/models/financial-year/financial-year.d.ts +1 -0
- package/lib/models/sole/index.d.ts +2 -0
- package/lib/models/sole/sole-business-activity.d.ts +3 -0
- package/lib/models/sole/sole-business.d.ts +2 -0
- package/lib/models/sole/sole-depreciation-method.d.ts +4 -0
- package/lib/models/sole/sole-invoice-template.d.ts +1 -1
- package/lib/models/transaction/transaction.d.ts +2 -2
- package/lib/models/vehicle/logbook-period.d.ts +1 -0
- package/lib/models/vehicle/vehicle-claim-details.d.ts +8 -2
- package/lib/models/vehicle/vehicle-claim.d.ts +6 -4
- package/lib/models/vehicle/vehicle-logbook.d.ts +8 -4
- package/lib/services/affiliate/rewardful/rewardful.service.d.ts +13 -0
- package/lib/services/http/depreciation/depreciation.service.d.ts +8 -0
- package/lib/services/http/property/property.service.d.ts +1 -0
- package/lib/services/http/sole/index.d.ts +2 -0
- package/lib/services/http/sole/sole-business-activity/sole-business-activity.service.d.ts +11 -0
- package/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.d.ts +23 -0
- package/lib/services/index.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -76,6 +76,8 @@ export class DepreciationService extends RestService {
|
|
|
76
76
|
this.listenReceiptDeleted();
|
|
77
77
|
this.listenVehicleClaimChanges();
|
|
78
78
|
this.listenToUpdatedBankAccount();
|
|
79
|
+
this.listenSoleDepreciationMethodChanges();
|
|
80
|
+
this.listenPropertyDepreciationCalculationChanges();
|
|
79
81
|
}
|
|
80
82
|
getOpenBalance(depreciation) {
|
|
81
83
|
return this.http.post(`${this.environment.apiV2}/${this.url}/opening-balance?financialYear=${new FinancialYear().year}`, depreciation)
|
|
@@ -124,7 +126,6 @@ export class DepreciationService extends RestService {
|
|
|
124
126
|
this.eventDispatcherService.on([
|
|
125
127
|
AppEventTypeEnum.VEHICLE_CLAIM_CREATED,
|
|
126
128
|
AppEventTypeEnum.VEHICLE_CLAIM_UPDATED,
|
|
127
|
-
AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_CREATED,
|
|
128
129
|
AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_UPDATED
|
|
129
130
|
]).subscribe(() => {
|
|
130
131
|
this.resetCache();
|
|
@@ -134,6 +135,22 @@ export class DepreciationService extends RestService {
|
|
|
134
135
|
replace(this.cache, depreciationToReplace);
|
|
135
136
|
this.updateCache();
|
|
136
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* @TODO Alex: create common method resetCacheOn(events: AppEventType[])
|
|
140
|
+
*/
|
|
141
|
+
listenSoleDepreciationMethodChanges() {
|
|
142
|
+
this.eventDispatcherService.on(AppEventTypeEnum.SOLE_DEPRECIATION_METHOD_UPDATED).subscribe(() => {
|
|
143
|
+
this.resetCache();
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* @TODO Alex: create common method resetCacheOn(events: AppEventType[])
|
|
148
|
+
*/
|
|
149
|
+
listenPropertyDepreciationCalculationChanges() {
|
|
150
|
+
this.eventDispatcherService.on(AppEventTypeEnum.PROPERTY_DEPRECIATION_CALCULATION_UPDATED).subscribe(() => {
|
|
151
|
+
this.resetCache();
|
|
152
|
+
});
|
|
153
|
+
}
|
|
137
154
|
}
|
|
138
155
|
DepreciationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationService, deps: [{ token: i1.HttpClient }, { token: i2.EventDispatcherService }, { token: 'environment' }, { token: i3.ToastService }, { token: i4.DepreciationReceiptService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
139
156
|
DepreciationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: DepreciationService, providedIn: 'root' });
|
|
@@ -146,4 +163,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
146
163
|
type: Inject,
|
|
147
164
|
args: ['environment']
|
|
148
165
|
}] }, { type: i3.ToastService }, { type: i4.DepreciationReceiptService }]; } });
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7OztBQVc5RSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBMkM7SUFJbEYsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0IsRUFDdkMsWUFBMEIsRUFDNUIsMEJBQXNEO1FBRTlELEtBQUssQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBTnJELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN2QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUM1QiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBUmhFLGVBQVUsR0FBd0IsWUFBWSxDQUFDO1FBQy9DLFFBQUcs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QztJQUNyQixDQUFDOztpSEFwSlUsbUJBQW1CLGtGQU9wQixhQUFhO3FIQVBaLG1CQUFtQixjQUZsQixNQUFNOzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVFJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIGFzIERlcHJlY2lhdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbic7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyByZXBsYWNlIH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2FycmF5JztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBGaW5hbmNpYWxZZWFyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZpbmFuY2lhbC15ZWFyL2ZpbmFuY2lhbC15ZWFyJztcbmltcG9ydCB7IERlcHJlY2lhdGlvblJlY2VpcHQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZGVwcmVjaWF0aW9uL2RlcHJlY2lhdGlvbi1yZWNlaXB0JztcbmltcG9ydCB7IEJhbmtBY2NvdW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2JhbmsvYmFuay1hY2NvdW50JztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRGVwcmVjaWF0aW9uUmVjZWlwdFNlcnZpY2UgfSBmcm9tICcuL2RlcHJlY2lhdGlvbi1yZWNlaXB0L2RlcHJlY2lhdGlvbi1yZWNlaXB0LnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEZXByZWNpYXRpb25TZXJ2aWNlIGV4dGVuZHMgUmVzdFNlcnZpY2U8RGVwcmVjaWF0aW9uQmFzZSwgRGVwcmVjaWF0aW9uPiB7XG4gIG1vZGVsQ2xhc3M6IHR5cGVvZiBEZXByZWNpYXRpb24gPSBEZXByZWNpYXRpb247XG4gIHVybDogc3RyaW5nID0gJ2RlcHJlY2lhdGlvbnMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJvdGVjdGVkIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGVwcmVjaWF0aW9uUmVjZWlwdFNlcnZpY2U6IERlcHJlY2lhdGlvblJlY2VpcHRTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50LCB0b2FzdFNlcnZpY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHNpbmdsZSBkZXByZWNpYXRpb25cbiAgICogQFRPRE8gYWRkIGF1dG8tZ2VuZXJhdGlvbiBmb3IgZXZlbnRzXG4gICAqL1xuICBhZGQoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBPYnNlcnZhYmxlPERlcHJlY2lhdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmFkZEJhdGNoKFtkZXByZWNpYXRpb25dKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgobmV3RGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10pOiBEZXByZWNpYXRpb24gPT4ge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5ERVBSRUNJQVRJT05TX0NSRUFURUQsIG5ld0RlcHJlY2lhdGlvbnNbMF0pKTtcbiAgICAgICAgICByZXR1cm4gbmV3RGVwcmVjaWF0aW9uc1swXTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIG11bHRpcGxlIGRlcHJlY2lhdGlvbnNcbiAgICogQFRPRE8gYWRkIGF1dG8tZ2VuZXJhdGlvbiBmb3IgZXZlbnRzXG4gICAqL1xuICBhZGRCYXRjaChkZXByZWNpYXRpb25zOiBEZXByZWNpYXRpb25bXSk6IE9ic2VydmFibGU8RGVwcmVjaWF0aW9uW10+IHtcbiAgICByZXR1cm4gc3VwZXIuYWRkQmF0Y2goZGVwcmVjaWF0aW9ucykucGlwZShcbiAgICAgIG1hcCgobmV3RGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10pOiBEZXByZWNpYXRpb25bXSA9PiB7XG5cbiAgICAgICAgZGVwcmVjaWF0aW9ucy5mb3JFYWNoKChkZXByZWNpYXRpb246IERlcHJlY2lhdGlvbiwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgIC8vIEBUT0RPIGJhY2tlbmQ6IG5lZWQgdG8gdXBsb2FkIGZpbGUgaW4gdGhlIHNhbWUgYmFja2VuZCBlbmRwb2ludCB3aXRoIGRlcHJlY2lhdGlvbiBhZGQvdXBkYXRlXG4gICAgICAgICAgLy8gY2hlY2sgaWYgcGFzc2VkIHJlY2VpcHQgYW5kIHVwbG9hZCBmaWxlXG4gICAgICAgICAgaWYgKGRlcHJlY2lhdGlvbi5maWxlICYmIChkZXByZWNpYXRpb24uZmlsZSBpbnN0YW5jZW9mIEZpbGUpKSB7XG4gICAgICAgICAgICBkZXByZWNpYXRpb24uaWQgPSBuZXdEZXByZWNpYXRpb25zW2luZGV4XS5pZDtcbiAgICAgICAgICAgIG5ld0RlcHJlY2lhdGlvbnNbaW5kZXhdLmZpbGUgPSBkZXByZWNpYXRpb24uZmlsZTtcbiAgICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5ERVBSRUNJQVRJT05fVVBEQVRFRF9XSVRIX1JFQ0VJUFQsIG5ld0RlcHJlY2lhdGlvbnNbaW5kZXhdKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuXG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5ERVBSRUNJQVRJT05TX0NSRUFURUQsIG5ld0RlcHJlY2lhdGlvbnMpKTtcbiAgICAgICAgcmV0dXJuIG5ld0RlcHJlY2lhdGlvbnM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICB1cGRhdGUoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBPYnNlcnZhYmxlPERlcHJlY2lhdGlvbj4ge1xuICAgIHJldHVybiBzdXBlci51cGRhdGUoZGVwcmVjaWF0aW9uKS5waXBlKFxuICAgICAgbWFwKCh1cGRhdGVkRGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBEZXByZWNpYXRpb24gPT4ge1xuICAgICAgICAvLyBAVE9ETyBuZWVkIHRvIHVwbG9hZCBmaWxlIGluIHRoZSBzYW1lIGJhY2tlbmQgZW5kcG9pbnQgd2l0aCBkZXByZWNpYXRpb24gYWRkL3VwZGF0ZVxuICAgICAgICAvLyBjaGVjayBpZiBwYXNzZWQgbmV3IHJlY2VpcHQgYW5kIHVwbG9hZCBmaWxlXG4gICAgICAgIGlmIChkZXByZWNpYXRpb24uZmlsZSAmJiAoZGVwcmVjaWF0aW9uLmZpbGUgaW5zdGFuY2VvZiBGaWxlKSkge1xuICAgICAgICAgIHVwZGF0ZWREZXByZWNpYXRpb24uZmlsZSA9IGRlcHJlY2lhdGlvbi5maWxlO1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5ERVBSRUNJQVRJT05fVVBEQVRFRF9XSVRIX1JFQ0VJUFQsIHVwZGF0ZWREZXByZWNpYXRpb24pKTtcbiAgICAgICAgICAvLyByZWNlaXB0IGZpbGUgd2FzIHJlbW92ZWQgZnJvbSBmb3JtIC0gd2Ugc2hvdWxkIGRlbGV0ZSByZWNlaXB0IGZyb20gdHJhbnNhY3Rpb25cbiAgICAgICAgfSBlbHNlIGlmICghZGVwcmVjaWF0aW9uLmZpbGUgJiYgZGVwcmVjaWF0aW9uLnJlY2VpcHQpIHtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OX1VQREFURURfV0lUSF9ERUxFVEVEX1JFQ0VJUFQsIHVwZGF0ZWREZXByZWNpYXRpb24pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1cGRhdGVkRGVwcmVjaWF0aW9uO1xuICAgICAgfSlcbiAgICApXG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIERlcHJlY2lhdGlvbnMgZXZlbnRzXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5Ub1VwZGF0ZWRMb2FuKCk7XG4gICAgdGhpcy5saXN0ZW5SZWNlaXB0QWRkZWQoKTtcbiAgICB0aGlzLmxpc3RlblJlY2VpcHREZWxldGVkKCk7XG4gICAgdGhpcy5saXN0ZW5WZWhpY2xlQ2xhaW1DaGFuZ2VzKCk7XG4gICAgdGhpcy5saXN0ZW5Ub1VwZGF0ZWRCYW5rQWNjb3VudCgpO1xuICB9XG5cbiAgZ2V0T3BlbkJhbGFuY2UoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS9vcGVuaW5nLWJhbGFuY2U/ZmluYW5jaWFsWWVhcj0ke25ldyBGaW5hbmNpYWxZZWFyKCkueWVhcn1gLCBkZXByZWNpYXRpb24pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlIHx8IDA7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5SZWNlaXB0QWRkZWQoKSB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OX1JFQ0VJUFRfQ1JFQVRFRCkuc3Vic2NyaWJlKChyZWNlaXB0OiBEZXByZWNpYXRpb25SZWNlaXB0KSA9PiB7XG4gICAgICBjb25zdCBkZXByZWNpYXRpb25Ub1VwZGF0ZTogRGVwcmVjaWF0aW9uID0gdGhpcy5maW5kKHJlY2VpcHQuZGVwcmVjaWF0aW9uLmlkKTtcblxuICAgICAgLy8gd2UgZG9uJ3QgbmVlZCB0byBrZWVwIGZpbGUgYWZ0ZXIgc2F2ZVxuICAgICAgZGVwcmVjaWF0aW9uVG9VcGRhdGUuZmlsZSA9IG51bGw7XG4gICAgICBkZXByZWNpYXRpb25Ub1VwZGF0ZS5yZWNlaXB0ID0gcmVjZWlwdDtcbiAgICAgIHRoaXMucmVwbGFjZUluQ2FjaGUoZGVwcmVjaWF0aW9uVG9VcGRhdGUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5SZWNlaXB0RGVsZXRlZCgpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5ERVBSRUNJQVRJT05fUkVDRUlQVF9ERUxFVEVEKS5zdWJzY3JpYmUoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKSA9PiB7XG4gICAgICBjb25zdCBkZXByZWNpYXRpb25Ub1VwZGF0ZTogRGVwcmVjaWF0aW9uID0gdGhpcy5maW5kKGRlcHJlY2lhdGlvbi5pZCk7XG5cbiAgICAgIGRlcHJlY2lhdGlvblRvVXBkYXRlLnJlY2VpcHQgPSBudWxsO1xuICAgICAgdGhpcy5yZXBsYWNlSW5DYWNoZShkZXByZWNpYXRpb25Ub1VwZGF0ZSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byB1cGRhdGVkIGJhbmsgbG9hblxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1VwZGF0ZWRMb2FuKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihbQXBwRXZlbnRUeXBlRW51bS5MT0FOX1VQREFURUQsIEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfU0hBUkVfVVBEQVRFRF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZldGNoKCkuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byB1cGRhdGVkIGJhbmsgYWNjb3VudFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1VwZGF0ZWRCYW5rQWNjb3VudCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW0FwcEV2ZW50VHlwZUVudW0uQkFOS19BQ0NPVU5UX1VQREFURURdKS5zdWJzY3JpYmUoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4ge1xuICAgICAgaWYgKGJhbmtBY2NvdW50LmlzUHJvcGVydHlUYW5rKCkpIHtcbiAgICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gdXBkYXRlZCB2ZWhpY2xlIGNsYWltXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblZlaGljbGVDbGFpbUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9DTEFJTV9DUkVBVEVELFxuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX1VQREFURUQsXG4gICAgICBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19DUkVBVEVELFxuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfVVBEQVRFRFxuICAgIF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSByZXBsYWNlSW5DYWNoZShkZXByZWNpYXRpb25Ub1JlcGxhY2U6IERlcHJlY2lhdGlvbik6IHZvaWQge1xuICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgZGVwcmVjaWF0aW9uVG9SZXBsYWNlKTtcbiAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwcmVjaWF0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0NBQStDLENBQUM7Ozs7OztBQVc5RSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsV0FBMkM7SUFJbEYsWUFDWSxJQUFnQixFQUNoQixzQkFBOEMsRUFDdkIsV0FBZ0IsRUFDdkMsWUFBMEIsRUFDNUIsMEJBQXNEO1FBRTlELEtBQUssQ0FBQyxJQUFJLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBTnJELFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQUN2QixnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN2QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUM1QiwrQkFBMEIsR0FBMUIsMEJBQTBCLENBQTRCO1FBUmhFLGVBQVUsR0FBd0IsWUFBWSxDQUFDO1FBQy9DLFFBQUcs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QixDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNLLG1DQUFtQztRQUN6QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGdDQUFnQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMvRixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSyw0Q0FBNEM7UUFDbEQsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDeEcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs7aUhBdktVLG1CQUFtQixrRkFPcEIsYUFBYTtxSEFQWixtQkFBbUIsY0FGbEIsTUFBTTs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbiBhcyBEZXByZWNpYXRpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcmVwbGFjZSB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IERlcHJlY2lhdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9kZXByZWNpYXRpb24vZGVwcmVjaWF0aW9uJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgRmluYW5jaWFsWWVhciB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9maW5hbmNpYWwteWVhci9maW5hbmNpYWwteWVhcic7XG5pbXBvcnQgeyBEZXByZWNpYXRpb25SZWNlaXB0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2RlcHJlY2lhdGlvbi9kZXByZWNpYXRpb24tcmVjZWlwdCc7XG5pbXBvcnQgeyBCYW5rQWNjb3VudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9iYW5rL2JhbmstYWNjb3VudCc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi90b2FzdC90b2FzdC5zZXJ2aWNlJztcbmltcG9ydCB7IERlcHJlY2lhdGlvblJlY2VpcHRTZXJ2aWNlIH0gZnJvbSAnLi9kZXByZWNpYXRpb24tcmVjZWlwdC9kZXByZWNpYXRpb24tcmVjZWlwdC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGVwcmVjaWF0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPERlcHJlY2lhdGlvbkJhc2UsIERlcHJlY2lhdGlvbj4ge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgRGVwcmVjaWF0aW9uID0gRGVwcmVjaWF0aW9uO1xuICB1cmw6IHN0cmluZyA9ICdkZXByZWNpYXRpb25zJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZSxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByb3RlY3RlZCBlbnZpcm9ubWVudDogYW55LFxuICAgIHByb3RlY3RlZCB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcbiAgICBwcml2YXRlIGRlcHJlY2lhdGlvblJlY2VpcHRTZXJ2aWNlOiBEZXByZWNpYXRpb25SZWNlaXB0U2VydmljZVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCwgdG9hc3RTZXJ2aWNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBzaW5nbGUgZGVwcmVjaWF0aW9uXG4gICAqIEBUT0RPIGFkZCBhdXRvLWdlbmVyYXRpb24gZm9yIGV2ZW50c1xuICAgKi9cbiAgYWRkKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogT2JzZXJ2YWJsZTxEZXByZWNpYXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5hZGRCYXRjaChbZGVwcmVjaWF0aW9uXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKG5ld0RlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbltdKTogRGVwcmVjaWF0aW9uID0+IHtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OU19DUkVBVEVELCBuZXdEZXByZWNpYXRpb25zWzBdKSk7XG4gICAgICAgICAgcmV0dXJuIG5ld0RlcHJlY2lhdGlvbnNbMF07XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBtdWx0aXBsZSBkZXByZWNpYXRpb25zXG4gICAqIEBUT0RPIGFkZCBhdXRvLWdlbmVyYXRpb24gZm9yIGV2ZW50c1xuICAgKi9cbiAgYWRkQmF0Y2goZGVwcmVjaWF0aW9uczogRGVwcmVjaWF0aW9uW10pOiBPYnNlcnZhYmxlPERlcHJlY2lhdGlvbltdPiB7XG4gICAgcmV0dXJuIHN1cGVyLmFkZEJhdGNoKGRlcHJlY2lhdGlvbnMpLnBpcGUoXG4gICAgICBtYXAoKG5ld0RlcHJlY2lhdGlvbnM6IERlcHJlY2lhdGlvbltdKTogRGVwcmVjaWF0aW9uW10gPT4ge1xuXG4gICAgICAgIGRlcHJlY2lhdGlvbnMuZm9yRWFjaCgoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAvLyBAVE9ETyBiYWNrZW5kOiBuZWVkIHRvIHVwbG9hZCBmaWxlIGluIHRoZSBzYW1lIGJhY2tlbmQgZW5kcG9pbnQgd2l0aCBkZXByZWNpYXRpb24gYWRkL3VwZGF0ZVxuICAgICAgICAgIC8vIGNoZWNrIGlmIHBhc3NlZCByZWNlaXB0IGFuZCB1cGxvYWQgZmlsZVxuICAgICAgICAgIGlmIChkZXByZWNpYXRpb24uZmlsZSAmJiAoZGVwcmVjaWF0aW9uLmZpbGUgaW5zdGFuY2VvZiBGaWxlKSkge1xuICAgICAgICAgICAgZGVwcmVjaWF0aW9uLmlkID0gbmV3RGVwcmVjaWF0aW9uc1tpbmRleF0uaWQ7XG4gICAgICAgICAgICBuZXdEZXByZWNpYXRpb25zW2luZGV4XS5maWxlID0gZGVwcmVjaWF0aW9uLmZpbGU7XG4gICAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OX1VQREFURURfV0lUSF9SRUNFSVBULCBuZXdEZXByZWNpYXRpb25zW2luZGV4XSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cblxuICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OU19DUkVBVEVELCBuZXdEZXByZWNpYXRpb25zKSk7XG4gICAgICAgIHJldHVybiBuZXdEZXByZWNpYXRpb25zO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogT2JzZXJ2YWJsZTxEZXByZWNpYXRpb24+IHtcbiAgICByZXR1cm4gc3VwZXIudXBkYXRlKGRlcHJlY2lhdGlvbikucGlwZShcbiAgICAgIG1hcCgodXBkYXRlZERlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKTogRGVwcmVjaWF0aW9uID0+IHtcbiAgICAgICAgLy8gQFRPRE8gbmVlZCB0byB1cGxvYWQgZmlsZSBpbiB0aGUgc2FtZSBiYWNrZW5kIGVuZHBvaW50IHdpdGggZGVwcmVjaWF0aW9uIGFkZC91cGRhdGVcbiAgICAgICAgLy8gY2hlY2sgaWYgcGFzc2VkIG5ldyByZWNlaXB0IGFuZCB1cGxvYWQgZmlsZVxuICAgICAgICBpZiAoZGVwcmVjaWF0aW9uLmZpbGUgJiYgKGRlcHJlY2lhdGlvbi5maWxlIGluc3RhbmNlb2YgRmlsZSkpIHtcbiAgICAgICAgICB1cGRhdGVkRGVwcmVjaWF0aW9uLmZpbGUgPSBkZXByZWNpYXRpb24uZmlsZTtcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OX1VQREFURURfV0lUSF9SRUNFSVBULCB1cGRhdGVkRGVwcmVjaWF0aW9uKSk7XG4gICAgICAgICAgLy8gcmVjZWlwdCBmaWxlIHdhcyByZW1vdmVkIGZyb20gZm9ybSAtIHdlIHNob3VsZCBkZWxldGUgcmVjZWlwdCBmcm9tIHRyYW5zYWN0aW9uXG4gICAgICAgIH0gZWxzZSBpZiAoIWRlcHJlY2lhdGlvbi5maWxlICYmIGRlcHJlY2lhdGlvbi5yZWNlaXB0KSB7XG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLkRFUFJFQ0lBVElPTl9VUERBVEVEX1dJVEhfREVMRVRFRF9SRUNFSVBULCB1cGRhdGVkRGVwcmVjaWF0aW9uKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdXBkYXRlZERlcHJlY2lhdGlvbjtcbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBEZXByZWNpYXRpb25zIGV2ZW50c1xuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuVG9VcGRhdGVkTG9hbigpO1xuICAgIHRoaXMubGlzdGVuUmVjZWlwdEFkZGVkKCk7XG4gICAgdGhpcy5saXN0ZW5SZWNlaXB0RGVsZXRlZCgpO1xuICAgIHRoaXMubGlzdGVuVmVoaWNsZUNsYWltQ2hhbmdlcygpO1xuICAgIHRoaXMubGlzdGVuVG9VcGRhdGVkQmFua0FjY291bnQoKTtcbiAgICB0aGlzLmxpc3RlblNvbGVEZXByZWNpYXRpb25NZXRob2RDaGFuZ2VzKCk7XG4gICAgdGhpcy5saXN0ZW5Qcm9wZXJ0eURlcHJlY2lhdGlvbkNhbGN1bGF0aW9uQ2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0T3BlbkJhbGFuY2UoZGVwcmVjaWF0aW9uOiBEZXByZWNpYXRpb24pOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS9vcGVuaW5nLWJhbGFuY2U/ZmluYW5jaWFsWWVhcj0ke25ldyBGaW5hbmNpYWxZZWFyKCkueWVhcn1gLCBkZXByZWNpYXRpb24pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlIHx8IDA7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5SZWNlaXB0QWRkZWQoKSB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OX1JFQ0VJUFRfQ1JFQVRFRCkuc3Vic2NyaWJlKChyZWNlaXB0OiBEZXByZWNpYXRpb25SZWNlaXB0KSA9PiB7XG4gICAgICBjb25zdCBkZXByZWNpYXRpb25Ub1VwZGF0ZTogRGVwcmVjaWF0aW9uID0gdGhpcy5maW5kKHJlY2VpcHQuZGVwcmVjaWF0aW9uLmlkKTtcblxuICAgICAgLy8gd2UgZG9uJ3QgbmVlZCB0byBrZWVwIGZpbGUgYWZ0ZXIgc2F2ZVxuICAgICAgZGVwcmVjaWF0aW9uVG9VcGRhdGUuZmlsZSA9IG51bGw7XG4gICAgICBkZXByZWNpYXRpb25Ub1VwZGF0ZS5yZWNlaXB0ID0gcmVjZWlwdDtcbiAgICAgIHRoaXMucmVwbGFjZUluQ2FjaGUoZGVwcmVjaWF0aW9uVG9VcGRhdGUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5SZWNlaXB0RGVsZXRlZCgpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5ERVBSRUNJQVRJT05fUkVDRUlQVF9ERUxFVEVEKS5zdWJzY3JpYmUoKGRlcHJlY2lhdGlvbjogRGVwcmVjaWF0aW9uKSA9PiB7XG4gICAgICBjb25zdCBkZXByZWNpYXRpb25Ub1VwZGF0ZTogRGVwcmVjaWF0aW9uID0gdGhpcy5maW5kKGRlcHJlY2lhdGlvbi5pZCk7XG5cbiAgICAgIGRlcHJlY2lhdGlvblRvVXBkYXRlLnJlY2VpcHQgPSBudWxsO1xuICAgICAgdGhpcy5yZXBsYWNlSW5DYWNoZShkZXByZWNpYXRpb25Ub1VwZGF0ZSk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byB1cGRhdGVkIGJhbmsgbG9hblxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1VwZGF0ZWRMb2FuKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihbQXBwRXZlbnRUeXBlRW51bS5MT0FOX1VQREFURUQsIEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfU0hBUkVfVVBEQVRFRF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZldGNoKCkuc3Vic2NyaWJlKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byB1cGRhdGVkIGJhbmsgYWNjb3VudFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Ub1VwZGF0ZWRCYW5rQWNjb3VudCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW0FwcEV2ZW50VHlwZUVudW0uQkFOS19BQ0NPVU5UX1VQREFURURdKS5zdWJzY3JpYmUoKGJhbmtBY2NvdW50OiBCYW5rQWNjb3VudCkgPT4ge1xuICAgICAgaWYgKGJhbmtBY2NvdW50LmlzUHJvcGVydHlUYW5rKCkpIHtcbiAgICAgICAgdGhpcy5mZXRjaCgpLnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gdXBkYXRlZCB2ZWhpY2xlIGNsYWltXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblZlaGljbGVDbGFpbUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9DTEFJTV9DUkVBVEVELFxuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX1VQREFURUQsXG4gICAgICBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19VUERBVEVEXG4gICAgXSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIHJlcGxhY2VJbkNhY2hlKGRlcHJlY2lhdGlvblRvUmVwbGFjZTogRGVwcmVjaWF0aW9uKTogdm9pZCB7XG4gICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBkZXByZWNpYXRpb25Ub1JlcGxhY2UpO1xuICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAVE9ETyBBbGV4OiBjcmVhdGUgY29tbW9uIG1ldGhvZCByZXNldENhY2hlT24oZXZlbnRzOiBBcHBFdmVudFR5cGVbXSlcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuU29sZURlcHJlY2lhdGlvbk1ldGhvZENoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uU09MRV9ERVBSRUNJQVRJT05fTUVUSE9EX1VQREFURUQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIEBUT0RPIEFsZXg6IGNyZWF0ZSBjb21tb24gbWV0aG9kIHJlc2V0Q2FjaGVPbihldmVudHM6IEFwcEV2ZW50VHlwZVtdKVxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5Qcm9wZXJ0eURlcHJlY2lhdGlvbkNhbGN1bGF0aW9uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9ERVBSRUNJQVRJT05fQ0FMQ1VMQVRJT05fVVBEQVRFRCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMucmVzZXRDYWNoZSgpO1xuICAgIH0pXG4gIH1cbn1cbiJdfQ==
|
|
@@ -68,6 +68,13 @@ export class PropertyService extends RestService {
|
|
|
68
68
|
return updatedProperty;
|
|
69
69
|
}));
|
|
70
70
|
}
|
|
71
|
+
updateDepreciationCalculation(property) {
|
|
72
|
+
const propertyToUpdate = plainToClass(Property, { id: property.id, depreciationCalculation: property.depreciationCalculation });
|
|
73
|
+
return this.update(propertyToUpdate).pipe(map((updatedProperty) => {
|
|
74
|
+
this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.PROPERTY_DEPRECIATION_CALCULATION_UPDATED, updatedProperty));
|
|
75
|
+
return updatedProperty;
|
|
76
|
+
}));
|
|
77
|
+
}
|
|
71
78
|
getByCategoryId(id) {
|
|
72
79
|
return this.get().pipe(map((properties) => {
|
|
73
80
|
return properties.filter((property) => property.category.id === id);
|
|
@@ -130,4 +137,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
130
137
|
providedIn: 'root'
|
|
131
138
|
}]
|
|
132
139
|
}] });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0RBQXNELENBQUM7O0FBR3BGOzs7R0FHRztBQUlILE1BQU0sT0FBTyxlQUFnQixTQUFRLFdBQW1DO0lBSHhFOztRQUlFLGVBQVUsR0FBb0IsUUFBUSxDQUFDO1FBQ3ZDLFFBQUcsR0FBVyxZQUFZLENBQUM7S0FzSTVCO0lBcElDLFlBQVk7UUFDVixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNqQyx3RkFBd0Y7UUFDeEYsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOztP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Q3BCLEdBQUcsQ0FBQyxDQUFDLFVBQXNCLEVBQWMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFrQixFQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FDbkgsQ0FBQztJQUNKLENBQUM7OzZHQXZJVSxlQUFlO2lIQUFmLGVBQWUsY0FGZCxNQUFNOzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvcGVydHkgYXMgUHJvcGVydHlCYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJlcGxhY2UgfSBmcm9tICcuLi8uLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgUHJvcGVydHlTdWJzY3JpcHRpb24gYXMgUHJvcGVydHlTdWJzY3JpcHRpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXN1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFByb3BlcnR5IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5JztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgUHJvcGVydHlTdWJzY3JpcHRpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUHJvcGVydHlTYWxlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNhbGUvcHJvcGVydHktc2FsZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNoYXJlIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL3Byb3BlcnR5L3Byb3BlcnR5LXNoYXJlJztcblxuLyoqXG4gKiBAVG9kbyBBbGV4IHJlbW92ZSBmdW5jdGlvbmFsaXR5IHJlbGF0ZWQgdG8gUHJvcGVydHlTaGFyZVxuICogU2VydmljZSBmb3Igd29yayB3aXRoIFByb3BlcnR5XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb3BlcnR5U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFByb3BlcnR5QmFzZSwgUHJvcGVydHk+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgUHJvcGVydHkgPSBQcm9wZXJ0eTtcbiAgdXJsOiBzdHJpbmcgPSAncHJvcGVydGllcyc7XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuU2hhcmVJbnZpdGVBY2NlcHRlZCgpO1xuICAgIC8vIEBUT0RPIEFsZXg6IGNvbnNpZGVyIHRvIHJlZmFjdG9yIHByb3BlcnR5IG1vdmVtZW50cyBsb2dpYyBzaW1pbGFyIHRvIGNsaWVudC1tb3ZlbWVudHNcbiAgICB0aGlzLmxpc3Rlbk1vdmVtZW50c0NoYW5nZWQoKTtcbiAgICB0aGlzLmxpc3RlblNhbGVzQWRkZWQoKTtcbiAgICB0aGlzLmxpc3RlblNhbGVzRGVsZXRlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjYWNoZSB3aGVuIHNoYXJlIGludml0YXRpb24gYWNjZXB0ZWRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuU2hhcmVJbnZpdGVBY2NlcHRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9TSEFSRV9VUERBVEVEKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldENhY2hlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjYWNoZSB3aGVuIHByb3BlcnR5IGNhdGVnb3J5IGNoYW5nZWRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuTW92ZW1lbnRzQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICAvLyBAVE9ETyBjaGFuZ2UgZGlzcGF0Y2hlciBsb2dpYyB0byB3b3JrIHdpdGggbXVsdGlwbGUgZXZlbnRzXG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfTU9WRU1FTlRfQ1JFQVRFRCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRDYWNoZSgpKTtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9NT1ZFTUVOVF9VUERBVEVEKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldENhY2hlKCkpO1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX01PVkVNRU5UX0RFTEVURUQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2V0Q2FjaGUoKSk7XG4gIH1cblxuICAvKipcbiAgICogQFRvZG8gQWxleCByZWZhY3RvciBhZnRlciBQcm9wZXJ0eVNoYXJlIHdpbGwgYmUgY2xlYXJlZCB1cFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5TYWxlc0FkZGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX1NBTEVfQURERUQpLnN1YnNjcmliZSgocHJvcGVydHlTYWxlOiBQcm9wZXJ0eVNhbGUpID0+IHtcbiAgICAgIGNvbnN0IHByb3BlcnR5VG9SZXBsYWNlOiBQcm9wZXJ0eSA9IHRoaXMuY2FjaGUuZmluZCgocHJvcGVydHk6IFByb3BlcnR5KSA9PiBwcm9wZXJ0eS5teVNoYXJlLmlkID09PSBwcm9wZXJ0eVNhbGUuc2hhcmUuaWQpO1xuICAgICAgcHJvcGVydHlUb1JlcGxhY2UubXlTaGFyZS5zYWxlID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5U2FsZSwge2lkOiBwcm9wZXJ0eVNhbGUuaWR9KTtcblxuICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBwcm9wZXJ0eVRvUmVwbGFjZSk7XG4gICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblNhbGVzRGVsZXRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9TQUxFX0RFTEVURUQpLnN1YnNjcmliZSgocHJvcGVydHlTYWxlOiBQcm9wZXJ0eVNhbGUpID0+IHtcbiAgICAgIGNvbnN0IHByb3BlcnR5VG9SZXBsYWNlOiBQcm9wZXJ0eSA9IHRoaXMuY2FjaGUuZmluZCgocHJvcGVydHk6IFByb3BlcnR5KSA9PiBwcm9wZXJ0eS5teVNoYXJlLmlkID09PSBwcm9wZXJ0eVNhbGUuc2hhcmUuaWQpO1xuICAgICAgcHJvcGVydHlUb1JlcGxhY2UubXlTaGFyZS5zYWxlID0gbnVsbDtcblxuICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBwcm9wZXJ0eVRvUmVwbGFjZSk7XG4gICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgfSk7XG4gIH1cblxuXG4gIHVwZGF0ZShwcm9wZXJ0eTogUHJvcGVydHkpOiBPYnNlcnZhYmxlPFByb3BlcnR5PiB7XG4gICAgcmV0dXJuIHN1cGVyLnVwZGF0ZShwcm9wZXJ0eSkucGlwZShcbiAgICAgIG1hcCgodXBkYXRlZFByb3BlcnR5OiBQcm9wZXJ0eSk6IFByb3BlcnR5ID0+IHtcbiAgICAgICAgaWYgKHByb3BlcnR5LmRvY3VtZW50RmlsZSkge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9VUERBVEVEX1dJVEhfRE9DVU1FTlQsIHByb3BlcnR5KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRQcm9wZXJ0eTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldEJ5Q2F0ZWdvcnlJZChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxQcm9wZXJ0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgocHJvcGVydGllczogUHJvcGVydHlbXSk6IFByb3BlcnR5W10gPT4ge1xuICAgICAgICByZXR1cm4gcHJvcGVydGllcy5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4gPT4gcHJvcGVydHkuY2F0ZWdvcnkuaWQgPT09IGlkKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZSBkZWFjdGl2YXRlZCBwcm9wZXJ0eVxuICAgKi9cbiAgYWN0aXZhdGUocHJvcGVydHk6IFByb3BlcnR5KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3Byb3BlcnR5LXN1YnNjcmlwdGlvbnNgLCB7cHJvcGVydHl9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocHJvcGVydHlTdWJzY3JpcHRpb25CYXNlOiBQcm9wZXJ0eVN1YnNjcmlwdGlvbkJhc2UpID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdQcm9wZXJ0eVN1YnNjcmlwdGlvbjogUHJvcGVydHlTdWJzY3JpcHRpb24gPSBwbGFpblRvQ2xhc3MoUHJvcGVydHlTdWJzY3JpcHRpb24sIHByb3BlcnR5U3Vic2NyaXB0aW9uQmFzZSk7XG4gICAgICAgICAgY29uc3QgYWN0aXZhdGVkUHJvcGVydHk6IFByb3BlcnR5ID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5LCBPYmplY3QuYXNzaWduKHt9LCBwcm9wZXJ0eSwge3N1YnNjcmlwdGlvbnM6IFtuZXdQcm9wZXJ0eVN1YnNjcmlwdGlvbl19KSk7XG5cbiAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIGFjdGl2YXRlZFByb3BlcnR5KTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIERlYWN0aXZhdGUgYWN0aXZhdGVkIHByb3BlcnR5XG4gICAqL1xuICBkZWFjdGl2YXRlKHByb3BlcnR5OiBQcm9wZXJ0eSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3Byb3BlcnR5LXN1YnNjcmlwdGlvbnMvJHtwcm9wZXJ0eS5nZXRDdXJyZW50U3Vic2NyaXB0aW9uKCkuaWR9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRlYWN0aXZhdGVkUHJvcGVydHk6IFByb3BlcnR5ID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5LCBPYmplY3QuYXNzaWduKHt9LCBwcm9wZXJ0eSwge3N1YnNjcmlwdGlvbnM6IFtdfSkpO1xuXG4gICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBkZWFjdGl2YXRlZFByb3BlcnR5KTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBwcm9wZXJ0eSBwaG90b1xuICAgKiBAcGFyYW0gcHJvcGVydHkgUHJvcGVydHkgaW5zdGFuY2UgZm9yIHBob3RvIHVwZGF0ZVxuICAgKiBAcGFyYW0gcGhvdG9Gb3JtRGF0YSBGb3JtRGF0YSB3aXRoIHByb3BlcnR5IHBob3RvIGltYWdlXG4gICAqL1xuICB1cGRhdGVQaG90byhwcm9wZXJ0eTogUHJvcGVydHksIHBob3RvRm9ybURhdGE6IEZvcm1EYXRhKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3Byb3BlcnRpZXMvJHtwcm9wZXJ0eS5pZH0vcGhvdG8/X21ldGhvZD1QVVRgLCBwaG90b0Zvcm1EYXRhKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocGhvdG9MaW5rOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgICAgICBwcm9wZXJ0eS5waG90byA9IHBob3RvTGluaztcbiAgICAgICAgICAvLyB1cGRhdGUgcHJvcGVydGllcyBjYWNoZVxuICAgICAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgcHJvcGVydHkpO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBnZXRCeVNoYXJlSWQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8UHJvcGVydHlbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUoXG4gICAgICBtYXAoKHByb3BlcnRpZXM6IFByb3BlcnR5W10pOiBQcm9wZXJ0eVtdID0+IHtcbiAgICAgICAgcmV0dXJuIHByb3BlcnRpZXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuID0+IHByb3BlcnR5LnVzZXIuaWQgPT09IGlkKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiBhY3RpdmUgdXNlcidzIHByb3BlcnRpZXNcbiAgICovXG4gIGdldEFjdGl2ZSgpOiBPYnNlcnZhYmxlPFByb3BlcnR5W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChwcm9wZXJ0aWVzOiBQcm9wZXJ0eVtdKTogUHJvcGVydHlbXSA9PiBwcm9wZXJ0aWVzLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiA9PiBwcm9wZXJ0eS5pc0FjdGl2ZSkpXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3Byb3BlcnR5L3Byb3BlcnR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUV0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0RBQXNELENBQUM7O0FBRXBGOzs7R0FHRztBQUlILE1BQU0sT0FBTyxlQUFnQixTQUFRLFdBQW1DO0lBSHhFOztRQUlFLGVBQVUsR0FBb0IsUUFBUSxDQUFDO1FBQ3ZDLFFBQUcsR0FBVyxZQUFZLENBQUM7S0FrSjVCO0lBaEpDLFlBQVk7UUFDVixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNqQyx3RkFBd0Y7UUFDeEYsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOztP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QUssRUFBRSxRQUFRLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBVTtRQUNyQixPQUFPLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQ3BCLEdBQUcsQ0FBQyxDQUFDLFVBQXNCLEVBQWMsRUFBRTtZQUN6QyxPQUFPLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFrQixFQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNyRixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FDcEIsR0FBRyxDQUFDLENBQUMsVUFBc0IsRUFBYyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQWtCLEVBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUNuSCxDQUFDO0lBQ0osQ0FBQzs7NkdBbkpVLGVBQWU7aUhBQWYsZUFBZSxjQUZkLE1BQU07NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eSBhcyBQcm9wZXJ0eUJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcmVwbGFjZSB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBQcm9wZXJ0eVN1YnNjcmlwdGlvbiBhcyBQcm9wZXJ0eVN1YnNjcmlwdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUHJvcGVydHkgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHknO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBQcm9wZXJ0eVN1YnNjcmlwdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wcm9wZXJ0eS9wcm9wZXJ0eS1zdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgSUV2ZW50TGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL2V2ZW50LWxpc3RlbmVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQcm9wZXJ0eVNhbGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcHJvcGVydHkvcHJvcGVydHktc2FsZS9wcm9wZXJ0eS1zYWxlJztcblxuLyoqXG4gKiBAVG9kbyBBbGV4IHJlbW92ZSBmdW5jdGlvbmFsaXR5IHJlbGF0ZWQgdG8gUHJvcGVydHlTaGFyZVxuICogU2VydmljZSBmb3Igd29yayB3aXRoIFByb3BlcnR5XG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFByb3BlcnR5U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFByb3BlcnR5QmFzZSwgUHJvcGVydHk+IGltcGxlbWVudHMgSUV2ZW50TGlzdGVuZXIge1xuICBtb2RlbENsYXNzOiB0eXBlb2YgUHJvcGVydHkgPSBQcm9wZXJ0eTtcbiAgdXJsOiBzdHJpbmcgPSAncHJvcGVydGllcyc7XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuU2hhcmVJbnZpdGVBY2NlcHRlZCgpO1xuICAgIC8vIEBUT0RPIEFsZXg6IGNvbnNpZGVyIHRvIHJlZmFjdG9yIHByb3BlcnR5IG1vdmVtZW50cyBsb2dpYyBzaW1pbGFyIHRvIGNsaWVudC1tb3ZlbWVudHNcbiAgICB0aGlzLmxpc3Rlbk1vdmVtZW50c0NoYW5nZWQoKTtcbiAgICB0aGlzLmxpc3RlblNhbGVzQWRkZWQoKTtcbiAgICB0aGlzLmxpc3RlblNhbGVzRGVsZXRlZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjYWNoZSB3aGVuIHNoYXJlIGludml0YXRpb24gYWNjZXB0ZWRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuU2hhcmVJbnZpdGVBY2NlcHRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9TSEFSRV9VUERBVEVEKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldENhY2hlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBjYWNoZSB3aGVuIHByb3BlcnR5IGNhdGVnb3J5IGNoYW5nZWRcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuTW92ZW1lbnRzQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICAvLyBAVE9ETyBjaGFuZ2UgZGlzcGF0Y2hlciBsb2dpYyB0byB3b3JrIHdpdGggbXVsdGlwbGUgZXZlbnRzXG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfTU9WRU1FTlRfQ1JFQVRFRCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRDYWNoZSgpKTtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9NT1ZFTUVOVF9VUERBVEVEKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldENhY2hlKCkpO1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX01PVkVNRU5UX0RFTEVURUQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnJlc2V0Q2FjaGUoKSk7XG4gIH1cblxuICAvKipcbiAgICogQFRvZG8gQWxleCByZWZhY3RvciBhZnRlciBQcm9wZXJ0eVNoYXJlIHdpbGwgYmUgY2xlYXJlZCB1cFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5TYWxlc0FkZGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlBST1BFUlRZX1NBTEVfQURERUQpLnN1YnNjcmliZSgocHJvcGVydHlTYWxlOiBQcm9wZXJ0eVNhbGUpID0+IHtcbiAgICAgIGNvbnN0IHByb3BlcnR5VG9SZXBsYWNlOiBQcm9wZXJ0eSA9IHRoaXMuY2FjaGUuZmluZCgocHJvcGVydHk6IFByb3BlcnR5KSA9PiBwcm9wZXJ0eS5teVNoYXJlLmlkID09PSBwcm9wZXJ0eVNhbGUuc2hhcmUuaWQpO1xuICAgICAgcHJvcGVydHlUb1JlcGxhY2UubXlTaGFyZS5zYWxlID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5U2FsZSwge2lkOiBwcm9wZXJ0eVNhbGUuaWR9KTtcblxuICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBwcm9wZXJ0eVRvUmVwbGFjZSk7XG4gICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblNhbGVzRGVsZXRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9TQUxFX0RFTEVURUQpLnN1YnNjcmliZSgocHJvcGVydHlTYWxlOiBQcm9wZXJ0eVNhbGUpID0+IHtcbiAgICAgIGNvbnN0IHByb3BlcnR5VG9SZXBsYWNlOiBQcm9wZXJ0eSA9IHRoaXMuY2FjaGUuZmluZCgocHJvcGVydHk6IFByb3BlcnR5KSA9PiBwcm9wZXJ0eS5teVNoYXJlLmlkID09PSBwcm9wZXJ0eVNhbGUuc2hhcmUuaWQpO1xuICAgICAgcHJvcGVydHlUb1JlcGxhY2UubXlTaGFyZS5zYWxlID0gbnVsbDtcblxuICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBwcm9wZXJ0eVRvUmVwbGFjZSk7XG4gICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgfSk7XG4gIH1cblxuXG4gIHVwZGF0ZShwcm9wZXJ0eTogUHJvcGVydHkpOiBPYnNlcnZhYmxlPFByb3BlcnR5PiB7XG4gICAgcmV0dXJuIHN1cGVyLnVwZGF0ZShwcm9wZXJ0eSkucGlwZShcbiAgICAgIG1hcCgodXBkYXRlZFByb3BlcnR5OiBQcm9wZXJ0eSk6IFByb3BlcnR5ID0+IHtcbiAgICAgICAgaWYgKHByb3BlcnR5LmRvY3VtZW50RmlsZSkge1xuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9VUERBVEVEX1dJVEhfRE9DVU1FTlQsIHByb3BlcnR5KSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRQcm9wZXJ0eTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZURlcHJlY2lhdGlvbkNhbGN1bGF0aW9uKHByb3BlcnR5OiBQcm9wZXJ0eSk6IE9ic2VydmFibGU8UHJvcGVydHk+IHtcbiAgICBjb25zdCBwcm9wZXJ0eVRvVXBkYXRlOiBQcm9wZXJ0eSA9IHBsYWluVG9DbGFzcyhQcm9wZXJ0eSwge2lkOiBwcm9wZXJ0eS5pZCwgZGVwcmVjaWF0aW9uQ2FsY3VsYXRpb246IHByb3BlcnR5LmRlcHJlY2lhdGlvbkNhbGN1bGF0aW9ufSlcblxuICAgIHJldHVybiB0aGlzLnVwZGF0ZShwcm9wZXJ0eVRvVXBkYXRlKS5waXBlKFxuICAgICAgbWFwKCh1cGRhdGVkUHJvcGVydHk6IFByb3BlcnR5KSA9PiB7XG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9ERVBSRUNJQVRJT05fQ0FMQ1VMQVRJT05fVVBEQVRFRCwgdXBkYXRlZFByb3BlcnR5KSk7XG5cbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRQcm9wZXJ0eTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGdldEJ5Q2F0ZWdvcnlJZChpZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxQcm9wZXJ0eVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KCkucGlwZShcbiAgICAgIG1hcCgocHJvcGVydGllczogUHJvcGVydHlbXSk6IFByb3BlcnR5W10gPT4ge1xuICAgICAgICByZXR1cm4gcHJvcGVydGllcy5maWx0ZXIoKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4gPT4gcHJvcGVydHkuY2F0ZWdvcnkuaWQgPT09IGlkKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBY3RpdmF0ZSBkZWFjdGl2YXRlZCBwcm9wZXJ0eVxuICAgKi9cbiAgYWN0aXZhdGUocHJvcGVydHk6IFByb3BlcnR5KTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3Byb3BlcnR5LXN1YnNjcmlwdGlvbnNgLCB7cHJvcGVydHl9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocHJvcGVydHlTdWJzY3JpcHRpb25CYXNlOiBQcm9wZXJ0eVN1YnNjcmlwdGlvbkJhc2UpID0+IHtcbiAgICAgICAgICBjb25zdCBuZXdQcm9wZXJ0eVN1YnNjcmlwdGlvbjogUHJvcGVydHlTdWJzY3JpcHRpb24gPSBwbGFpblRvQ2xhc3MoUHJvcGVydHlTdWJzY3JpcHRpb24sIHByb3BlcnR5U3Vic2NyaXB0aW9uQmFzZSk7XG4gICAgICAgICAgY29uc3QgYWN0aXZhdGVkUHJvcGVydHk6IFByb3BlcnR5ID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5LCBPYmplY3QuYXNzaWduKHt9LCBwcm9wZXJ0eSwge3N1YnNjcmlwdGlvbnM6IFtuZXdQcm9wZXJ0eVN1YnNjcmlwdGlvbl19KSk7XG5cbiAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIGFjdGl2YXRlZFByb3BlcnR5KTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIERlYWN0aXZhdGUgYWN0aXZhdGVkIHByb3BlcnR5XG4gICAqL1xuICBkZWFjdGl2YXRlKHByb3BlcnR5OiBQcm9wZXJ0eSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3Byb3BlcnR5LXN1YnNjcmlwdGlvbnMvJHtwcm9wZXJ0eS5nZXRDdXJyZW50U3Vic2NyaXB0aW9uKCkuaWR9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRlYWN0aXZhdGVkUHJvcGVydHk6IFByb3BlcnR5ID0gcGxhaW5Ub0NsYXNzKFByb3BlcnR5LCBPYmplY3QuYXNzaWduKHt9LCBwcm9wZXJ0eSwge3N1YnNjcmlwdGlvbnM6IFtdfSkpO1xuXG4gICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCBkZWFjdGl2YXRlZFByb3BlcnR5KTtcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBwcm9wZXJ0eSBwaG90b1xuICAgKiBAcGFyYW0gcHJvcGVydHkgUHJvcGVydHkgaW5zdGFuY2UgZm9yIHBob3RvIHVwZGF0ZVxuICAgKiBAcGFyYW0gcGhvdG9Gb3JtRGF0YSBGb3JtRGF0YSB3aXRoIHByb3BlcnR5IHBob3RvIGltYWdlXG4gICAqL1xuICB1cGRhdGVQaG90byhwcm9wZXJ0eTogUHJvcGVydHksIHBob3RvRm9ybURhdGE6IEZvcm1EYXRhKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9L3Byb3BlcnRpZXMvJHtwcm9wZXJ0eS5pZH0vcGhvdG8/X21ldGhvZD1QVVRgLCBwaG90b0Zvcm1EYXRhKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocGhvdG9MaW5rOiBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgICAgICBwcm9wZXJ0eS5waG90byA9IHBob3RvTGluaztcbiAgICAgICAgICAvLyB1cGRhdGUgcHJvcGVydGllcyBjYWNoZVxuICAgICAgICAgIHJlcGxhY2UodGhpcy5jYWNoZSwgcHJvcGVydHkpO1xuICAgICAgICAgIHRoaXMudXBkYXRlQ2FjaGUoKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBnZXRCeVNoYXJlSWQoaWQ6IG51bWJlcik6IE9ic2VydmFibGU8UHJvcGVydHlbXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUoXG4gICAgICBtYXAoKHByb3BlcnRpZXM6IFByb3BlcnR5W10pOiBQcm9wZXJ0eVtdID0+IHtcbiAgICAgICAgcmV0dXJuIHByb3BlcnRpZXMuZmlsdGVyKChwcm9wZXJ0eTogUHJvcGVydHkpOiBib29sZWFuID0+IHByb3BlcnR5LnVzZXIuaWQgPT09IGlkKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiBhY3RpdmUgdXNlcidzIHByb3BlcnRpZXNcbiAgICovXG4gIGdldEFjdGl2ZSgpOiBPYnNlcnZhYmxlPFByb3BlcnR5W10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXQoKS5waXBlKFxuICAgICAgbWFwKChwcm9wZXJ0aWVzOiBQcm9wZXJ0eVtdKTogUHJvcGVydHlbXSA9PiBwcm9wZXJ0aWVzLmZpbHRlcigocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiA9PiBwcm9wZXJ0eS5pc0FjdGl2ZSkpXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export * from './sole-business/sole-business.service';
|
|
2
|
+
export * from './sole-business-activity/sole-business-activity.service';
|
|
2
3
|
export * from './sole-contact/sole-contact.service';
|
|
4
|
+
export * from './sole-depreciation-method/sole-depreciation-method.service';
|
|
3
5
|
export * from './sole-details/sole-details.service';
|
|
4
6
|
export * from './sole-invoice-template/sole-invoice-template.service';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9zb2xlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx5REFBeUQsQ0FBQztBQUN4RSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLHVEQUF1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zb2xlLWJ1c2luZXNzL3NvbGUtYnVzaW5lc3Muc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NvbGUtYnVzaW5lc3MtYWN0aXZpdHkvc29sZS1idXNpbmVzcy1hY3Rpdml0eS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc29sZS1jb250YWN0L3NvbGUtY29udGFjdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc29sZS1kZXByZWNpYXRpb24tbWV0aG9kL3NvbGUtZGVwcmVjaWF0aW9uLW1ldGhvZC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc29sZS1kZXRhaWxzL3NvbGUtZGV0YWlscy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc29sZS1pbnZvaWNlLXRlbXBsYXRlL3NvbGUtaW52b2ljZS10ZW1wbGF0ZS5zZXJ2aWNlJztcbiJdfQ==
|
package/esm2015/lib/services/http/sole/sole-business-activity/sole-business-activity.service.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { RestService } from '../../rest/rest.service';
|
|
3
|
+
import { SoleBusinessActivity } from '../../../../models';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class SoleBusinessActivityService extends RestService {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.modelClass = SoleBusinessActivity;
|
|
9
|
+
this.url = 'sole-business-activities';
|
|
10
|
+
this.isHydra = true;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
SoleBusinessActivityService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleBusinessActivityService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
14
|
+
SoleBusinessActivityService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleBusinessActivityService, providedIn: 'root' });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleBusinessActivityService, decorators: [{
|
|
16
|
+
type: Injectable,
|
|
17
|
+
args: [{
|
|
18
|
+
providedIn: 'root'
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1idXNpbmVzcy1hY3Rpdml0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHQtY29yZS9zcmMvbGliL3NlcnZpY2VzL2h0dHAvc29sZS9zb2xlLWJ1c2luZXNzLWFjdGl2aXR5L3NvbGUtYnVzaW5lc3MtYWN0aXZpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFLMUQsTUFBTSxPQUFPLDJCQUE0QixTQUFRLFdBQTJEO0lBSDVHOztRQUlFLGVBQVUsR0FBZ0Msb0JBQW9CLENBQUM7UUFDL0QsUUFBRyxHQUFXLDBCQUEwQixDQUFDO1FBQ3pDLFlBQU8sR0FBWSxJQUFJLENBQUM7S0FDekI7O3lIQUpZLDJCQUEyQjs2SEFBM0IsMkJBQTJCLGNBRjFCLE1BQU07NEZBRVAsMkJBQTJCO2tCQUh2QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcmVzdC9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU29sZUJ1c2luZXNzQWN0aXZpdHkgYXMgU29sZUJ1c2luZXNzQWN0aXZpdHlCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL3NvbGUvc29sZS1idXNpbmVzcy1hY3Rpdml0eSc7XG5pbXBvcnQgeyBTb2xlQnVzaW5lc3NBY3Rpdml0eSB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNvbGVCdXNpbmVzc0FjdGl2aXR5U2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFNvbGVCdXNpbmVzc0FjdGl2aXR5QmFzZSwgU29sZUJ1c2luZXNzQWN0aXZpdHk+e1xuICBtb2RlbENsYXNzOiB0eXBlb2YgU29sZUJ1c2luZXNzQWN0aXZpdHkgPSBTb2xlQnVzaW5lc3NBY3Rpdml0eTtcbiAgdXJsOiBzdHJpbmcgPSAnc29sZS1idXNpbmVzcy1hY3Rpdml0aWVzJztcbiAgaXNIeWRyYTogYm9vbGVhbiA9IHRydWU7XG59XG4iXX0=
|
package/esm2015/lib/services/http/sole/sole-depreciation-method/sole-depreciation-method.service.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { SoleDepreciationMethod } from '../../../../models';
|
|
3
|
+
import { ReplaySubject } from 'rxjs';
|
|
4
|
+
import { catchError, map } 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 { throwError as observableThrowError } from 'rxjs/internal/observable/throwError';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/common/http";
|
|
11
|
+
import * as i2 from "../../../event/event-dispatcher.service";
|
|
12
|
+
import * as i3 from "../../../toast/toast.service";
|
|
13
|
+
/**
|
|
14
|
+
* @TODO Alex: extend rest service when refactored
|
|
15
|
+
*/
|
|
16
|
+
export class SoleDepreciationMethodService {
|
|
17
|
+
constructor(http, environment, eventDispatcherService, toastService) {
|
|
18
|
+
this.http = http;
|
|
19
|
+
this.environment = environment;
|
|
20
|
+
this.eventDispatcherService = eventDispatcherService;
|
|
21
|
+
this.toastService = toastService;
|
|
22
|
+
this.cacheSubject = new ReplaySubject(1);
|
|
23
|
+
this.url = 'sole-depreciation-methods';
|
|
24
|
+
}
|
|
25
|
+
get() {
|
|
26
|
+
if (!this.cache) {
|
|
27
|
+
this.http.get(`${this.environment.apiV2}/${this.url}`)
|
|
28
|
+
.pipe(map((response) => plainToClass(SoleDepreciationMethod, response['hydra:member'][0])))
|
|
29
|
+
.subscribe((soleDepreciationMethod) => {
|
|
30
|
+
this.cache = soleDepreciationMethod;
|
|
31
|
+
this.cacheSubject.next(this.cache);
|
|
32
|
+
return soleDepreciationMethod;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return this.cacheSubject.asObservable();
|
|
36
|
+
}
|
|
37
|
+
update(soleDepreciationMethod) {
|
|
38
|
+
return this.http.put(`${this.environment.apiV2}/${this.url}/${soleDepreciationMethod.id}`, soleDepreciationMethod)
|
|
39
|
+
.pipe(map((soleDepreciationMethodBase) => {
|
|
40
|
+
const method = plainToClass(SoleDepreciationMethod, soleDepreciationMethodBase);
|
|
41
|
+
this.cache = method;
|
|
42
|
+
this.cacheSubject.next(this.cache);
|
|
43
|
+
this.eventDispatcherService.dispatch(new AppEvent(AppEventTypeEnum.SOLE_DEPRECIATION_METHOD_UPDATED, method));
|
|
44
|
+
return this.cache;
|
|
45
|
+
}), catchError((error) => {
|
|
46
|
+
this.toastService.error(error.error['hydra:description']);
|
|
47
|
+
return observableThrowError(error);
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
SoleDepreciationMethodService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleDepreciationMethodService, deps: [{ token: i1.HttpClient }, { token: 'environment' }, { token: i2.EventDispatcherService }, { token: i3.ToastService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
52
|
+
SoleDepreciationMethodService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleDepreciationMethodService, providedIn: 'root' });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SoleDepreciationMethodService, decorators: [{
|
|
54
|
+
type: Injectable,
|
|
55
|
+
args: [{
|
|
56
|
+
providedIn: 'root'
|
|
57
|
+
}]
|
|
58
|
+
}], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
59
|
+
type: Inject,
|
|
60
|
+
args: ['environment']
|
|
61
|
+
}] }, { type: i2.EventDispatcherService }, { type: i3.ToastService }]; } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sZS1kZXByZWNpYXRpb24tbWV0aG9kLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC9zb2xlL3NvbGUtZGVwcmVjaWF0aW9uLW1ldGhvZC9zb2xlLWRlcHJlY2lhdGlvbi1tZXRob2Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU1RCxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNoRixPQUFPLEVBQUUsVUFBVSxJQUFJLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7Ozs7O0FBR3pGOztHQUVHO0FBSUgsTUFBTSxPQUFPLDZCQUE2QjtJQUt4QyxZQUNVLElBQWdCLEVBQ08sV0FBZ0IsRUFDdkMsc0JBQThDLEVBQzlDLFlBQTBCO1FBSDFCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDTyxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQUN2QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBUHBDLGlCQUFZLEdBQTBDLElBQUksYUFBYSxDQUF5QixDQUFDLENBQUMsQ0FBQztRQUNuRyxRQUFHLEdBQVcsMkJBQTJCLENBQUM7SUFRMUMsQ0FBQztJQUVELEdBQUc7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2lCQUNuRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBZ0IsRUFBMEIsRUFBRSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsRUFBRSxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNySDtpQkFDQSxTQUFTLENBQUMsQ0FBQyxzQkFBOEMsRUFBMEIsRUFBRTtnQkFDcEYsSUFBSSxDQUFDLEtBQUssR0FBRyxzQkFBc0IsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUVuQyxPQUFPLHNCQUFzQixDQUFDO1lBQ2hDLENBQUMsQ0FBQyxDQUFDO1NBQ047UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBOEM7UUFDbkQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxHQUFHLElBQUksc0JBQXNCLENBQUMsRUFBRSxFQUFFLEVBQUUsc0JBQXNCLENBQUM7YUFDL0csSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLDBCQUFzRCxFQUEwQixFQUFFO1lBQ3JGLE1BQU0sTUFBTSxHQUEyQixZQUFZLENBQUMsc0JBQXNCLEVBQUUsMEJBQTBCLENBQUMsQ0FBQztZQUV4RyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFbkMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxnQ0FBZ0MsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBRTlHLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNwQixDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7WUFFMUQsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzs7MkhBakRVLDZCQUE2Qiw0Q0FPOUIsYUFBYTsrSEFQWiw2QkFBNkIsY0FGNUIsTUFBTTs0RkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFRSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgU29sZURlcHJlY2lhdGlvbk1ldGhvZCB9IGZyb20gJy4uLy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBTb2xlRGVwcmVjaWF0aW9uTWV0aG9kIGFzIFNvbGVEZXByZWNpYXRpb25NZXRob2RCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGIvTW9kZWxzL3NvbGUvc29sZS1kZXByZWNpYXRpb24tbWV0aG9kJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcbmltcG9ydCB7IEFwcEV2ZW50VHlwZUVudW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50LXR5cGUuZW51bSc7XG5pbXBvcnQgeyB0aHJvd0Vycm9yIGFzIG9ic2VydmFibGVUaHJvd0Vycm9yIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9vYnNlcnZhYmxlL3Rocm93RXJyb3InO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdG9hc3QvdG9hc3Quc2VydmljZSc7XG5cbi8qKlxuICogQFRPRE8gQWxleDogZXh0ZW5kIHJlc3Qgc2VydmljZSB3aGVuIHJlZmFjdG9yZWRcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU29sZURlcHJlY2lhdGlvbk1ldGhvZFNlcnZpY2Uge1xuICBjYWNoZTogU29sZURlcHJlY2lhdGlvbk1ldGhvZDtcbiAgY2FjaGVTdWJqZWN0OiBSZXBsYXlTdWJqZWN0PFNvbGVEZXByZWNpYXRpb25NZXRob2Q+ID0gbmV3IFJlcGxheVN1YmplY3Q8U29sZURlcHJlY2lhdGlvbk1ldGhvZD4oMSk7XG4gIHVybDogc3RyaW5nID0gJ3NvbGUtZGVwcmVjaWF0aW9uLW1ldGhvZHMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueSxcbiAgICBwcml2YXRlIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZVxuICApIHtcbiAgfVxuXG4gIGdldCgpOiBPYnNlcnZhYmxlPFNvbGVEZXByZWNpYXRpb25NZXRob2Q+IHtcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpOiBTb2xlRGVwcmVjaWF0aW9uTWV0aG9kID0+IHBsYWluVG9DbGFzcyhTb2xlRGVwcmVjaWF0aW9uTWV0aG9kLCByZXNwb25zZVsnaHlkcmE6bWVtYmVyJ11bMF0pKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKHNvbGVEZXByZWNpYXRpb25NZXRob2Q6IFNvbGVEZXByZWNpYXRpb25NZXRob2QpOiBTb2xlRGVwcmVjaWF0aW9uTWV0aG9kID0+IHtcbiAgICAgICAgICB0aGlzLmNhY2hlID0gc29sZURlcHJlY2lhdGlvbk1ldGhvZDtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuXG4gICAgICAgICAgcmV0dXJuIHNvbGVEZXByZWNpYXRpb25NZXRob2Q7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHVwZGF0ZShzb2xlRGVwcmVjaWF0aW9uTWV0aG9kOiBTb2xlRGVwcmVjaWF0aW9uTWV0aG9kKTogT2JzZXJ2YWJsZTxTb2xlRGVwcmVjaWF0aW9uTWV0aG9kPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtzb2xlRGVwcmVjaWF0aW9uTWV0aG9kLmlkfWAsIHNvbGVEZXByZWNpYXRpb25NZXRob2QpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChzb2xlRGVwcmVjaWF0aW9uTWV0aG9kQmFzZTogU29sZURlcHJlY2lhdGlvbk1ldGhvZEJhc2UpOiBTb2xlRGVwcmVjaWF0aW9uTWV0aG9kID0+IHtcbiAgICAgICAgICBjb25zdCBtZXRob2Q6IFNvbGVEZXByZWNpYXRpb25NZXRob2QgPSBwbGFpblRvQ2xhc3MoU29sZURlcHJlY2lhdGlvbk1ldGhvZCwgc29sZURlcHJlY2lhdGlvbk1ldGhvZEJhc2UpO1xuXG4gICAgICAgICAgdGhpcy5jYWNoZSA9IG1ldGhvZDtcbiAgICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KHRoaXMuY2FjaGUpO1xuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlNPTEVfREVQUkVDSUFUSU9OX01FVEhPRF9VUERBVEVELCBtZXRob2QpKTtcblxuICAgICAgICAgIHJldHVybiB0aGlzLmNhY2hlO1xuICAgICAgICB9KSxcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZXJyb3IoZXJyb3IuZXJyb3JbJ2h5ZHJhOmRlc2NyaXB0aW9uJ10pO1xuXG4gICAgICAgICAgcmV0dXJuIG9ic2VydmFibGVUaHJvd0Vycm9yKGVycm9yKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -324,7 +324,6 @@ export class TransactionService extends RestService {
|
|
|
324
324
|
this.eventDispatcherService.on([
|
|
325
325
|
AppEventTypeEnum.VEHICLE_CLAIM_CREATED,
|
|
326
326
|
AppEventTypeEnum.VEHICLE_CLAIM_UPDATED,
|
|
327
|
-
AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_CREATED,
|
|
328
327
|
AppEventTypeEnum.VEHICLE_CLAIM_DETAILS_UPDATED
|
|
329
328
|
]).subscribe(() => {
|
|
330
329
|
this.resetCache();
|
|
@@ -346,4 +345,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
346
345
|
type: Inject,
|
|
347
346
|
args: ['environment']
|
|
348
347
|
}] }, { type: i3.ToastService }, { type: i4.TransactionReceiptService }]; } });
|
|
349
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RyxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNySCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHM0QsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdE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bkIsYUFBYTtvSEFUWixrQkFBa0IsY0FGakIsTUFBTTs0RkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFVSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gYXMgVHJhbnNhY3Rpb25CYXNlIH0gZnJvbSAnLi4vLi4vLi4vZGIvTW9kZWxzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IHJlcGxhY2UsIHNvcnQgfSBmcm9tICcuLi8uLi8uLi9mdW5jdGlvbnMvYXJyYXknO1xuaW1wb3J0IHsgZW51bVRvTGlzdCB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9lbnVtLXRvLWxpc3QnO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0hlYWRpbmdUYXhhYmxlRW51bSB9IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctdGF4YWJsZS5lbnVtJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNIZWFkaW5nVGF4RGVkdWN0aWJsZUVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy9jaGFydC1hY2NvdW50cy1oZWFkaW5nLXRheC1kZWR1Y3RpYmxlLmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvdHJhbnNhY3Rpb24tb3BlcmF0aW9uLmVudW0nO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi9yZXN0L3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3MgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLWNhdGVnb3JpZXMuY29uc3QnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IEFwcEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvblJlY2VpcHQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24tcmVjZWlwdCc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9jaGFydC1hY2NvdW50cy9jaGFydC1hY2NvdW50cy10YXgtbGFiZWxzLmVudW0nO1xuaW1wb3J0IHsgUHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvcHJvcGVydHkvcHJvcGVydHktY2F0ZWdvcnktbGlzdC5lbnVtJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVjZWlwdFNlcnZpY2UgfSBmcm9tICcuL3RyYW5zYWN0aW9uLXJlY2VpcHQvdHJhbnNhY3Rpb24tcmVjZWlwdC5zZXJ2aWNlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXZlbnQvZXZlbnQtZGlzcGF0Y2hlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3RvYXN0L3RvYXN0LnNlcnZpY2UnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIHRyYW5zYWN0aW9ucyBidXNpbmVzcyBsb2dpY1xuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblNlcnZpY2UgZXh0ZW5kcyBSZXN0U2VydmljZTxUcmFuc2FjdGlvbkJhc2UsIFRyYW5zYWN0aW9uPiB7XG4gIC8vIHVybCBwYXJ0IGZvciBUcmFuc2FjdGlvbiBBUElcbiAgdXJsOiBzdHJpbmcgPSAndHJhbnNhY3Rpb25zJztcbiAgbW9kZWxDbGFzcyA9IFRyYW5zYWN0aW9uO1xuICB0cmFuc2FjdGlvbkRlbGV0ZWQ6IEV2ZW50RW1pdHRlcjxUcmFuc2FjdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByb3RlY3RlZCBldmVudERpc3BhdGNoZXJTZXJ2aWNlOiBFdmVudERpc3BhdGNoZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJvdGVjdGVkIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgdHJhbnNhY3Rpb25SZWNlaXB0U2VydmljZTogVHJhbnNhY3Rpb25SZWNlaXB0U2VydmljZVxuICApIHtcbiAgICBzdXBlcihodHRwLCBldmVudERpc3BhdGNoZXJTZXJ2aWNlLCBlbnZpcm9ubWVudCwgdG9hc3RTZXJ2aWNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gZXZlbnRzIGZyb20gRXZlbnQgRGlzcGF0Y2hlciBzZXJ2aWNlc1xuICAgKi9cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuRGVwcmVjaWF0aW9uQ2hhbmdlKCk7XG4gICAgdGhpcy5saXN0ZW5Qcm9wZXJ0eVNoYXJlVXBkYXRlKCk7XG4gICAgdGhpcy5saXN0ZW5SZWNlaXB0QWRkZWQoKTtcbiAgICB0aGlzLmxpc3RlblJlY2VpcHREZWxldGVkKCk7XG4gICAgdGhpcy5saXN0ZW5WZWhpY2xlQ2xhaW1DaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgYWxsIHVzZXIncyBUYXhUYW5rIHRyYW5zYWN0aW9uc1xuICAgKi9cbiAgZ2V0KCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIGlmICghdGhpcy5jYWNoZSkge1xuICAgICAgLy8gc2V0IGNhY2hlIGFzIGRlZmF1bHQgZW1wdHkgYXJyYXkgdG8gYXZvaWQgbXVsdGlwbGUgYmFja2VuZCByZXF1ZXN0c1xuICAgICAgdGhpcy5jYWNoZSA9IFtdO1xuICAgICAgdGhpcy5mZXRjaCgpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0cmFuc2FjdGlvbnM7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5jYWNoZVN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgIC8vIGFzc2lnbiBjaGlsZCB0cmFuc2FjdGlvbnMgKGZlZXMpIHRvIHBhcmVudCB0cmFuc2FjdGlvbnNcbiAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSA9PiB7XG4gICAgICAgIHRyYW5zYWN0aW9ucy5mb3JFYWNoKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiB2b2lkID0+IHtcbiAgICAgICAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMgPSB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIC8vIGdldCBsaXN0IG9mIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgLmZpbHRlcigodDogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHQucGFyZW50VHJhbnNhY3Rpb24gJiYgdC5wYXJlbnRUcmFuc2FjdGlvbi5pZCA9PT0gdHJhbnNhY3Rpb24uaWQpO1xuICAgICAgICB9KTtcbiAgICAgICAgc29ydCh0cmFuc2FjdGlvbnMsICdkYXRlJywgZmFsc2UpO1xuICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25zO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBzaW5nbGUgbmV3IHRyYW5zYWN0aW9uXG4gICAqIEBwYXJhbSBtb2RlbCBOZXcgVHJhbnNhY3Rpb24gaW5zdGFuY2UgZm9yIHNhdmluZ1xuICAgKi9cbiAgYWRkKG1vZGVsOiBUcmFuc2FjdGlvbik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb24+IHtcbiAgICAvLyB3ZSBkb24ndCBoYXZlIFBPU1QgQVBJIGVuZHBvaW50IGZvciBzaW5nbGUgdHJhbnNhY3Rpb25cbiAgICByZXR1cm4gdGhpcy5hZGRCYXRjaChbbW9kZWxdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgobmV3VHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb24gPT4ge1xuICAgICAgICAgIC8vIEBUT0RPIGFsZXhcbiAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2goXG4gICAgICAgICAgICBuZXcgQXBwRXZlbnQ8VHJhbnNhY3Rpb24+KEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fQ1JFQVRFRCwgbmV3VHJhbnNhY3Rpb25zWzBdKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm4gbmV3VHJhbnNhY3Rpb25zWzBdO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgdHJhbnNhY3Rpb25zIHJlbGF0ZWQgd2l0aCBwcm9wZXJ0eVxuICAgKi9cbiAgZ2V0QnlQcm9wZXJ0eUlkKHByb3BlcnR5SWQ6IG51bWJlcik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHtcbiAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb24ucHJvcGVydHk/LmlkID09PSBwcm9wZXJ0eUlkO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0cmFuc2FjdGlvbnMgd2l0aCB0YW5rIHR5cGUgJ1dvcmsnXG4gICAqL1xuICBnZXRXb3JrVHJhbnNhY3Rpb25zKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldCgpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHtcbiAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25zLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB0cmFuc2FjdGlvbi5pc1dvcmtUYW5rKCkpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbGlzdCBvZiBwcm9wZXJ0eSBob2xkaW5nIGNvc3RzICh0cmFuc2FjdGlvbnMgcmVsYXRlZCB0byB2YWNhbnQgbGFuZCBwcm9wZXJ0eSlcbiAgICovXG4gIGdldFByb3BlcnR5SG9sZGluZ0Nvc3RzKHByb3BlcnR5SWQ6IG51bWJlcik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KFxuICAgICAgYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0/cHJvcGVydHlJZD0ke3Byb3BlcnR5SWR9JnByb3BlcnR5Q2F0ZWdvcnlJZD0ke1Byb3BlcnR5Q2F0ZWdvcnlMaXN0RW51bS5WQUNBTlRfTEFORH1gXG4gICAgKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodHJhbnNhY3Rpb25zQmFzZTogVHJhbnNhY3Rpb25CYXNlW10pOiBUcmFuc2FjdGlvbltdID0+IHtcbiAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25zQmFzZS5tYXAoKHRyYW5zYWN0aW9uQmFzZTogVHJhbnNhY3Rpb25CYXNlKTogVHJhbnNhY3Rpb24gPT4gcGxhaW5Ub0NsYXNzKFRyYW5zYWN0aW9uLCB0cmFuc2FjdGlvbkJhc2UpKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxpc3Qgb2YgdGF4YWJsZSB0cmFuc2FjdGlvbnMgd2l0aCB0YW5rIHR5cGUgJ1dvcmsnXG4gICAqL1xuICBnZXRUYXhhYmxlV29ya1RyYW5zYWN0aW9ucygpOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRXb3JrVHJhbnNhY3Rpb25zKClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4ge1xuICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+ICEhdHJhbnNhY3Rpb24uY2hhcnRBY2NvdW50cy50YXhSZXR1cm5JdGVtKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogYWRkIG11bHRpcGxlIHRyYW5zYWN0aW9uc1xuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25zIExpc3Qgb2YgbmV3IFRyYW5zYWN0aW9uIGluc3RhbmNlcyBmb3Igc2F2aW5nXG4gICAqL1xuICBhZGRCYXRjaCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBPYnNlcnZhYmxlPFRyYW5zYWN0aW9uW10+IHtcbiAgICB0cmFuc2FjdGlvbnMgPSBfLmNsb25lRGVlcCh0cmFuc2FjdGlvbnMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfWAsIHRyYW5zYWN0aW9ucylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHJlc3BvbnNlOiBUcmFuc2FjdGlvbkJhc2VbXSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFkZGVkVHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gcmVzcG9uc2UubWFwKChpdGVtOiBUcmFuc2FjdGlvbkJhc2UpID0+IHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwgaXRlbSkpO1xuXG4gICAgICAgICAgdHJhbnNhY3Rpb25zLmZvckVhY2goKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgLy8gQFRPRE8gYmFja2VuZDogbmVlZCB0byB1cGxvYWQgZmlsZSBpbiB0aGUgc2FtZSBiYWNrZW5kIGVuZHBvaW50IHdpdGggdHJhbnNhY3Rpb24gYWRkL3VwZGF0ZVxuICAgICAgICAgICAgLy8gY2hlY2sgaWYgcGFzc2VkIHJlY2VpcHQgYW5kIHVwbG9hZCBmaWxlXG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24uZmlsZSkge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbi5pZCA9IHJlc3BvbnNlW2luZGV4XS5pZDtcbiAgICAgICAgICAgICAgYWRkZWRUcmFuc2FjdGlvbnNbaW5kZXhdLmZpbGUgPSB0cmFuc2FjdGlvbi5maWxlO1xuICAgICAgICAgICAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2UuZGlzcGF0Y2gobmV3IEFwcEV2ZW50KEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fVVBEQVRFRF9XSVRIX1JFQ0VJUFQsIGFkZGVkVHJhbnNhY3Rpb25zW2luZGV4XSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBAVE9ETyBWaWt0b3I6IGltcGxlbWVudCBBUEkgZm9yIHNhdmluZyBvZiBuZXN0ZWQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAvLyBhZGQgY2hpbGQgdHJhbnNhY3Rpb25zIGlmIGV4aXN0XG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZm9yRWFjaCgoY2hpbGRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgICBjaGlsZFRyYW5zYWN0aW9uLnBhcmVudFRyYW5zYWN0aW9uID0gcGxhaW5Ub0NsYXNzKFRyYW5zYWN0aW9uLCB7aWQ6IGFkZGVkVHJhbnNhY3Rpb25zW2luZGV4XS5pZH0pO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgdGhpcy5hZGRCYXRjaCh0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMpLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBhZGQgdHJhbnNmZXIgdHJhbnNhY3Rpb24gdG8gY2FjaGVcbiAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi5vcGVyYXRpb24gPT09IFRyYW5zYWN0aW9uT3BlcmF0aW9uRW51bS5UUkFOU0ZFUikge1xuICAgICAgICAgICAgICBhZGRlZFRyYW5zYWN0aW9ucy5wdXNoKGFkZGVkVHJhbnNhY3Rpb25zWzBdLnRyYW5zZmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICAgICAgICB0aGlzLmNhY2hlLnB1c2goLi4uYWRkZWRUcmFuc2FjdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbltdPihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OU19DUkVBVEVELCBhZGRlZFRyYW5zYWN0aW9ucylcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgcmV0dXJuIGFkZGVkVHJhbnNhY3Rpb25zO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB1cGRhdGUgZXhpc3RpbmcgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIHRyYW5zYWN0aW9uIFRyYW5zYWN0aW9uIGluc3RhbmNlIGZvciB1cGRhdGluZ1xuICAgKi9cbiAgdXBkYXRlKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IE9ic2VydmFibGU8VHJhbnNhY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfS8ke3RyYW5zYWN0aW9uLmlkfWAsIHRyYW5zYWN0aW9uKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IFRyYW5zYWN0aW9uQmFzZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24gPSBwbGFpblRvQ2xhc3MoVHJhbnNhY3Rpb24sIHJlc3BvbnNlKTtcblxuICAgICAgICAgIC8vIEBUT0RPIG5lZWQgdG8gdXBsb2FkIGZpbGUgaW4gdGhlIHNhbWUgYmFja2VuZCBlbmRwb2ludCB3aXRoIHRyYW5zYWN0aW9uIGFkZC91cGRhdGVcbiAgICAgICAgICAvLyBjaGVjayBpZiBwYXNzZWQgbmV3IHJlY2VpcHQgYW5kIHVwbG9hZCBmaWxlXG4gICAgICAgICAgaWYgKHRyYW5zYWN0aW9uLmZpbGUpIHtcbiAgICAgICAgICAgIHVwZGF0ZWRUcmFuc2FjdGlvbi5maWxlID0gdHJhbnNhY3Rpb24uZmlsZTtcbiAgICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9VUERBVEVEX1dJVEhfUkVDRUlQVCwgdXBkYXRlZFRyYW5zYWN0aW9uKSk7XG4gICAgICAgICAgICAvLyByZWNlaXB0IGZpbGUgd2FzIHJlbW92ZWQgZnJvbSBmb3JtIC0gd2Ugc2hvdWxkIGRlbGV0ZSByZWNlaXB0IGZyb20gdHJhbnNhY3Rpb25cbiAgICAgICAgICB9IGVsc2UgaWYgKCF0cmFuc2FjdGlvbi5maWxlICYmIHRyYW5zYWN0aW9uLnJlY2VpcHQpIHtcbiAgICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9VUERBVEVEX1dJVEhfREVMRVRFRF9SRUNFSVBULCB1cGRhdGVkVHJhbnNhY3Rpb24pKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBAVE9ETyBWaWt0b3I6IGltcGxlbWVudCBBUEkgZm9yIHNhdmluZyBvZiBuZXN0ZWQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgaWYgKHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIC8vIGFkZCBwYXJlbnQgdHJhbnNhY3Rpb24gdG8gY2hpbGQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZm9yRWFjaCgoY2hpbGRUcmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICAgICAgY2hpbGRUcmFuc2FjdGlvbi5wYXJlbnRUcmFuc2FjdGlvbiA9IHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwge2lkOiB1cGRhdGVkVHJhbnNhY3Rpb24uaWR9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgLy8gc2VwYXJhdGUgY2hpbGQgdHJhbnNhY3Rpb25zIGJ5IGlkIGV4aXN0aW5nIHRvIGRlZmluZSBhZGQgb3IgdXBkYXRlIGFjdGlvbi5cbiAgICAgICAgICAgIGNvbnN0IGNoaWxkVHJhbnNhY3Rpb25zVG9VcGRhdGU6IFRyYW5zYWN0aW9uW10gPSB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbikgPT4gdC5pZCk7XG4gICAgICAgICAgICBjb25zdCBjaGlsZFRyYW5zYWN0aW9uc1RvQWRkOiBUcmFuc2FjdGlvbltdID0gdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmZpbHRlcigodDogVHJhbnNhY3Rpb24pID0+ICF0LmlkKTtcblxuICAgICAgICAgICAgLy8gdXBkYXRlIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgaWYgKGNoaWxkVHJhbnNhY3Rpb25zVG9VcGRhdGUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlQmF0Y2goY2hpbGRUcmFuc2FjdGlvbnNUb1VwZGF0ZSkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFkZCBjaGlsZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIGlmIChjaGlsZFRyYW5zYWN0aW9uc1RvQWRkLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLmFkZEJhdGNoKGNoaWxkVHJhbnNhY3Rpb25zVG9BZGQpLnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMucmVwbGFjZUluQ2FjaGUodXBkYXRlZFRyYW5zYWN0aW9uKTtcblxuICAgICAgICAgIHJldHVybiB1cGRhdGVkVHJhbnNhY3Rpb247XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZSBtdWx0aXBsZSB0cmFuc2FjdGlvbnNcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9ucyBsaXN0IG9mIHRyYW5zYWN0aW9ucyBmb3IgdXBkYXRpbmdcbiAgICovXG4gIHVwZGF0ZUJhdGNoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgdHJhbnNhY3Rpb25zKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IFRyYW5zYWN0aW9uQmFzZVtdKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZFRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSA9IHJlc3BvbnNlLm1hcCgoaXRlbTogVHJhbnNhY3Rpb25CYXNlKSA9PiBwbGFpblRvQ2xhc3MoVHJhbnNhY3Rpb24sIGl0ZW0pKTtcblxuICAgICAgICAgIHVwZGF0ZWRUcmFuc2FjdGlvbnMuZm9yRWFjaCgodXBkYXRlZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgcmVwbGFjZSh0aGlzLmNhY2hlLCB1cGRhdGVkVHJhbnNhY3Rpb24pO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHJldHVybiB1cGRhdGVkVHJhbnNhY3Rpb25zO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBkZWxldGUgdHJhbnNhY3Rpb24gYW5kIHJlbGF0ZWQgdHJhbnNhY3Rpb25zXG4gICAqIEBwYXJhbSBtb2RlbFxuICAgKi9cbiAgZGVsZXRlKG1vZGVsOiBUcmFuc2FjdGlvbik6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7bW9kZWwuaWR9YClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0aGlzLmNhY2hlLmZpbHRlcigodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgICAgICAgICAvLyB3aGVuIGRlbGV0ZSB0cmFuc2ZlciB3ZSBkZWxldGUgYWN0dWFsbHkgMiB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIGlmIChtb2RlbC5pc1RyYW5zZmVyKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGlkczogbnVtYmVyW10gPSBbbW9kZWwuaWRdO1xuXG4gICAgICAgICAgICAgIC8vIGdldCBpZCBvZiByZWxhdGVkIHRyYW5zZmVyIHRyYW5zYWN0aW9uXG4gICAgICAgICAgICAgIGlmIChtb2RlbC50cmFuc2Zlcikge1xuICAgICAgICAgICAgICAgIC8vIGp1c3QgdGFrZSBpZCBpZiB3ZSBkZWxldGUgc291cmNlIHRyYW5zYWN0aW9uXG4gICAgICAgICAgICAgICAgaWRzLnB1c2gobW9kZWwudHJhbnNmZXIuaWQpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGZpbmQgc291cmNlIHRyYW5zYWN0aW9uIGlkIGlmIHdlIGRlbGV0ZSBkZXN0aW5hdGlvbiB0cmFuc2FjdGlvblxuICAgICAgICAgICAgICAgIGlkcy5wdXNoKHRoaXMuY2FjaGUuZmluZCgodDogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHQudHJhbnNmZXIuaWQgPT09IG1vZGVsLmlkKS5pZCk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gIWlkcy5pbmNsdWRlcyh0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5pZCAhPT0gbW9kZWwuaWQgJiYgdHJhbnNhY3Rpb24ucGFyZW50VHJhbnNhY3Rpb24/LmlkICE9PSBtb2RlbC5pZDtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbj4oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9ERUxFVEVELCBtb2RlbClcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25EZWxldGVkLmVtaXQobW9kZWwpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxjdWxhdGUgZ3Jvc3MgaW5jb21lIGFtb3VudCBiYXNlZCBvbiB0cmFuc2FjdGlvbiBhbW91bnQgYW5kIHRheGVzIChmZWVzKVxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gVHJhbnNhY3Rpb24gaW5zdGFuY2UgZm9yIGNhbGN1bGF0aW9uXG4gICAqL1xuICBjYWxjdWxhdGVHcm9zc0Ftb3VudCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBudW1iZXIge1xuICAgIGxldCBhbW91bnQ6IG51bWJlciA9IHRyYW5zYWN0aW9uLmFtb3VudCB8fCAwO1xuXG4gICAgLy8gZ3Jvc3MgaW5jb21lIGFtb3VudCBpbmNsdWRlcyBhbW91bnQgb2YgZmVlcyBmb3IgcHJvcGVydHkgdGFuayBhbmQgdGF4IGZvciB3b3JrIHRhbmtcbiAgICBpZiAodHJhbnNhY3Rpb24uaXNQcm9wZXJ0eVRhbmsoKSkge1xuICAgICAgYW1vdW50ICs9IHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5yZWR1Y2UoKHN1bTogbnVtYmVyLCBpdGVtOiBUcmFuc2FjdGlvbikgPT4gc3VtICsgaXRlbS5hbW91bnQsIDApO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBAVE9ETyBBbGV4OiBmaXggbG9naWMgYWZ0ZXIgVFQtNjQxIHJlYWR5XG4gICAgICBhbW91bnQgKz0gKHRyYW5zYWN0aW9uLnRheCB8fCAwKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYW1vdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsYWJlbCBmb3IgdHJhbnNhY3Rpb24gdGF4IGZpZWxkIGRlcGVuZGVkIG9mIHNlbGVjdGVkIGNoYXJ0IGFjY291bnQuXG4gICAqIHRheCB0eXBlIGRlcGVuZHMgb2YgY2hhcnQgYWNjb3VudCBoZWFkaW5nIG9yIGNhdGVnb3J5LlxuICAgKi9cbiAgZ2V0VGF4TGFiZWwoY2hhcnRBY2NvdW50czogQ2hhcnRBY2NvdW50cyk6IENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtIHtcbiAgICAvLyBnZXQgc2ltcGxlIGFycmF5IG9mIGlkcyBmcm9tIGVudW0gd2l0aCB0YXhhYmxlIGNoYXJ0IGFjY291bnRzIGhlYWRpbmdzXG4gICAgY29uc3QgdGF4YWJsZUNBSGVhZGluZ3NJZHM6IG51bWJlcltdID0gZW51bVRvTGlzdChDaGFydEFjY291bnRzSGVhZGluZ1RheGFibGVFbnVtKVxuICAgICAgLm1hcCgoaXRlbTogeyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIH0pID0+IGl0ZW0udmFsdWUpO1xuICAgIC8vIGdldCBzaW1wbGUgYXJyYXkgb2YgaWRzIGZyb20gZW51bSB3aXRoIHRheCBkZWR1Y3RpYmxlIGNoYXJ0IGFjY291bnRzIGhlYWRpbmdzXG4gICAgY29uc3QgZGVkdWN0aWJsZUNBSGVhZGluZ3NJZHM6IG51bWJlcltdID0gZW51bVRvTGlzdChDaGFydEFjY291bnRzSGVhZGluZ1RheERlZHVjdGlibGVFbnVtKVxuICAgICAgLm1hcCgoaXRlbTogeyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogbnVtYmVyIH0pID0+IGl0ZW0udmFsdWUpO1xuXG4gICAgLy8gY2hlY2sgaWYgb25lIG9mIGlkcyBhcnJheXMgaW5jbHVkZXMgY3VycmVudCBjaGFydCBhY2NvdW50cyBoZWFkaW5nIGlkIGFuZCBzZXQgdGF4IGxhYmVsXG4gICAgLy8gb3RoZXJ3aXNlIGxhYmVsIGlzIGVtcHR5IGZvciB0aGlzIGNsYXNzXG4gICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICBjYXNlIHRheGFibGVDQUhlYWRpbmdzSWRzLmluY2x1ZGVzKGNoYXJ0QWNjb3VudHMuaGVhZGluZz8uaWQpOlxuICAgICAgICByZXR1cm4gQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0uVEFYX1BBSUQ7XG4gICAgICBjYXNlIGRlZHVjdGlibGVDQUhlYWRpbmdzSWRzLmluY2x1ZGVzKGNoYXJ0QWNjb3VudHMuaGVhZGluZz8uaWQpOlxuICAgICAgICByZXR1cm4gQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0uVEFYX0RFRFVDVEVEO1xuICAgICAgY2FzZSBDSEFSVF9BQ0NPVU5UU19DQVRFR09SSUVTLndvcmtJbmNvbWUuaW5jbHVkZXMoY2hhcnRBY2NvdW50cy5jYXRlZ29yeSk6XG4gICAgICAgIHJldHVybiBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bS5UQVhfV0lUSEhFTEQ7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTGlzdGVuIHRvIEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgZXZlbnQgcmVsYXRlZCB0byBEZXByZWNpYXRpb24gY2hhbmdpbmdcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuRGVwcmVjaWF0aW9uQ2hhbmdlKCk6IHZvaWQge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLkRFUFJFQ0lBVElPTl9ERUxFVEVEKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5mZXRjaCgpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSkgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB0cmFuc2FjdGlvbnM7XG4gICAgICAgICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIFByb3BlcnR5IFNoYXJlIGNoYW5naW5nXG4gICAqL1xuICBwcml2YXRlIGxpc3RlblByb3BlcnR5U2hhcmVVcGRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uUFJPUEVSVFlfU0hBUkVfVVBEQVRFRCkuc3Vic2NyaWJlKCgpID0+IHRoaXMucmVzZXRDYWNoZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuUmVjZWlwdEFkZGVkKCkge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX1JFQ0VJUFRfQ1JFQVRFRCkuc3Vic2NyaWJlKCh0cmFuc2FjdGlvblJlY2VpcHQ6IFRyYW5zYWN0aW9uUmVjZWlwdCkgPT4ge1xuICAgICAgY29uc3QgdHJhbnNhY3Rpb25Ub1VwZGF0ZTogVHJhbnNhY3Rpb24gPSB0aGlzLmZpbmQodHJhbnNhY3Rpb25SZWNlaXB0LnRyYW5zYWN0aW9uLmlkKTtcblxuICAgICAgLy8gd2UgZG9uJ3QgbmVlZCB0byBrZWVwIGZpbGUgYWZ0ZXIgc2F2ZVxuICAgICAgdHJhbnNhY3Rpb25Ub1VwZGF0ZS5maWxlID0gbnVsbDtcbiAgICAgIHRyYW5zYWN0aW9uVG9VcGRhdGUucmVjZWlwdCA9IHRyYW5zYWN0aW9uUmVjZWlwdDtcbiAgICAgIHRoaXMucmVwbGFjZUluQ2FjaGUodHJhbnNhY3Rpb25Ub1VwZGF0ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblJlY2VpcHREZWxldGVkKCkge1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5vbihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX1JFQ0VJUFRfREVMRVRFRCkuc3Vic2NyaWJlKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IHRyYW5zYWN0aW9uVG9VcGRhdGU6IFRyYW5zYWN0aW9uID0gdGhpcy5maW5kKHRyYW5zYWN0aW9uLmlkKTtcblxuICAgICAgdHJhbnNhY3Rpb25Ub1VwZGF0ZS5yZWNlaXB0ID0gbnVsbDtcbiAgICAgIHRoaXMucmVwbGFjZUluQ2FjaGUodHJhbnNhY3Rpb25Ub1VwZGF0ZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblZlaGljbGVDbGFpbUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKFtcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9DTEFJTV9DUkVBVEVELFxuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX1VQREFURUQsXG4gICAgICBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fREVUQUlMU19DUkVBVEVELFxuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfVVBEQVRFRFxuICAgIF0pLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0Q2FjaGUoKTtcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSByZXBsYWNlSW5DYWNoZSh0cmFuc2FjdGlvblRvUmVwbGFjZTogVHJhbnNhY3Rpb24pOiB2b2lkIHtcbiAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHRyYW5zYWN0aW9uVG9SZXBsYWNlKTtcbiAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
348
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R0LWNvcmUvc3JjL2xpYi9zZXJ2aWNlcy9odHRwL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RyxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUNySCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUN4RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdFQUFnRSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFHM0QsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzNHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdE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QixNQUFNOzRGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVVJLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiBhcyBUcmFuc2FjdGlvbkJhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvdHJhbnNhY3Rpb24vdHJhbnNhY3Rpb24nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcmVwbGFjZSwgc29ydCB9IGZyb20gJy4uLy4uLy4uL2Z1bmN0aW9ucy9hcnJheSc7XG5pbXBvcnQgeyBlbnVtVG9MaXN0IH0gZnJvbSAnLi4vLi4vLi4vZnVuY3Rpb25zL2VudW0tdG8tbGlzdCc7XG5pbXBvcnQgeyBDaGFydEFjY291bnRzSGVhZGluZ1RheGFibGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vZGIvRW51bXMvY2hhcnQtYWNjb3VudHMtaGVhZGluZy10YXhhYmxlLmVudW0nO1xuaW1wb3J0IHsgQ2hhcnRBY2NvdW50c0hlYWRpbmdUYXhEZWR1Y3RpYmxlRW51bSB9IGZyb20gJy4uLy4uLy4uL2RiL0VudW1zL2NoYXJ0LWFjY291bnRzLWhlYWRpbmctdGF4LWRlZHVjdGlibGUuZW51bSc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbk9wZXJhdGlvbkVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy90cmFuc2FjdGlvbi1vcGVyYXRpb24uZW51bSc7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uL3Jlc3QvcmVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzcyB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMtY2F0ZWdvcmllcy5jb25zdCc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbic7XG5pbXBvcnQgeyBBcHBFdmVudFR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2V2ZW50L2FwcC1ldmVudC10eXBlLmVudW0nO1xuaW1wb3J0IHsgQXBwRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZXZlbnQvYXBwLWV2ZW50JztcbmltcG9ydCB7IFRyYW5zYWN0aW9uUmVjZWlwdCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90cmFuc2FjdGlvbi90cmFuc2FjdGlvbi1yZWNlaXB0JztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHMgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY2hhcnQtYWNjb3VudHMvY2hhcnQtYWNjb3VudHMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NoYXJ0LWFjY291bnRzL2NoYXJ0LWFjY291bnRzLXRheC1sYWJlbHMuZW51bSc7XG5pbXBvcnQgeyBQcm9wZXJ0eUNhdGVnb3J5TGlzdEVudW0gfSBmcm9tICcuLi8uLi8uLi9kYi9FbnVtcy9wcm9wZXJ0eS9wcm9wZXJ0eS1jYXRlZ29yeS1saXN0LmVudW0nO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25SZWNlaXB0U2VydmljZSB9IGZyb20gJy4vdHJhbnNhY3Rpb24tcmVjZWlwdC90cmFuc2FjdGlvbi1yZWNlaXB0LnNlcnZpY2UnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ldmVudC9ldmVudC1kaXNwYXRjaGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdG9hc3QvdG9hc3Quc2VydmljZSc7XG5cbi8qKlxuICogU2VydmljZSBmb3IgdHJhbnNhY3Rpb25zIGJ1c2luZXNzIGxvZ2ljXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uU2VydmljZSBleHRlbmRzIFJlc3RTZXJ2aWNlPFRyYW5zYWN0aW9uQmFzZSwgVHJhbnNhY3Rpb24+IHtcbiAgLy8gdXJsIHBhcnQgZm9yIFRyYW5zYWN0aW9uIEFQSVxuICB1cmw6IHN0cmluZyA9ICd0cmFuc2FjdGlvbnMnO1xuICBtb2RlbENsYXNzID0gVHJhbnNhY3Rpb247XG4gIHRyYW5zYWN0aW9uRGVsZXRlZDogRXZlbnRFbWl0dGVyPFRyYW5zYWN0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNhY3Rpb24+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJvdGVjdGVkIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2U6IEV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcm90ZWN0ZWQgZW52aXJvbm1lbnQ6IGFueSxcbiAgICBwcm90ZWN0ZWQgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2FjdGlvblJlY2VpcHRTZXJ2aWNlOiBUcmFuc2FjdGlvblJlY2VpcHRTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGh0dHAsIGV2ZW50RGlzcGF0Y2hlclNlcnZpY2UsIGVudmlyb25tZW50LCB0b2FzdFNlcnZpY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiBldmVudHMgZnJvbSBFdmVudCBEaXNwYXRjaGVyIHNlcnZpY2VzXG4gICAqL1xuICBsaXN0ZW5FdmVudHMoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5EZXByZWNpYXRpb25DaGFuZ2UoKTtcbiAgICB0aGlzLmxpc3RlblByb3BlcnR5U2hhcmVVcGRhdGUoKTtcbiAgICB0aGlzLmxpc3RlblJlY2VpcHRBZGRlZCgpO1xuICAgIHRoaXMubGlzdGVuUmVjZWlwdERlbGV0ZWQoKTtcbiAgICB0aGlzLmxpc3RlblZlaGljbGVDbGFpbUNoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiBhbGwgdXNlcidzIFRheFRhbmsgdHJhbnNhY3Rpb25zXG4gICAqL1xuICBnZXQoKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgaWYgKCF0aGlzLmNhY2hlKSB7XG4gICAgICAvLyBzZXQgY2FjaGUgYXMgZGVmYXVsdCBlbXB0eSBhcnJheSB0byBhdm9pZCBtdWx0aXBsZSBiYWNrZW5kIHJlcXVlc3RzXG4gICAgICB0aGlzLmNhY2hlID0gW107XG4gICAgICB0aGlzLmZldGNoKClcbiAgICAgICAgLnN1YnNjcmliZSgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKSA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRyYW5zYWN0aW9ucztcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhY2hlU3ViamVjdC5hc09ic2VydmFibGUoKS5waXBlKFxuICAgICAgLy8gYXNzaWduIGNoaWxkIHRyYW5zYWN0aW9ucyAoZmVlcykgdG8gcGFyZW50IHRyYW5zYWN0aW9uc1xuICAgICAgbWFwKCh0cmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbltdID0+IHtcbiAgICAgICAgdHJhbnNhY3Rpb25zLmZvckVhY2goKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IHZvaWQgPT4ge1xuICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucyA9IHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgLy8gZ2V0IGxpc3Qgb2YgY2hpbGQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICAuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdC5wYXJlbnRUcmFuc2FjdGlvbiAmJiB0LnBhcmVudFRyYW5zYWN0aW9uLmlkID09PSB0cmFuc2FjdGlvbi5pZCk7XG4gICAgICAgIH0pO1xuICAgICAgICBzb3J0KHRyYW5zYWN0aW9ucywgJ2RhdGUnLCBmYWxzZSk7XG4gICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIHNpbmdsZSBuZXcgdHJhbnNhY3Rpb25cbiAgICogQHBhcmFtIG1vZGVsIE5ldyBUcmFuc2FjdGlvbiBpbnN0YW5jZSBmb3Igc2F2aW5nXG4gICAqL1xuICBhZGQobW9kZWw6IFRyYW5zYWN0aW9uKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbj4ge1xuICAgIC8vIHdlIGRvbid0IGhhdmUgUE9TVCBBUEkgZW5kcG9pbnQgZm9yIHNpbmdsZSB0cmFuc2FjdGlvblxuICAgIHJldHVybiB0aGlzLmFkZEJhdGNoKFttb2RlbF0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChuZXdUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10pOiBUcmFuc2FjdGlvbiA9PiB7XG4gICAgICAgICAgLy8gQFRPRE8gYWxleFxuICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChcbiAgICAgICAgICAgIG5ldyBBcHBFdmVudDxUcmFuc2FjdGlvbj4oQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9DUkVBVEVELCBuZXdUcmFuc2FjdGlvbnNbMF0pXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHJldHVybiBuZXdUcmFuc2FjdGlvbnNbMF07XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCB0cmFuc2FjdGlvbnMgcmVsYXRlZCB3aXRoIHByb3BlcnR5XG4gICAqL1xuICBnZXRCeVByb3BlcnR5SWQocHJvcGVydHlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4ge1xuICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbi5wcm9wZXJ0eT8uaWQgPT09IHByb3BlcnR5SWQ7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGdldCBsaXN0IG9mIHRyYW5zYWN0aW9ucyB3aXRoIHRhbmsgdHlwZSAnV29yaydcbiAgICovXG4gIGdldFdvcmtUcmFuc2FjdGlvbnMoKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0KClcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IFRyYW5zYWN0aW9uW10gPT4ge1xuICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnMuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHRyYW5zYWN0aW9uLmlzV29ya1RhbmsoKSk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsaXN0IG9mIHByb3BlcnR5IGhvbGRpbmcgY29zdHMgKHRyYW5zYWN0aW9ucyByZWxhdGVkIHRvIHZhY2FudCBsYW5kIHByb3BlcnR5KVxuICAgKi9cbiAgZ2V0UHJvcGVydHlIb2xkaW5nQ29zdHMocHJvcGVydHlJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoXG4gICAgICBgJHt0aGlzLmVudmlyb25tZW50LmFwaVYyfS8ke3RoaXMudXJsfT9wcm9wZXJ0eUlkPSR7cHJvcGVydHlJZH0mcHJvcGVydHlDYXRlZ29yeUlkPSR7UHJvcGVydHlDYXRlZ29yeUxpc3RFbnVtLlZBQ0FOVF9MQU5EfWBcbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh0cmFuc2FjdGlvbnNCYXNlOiBUcmFuc2FjdGlvbkJhc2VbXSk6IFRyYW5zYWN0aW9uW10gPT4ge1xuICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvbnNCYXNlLm1hcCgodHJhbnNhY3Rpb25CYXNlOiBUcmFuc2FjdGlvbkJhc2UpOiBUcmFuc2FjdGlvbiA9PiBwbGFpblRvQ2xhc3MoVHJhbnNhY3Rpb24sIHRyYW5zYWN0aW9uQmFzZSkpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgbGlzdCBvZiB0YXhhYmxlIHRyYW5zYWN0aW9ucyB3aXRoIHRhbmsgdHlwZSAnV29yaydcbiAgICovXG4gIGdldFRheGFibGVXb3JrVHJhbnNhY3Rpb25zKCk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHJldHVybiB0aGlzLmdldFdvcmtUcmFuc2FjdGlvbnMoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogVHJhbnNhY3Rpb25bXSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9ucy5maWx0ZXIoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gISF0cmFuc2FjdGlvbi5jaGFydEFjY291bnRzLnRheFJldHVybkl0ZW0pO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBhZGQgbXVsdGlwbGUgdHJhbnNhY3Rpb25zXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbnMgTGlzdCBvZiBuZXcgVHJhbnNhY3Rpb24gaW5zdGFuY2VzIGZvciBzYXZpbmdcbiAgICovXG4gIGFkZEJhdGNoKHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25bXSk6IE9ic2VydmFibGU8VHJhbnNhY3Rpb25bXT4ge1xuICAgIHRyYW5zYWN0aW9ucyA9IF8uY2xvbmVEZWVwKHRyYW5zYWN0aW9ucyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9YCwgdHJhbnNhY3Rpb25zKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgocmVzcG9uc2U6IFRyYW5zYWN0aW9uQmFzZVtdKSA9PiB7XG4gICAgICAgICAgY29uc3QgYWRkZWRUcmFuc2FjdGlvbnM6IFRyYW5zYWN0aW9uW10gPSByZXNwb25zZS5tYXAoKGl0ZW06IFRyYW5zYWN0aW9uQmFzZSkgPT4gcGxhaW5Ub0NsYXNzKFRyYW5zYWN0aW9uLCBpdGVtKSk7XG5cbiAgICAgICAgICB0cmFuc2FjdGlvbnMuZm9yRWFjaCgodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgICAvLyBAVE9ETyBiYWNrZW5kOiBuZWVkIHRvIHVwbG9hZCBmaWxlIGluIHRoZSBzYW1lIGJhY2tlbmQgZW5kcG9pbnQgd2l0aCB0cmFuc2FjdGlvbiBhZGQvdXBkYXRlXG4gICAgICAgICAgICAvLyBjaGVjayBpZiBwYXNzZWQgcmVjZWlwdCBhbmQgdXBsb2FkIGZpbGVcbiAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi5maWxlKSB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uLmlkID0gcmVzcG9uc2VbaW5kZXhdLmlkO1xuICAgICAgICAgICAgICBhZGRlZFRyYW5zYWN0aW9uc1tpbmRleF0uZmlsZSA9IHRyYW5zYWN0aW9uLmZpbGU7XG4gICAgICAgICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5UUkFOU0FDVElPTl9VUERBVEVEX1dJVEhfUkVDRUlQVCwgYWRkZWRUcmFuc2FjdGlvbnNbaW5kZXhdKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIEBUT0RPIFZpa3RvcjogaW1wbGVtZW50IEFQSSBmb3Igc2F2aW5nIG9mIG5lc3RlZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIC8vIGFkZCBjaGlsZCB0cmFuc2FjdGlvbnMgaWYgZXhpc3RcbiAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5mb3JFYWNoKChjaGlsZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGNoaWxkVHJhbnNhY3Rpb24ucGFyZW50VHJhbnNhY3Rpb24gPSBwbGFpblRvQ2xhc3MoVHJhbnNhY3Rpb24sIHtpZDogYWRkZWRUcmFuc2FjdGlvbnNbaW5kZXhdLmlkfSk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB0aGlzLmFkZEJhdGNoKHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucykuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGFkZCB0cmFuc2ZlciB0cmFuc2FjdGlvbiB0byBjYWNoZVxuICAgICAgICAgICAgaWYgKHRyYW5zYWN0aW9uLm9wZXJhdGlvbiA9PT0gVHJhbnNhY3Rpb25PcGVyYXRpb25FbnVtLlRSQU5TRkVSKSB7XG4gICAgICAgICAgICAgIGFkZGVkVHJhbnNhY3Rpb25zLnB1c2goYWRkZWRUcmFuc2FjdGlvbnNbMF0udHJhbnNmZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHRoaXMuY2FjaGUpIHtcbiAgICAgICAgICAgIHRoaXMuY2FjaGUucHVzaCguLi5hZGRlZFRyYW5zYWN0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKFxuICAgICAgICAgICAgbmV3IEFwcEV2ZW50PFRyYW5zYWN0aW9uW10+KEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05TX0NSRUFURUQsIGFkZGVkVHJhbnNhY3Rpb25zKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm4gYWRkZWRUcmFuc2FjdGlvbnM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIHVwZGF0ZSBleGlzdGluZyB0cmFuc2FjdGlvblxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb24gVHJhbnNhY3Rpb24gaW5zdGFuY2UgZm9yIHVwZGF0aW5nXG4gICAqL1xuICB1cGRhdGUodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuZW52aXJvbm1lbnQuYXBpVjJ9LyR7dGhpcy51cmx9LyR7dHJhbnNhY3Rpb24uaWR9YCwgdHJhbnNhY3Rpb24pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogVHJhbnNhY3Rpb25CYXNlKSA9PiB7XG4gICAgICAgICAgY29uc3QgdXBkYXRlZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbiA9IHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwgcmVzcG9uc2UpO1xuXG4gICAgICAgICAgLy8gQFRPRE8gbmVlZCB0byB1cGxvYWQgZmlsZSBpbiB0aGUgc2FtZSBiYWNrZW5kIGVuZHBvaW50IHdpdGggdHJhbnNhY3Rpb24gYWRkL3VwZGF0ZVxuICAgICAgICAgIC8vIGNoZWNrIGlmIHBhc3NlZCBuZXcgcmVjZWlwdCBhbmQgdXBsb2FkIGZpbGVcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb24uZmlsZSkge1xuICAgICAgICAgICAgdXBkYXRlZFRyYW5zYWN0aW9uLmZpbGUgPSB0cmFuc2FjdGlvbi5maWxlO1xuICAgICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX1VQREFURURfV0lUSF9SRUNFSVBULCB1cGRhdGVkVHJhbnNhY3Rpb24pKTtcbiAgICAgICAgICAgIC8vIHJlY2VpcHQgZmlsZSB3YXMgcmVtb3ZlZCBmcm9tIGZvcm0gLSB3ZSBzaG91bGQgZGVsZXRlIHJlY2VpcHQgZnJvbSB0cmFuc2FjdGlvblxuICAgICAgICAgIH0gZWxzZSBpZiAoIXRyYW5zYWN0aW9uLmZpbGUgJiYgdHJhbnNhY3Rpb24ucmVjZWlwdCkge1xuICAgICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKG5ldyBBcHBFdmVudChBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX1VQREFURURfV0lUSF9ERUxFVEVEX1JFQ0VJUFQsIHVwZGF0ZWRUcmFuc2FjdGlvbikpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIEBUT0RPIFZpa3RvcjogaW1wbGVtZW50IEFQSSBmb3Igc2F2aW5nIG9mIG5lc3RlZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICBpZiAodHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgLy8gYWRkIHBhcmVudCB0cmFuc2FjdGlvbiB0byBjaGlsZCB0cmFuc2FjdGlvbnNcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5mb3JFYWNoKChjaGlsZFRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgICAgICAgICBjaGlsZFRyYW5zYWN0aW9uLnBhcmVudFRyYW5zYWN0aW9uID0gcGxhaW5Ub0NsYXNzKFRyYW5zYWN0aW9uLCB7aWQ6IHVwZGF0ZWRUcmFuc2FjdGlvbi5pZH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBzZXBhcmF0ZSBjaGlsZCB0cmFuc2FjdGlvbnMgYnkgaWQgZXhpc3RpbmcgdG8gZGVmaW5lIGFkZCBvciB1cGRhdGUgYWN0aW9uLlxuICAgICAgICAgICAgY29uc3QgY2hpbGRUcmFuc2FjdGlvbnNUb1VwZGF0ZTogVHJhbnNhY3Rpb25bXSA9IHRyYW5zYWN0aW9uLnRyYW5zYWN0aW9ucy5maWx0ZXIoKHQ6IFRyYW5zYWN0aW9uKSA9PiB0LmlkKTtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkVHJhbnNhY3Rpb25zVG9BZGQ6IFRyYW5zYWN0aW9uW10gPSB0cmFuc2FjdGlvbi50cmFuc2FjdGlvbnMuZmlsdGVyKCh0OiBUcmFuc2FjdGlvbikgPT4gIXQuaWQpO1xuXG4gICAgICAgICAgICAvLyB1cGRhdGUgY2hpbGQgdHJhbnNhY3Rpb25zXG4gICAgICAgICAgICBpZiAoY2hpbGRUcmFuc2FjdGlvbnNUb1VwZGF0ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVCYXRjaChjaGlsZFRyYW5zYWN0aW9uc1RvVXBkYXRlKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gYWRkIGNoaWxkIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgaWYgKGNoaWxkVHJhbnNhY3Rpb25zVG9BZGQubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRoaXMuYWRkQmF0Y2goY2hpbGRUcmFuc2FjdGlvbnNUb0FkZCkuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5yZXBsYWNlSW5DYWNoZSh1cGRhdGVkVHJhbnNhY3Rpb24pO1xuXG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRUcmFuc2FjdGlvbjtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogdXBkYXRlIG11bHRpcGxlIHRyYW5zYWN0aW9uc1xuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25zIGxpc3Qgb2YgdHJhbnNhY3Rpb25zIGZvciB1cGRhdGluZ1xuICAgKi9cbiAgdXBkYXRlQmF0Y2godHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKTogT2JzZXJ2YWJsZTxUcmFuc2FjdGlvbltdPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCB0cmFuc2FjdGlvbnMpXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZTogVHJhbnNhY3Rpb25CYXNlW10pID0+IHtcbiAgICAgICAgICBjb25zdCB1cGRhdGVkVHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdID0gcmVzcG9uc2UubWFwKChpdGVtOiBUcmFuc2FjdGlvbkJhc2UpID0+IHBsYWluVG9DbGFzcyhUcmFuc2FjdGlvbiwgaXRlbSkpO1xuXG4gICAgICAgICAgdXBkYXRlZFRyYW5zYWN0aW9ucy5mb3JFYWNoKCh1cGRhdGVkVHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICAgICAgICByZXBsYWNlKHRoaXMuY2FjaGUsIHVwZGF0ZWRUcmFuc2FjdGlvbik7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgcmV0dXJuIHVwZGF0ZWRUcmFuc2FjdGlvbnM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGRlbGV0ZSB0cmFuc2FjdGlvbiBhbmQgcmVsYXRlZCB0cmFuc2FjdGlvbnNcbiAgICogQHBhcmFtIG1vZGVsXG4gICAqL1xuICBkZWxldGUobW9kZWw6IFRyYW5zYWN0aW9uKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHttb2RlbC5pZH1gKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoKTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRoaXMuY2FjaGUuZmlsdGVyKCh0cmFuc2FjdGlvbjogVHJhbnNhY3Rpb24pOiBib29sZWFuID0+IHtcbiAgICAgICAgICAgIC8vIHdoZW4gZGVsZXRlIHRyYW5zZmVyIHdlIGRlbGV0ZSBhY3R1YWxseSAyIHRyYW5zYWN0aW9uc1xuICAgICAgICAgICAgaWYgKG1vZGVsLmlzVHJhbnNmZXIpIHtcbiAgICAgICAgICAgICAgY29uc3QgaWRzOiBudW1iZXJbXSA9IFttb2RlbC5pZF07XG5cbiAgICAgICAgICAgICAgLy8gZ2V0IGlkIG9mIHJlbGF0ZWQgdHJhbnNmZXIgdHJhbnNhY3Rpb25cbiAgICAgICAgICAgICAgaWYgKG1vZGVsLnRyYW5zZmVyKSB7XG4gICAgICAgICAgICAgICAgLy8ganVzdCB0YWtlIGlkIGlmIHdlIGRlbGV0ZSBzb3VyY2UgdHJhbnNhY3Rpb25cbiAgICAgICAgICAgICAgICBpZHMucHVzaChtb2RlbC50cmFuc2Zlci5pZCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gZmluZCBzb3VyY2UgdHJhbnNhY3Rpb24gaWQgaWYgd2UgZGVsZXRlIGRlc3RpbmF0aW9uIHRyYW5zYWN0aW9uXG4gICAgICAgICAgICAgICAgaWRzLnB1c2godGhpcy5jYWNoZS5maW5kKCh0OiBUcmFuc2FjdGlvbik6IGJvb2xlYW4gPT4gdC50cmFuc2Zlci5pZCA9PT0gbW9kZWwuaWQpLmlkKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiAhaWRzLmluY2x1ZGVzKHRyYW5zYWN0aW9uLmlkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRyYW5zYWN0aW9uLmlkICE9PSBtb2RlbC5pZCAmJiB0cmFuc2FjdGlvbi5wYXJlbnRUcmFuc2FjdGlvbj8uaWQgIT09IG1vZGVsLmlkO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLmRpc3BhdGNoKFxuICAgICAgICAgICAgbmV3IEFwcEV2ZW50PFRyYW5zYWN0aW9uPihBcHBFdmVudFR5cGVFbnVtLlRSQU5TQUNUSU9OX0RFTEVURUQsIG1vZGVsKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkRlbGV0ZWQuZW1pdChtb2RlbCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIGNhbGN1bGF0ZSBncm9zcyBpbmNvbWUgYW1vdW50IGJhc2VkIG9uIHRyYW5zYWN0aW9uIGFtb3VudCBhbmQgdGF4ZXMgKGZlZXMpXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbiBUcmFuc2FjdGlvbiBpbnN0YW5jZSBmb3IgY2FsY3VsYXRpb25cbiAgICovXG4gIGNhbGN1bGF0ZUdyb3NzQW1vdW50KHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbik6IG51bWJlciB7XG4gICAgbGV0IGFtb3VudDogbnVtYmVyID0gdHJhbnNhY3Rpb24uYW1vdW50IHx8IDA7XG5cbiAgICAvLyBncm9zcyBpbmNvbWUgYW1vdW50IGluY2x1ZGVzIGFtb3VudCBvZiBmZWVzIGZvciBwcm9wZXJ0eSB0YW5rIGFuZCB0YXggZm9yIHdvcmsgdGFua1xuICAgIGlmICh0cmFuc2FjdGlvbi5pc1Byb3BlcnR5VGFuaygpKSB7XG4gICAgICBhbW91bnQgKz0gdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25zLnJlZHVjZSgoc3VtOiBudW1iZXIsIGl0ZW06IFRyYW5zYWN0aW9uKSA9PiBzdW0gKyBpdGVtLmFtb3VudCwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEBUT0RPIEFsZXg6IGZpeCBsb2dpYyBhZnRlciBUVC02NDEgcmVhZHlcbiAgICAgIGFtb3VudCArPSAodHJhbnNhY3Rpb24udGF4IHx8IDApO1xuICAgIH1cblxuICAgIHJldHVybiBhbW91bnQ7XG4gIH1cblxuICAvKipcbiAgICogZ2V0IGxhYmVsIGZvciB0cmFuc2FjdGlvbiB0YXggZmllbGQgZGVwZW5kZWQgb2Ygc2VsZWN0ZWQgY2hhcnQgYWNjb3VudC5cbiAgICogdGF4IHR5cGUgZGVwZW5kcyBvZiBjaGFydCBhY2NvdW50IGhlYWRpbmcgb3IgY2F0ZWdvcnkuXG4gICAqL1xuICBnZXRUYXhMYWJlbChjaGFydEFjY291bnRzOiBDaGFydEFjY291bnRzKTogQ2hhcnRBY2NvdW50c1RheExhYmVsc0VudW0ge1xuICAgIC8vIGdldCBzaW1wbGUgYXJyYXkgb2YgaWRzIGZyb20gZW51bSB3aXRoIHRheGFibGUgY2hhcnQgYWNjb3VudHMgaGVhZGluZ3NcbiAgICBjb25zdCB0YXhhYmxlQ0FIZWFkaW5nc0lkczogbnVtYmVyW10gPSBlbnVtVG9MaXN0KENoYXJ0QWNjb3VudHNIZWFkaW5nVGF4YWJsZUVudW0pXG4gICAgICAubWFwKChpdGVtOiB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBudW1iZXIgfSkgPT4gaXRlbS52YWx1ZSk7XG4gICAgLy8gZ2V0IHNpbXBsZSBhcnJheSBvZiBpZHMgZnJvbSBlbnVtIHdpdGggdGF4IGRlZHVjdGlibGUgY2hhcnQgYWNjb3VudHMgaGVhZGluZ3NcbiAgICBjb25zdCBkZWR1Y3RpYmxlQ0FIZWFkaW5nc0lkczogbnVtYmVyW10gPSBlbnVtVG9MaXN0KENoYXJ0QWNjb3VudHNIZWFkaW5nVGF4RGVkdWN0aWJsZUVudW0pXG4gICAgICAubWFwKChpdGVtOiB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBudW1iZXIgfSkgPT4gaXRlbS52YWx1ZSk7XG5cbiAgICAvLyBjaGVjayBpZiBvbmUgb2YgaWRzIGFycmF5cyBpbmNsdWRlcyBjdXJyZW50IGNoYXJ0IGFjY291bnRzIGhlYWRpbmcgaWQgYW5kIHNldCB0YXggbGFiZWxcbiAgICAvLyBvdGhlcndpc2UgbGFiZWwgaXMgZW1wdHkgZm9yIHRoaXMgY2xhc3NcbiAgICBzd2l0Y2ggKHRydWUpIHtcbiAgICAgIGNhc2UgdGF4YWJsZUNBSGVhZGluZ3NJZHMuaW5jbHVkZXMoY2hhcnRBY2NvdW50cy5oZWFkaW5nPy5pZCk6XG4gICAgICAgIHJldHVybiBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bS5UQVhfUEFJRDtcbiAgICAgIGNhc2UgZGVkdWN0aWJsZUNBSGVhZGluZ3NJZHMuaW5jbHVkZXMoY2hhcnRBY2NvdW50cy5oZWFkaW5nPy5pZCk6XG4gICAgICAgIHJldHVybiBDaGFydEFjY291bnRzVGF4TGFiZWxzRW51bS5UQVhfREVEVUNURUQ7XG4gICAgICBjYXNlIENIQVJUX0FDQ09VTlRTX0NBVEVHT1JJRVMud29ya0luY29tZS5pbmNsdWRlcyhjaGFydEFjY291bnRzLmNhdGVnb3J5KTpcbiAgICAgICAgcmV0dXJuIENoYXJ0QWNjb3VudHNUYXhMYWJlbHNFbnVtLlRBWF9XSVRISEVMRDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0ZW4gdG8gRXZlbnREaXNwYXRjaGVyU2VydmljZSBldmVudCByZWxhdGVkIHRvIERlcHJlY2lhdGlvbiBjaGFuZ2luZ1xuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5EZXByZWNpYXRpb25DaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uREVQUkVDSUFUSU9OX0RFTEVURUQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmZldGNoKClcbiAgICAgICAgLnN1YnNjcmliZSgodHJhbnNhY3Rpb25zOiBUcmFuc2FjdGlvbltdKSA9PiB7XG4gICAgICAgICAgdGhpcy5jYWNoZSA9IHRyYW5zYWN0aW9ucztcbiAgICAgICAgICB0aGlzLnVwZGF0ZUNhY2hlKCk7XG4gICAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RlbiB0byBFdmVudERpc3BhdGNoZXJTZXJ2aWNlIGV2ZW50IHJlbGF0ZWQgdG8gUHJvcGVydHkgU2hhcmUgY2hhbmdpbmdcbiAgICovXG4gIHByaXZhdGUgbGlzdGVuUHJvcGVydHlTaGFyZVVwZGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5QUk9QRVJUWV9TSEFSRV9VUERBVEVEKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5yZXNldENhY2hlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5SZWNlaXB0QWRkZWQoKSB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fUkVDRUlQVF9DUkVBVEVEKS5zdWJzY3JpYmUoKHRyYW5zYWN0aW9uUmVjZWlwdDogVHJhbnNhY3Rpb25SZWNlaXB0KSA9PiB7XG4gICAgICBjb25zdCB0cmFuc2FjdGlvblRvVXBkYXRlOiBUcmFuc2FjdGlvbiA9IHRoaXMuZmluZCh0cmFuc2FjdGlvblJlY2VpcHQudHJhbnNhY3Rpb24uaWQpO1xuXG4gICAgICAvLyB3ZSBkb24ndCBuZWVkIHRvIGtlZXAgZmlsZSBhZnRlciBzYXZlXG4gICAgICB0cmFuc2FjdGlvblRvVXBkYXRlLmZpbGUgPSBudWxsO1xuICAgICAgdHJhbnNhY3Rpb25Ub1VwZGF0ZS5yZWNlaXB0ID0gdHJhbnNhY3Rpb25SZWNlaXB0O1xuICAgICAgdGhpcy5yZXBsYWNlSW5DYWNoZSh0cmFuc2FjdGlvblRvVXBkYXRlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuUmVjZWlwdERlbGV0ZWQoKSB7XG4gICAgdGhpcy5ldmVudERpc3BhdGNoZXJTZXJ2aWNlLm9uKEFwcEV2ZW50VHlwZUVudW0uVFJBTlNBQ1RJT05fUkVDRUlQVF9ERUxFVEVEKS5zdWJzY3JpYmUoKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgICAgY29uc3QgdHJhbnNhY3Rpb25Ub1VwZGF0ZTogVHJhbnNhY3Rpb24gPSB0aGlzLmZpbmQodHJhbnNhY3Rpb24uaWQpO1xuXG4gICAgICB0cmFuc2FjdGlvblRvVXBkYXRlLnJlY2VpcHQgPSBudWxsO1xuICAgICAgdGhpcy5yZXBsYWNlSW5DYWNoZSh0cmFuc2FjdGlvblRvVXBkYXRlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbGlzdGVuVmVoaWNsZUNsYWltQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oW1xuICAgICAgQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0NSRUFURUQsXG4gICAgICBBcHBFdmVudFR5cGVFbnVtLlZFSElDTEVfQ0xBSU1fVVBEQVRFRCxcbiAgICAgIEFwcEV2ZW50VHlwZUVudW0uVkVISUNMRV9DTEFJTV9ERVRBSUxTX1VQREFURURcbiAgICBdKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZXNldENhY2hlKCk7XG4gICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgcmVwbGFjZUluQ2FjaGUodHJhbnNhY3Rpb25Ub1JlcGxhY2U6IFRyYW5zYWN0aW9uKTogdm9pZCB7XG4gICAgcmVwbGFjZSh0aGlzLmNhY2hlLCB0cmFuc2FjdGlvblRvUmVwbGFjZSk7XG4gICAgdGhpcy51cGRhdGVDYWNoZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Inject, Injectable } from '@angular/core';
|
|
2
2
|
import { VehicleClaimDetails } from '../../../models';
|
|
3
3
|
import { ReplaySubject } from 'rxjs';
|
|
4
|
-
import { map
|
|
4
|
+
import { map } from 'rxjs/operators';
|
|
5
5
|
import { plainToClass } from 'class-transformer';
|
|
6
6
|
import { AppEvent } from '../../../models/event/app-event';
|
|
7
7
|
import { AppEventTypeEnum } from '../../../models/event/app-event-type.enum';
|
|
@@ -70,11 +70,12 @@ export class VehicleClaimDetailsService {
|
|
|
70
70
|
* @TODO Vik: Best period move this and related logic to backend
|
|
71
71
|
*/
|
|
72
72
|
updateToManual() {
|
|
73
|
-
//
|
|
74
|
-
|
|
73
|
+
// no need to update if cache not exist
|
|
74
|
+
if (!this.cache) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
75
77
|
const vehicleClaimDetails = plainToClass(VehicleClaimDetails, Object.assign({}, this.cache, { isManual: true }));
|
|
76
|
-
|
|
77
|
-
this.update(vehicleClaimDetails).pipe(take(1)).subscribe();
|
|
78
|
+
this.update(vehicleClaimDetails).subscribe();
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
81
|
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 });
|
|
@@ -88,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
|
|
|
88
89
|
type: Inject,
|
|
89
90
|
args: ['environment']
|
|
90
91
|
}] }, { type: i1.HttpClient }, { type: i2.EventDispatcherService }]; } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVoaWNsZS1jbGFpbS1kZXRhaWxzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dC1jb3JlL3NyYy9saWIvc2VydmljZXMvaHR0cC92ZWhpY2xlL3ZlaGljbGUtY2xhaW0tZGV0YWlscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBaUIsbUJBQW1CLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxHQUFHLEVBQVEsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7O0FBRzdFOztHQUVHO0FBSUgsTUFBTSxPQUFPLDBCQUEwQjtJQUtyQyxZQUNtQyxXQUFnQixFQUN6QyxJQUFnQixFQUNoQixzQkFBOEM7UUFGckIsZ0JBQVcsR0FBWCxXQUFXLENBQUs7UUFDekMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBTnhELGlCQUFZLEdBQXVDLElBQUksYUFBYSxDQUFzQixDQUFDLENBQUMsQ0FBQztRQUM3RixRQUFHLEdBQVcsdUJBQXVCLENBQUM7UUFPcEMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELEdBQUc7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFB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QUU7WUFDZixPQUFPO1NBQ1I7UUFFRCxNQUFNLG1CQUFtQixHQUF3QixZQUFZLENBQzNELG1CQUFtQixFQUNuQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQ2hELENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDL0MsQ0FBQzs7d0hBOUZVLDBCQUEwQixrQkFNM0IsYUFBYTs0SEFOWiwwQkFBMEIsY0FGekIsTUFBTTs0RkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPSSxNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZlaGljbGVDbGFpbURldGFpbHMgYXMgVmVoaWNsZUNsYWltRGV0YWlsc0Jhc2UgfSBmcm9tICcuLi8uLi8uLi9kYi9Nb2RlbHMvdmVoaWNsZS92ZWhpY2xlLWNsYWltLWRldGFpbHMnO1xuaW1wb3J0IHsgTG9nYm9va1BlcmlvZCwgVmVoaWNsZUNsYWltRGV0YWlscyB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgcGxhaW5Ub0NsYXNzIH0gZnJvbSAnY2xhc3MtdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgRXZlbnREaXNwYXRjaGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2V2ZW50L2V2ZW50LWRpc3BhdGNoZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBFdmVudCB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQnO1xuaW1wb3J0IHsgQXBwRXZlbnRUeXBlRW51bSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9ldmVudC9hcHAtZXZlbnQtdHlwZS5lbnVtJztcbmltcG9ydCB7IElFdmVudExpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9ldmVudC1saXN0ZW5lci5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEBUT0RPIFRULTE3NzcgQWxleDogZXh0ZW5kIGZyb20gcmVzdCBzZXJ2aWNlIHdoZW4gaXQgcmVmYWN0b3JlZFxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBWZWhpY2xlQ2xhaW1EZXRhaWxzU2VydmljZSBpbXBsZW1lbnRzIElFdmVudExpc3RlbmVyIHtcbiAgY2FjaGU6IFZlaGljbGVDbGFpbURldGFpbHM7XG4gIGNhY2hlU3ViamVjdDogUmVwbGF5U3ViamVjdDxWZWhpY2xlQ2xhaW1EZXRhaWxzPiA9IG5ldyBSZXBsYXlTdWJqZWN0PFZlaGljbGVDbGFpbURldGFpbHM+KDEpO1xuICB1cmw6IHN0cmluZyA9ICd2ZWhpY2xlLWNsYWltLWRldGFpbHMnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJvdGVjdGVkIGVudmlyb25tZW50OiBhbnksXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgZXZlbnREaXNwYXRjaGVyU2VydmljZTogRXZlbnREaXNwYXRjaGVyU2VydmljZVxuICApIHtcbiAgICB0aGlzLmxpc3RlbkV2ZW50cygpO1xuICB9XG5cbiAgbGlzdGVuRXZlbnRzKCk6IHZvaWQge1xuICAgIHRoaXMubGlzdGVuQmVzdFBlcmlvZENoYW5nZXMoKTtcbiAgfVxuXG4gIGdldCgpOiBPYnNlcnZhYmxlPFZlaGljbGVDbGFpbURldGFpbHM+IHtcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBvYmplY3QpOiBWZWhpY2xlQ2xhaW1EZXRhaWxzID0+IHBsYWluVG9DbGFzcyhWZWhpY2xlQ2xhaW1EZXRhaWxzLCByZXNwb25zZVsnaHlkcmE6bWVtYmVyJ11bMF0sIHtleGNsdWRlUHJlZml4ZXM6IFsnQCddfSkpXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgodmVoaWNsZUNsYWltRGV0YWlsczogVmVoaWNsZUNsYWltRGV0YWlscykgPT4ge1xuICAgICAgICAgIHRoaXMuY2FjaGUgPSB2ZWhpY2xlQ2xhaW1EZXRhaWxzO1xuICAgICAgICAgIHRoaXMuY2FjaGVTdWJqZWN0Lm5leHQodGhpcy5jYWNoZSk7XG4gICAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuY2FjaGVTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgYWRkKGRldGFpbHM6IFZlaGljbGVDbGFpbURldGFpbHMpOiBPYnNlcnZhYmxlPFZlaGljbGVDbGFpbURldGFpbHM+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH1gLCBkZXRhaWxzKS5waXBlKFxuICAgICAgbWFwKChuZXdEZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzQmFzZSkgPT4ge1xuICAgICAgICBjb25zdCBkZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzID0gcGxhaW5Ub0NsYXNzKFZlaGljbGVDbGFpbURldGFpbHMsIG5ld0RldGFpbHMpO1xuXG4gICAgICAgIHRoaXMuY2FjaGUgPSBkZXRhaWxzO1xuICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KGRldGFpbHMpO1xuXG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfQ1JFQVRFRCwgZGV0YWlscykpXG5cbiAgICAgICAgcmV0dXJuIGRldGFpbHM7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG4gIHVwZGF0ZShkZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzKTogT2JzZXJ2YWJsZTxWZWhpY2xlQ2xhaW1EZXRhaWxzPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy5lbnZpcm9ubWVudC5hcGlWMn0vJHt0aGlzLnVybH0vJHtkZXRhaWxzLmlkfWAsIGRldGFpbHMpLnBpcGUoXG4gICAgICBtYXAoKHVwZGF0ZWREZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzQmFzZSkgPT4ge1xuICAgICAgICBjb25zdCBkZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzID0gcGxhaW5Ub0NsYXNzKFZlaGljbGVDbGFpbURldGFpbHMsIHVwZGF0ZWREZXRhaWxzLCB7ZXhjbHVkZVByZWZpeGVzOiBbJ0AnXX0pO1xuXG4gICAgICAgIHRoaXMuY2FjaGUgPSBkZXRhaWxzO1xuICAgICAgICB0aGlzLmNhY2hlU3ViamVjdC5uZXh0KGRldGFpbHMpO1xuXG4gICAgICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyU2VydmljZS5kaXNwYXRjaChuZXcgQXBwRXZlbnQoQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0NMQUlNX0RFVEFJTFNfVVBEQVRFRCwgZGV0YWlscykpXG5cbiAgICAgICAgcmV0dXJuIGRldGFpbHM7XG4gICAgICB9KVxuICAgIClcbiAgfVxuXG5cbiAgLyoqXG4gICAqIExpc3RlbiBsb2dib29rIGJlc3QgcGVyaW9kIHVwZGF0ZXNcbiAgICogQFRPRE8gVmlrOiBCZXN0IHBlcmlvZCBtb3ZlIHRoaXMgYW5kIHJlbGF0ZWQgbG9naWMgdG8gYmFja2VuZFxuICAgKi9cbiAgcHJpdmF0ZSBsaXN0ZW5CZXN0UGVyaW9kQ2hhbmdlcygpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlclNlcnZpY2Uub24oQXBwRXZlbnRUeXBlRW51bS5WRUhJQ0xFX0xPR0JPT0tfQkVTVF9QRVJJT0RfVVBEQVRFRClcbiAgICAgIC5zdWJzY3JpYmUoKGJlc3RQZXJpb2Q6IExvZ2Jvb2tQZXJpb2QpID0+IHtcbiAgICAgICAgLy8gU2V0IGRldGFpbHMgYXMgbWFudWFsIGlmIGJlc3QgcGVyaW9kIHN0b3AgZXhpc3QgKHJlbW92ZWQgbG9nYm9vayBjYXNlKVxuICAgICAgICBpZiAoIWJlc3RQZXJpb2QpIHtcbiAgICAgICAgICB0aGlzLnVwZGF0ZVRvTWFudWFsKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cblxuICAvKipcbiAgICogU2V0IHZlaGljbGUgY2xhaW0gZGV0YWlscyBhcyBtYW51YWxcbiAgICogQFRPRE8gVmlrOiBCZXN0IHBlcmlvZCBtb3ZlIHRoaXMgYW5kIHJlbGF0ZWQgbG9naWMgdG8gYmFja2VuZFxuICAgKi9cbiAgcHJpdmF0ZSB1cGRhdGVUb01hbnVhbCgpOiB2b2lkIHtcbiAgICAvLyBubyBuZWVkIHRvIHVwZGF0ZSBpZiBjYWNoZSBub3QgZXhpc3RcbiAgICBpZiAoIXRoaXMuY2FjaGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB2ZWhpY2xlQ2xhaW1EZXRhaWxzOiBWZWhpY2xlQ2xhaW1EZXRhaWxzID0gcGxhaW5Ub0NsYXNzKFxuICAgICAgVmVoaWNsZUNsYWltRGV0YWlscyxcbiAgICAgIE9iamVjdC5hc3NpZ24oe30sIHRoaXMuY2FjaGUsIHtpc01hbnVhbDogdHJ1ZX0pXG4gICAgKTtcblxuICAgIHRoaXMudXBkYXRlKHZlaGljbGVDbGFpbURldGFpbHMpLnN1YnNjcmliZSgpO1xuICB9XG59XG4iXX0=
|