@myclub_se/data-access 3.1.5 → 3.1.7
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/esm2022/lib/api-models/api-bookable-item.mjs +1 -1
- package/esm2022/lib/api-models/api-booking-calendar-application-time.mjs +1 -1
- package/esm2022/lib/api-models/api-booking-calendar-slot-session.mjs +1 -1
- package/esm2022/lib/api-models/api-booking-calendar-slot.mjs +1 -1
- package/esm2022/lib/api-models/api-booking-calendar.mjs +1 -1
- package/esm2022/lib/api-models/api-card/api-member-card.mjs +1 -1
- package/esm2022/lib/api-models/api-card/api-selected-field.mjs +2 -0
- package/esm2022/lib/api-models/api-card/index.mjs +2 -1
- package/esm2022/lib/api-models/api-invoice/api-payment-order.mjs +2 -0
- package/esm2022/lib/api-models/api-invoice/index.mjs +2 -1
- package/esm2022/lib/models/activity-type.mjs +3 -3
- package/esm2022/lib/models/bookable-item.mjs +4 -2
- package/esm2022/lib/models/booking-calendar-application-time.mjs +6 -2
- package/esm2022/lib/models/booking-calendar-slot-session.mjs +8 -2
- package/esm2022/lib/models/booking-calendar-slot.mjs +5 -2
- package/esm2022/lib/models/booking-calendar.mjs +8 -2
- package/esm2022/lib/models/booking-slot-filter.mjs +4 -1
- package/esm2022/lib/models/card/index.mjs +2 -1
- package/esm2022/lib/models/card/member-card.mjs +4 -2
- package/esm2022/lib/models/card/selected-field.mjs +9 -0
- package/esm2022/lib/models/invoice/index.mjs +2 -1
- package/esm2022/lib/models/invoice/payment-order.mjs +21 -0
- package/esm2022/lib/services/activity.service.mjs +17 -6
- package/esm2022/lib/services/bookable.service.mjs +46 -14
- package/esm2022/lib/services/booking-calendar.service.mjs +94 -26
- package/esm2022/lib/services/constant.service.mjs +9 -1
- package/esm2022/lib/services/constants.mjs +2 -0
- package/esm2022/lib/services/factories/bookable-item-factory.mjs +2 -2
- package/esm2022/lib/services/factories/booking-calendar-application-time-factory.mjs +2 -2
- package/esm2022/lib/services/factories/booking-calendar-factory.mjs +2 -2
- package/esm2022/lib/services/factories/booking-calendar-slot-factory.mjs +2 -2
- package/esm2022/lib/services/factories/booking-calendar-slot-session-factory.mjs +2 -2
- package/esm2022/lib/services/factories/member-card-factory.mjs +3 -3
- package/esm2022/lib/services/factories/payment-order-factory.mjs +5 -0
- package/esm2022/lib/services/feature-flags.service.mjs +5 -2
- package/esm2022/lib/services/invoice/index.mjs +2 -1
- package/esm2022/lib/services/invoice/payment-order.service.mjs +34 -0
- package/esm2022/lib/services/member.service.mjs +5 -2
- package/esm2022/lib/services/team.service.mjs +5 -2
- package/esm2022/lib/store/actions/booking.actions.mjs +19 -1
- package/esm2022/lib/store/actions/constant.actions.mjs +13 -1
- package/esm2022/lib/store/actions/invoice.actions.mjs +15 -1
- package/esm2022/lib/store/effects/auth.effects.mjs +2 -2
- package/esm2022/lib/store/effects/booking.effects.mjs +49 -3
- package/esm2022/lib/store/effects/constant.effects.mjs +8 -2
- package/esm2022/lib/store/effects/invoice.effects.mjs +22 -3
- package/esm2022/lib/store/reducers/booking.reducers.mjs +63 -12
- package/esm2022/lib/store/reducers/constant.reducer.mjs +14 -2
- package/esm2022/lib/store/reducers/invoice.reducer.mjs +4 -4
- package/esm2022/lib/store/selectors/booking.selectors.mjs +4 -1
- package/esm2022/lib/store/selectors/constant.selectors.mjs +3 -1
- package/esm2022/lib/store/selectors/invoice.selectors.mjs +3 -1
- package/esm2022/lib/store/state/booking.state.mjs +4 -1
- package/esm2022/lib/store/state/constant.state.mjs +3 -1
- package/esm2022/lib/store/state/invoice.state.mjs +3 -1
- package/fesm2022/myclub_se-data-access.mjs +475 -73
- package/fesm2022/myclub_se-data-access.mjs.map +1 -1
- package/lib/api-models/api-bookable-item.d.ts +1 -0
- package/lib/api-models/api-booking-calendar-application-time.d.ts +2 -0
- package/lib/api-models/api-booking-calendar-slot-session.d.ts +3 -0
- package/lib/api-models/api-booking-calendar-slot.d.ts +1 -0
- package/lib/api-models/api-booking-calendar.d.ts +2 -0
- package/lib/api-models/api-card/api-member-card.d.ts +2 -0
- package/lib/api-models/api-card/api-selected-field.d.ts +4 -0
- package/lib/api-models/api-card/index.d.ts +1 -0
- package/lib/api-models/api-invoice/api-payment-order.d.ts +11 -0
- package/lib/api-models/api-invoice/index.d.ts +1 -0
- package/lib/models/bookable-item.d.ts +2 -1
- package/lib/models/booking-calendar-application-time.d.ts +3 -1
- package/lib/models/booking-calendar-slot-session.d.ts +4 -1
- package/lib/models/booking-calendar-slot.d.ts +3 -1
- package/lib/models/booking-calendar.d.ts +5 -1
- package/lib/models/booking-slot-filter.d.ts +1 -0
- package/lib/models/card/index.d.ts +1 -0
- package/lib/models/card/member-card.d.ts +3 -1
- package/lib/models/card/selected-field.d.ts +5 -0
- package/lib/models/invoice/index.d.ts +1 -0
- package/lib/models/invoice/payment-order.d.ts +12 -0
- package/lib/services/bookable.service.d.ts +2 -1
- package/lib/services/booking-calendar.service.d.ts +2 -0
- package/lib/services/constant.service.d.ts +2 -0
- package/lib/services/constants.d.ts +1 -0
- package/lib/services/factories/payment-order-factory.d.ts +3 -0
- package/lib/services/invoice/index.d.ts +1 -0
- package/lib/services/invoice/payment-order.service.d.ts +15 -0
- package/lib/store/actions/booking.actions.d.ts +60 -0
- package/lib/store/actions/constant.actions.d.ts +28 -0
- package/lib/store/actions/invoice.actions.d.ts +46 -2
- package/lib/store/effects/booking.effects.d.ts +15 -0
- package/lib/store/effects/constant.effects.d.ts +10 -0
- package/lib/store/effects/invoice.effects.d.ts +12 -1
- package/lib/store/selectors/booking.selectors.d.ts +3 -0
- package/lib/store/selectors/constant.selectors.d.ts +2 -0
- package/lib/store/selectors/invoice.selectors.d.ts +2 -0
- package/lib/store/state/booking.state.d.ts +4 -1
- package/lib/store/state/constant.state.d.ts +2 -0
- package/lib/store/state/invoice.state.d.ts +3 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { inject, Injectable } from '@angular/core';
|
|
2
2
|
import { Actions, createEffect, ofType } from '@ngrx/effects';
|
|
3
|
-
import { retrieveActivityMaxAttendantsTypesConstantsAction, retrieveActivityMaxAttendantsTypesConstantsFailureAction, retrieveActivityMaxAttendantsTypesConstantsSuccessAction, retrieveActivityMeetUpTimesConstantsAction, retrieveActivityMeetUpTimesConstantsFailureAction, retrieveActivityMeetUpTimesConstantsSuccessAction, retrieveActivityReminderDaysConstantsAction, retrieveActivityReminderDaysConstantsFailureAction, retrieveActivityReminderDaysConstantsSuccessAction, retrieveActivityReminderReceiversConstantsAction, retrieveActivityReminderReceiversConstantsFailureAction, retrieveActivityReminderReceiversConstantsSuccessAction, retrieveActivityReminderTimesConstantsAction, retrieveActivityReminderTimesConstantsFailureAction, retrieveActivityReminderTimesConstantsSuccessAction, retrieveActivityRepeatOptionsConstantsAction, retrieveActivityRepeatOptionsConstantsFailureAction, retrieveActivityRepeatOptionsConstantsSuccessAction, retrieveActivityRepeatTypeOptionsConstantsAction, retrieveActivityRepeatTypeOptionsConstantsFailureAction, retrieveActivityRepeatTypeOptionsConstantsSuccessAction, retrieveActivitySettingsConstantsAction, retrieveActivitySettingsConstantsFailureAction, retrieveActivitySettingsConstantsSuccessAction, retrieveBookingCalendarStatusesAction, retrieveBookingCalendarStatusesFailureAction, retrieveBookingCalendarStatusesSuccessAction, retrieveBookingCalendarTypesAction, retrieveBookingCalendarTypesFailureAction, retrieveBookingCalendarTypesSuccessAction, retrieveBookingSlotReservedTimePositionsAction, retrieveBookingSlotReservedTimePositionsFailureAction, retrieveBookingSlotReservedTimePositionsSuccessAction, retrieveBookingSlotSessionTypesAction, retrieveBookingSlotSessionTypesFailureAction, retrieveBookingSlotSessionTypesSuccessAction, retrieveBookingSlotTypesAction, retrieveBookingSlotTypesFailureAction, retrieveBookingSlotTypesSuccessAction, retrieveCountriesConstantsAction, retrieveCountriesConstantsFailureAction, retrieveCountriesConstantsSuccessAction, retrieveFeatureFlagsAction, retrieveFeatureFlagsFailureAction, retrieveFeatureFlagsSuccessAction, retrieveLanguagesConstantsAction, retrieveLanguagesConstantsFailureAction, retrieveLanguagesConstantsSuccessAction, retrieveMemberContactTypesConstantsAction, retrieveMemberContactTypesConstantsFailureAction, retrieveMemberContactTypesConstantsSuccessAction } from '../actions';
|
|
3
|
+
import { retrieveActivityMaxAttendantsTypesConstantsAction, retrieveActivityMaxAttendantsTypesConstantsFailureAction, retrieveActivityMaxAttendantsTypesConstantsSuccessAction, retrieveActivityMeetUpTimesConstantsAction, retrieveActivityMeetUpTimesConstantsFailureAction, retrieveActivityMeetUpTimesConstantsSuccessAction, retrieveActivityReminderDaysConstantsAction, retrieveActivityReminderDaysConstantsFailureAction, retrieveActivityReminderDaysConstantsSuccessAction, retrieveActivityReminderReceiversConstantsAction, retrieveActivityReminderReceiversConstantsFailureAction, retrieveActivityReminderReceiversConstantsSuccessAction, retrieveActivityReminderTimesConstantsAction, retrieveActivityReminderTimesConstantsFailureAction, retrieveActivityReminderTimesConstantsSuccessAction, retrieveActivityRepeatOptionsConstantsAction, retrieveActivityRepeatOptionsConstantsFailureAction, retrieveActivityRepeatOptionsConstantsSuccessAction, retrieveActivityRepeatTypeOptionsConstantsAction, retrieveActivityRepeatTypeOptionsConstantsFailureAction, retrieveActivityRepeatTypeOptionsConstantsSuccessAction, retrieveActivitySettingsConstantsAction, retrieveActivitySettingsConstantsFailureAction, retrieveActivitySettingsConstantsSuccessAction, retrieveBookingCalendarStatusesAction, retrieveBookingCalendarStatusesFailureAction, retrieveBookingCalendarStatusesSuccessAction, retrieveBookingCalendarTypesAction, retrieveBookingCalendarTypesFailureAction, retrieveBookingCalendarTypesSuccessAction, retrieveBookingSlotReservedTimePositionsAction, retrieveBookingSlotReservedTimePositionsFailureAction, retrieveBookingSlotReservedTimePositionsSuccessAction, retrieveBookingSlotSessionTypesAction, retrieveBookingSlotSessionTypesFailureAction, retrieveBookingSlotSessionTypesSuccessAction, retrieveBookingSlotTypesAction, retrieveBookingSlotTypesFailureAction, retrieveBookingSlotTypesSuccessAction, retrieveCountriesConstantsAction, retrieveCountriesConstantsFailureAction, retrieveCountriesConstantsSuccessAction, retrieveFeatureFlagsAction, retrieveFeatureFlagsFailureAction, retrieveFeatureFlagsSuccessAction, retrieveLanguagesConstantsAction, retrieveLanguagesConstantsFailureAction, retrieveLanguagesConstantsSuccessAction, retrieveMemberBookingSlotTypesAction, retrieveMemberBookingSlotTypesFailureAction, retrieveMemberBookingSlotTypesSuccessAction, retrieveMemberContactTypesConstantsAction, retrieveMemberContactTypesConstantsFailureAction, retrieveMemberContactTypesConstantsSuccessAction, retrieveTeamBookingSlotTypesAction, retrieveTeamBookingSlotTypesFailureAction, retrieveTeamBookingSlotTypesSuccessAction } from '../actions';
|
|
4
4
|
import { ConstantService, FeatureFlagsService } from '../../services';
|
|
5
5
|
import { exhaustMap, of } from 'rxjs';
|
|
6
6
|
import { catchError, map } from 'rxjs/operators';
|
|
@@ -45,6 +45,12 @@ export class ConstantEffects {
|
|
|
45
45
|
retrieveBookingSlotTypes$ = createEffect(() => this.actions$
|
|
46
46
|
.pipe(ofType(retrieveBookingSlotTypesAction), exhaustMap(() => this.constantService.getBookingSlotTypes()
|
|
47
47
|
.pipe(map((constants) => retrieveBookingSlotTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveBookingSlotTypesFailureAction({ payload: error })))))));
|
|
48
|
+
retrieveTeamBookingSlotTypes$ = createEffect(() => this.actions$
|
|
49
|
+
.pipe(ofType(retrieveTeamBookingSlotTypesAction), exhaustMap(() => this.constantService.getTeamBookingSlotTypes()
|
|
50
|
+
.pipe(map((constants) => retrieveTeamBookingSlotTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveTeamBookingSlotTypesFailureAction({ payload: error })))))));
|
|
51
|
+
retrieveMemberBookingSlotTypes$ = createEffect(() => this.actions$
|
|
52
|
+
.pipe(ofType(retrieveMemberBookingSlotTypesAction), exhaustMap(() => this.constantService.getMemberBookingSlotTypes()
|
|
53
|
+
.pipe(map((constants) => retrieveMemberBookingSlotTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveMemberBookingSlotTypesFailureAction({ payload: error })))))));
|
|
48
54
|
retrieveBookingSlotReservedTimePositions$ = createEffect(() => this.actions$
|
|
49
55
|
.pipe(ofType(retrieveBookingSlotReservedTimePositionsAction), exhaustMap(() => this.constantService.getBookingSlotReservedTimePositions()
|
|
50
56
|
.pipe(map((constants) => retrieveBookingSlotReservedTimePositionsSuccessAction({ payload: constants })), catchError((error) => of(retrieveBookingSlotReservedTimePositionsFailureAction({ payload: error })))))));
|
|
@@ -66,4 +72,4 @@ export class ConstantEffects {
|
|
|
66
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ConstantEffects, decorators: [{
|
|
67
73
|
type: Injectable
|
|
68
74
|
}] });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9jb25zdGFudC5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsaURBQWlELEVBQ2pELHdEQUF3RCxFQUN4RCx3REFBd0QsRUFDeEQsMENBQTBDLEVBQzFDLGlEQUFpRCxFQUNqRCxpREFBaUQsRUFDakQsMkNBQTJDLEVBQzNDLGtEQUFrRCxFQUNsRCxrREFBa0QsRUFDbEQsZ0RBQWdELEVBQ2hELHVEQUF1RCxFQUN2RCx1REFBdUQsRUFDdkQsNENBQTRDLEVBQzVDLG1EQUFtRCxFQUNuRCxtREFBbUQsRUFDbkQsNENBQTRDLEVBQzVDLG1EQUFtRCxFQUNuRCxtREFBbUQsRUFDbkQsZ0RBQWdELEVBQ2hELHVEQUF1RCxFQUN2RCx1REFBdUQsRUFDdkQsdUNBQXVDLEVBQ3ZDLDhDQUE4QyxFQUM5Qyw4Q0FBOEMsRUFDOUMscUNBQXFDLEVBQ3JDLDRDQUE0QyxFQUM1Qyw0Q0FBNEMsRUFDNUMsa0NBQWtDLEVBQ2xDLHlDQUF5QyxFQUN6Qyx5Q0FBeUMsRUFDekMsOENBQThDLEVBQzlDLHFEQUFxRCxFQUNyRCxxREFBcUQsRUFDckQscUNBQXFDLEVBQ3JDLDRDQUE0QyxFQUM1Qyw0Q0FBNEMsRUFDNUMsOEJBQThCLEVBQzlCLHFDQUFxQyxFQUNyQyxxQ0FBcUMsRUFDckMsZ0NBQWdDLEVBQ2hDLHVDQUF1QyxFQUN2Qyx1Q0FBdUMsRUFDdkMsMEJBQTBCLEVBQzFCLGlDQUFpQyxFQUNqQyxpQ0FBaUMsRUFDakMsZ0NBQWdDLEVBQ2hD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QyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLHVCQUF1QixFQUFFO1NBQzVELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxTQUFpQyxFQUFFLEVBQUUsQ0FBQyx5Q0FBeUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFDLEVBQzNHLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyx5Q0FBeUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDMUcsQ0FDRixDQUNGLENBQ0YsQ0FBQztJQUVGLHFCQUFxQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTtTQUNyRCxJQUFJLENBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEVBQ2xDLFVBQVUsQ0FDUixDQUFDLEVBQUMsSUFBSSxFQUFFLHFCQUFxQixFQUc1QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxxQkFBcUIsQ0FBQztTQUN4RSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFLENBQUMsaUNBQWlDLENBQUMsRUFBQyxPQUFPLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQyxFQUMvRixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsaUNBQWlDLENBQUMsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2xHLENBQ0osQ0FDRixDQUNGLENBQUM7dUdBbk5TLGVBQWU7MkdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7XG4gIHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWF4QXR0ZW5kYW50c1R5cGVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWVldFVwVGltZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWVldFVwVGltZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyRGF5c0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclJlY2VpdmVyc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclRpbWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdE9wdGlvbnNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9uc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVNldHRpbmdzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5U2V0dGluZ3NDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5U2V0dGluZ3NDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVCb29raW5nQ2FsZW5kYXJTdGF0dXNlc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXNBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclR5cGVzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9uc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9uc0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFNlc3Npb25UeXBlc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFR5cGVzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFR5cGVzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQ291bnRyaWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUZlYXR1cmVGbGFnc0FjdGlvbixcbiAgcmV0cmlldmVGZWF0dXJlRmxhZ3NGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUZlYXR1cmVGbGFnc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTGFuZ3VhZ2VzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUxhbmd1YWdlc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlTGFuZ3VhZ2VzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJDb250YWN0VHlwZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyQ29udGFjdFR5cGVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJDb250YWN0VHlwZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uXG59IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgQ29uc3RhbnRTZXJ2aWNlLCBGZWF0dXJlRmxhZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgT3B0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBleGhhdXN0TWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBGZWF0dXJlRmxhZ3MsIFJvbGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb25zdGFudEVmZmVjdHMge1xuICBwcml2YXRlIGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIGNvbnN0YW50U2VydmljZSA9IGluamVjdChDb25zdGFudFNlcnZpY2UpO1xuICBwcml2YXRlIGZlYXR1cmVGbGFnc1NlcnZpY2UgPSBpbmplY3QoRmVhdHVyZUZsYWdzU2VydmljZSk7XG5cbiAgcmV0cmlldmVMYW5ndWFnZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUxhbmd1YWdlc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldExhbmd1YWdlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUxhbmd1YWdlc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlTGFuZ3VhZ2VzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVNldHRpbmdzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVBY3Rpdml0eVNldHRpbmdzQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0QWN0aXZpdHlJbnZpdGVTZXR0aW5ncygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5U2V0dGluZ3NDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUFjdGl2aXR5U2V0dGluZ3NDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUFjdGl2aXR5TWF4QXR0ZW5kYW50c1R5cGVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVBY3Rpdml0eU1heEF0dGVuZGFudHNUeXBlc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5TWF4QXR0ZW5kYW50c1R5cGVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUFjdGl2aXR5TWF4QXR0ZW5kYW50c1R5cGVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0QWN0aXZpdHlNZWV0VXBUaW1lcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5TWVldFVwVGltZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUFjdGl2aXR5TWVldFVwVGltZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVBY3Rpdml0eVJlbWluZGVyRGF5c0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5UmVtaW5kZXJEYXlzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlckRheXNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0QWN0aXZpdHlSZW1pbmRlclJlY2VpdmVycygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJSZWNlaXZlcnNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJSZWNlaXZlcnNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJUaW1lcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclRpbWVzQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0QWN0aXZpdHlSZW1pbmRlclRpbWVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclRpbWVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9ucyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlSZXBlYXRPcHRpb25zQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0QWN0aXZpdHlSZXBlYXRPcHRpb25zKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQWN0aXZpdHlSZXBlYXRPcHRpb25zQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVJlcGVhdE9wdGlvbnNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0VHlwZU9wdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUFjdGl2aXR5UmVwZWF0VHlwZU9wdGlvbnNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9uc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9uc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQ291bnRyaWVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRDb3VudHJpZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUNvdW50cmllc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlTWVtYmVyQ29udGFjdFR5cGVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVNZW1iZXJDb250YWN0VHlwZXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRNZW1iZXJDb250YWN0VHlwZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVNZW1iZXJDb250YWN0VHlwZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZU1lbWJlckNvbnRhY3RUeXBlc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEJvb2tpbmdTbG90VHlwZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVCb29raW5nU2xvdFR5cGVzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVCb29raW5nU2xvdFR5cGVzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9ucyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9ucygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUJvb2tpbmdTbG90UmVzZXJ2ZWRUaW1lUG9zaXRpb25zU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9uc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RTZXNzaW9uVHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0Qm9va2luZ1Nsb3RTZXNzaW9uVHlwZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVCb29raW5nU2xvdFNlc3Npb25UeXBlc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQm9va2luZ1Nsb3RTZXNzaW9uVHlwZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVCb29raW5nQ2FsZW5kYXJTdGF0dXNlc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEJvb2tpbmdDYWxlbmRhclN0YXR1c2VzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQm9va2luZ0NhbGVuZGFyU3RhdHVzZXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVCb29raW5nQ2FsZW5kYXJUeXBlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRCb29raW5nQ2FsZW5kYXJUeXBlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclR5cGVzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVCb29raW5nQ2FsZW5kYXJUeXBlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlRmVhdHVyZUZsYWdzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVGZWF0dXJlRmxhZ3NBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcChcbiAgICAgICAgKHtyb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWR9OiB7XG4gICAgICAgICAgcm9sZTogUm9sZSxcbiAgICAgICAgICBjbHViT3JTZWN0aW9uT3JUZWFtSWQ6IHN0cmluZ1xuICAgICAgICB9KSA9PiB0aGlzLmZlYXR1cmVGbGFnc1NlcnZpY2UuZ2V0RmVhdHVyZUZsYWdzKHJvbGUsIGNsdWJPclNlY3Rpb25PclRlYW1JZClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoZmVhdHVyZUZsYWdzOiBGZWF0dXJlRmxhZ3MpID0+IHJldHJpZXZlRmVhdHVyZUZsYWdzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogZmVhdHVyZUZsYWdzfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUZlYXR1cmVGbGFnc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG59XG4iXX0=
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9jb25zdGFudC5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsaURBQWlELEVBQ2pELHdEQUF3RCxFQUN4RCx3REFBd0QsRUFDeEQsMENBQTBDLEVBQzFDLGlEQUFpRCxFQUNqRCxpREFBaUQsRUFDakQsMkNBQTJDLEVBQzNDLGtEQUFrRCxFQUNsRCxrREFBa0QsRUFDbEQsZ0RBQWdELEVBQ2hELHVEQUF1RCxFQUN2RCx1REFBdUQsRUFDdkQsNENBQTRDLEVBQzVDLG1EQUFtRCxFQUNuRCxtREFBbUQsRUFDbkQsNENBQTRDLEVBQzVDLG1EQUFtRCxFQUNuRCxtREFBbUQsRUFDbkQsZ0RBQWdELEVBQ2hELHVEQUF1RCxFQUN2RCx1REFBdUQsRUFDdkQsdUNBQXVDLEVBQ3ZDLDhDQUE4QyxFQUM5Qyw4Q0FBOEMsRUFDOUMscUNBQXFDLEVBQ3JDLDRDQUE0QyxFQUM1Qyw0Q0FBNEMsRUFDNUMsa0NBQWtDLEVBQ2xDLHlDQUF5QyxFQUN6Qyx5Q0FBeUMsRUFDekMsOENBQThDLEVBQzlDLHFEQUFxRCxFQUNyRCxxREFBcUQsRUFDckQscUNBQXFDLEVBQ3JDLDRDQUE0QyxFQUM1Qyw0Q0FBNEMsRUFDNUMsOEJBQThCLEVBQzlCLHFDQUFxQyxFQUNyQyxxQ0FBcUMsRUFDckMsZ0NBQWdDLEVBQ2hDLHVDQUF1QyxFQUN2Qyx1Q0FBdUMsRUFDdkMsMEJBQTBCLEVBQzFCLGlDQUFpQyxFQUNqQyxpQ0FBaUMsRUFDakMsZ0NBQWdDLEVBQ2hD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O1NBQzVELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxTQUFpQyxFQUFFLEVBQUUsQ0FBQyx5Q0FBeUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFDLEVBQzNHLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyx5Q0FBeUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDMUcsQ0FDRixDQUNGLENBQ0YsQ0FBQztJQUVGLHFCQUFxQixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTtTQUNyRCxJQUFJLENBQ0gsTUFBTSxDQUFDLDBCQUEwQixDQUFDLEVBQ2xDLFVBQVUsQ0FDUixDQUFDLEVBQUMsSUFBSSxFQUFFLHFCQUFxQixFQUc1QixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxxQkFBcUIsQ0FBQztTQUN4RSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsWUFBMEIsRUFBRSxFQUFFLENBQUMsaUNBQWlDLENBQUMsRUFBQyxPQUFPLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQyxFQUMvRixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsaUNBQWlDLENBQUMsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2xHLENBQ0osQ0FDRixDQUNGLENBQUM7dUdBM09TLGVBQWU7MkdBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7XG4gIHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWF4QXR0ZW5kYW50c1R5cGVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWVldFVwVGltZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWVldFVwVGltZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyRGF5c0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclJlY2VpdmVyc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclRpbWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdE9wdGlvbnNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9uc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVNldHRpbmdzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5U2V0dGluZ3NDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5U2V0dGluZ3NDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVCb29raW5nQ2FsZW5kYXJTdGF0dXNlc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXNBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclR5cGVzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9uc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9uc0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFNlc3Npb25UeXBlc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFR5cGVzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFR5cGVzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQ291bnRyaWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUZlYXR1cmVGbGFnc0FjdGlvbixcbiAgcmV0cmlldmVGZWF0dXJlRmxhZ3NGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUZlYXR1cmVGbGFnc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTGFuZ3VhZ2VzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUxhbmd1YWdlc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlTGFuZ3VhZ2VzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJCb29raW5nU2xvdFR5cGVzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckJvb2tpbmdTbG90VHlwZXNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckJvb2tpbmdTbG90VHlwZXNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNvbnRhY3RUeXBlc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJDb250YWN0VHlwZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNvbnRhY3RUeXBlc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUJvb2tpbmdTbG90VHlwZXNBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUJvb2tpbmdTbG90VHlwZXNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1Cb29raW5nU2xvdFR5cGVzU3VjY2Vzc0FjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IENvbnN0YW50U2VydmljZSwgRmVhdHVyZUZsYWdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IE9wdGlvbkludGVyZmFjZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZXhoYXVzdE1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRmVhdHVyZUZsYWdzLCBSb2xlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29uc3RhbnRFZmZlY3RzIHtcbiAgcHJpdmF0ZSBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcbiAgcHJpdmF0ZSBjb25zdGFudFNlcnZpY2UgPSBpbmplY3QoQ29uc3RhbnRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBmZWF0dXJlRmxhZ3NTZXJ2aWNlID0gaW5qZWN0KEZlYXR1cmVGbGFnc1NlcnZpY2UpO1xuXG4gIHJldHJpZXZlTGFuZ3VhZ2VzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVMYW5ndWFnZXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRMYW5ndWFnZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVMYW5ndWFnZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUxhbmd1YWdlc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQWN0aXZpdHlTZXR0aW5ncyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlTZXR0aW5nc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5SW52aXRlU2V0dGluZ3MoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVBY3Rpdml0eVNldHRpbmdzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVNldHRpbmdzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eU1heEF0dGVuZGFudHNUeXBlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRBY3Rpdml0eU1heEF0dGVuZGFudHNUeXBlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5TWF4QXR0ZW5kYW50c1R5cGVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eU1heEF0dGVuZGFudHNUeXBlc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQWN0aXZpdHlNZWV0VXBUaW1lcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlNZWV0VXBUaW1lc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5TWVldFVwVGltZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyRGF5cyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlckRheXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRBY3Rpdml0eVJlbWluZGVyRGF5cygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVJlbWluZGVyRGF5c0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclJlY2VpdmVycyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclJlY2VpdmVyc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5UmVtaW5kZXJSZWNlaXZlcnMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJUaW1lc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5UmVtaW5kZXJUaW1lcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJUaW1lc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclRpbWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdE9wdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5UmVwZWF0T3B0aW9ucygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQWN0aXZpdHlSZXBlYXRPcHRpb25zQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0QWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9ucygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0VHlwZU9wdGlvbnNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUFjdGl2aXR5UmVwZWF0VHlwZU9wdGlvbnNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUNvdW50cmllcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQ291bnRyaWVzQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0Q291bnRyaWVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQ291bnRyaWVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZU1lbWJlckNvbnRhY3RUeXBlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlTWVtYmVyQ29udGFjdFR5cGVzQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0TWVtYmVyQ29udGFjdFR5cGVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlTWVtYmVyQ29udGFjdFR5cGVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJDb250YWN0VHlwZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUJvb2tpbmdTbG90VHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUJvb2tpbmdTbG90VHlwZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRCb29raW5nU2xvdFR5cGVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlVGVhbUJvb2tpbmdTbG90VHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZVRlYW1Cb29raW5nU2xvdFR5cGVzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0VGVhbUJvb2tpbmdTbG90VHlwZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVUZWFtQm9va2luZ1Nsb3RUeXBlc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlVGVhbUJvb2tpbmdTbG90VHlwZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZU1lbWJlckJvb2tpbmdTbG90VHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlckJvb2tpbmdTbG90VHlwZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRNZW1iZXJCb29raW5nU2xvdFR5cGVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlTWVtYmVyQm9va2luZ1Nsb3RUeXBlc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlTWVtYmVyQm9va2luZ1Nsb3RUeXBlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUJvb2tpbmdTbG90UmVzZXJ2ZWRUaW1lUG9zaXRpb25zQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0Qm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9uc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVCb29raW5nU2xvdFNlc3Npb25UeXBlc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEJvb2tpbmdTbG90U2Vzc2lvblR5cGVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQm9va2luZ1Nsb3RTZXNzaW9uVHlwZXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVCb29raW5nQ2FsZW5kYXJTdGF0dXNlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQm9va2luZ0NhbGVuZGFyU3RhdHVzZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRCb29raW5nQ2FsZW5kYXJTdGF0dXNlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVCb29raW5nQ2FsZW5kYXJTdGF0dXNlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclR5cGVzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0Qm9va2luZ0NhbGVuZGFyVHlwZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVCb29raW5nQ2FsZW5kYXJUeXBlc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUZlYXR1cmVGbGFncyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlRmVhdHVyZUZsYWdzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoXG4gICAgICAgICh7cm9sZSwgY2x1Yk9yU2VjdGlvbk9yVGVhbUlkfToge1xuICAgICAgICAgIHJvbGU6IFJvbGUsXG4gICAgICAgICAgY2x1Yk9yU2VjdGlvbk9yVGVhbUlkOiBzdHJpbmdcbiAgICAgICAgfSkgPT4gdGhpcy5mZWF0dXJlRmxhZ3NTZXJ2aWNlLmdldEZlYXR1cmVGbGFncyhyb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGZlYXR1cmVGbGFnczogRmVhdHVyZUZsYWdzKSA9PiByZXRyaWV2ZUZlYXR1cmVGbGFnc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGZlYXR1cmVGbGFnc30pKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVGZWF0dXJlRmxhZ3NGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xufVxuIl19
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { inject, Injectable } from '@angular/core';
|
|
2
2
|
import { Actions, createEffect, ofType } from '@ngrx/effects';
|
|
3
|
-
import { InvoiceService, PaymentAttemptService } from '../../services';
|
|
4
|
-
import { createMondidoMemberPaymentAction, createMondidoPaymentFailureAction, createMondidoPaymentSuccessAction, createMondidoPublicPaymentAction, createSwishMemberPaymentAction, createSwishPaymentFailureAction, createSwishPaymentSuccessAction, createSwishPublicPaymentAction, createZimplerMemberPaymentAction, createZimplerPaymentFailureAction, createZimplerPaymentSuccessAction, createZimplerPublicPaymentAction, listMemberInvoicesAction, listMemberInvoicesFailureAction, listMemberInvoicesSuccessAction, retrieveMemberInvoiceAction, retrieveMemberInvoiceFailureAction, retrieveMemberInvoiceSuccessAction, retrieveMemberPaymentAttemptAction, retrieveMemberPaymentAttemptFailureAction, retrieveMemberPaymentAttemptSuccessAction, retrieveMemberSwishQRCodeAction, retrievePublicInvoiceAction, retrievePublicInvoiceFailureAction, retrievePublicInvoiceLogoAction, retrievePublicInvoiceLogoFailureAction, retrievePublicInvoiceLogoSuccessAction, retrievePublicInvoiceSuccessAction, retrievePublicPaymentAttemptAction, retrievePublicPaymentAttemptFailureAction, retrievePublicPaymentAttemptSuccessAction, retrievePublicSwishQRCodeAction, retrieveSwishQRCodeFailureAction, retrieveSwishQRCodeSuccessAction } from '../actions';
|
|
3
|
+
import { InvoiceService, PaymentAttemptService, PaymentOrderService } from '../../services';
|
|
4
|
+
import { createMondidoMemberPaymentAction, createMondidoPaymentFailureAction, createMondidoPaymentSuccessAction, createMondidoPublicPaymentAction, createSwishMemberPaymentAction, createSwishPaymentFailureAction, createSwishPaymentSuccessAction, createSwishPublicPaymentAction, createZimplerMemberPaymentAction, createZimplerPaymentFailureAction, createZimplerPaymentSuccessAction, createZimplerPublicPaymentAction, listMemberInvoicesAction, listMemberInvoicesFailureAction, listMemberInvoicesSuccessAction, listMemberPaymentOrdersAction, listMemberPaymentOrdersFailureAction, listMemberPaymentOrdersSuccessAction, retrieveMemberInvoiceAction, retrieveMemberInvoiceFailureAction, retrieveMemberInvoiceSuccessAction, retrieveMemberPaymentAttemptAction, retrieveMemberPaymentAttemptFailureAction, retrieveMemberPaymentAttemptSuccessAction, retrieveMemberSwishQRCodeAction, retrievePaymentOrderAction, retrievePaymentOrderFailureAction, retrievePaymentOrderSuccessAction, retrievePublicInvoiceAction, retrievePublicInvoiceFailureAction, retrievePublicInvoiceLogoAction, retrievePublicInvoiceLogoFailureAction, retrievePublicInvoiceLogoSuccessAction, retrievePublicInvoiceSuccessAction, retrievePublicPaymentAttemptAction, retrievePublicPaymentAttemptFailureAction, retrievePublicPaymentAttemptSuccessAction, retrievePublicSwishQRCodeAction, retrieveSwishQRCodeFailureAction, retrieveSwishQRCodeSuccessAction } from '../actions';
|
|
5
5
|
import { exhaustMap, forkJoin, mergeMap, of } from 'rxjs';
|
|
6
6
|
import { catchError, map } from 'rxjs/operators';
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
8
|
export class InvoiceEffects {
|
|
9
9
|
actions$ = inject(Actions);
|
|
10
10
|
invoiceService = inject(InvoiceService);
|
|
11
|
+
paymentOrderService = inject(PaymentOrderService);
|
|
11
12
|
paymentAttemptService = inject(PaymentAttemptService);
|
|
12
13
|
createMemberMondidoPayment$ = createEffect(() => this.actions$
|
|
13
14
|
.pipe(ofType(createMondidoMemberPaymentAction), exhaustMap(({ payload }) => this.paymentAttemptService.createMemberPaymentAttempt(payload.memberId, payload.invoiceId, 'mondido')
|
|
@@ -45,6 +46,24 @@ export class InvoiceEffects {
|
|
|
45
46
|
retrieveMemberInvoice$ = createEffect(() => this.actions$
|
|
46
47
|
.pipe(ofType(retrieveMemberInvoiceAction), exhaustMap(({ payload }) => this.invoiceService.getMemberInvoice(payload.memberId, payload.invoiceId)
|
|
47
48
|
.pipe(map((invoice) => retrieveMemberInvoiceSuccessAction({ payload: invoice })), catchError((error) => of(retrieveMemberInvoiceFailureAction({ payload: error })))))));
|
|
49
|
+
listMemberPaymentOrders$ = createEffect(() => this.actions$
|
|
50
|
+
.pipe(ofType(listMemberPaymentOrdersAction), mergeMap(({ payload }) => forkJoin(payload.map((id) => this.paymentOrderService.getMemberPaymentOrders(id)
|
|
51
|
+
.pipe(map((paymentOrders) => ({ id, paymentOrders: paymentOrders.toArray() })), catchError((error) => of({ id, error }))))).pipe(mergeMap((results) => {
|
|
52
|
+
const paymentOrderMap = new Map();
|
|
53
|
+
const errors = results.filter(result => result.error);
|
|
54
|
+
if (errors.length) {
|
|
55
|
+
return of(listMemberPaymentOrdersFailureAction({ payload: errors[0].error }));
|
|
56
|
+
}
|
|
57
|
+
results.forEach((result) => {
|
|
58
|
+
if (result.paymentOrders) {
|
|
59
|
+
paymentOrderMap.set(result.id, result.paymentOrders);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
return of(listMemberPaymentOrdersSuccessAction({ payload: paymentOrderMap }));
|
|
63
|
+
})))));
|
|
64
|
+
retrievePaymentOrder$ = createEffect(() => this.actions$
|
|
65
|
+
.pipe(ofType(retrievePaymentOrderAction), exhaustMap(({ payload }) => this.paymentOrderService.getMemberPaymentOrder(payload.memberId, payload.paymentOrderId)
|
|
66
|
+
.pipe(map((paymentOrder) => retrievePaymentOrderSuccessAction({ payload: paymentOrder })), catchError((error) => of(retrievePaymentOrderFailureAction({ payload: error })))))));
|
|
48
67
|
retrieveMemberPaymentAttempt$ = createEffect(() => this.actions$
|
|
49
68
|
.pipe(ofType(retrieveMemberPaymentAttemptAction), exhaustMap(({ payload }) => this.paymentAttemptService.getMemberPaymentAttempt(payload.memberId, payload.invoiceId, payload.paymentAttemptId)
|
|
50
69
|
.pipe(map((paymentAttempt) => retrieveMemberPaymentAttemptSuccessAction({ payload: paymentAttempt })), catchError((error) => of(retrieveMemberPaymentAttemptFailureAction({ payload: error })))))));
|
|
@@ -69,4 +88,4 @@ export class InvoiceEffects {
|
|
|
69
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: InvoiceEffects, decorators: [{
|
|
70
89
|
type: Injectable
|
|
71
90
|
}] });
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL2ludm9pY2UuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZFLE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMsaUNBQWlDLEVBQ2pDLGlDQUFpQyxFQUNqQyxnQ0FBZ0MsRUFDaEMsOEJBQThCLEVBQzlCLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IsOEJBQThCLEVBQzlCLGdDQUFnQyxFQUNoQyxpQ0FBaUMsRUFDakMsaUNBQWlDLEVBQ2pDLGdDQUFnQyxFQUNoQyx3QkFBd0IsRUFDeEIsK0JBQStCLEVBQy9CLCtCQUErQixFQUMvQiwyQkFBMkIsRUFDM0Isa0NBQWtDLEVBQ2xDLGtDQUFrQyxFQUNsQyxrQ0FBa0MsRUFDbEMseUNBQXlDLEVBQ3pDLHlDQUF5QyxFQUN6QywrQkFBK0IsRUFDL0IsMkJBQTJCLEVBQzNCLGtDQUFrQyxFQUNsQywrQkFBK0IsRUFDL0Isc0NBQXNDLEVBQ3RDLHNDQUFzQyxFQUN0QyxrQ0FBa0MsRUFDbEMsa0NBQWtDLEVBQ2xDLHlDQUF5QyxFQUN6Qyx5Q0FBeUMsRUFDekMsK0JBQStCLEVBQy9CLGdDQUFnQyxFQUNoQyxnQ0FBZ0MsRUFDakMsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRCxPQUFPLEVBQUUs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QUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsZ0NBQWdDLENBQUMsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2pHLENBQ0YsQ0FDRixDQUNGLENBQUM7dUdBaE1TLGNBQWM7MkdBQWQsY0FBYzs7MkZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IEludm9pY2VTZXJ2aWNlLCBQYXltZW50QXR0ZW1wdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1xuICBjcmVhdGVNb25kaWRvTWVtYmVyUGF5bWVudEFjdGlvbixcbiAgY3JlYXRlTW9uZGlkb1BheW1lbnRGYWlsdXJlQWN0aW9uLFxuICBjcmVhdGVNb25kaWRvUGF5bWVudFN1Y2Nlc3NBY3Rpb24sXG4gIGNyZWF0ZU1vbmRpZG9QdWJsaWNQYXltZW50QWN0aW9uLFxuICBjcmVhdGVTd2lzaE1lbWJlclBheW1lbnRBY3Rpb24sXG4gIGNyZWF0ZVN3aXNoUGF5bWVudEZhaWx1cmVBY3Rpb24sXG4gIGNyZWF0ZVN3aXNoUGF5bWVudFN1Y2Nlc3NBY3Rpb24sXG4gIGNyZWF0ZVN3aXNoUHVibGljUGF5bWVudEFjdGlvbixcbiAgY3JlYXRlWmltcGxlck1lbWJlclBheW1lbnRBY3Rpb24sXG4gIGNyZWF0ZVppbXBsZXJQYXltZW50RmFpbHVyZUFjdGlvbixcbiAgY3JlYXRlWmltcGxlclBheW1lbnRTdWNjZXNzQWN0aW9uLFxuICBjcmVhdGVaaW1wbGVyUHVibGljUGF5bWVudEFjdGlvbixcbiAgbGlzdE1lbWJlckludm9pY2VzQWN0aW9uLFxuICBsaXN0TWVtYmVySW52b2ljZXNGYWlsdXJlQWN0aW9uLFxuICBsaXN0TWVtYmVySW52b2ljZXNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckludm9pY2VBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVySW52b2ljZUZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVySW52b2ljZVN1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyUGF5bWVudEF0dGVtcHRBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyUGF5bWVudEF0dGVtcHRGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlclBheW1lbnRBdHRlbXB0U3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJTd2lzaFFSQ29kZUFjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNJbnZvaWNlQWN0aW9uLFxuICByZXRyaWV2ZVB1YmxpY0ludm9pY2VGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZVB1YmxpY0ludm9pY2VMb2dvQWN0aW9uLFxuICByZXRyaWV2ZVB1YmxpY0ludm9pY2VMb2dvRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNJbnZvaWNlTG9nb1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljSW52b2ljZVN1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljUGF5bWVudEF0dGVtcHRBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljUGF5bWVudEF0dGVtcHRGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZVB1YmxpY1BheW1lbnRBdHRlbXB0U3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNTd2lzaFFSQ29kZUFjdGlvbixcbiAgcmV0cmlldmVTd2lzaFFSQ29kZUZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlU3dpc2hRUkNvZGVTdWNjZXNzQWN0aW9uXG59IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgZXhoYXVzdE1hcCwgZm9ya0pvaW4sIG1lcmdlTWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2x1YkltYWdlLCBDb2xsZWN0aW9uLCBNZW1iZXJJbnZvaWNlLCBQYXltZW50QXR0ZW1wdCwgU2VhcmNoTWVtYmVySW52b2ljZSwgU3dpc2hRckNvZGUgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEludm9pY2VFZmZlY3RzIHtcbiAgcHJpdmF0ZSBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcbiAgcHJpdmF0ZSBpbnZvaWNlU2VydmljZSA9IGluamVjdChJbnZvaWNlU2VydmljZSk7XG4gIHByaXZhdGUgcGF5bWVudEF0dGVtcHRTZXJ2aWNlID0gaW5qZWN0KFBheW1lbnRBdHRlbXB0U2VydmljZSk7XG5cbiAgY3JlYXRlTWVtYmVyTW9uZGlkb1BheW1lbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShjcmVhdGVNb25kaWRvTWVtYmVyUGF5bWVudEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgaW52b2ljZUlkOiBzdHJpbmd9fSkgPT4gdGhpcy5wYXltZW50QXR0ZW1wdFNlcnZpY2UuY3JlYXRlTWVtYmVyUGF5bWVudEF0dGVtcHQocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5pbnZvaWNlSWQsICdtb25kaWRvJylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChwYXltZW50QXR0ZW1wdDogUGF5bWVudEF0dGVtcHQpID0+IGNyZWF0ZU1vbmRpZG9QYXltZW50U3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogcGF5bWVudEF0dGVtcHR9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihjcmVhdGVNb25kaWRvUGF5bWVudEZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGNyZWF0ZU1lbWJlclN3aXNoUGF5bWVudCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGNyZWF0ZVN3aXNoTWVtYmVyUGF5bWVudEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgaW52b2ljZUlkOiBzdHJpbmcsIHRlbGVwaG9uZU51bWJlcjogc3RyaW5nfX0pID0+IHRoaXMucGF5bWVudEF0dGVtcHRTZXJ2aWNlLmNyZWF0ZU1lbWJlclBheW1lbnRBdHRlbXB0KHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQuaW52b2ljZUlkLCAnc3dpc2gnLCBwYXlsb2FkLnRlbGVwaG9uZU51bWJlcilcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChwYXltZW50QXR0ZW1wdDogUGF5bWVudEF0dGVtcHQpID0+IGNyZWF0ZVN3aXNoUGF5bWVudFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHBheW1lbnRBdHRlbXB0fSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoY3JlYXRlU3dpc2hQYXltZW50RmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgY3JlYXRlTWVtYmVyWmltcGxlclBheW1lbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShjcmVhdGVaaW1wbGVyTWVtYmVyUGF5bWVudEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgaW52b2ljZUlkOiBzdHJpbmd9fSkgPT4gdGhpcy5wYXltZW50QXR0ZW1wdFNlcnZpY2UuY3JlYXRlTWVtYmVyUGF5bWVudEF0dGVtcHQocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5pbnZvaWNlSWQsICd6aW1wbGVyJylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChwYXltZW50QXR0ZW1wdDogUGF5bWVudEF0dGVtcHQpID0+IGNyZWF0ZVppbXBsZXJQYXltZW50U3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogcGF5bWVudEF0dGVtcHR9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihjcmVhdGVaaW1wbGVyUGF5bWVudEZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGNyZWF0ZVB1YmxpY01vbmRpZG9QYXltZW50JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUoY3JlYXRlTW9uZGlkb1B1YmxpY1BheW1lbnRBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge3Rva2VuOiBzdHJpbmcsIGludm9pY2VJZDogc3RyaW5nfX0pID0+IHRoaXMucGF5bWVudEF0dGVtcHRTZXJ2aWNlLmNyZWF0ZVB1YmxpY1BheW1lbnRBdHRlbXB0KHBheWxvYWQuaW52b2ljZUlkLCBwYXlsb2FkLnRva2VuLCAnbW9uZGlkbycpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocGF5bWVudEF0dGVtcHQ6IFBheW1lbnRBdHRlbXB0KSA9PiBjcmVhdGVNb25kaWRvUGF5bWVudFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHBheW1lbnRBdHRlbXB0fSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoY3JlYXRlTW9uZGlkb1BheW1lbnRGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBjcmVhdGVQdWJsaWNTd2lzaFBheW1lbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShjcmVhdGVTd2lzaFB1YmxpY1BheW1lbnRBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge3Rva2VuOiBzdHJpbmcsIGludm9pY2VJZDogc3RyaW5nLCB0ZWxlcGhvbmVOdW1iZXI6IHN0cmluZ319KSA9PiB0aGlzLnBheW1lbnRBdHRlbXB0U2VydmljZS5jcmVhdGVQdWJsaWNQYXltZW50QXR0ZW1wdChwYXlsb2FkLmludm9pY2VJZCwgcGF5bG9hZC50b2tlbiwgJ3N3aXNoJywgcGF5bG9hZC50ZWxlcGhvbmVOdW1iZXIpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocGF5bWVudEF0dGVtcHQ6IFBheW1lbnRBdHRlbXB0KSA9PiBjcmVhdGVTd2lzaFBheW1lbnRTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBwYXltZW50QXR0ZW1wdH0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGNyZWF0ZVN3aXNoUGF5bWVudEZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGNyZWF0ZVB1YmxpY1ppbXBsZXJQYXltZW50JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUoY3JlYXRlWmltcGxlclB1YmxpY1BheW1lbnRBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge3Rva2VuOiBzdHJpbmcsIGludm9pY2VJZDogc3RyaW5nfX0pID0+IHRoaXMucGF5bWVudEF0dGVtcHRTZXJ2aWNlLmNyZWF0ZVB1YmxpY1BheW1lbnRBdHRlbXB0KHBheWxvYWQuaW52b2ljZUlkLCBwYXlsb2FkLnRva2VuLCAnemltcGxlcicpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocGF5bWVudEF0dGVtcHQ6IFBheW1lbnRBdHRlbXB0KSA9PiBjcmVhdGVaaW1wbGVyUGF5bWVudFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHBheW1lbnRBdHRlbXB0fSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoY3JlYXRlWmltcGxlclBheW1lbnRGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWVtYmVySW52b2ljZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0TWVtYmVySW52b2ljZXNBY3Rpb24pLFxuICAgICAgbWVyZ2VNYXAoKHsgcGF5bG9hZCB9OiB7IHBheWxvYWQ6IEFycmF5PHN0cmluZz4gfSkgPT5cbiAgICAgICAgZm9ya0pvaW4oXG4gICAgICAgICAgcGF5bG9hZC5tYXAoKGlkOiBzdHJpbmcpID0+XG4gICAgICAgICAgICB0aGlzLmludm9pY2VTZXJ2aWNlLmdldE1lbWJlckludm9pY2VzKGlkKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGludm9pY2VzOiBDb2xsZWN0aW9uPFNlYXJjaE1lbWJlckludm9pY2U+KSA9PiAoeyBpZCwgaW52b2ljZXM6IGludm9pY2VzLnRvQXJyYXkoKSB9KSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZih7IGlkLCBlcnJvciB9KSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKChyZXN1bHRzOiBBcnJheTx7IGlkOiBzdHJpbmcsIGludm9pY2VzPzogQXJyYXk8U2VhcmNoTWVtYmVySW52b2ljZT4sIGVycm9yPzogSHR0cEVycm9yUmVzcG9uc2UgfT4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGludm9pY2VNYXAgPSBuZXcgTWFwPHN0cmluZywgQXJyYXk8U2VhcmNoTWVtYmVySW52b2ljZT4+KCk7XG4gICAgICAgICAgICBjb25zdCBlcnJvcnMgPSByZXN1bHRzLmZpbHRlcihyZXN1bHQgPT4gcmVzdWx0LmVycm9yKTtcbiAgICAgICAgICAgIGlmIChlcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvZihsaXN0TWVtYmVySW52b2ljZXNGYWlsdXJlQWN0aW9uKHsgcGF5bG9hZDogZXJyb3JzWzBdLmVycm9yIGFzIEh0dHBFcnJvclJlc3BvbnNlIH0pKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVzdWx0cy5mb3JFYWNoKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlc3VsdC5pbnZvaWNlcykge1xuICAgICAgICAgICAgICAgIGludm9pY2VNYXAuc2V0KHJlc3VsdC5pZCwgcmVzdWx0Lmludm9pY2VzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBvZihsaXN0TWVtYmVySW52b2ljZXNTdWNjZXNzQWN0aW9uKHsgcGF5bG9hZDogaW52b2ljZU1hcCB9KSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZU1lbWJlckludm9pY2UkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlckludm9pY2VBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge21lbWJlcklkOiBzdHJpbmcsIGludm9pY2VJZDogc3RyaW5nfX0pID0+IHRoaXMuaW52b2ljZVNlcnZpY2UuZ2V0TWVtYmVySW52b2ljZShwYXlsb2FkLm1lbWJlcklkLCBwYXlsb2FkLmludm9pY2VJZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChpbnZvaWNlOiBNZW1iZXJJbnZvaWNlKSA9PiByZXRyaWV2ZU1lbWJlckludm9pY2VTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBpbnZvaWNlfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJJbnZvaWNlRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVNZW1iZXJQYXltZW50QXR0ZW1wdCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlTWVtYmVyUGF5bWVudEF0dGVtcHRBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge21lbWJlcklkOiBzdHJpbmcsIGludm9pY2VJZDogc3RyaW5nLCBwYXltZW50QXR0ZW1wdElkOiBudW1iZXIgfSB9KSA9PiB0aGlzLnBheW1lbnRBdHRlbXB0U2VydmljZS5nZXRNZW1iZXJQYXltZW50QXR0ZW1wdChwYXlsb2FkLm1lbWJlcklkLCBwYXlsb2FkLmludm9pY2VJZCwgcGF5bG9hZC5wYXltZW50QXR0ZW1wdElkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHBheW1lbnRBdHRlbXB0OiBQYXltZW50QXR0ZW1wdCkgPT4gcmV0cmlldmVNZW1iZXJQYXltZW50QXR0ZW1wdFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHBheW1lbnRBdHRlbXB0fSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJQYXltZW50QXR0ZW1wdEZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlTWVtYmVyU3dpc2hRUkNvZGUkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlclN3aXNoUVJDb2RlQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHttZW1iZXJJZDogc3RyaW5nLCBpbnZvaWNlSWQ6IHN0cmluZywgcGF5bWVudEF0dGVtcHRJZDogbnVtYmVyfX0pID0+IHRoaXMucGF5bWVudEF0dGVtcHRTZXJ2aWNlLmdldE1lbWJlclN3aXNoUVJDb2RlKHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQuaW52b2ljZUlkLCBwYXlsb2FkLnBheW1lbnRBdHRlbXB0SWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoc3dpc2hRUkNvZGU6IFN3aXNoUXJDb2RlKSA9PiByZXRyaWV2ZVN3aXNoUVJDb2RlU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogc3dpc2hRUkNvZGV9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZVN3aXNoUVJDb2RlRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVQdWJsaWNJbnZvaWNlJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVQdWJsaWNJbnZvaWNlQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0b2tlbjogc3RyaW5nLCBpbnZvaWNlSWQ6IHN0cmluZ319KSA9PiB0aGlzLmludm9pY2VTZXJ2aWNlLmdldFB1YmxpY0ludm9pY2UocGF5bG9hZC5pbnZvaWNlSWQsIHBheWxvYWQudG9rZW4pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoaW52b2ljZTogTWVtYmVySW52b2ljZSkgPT4gcmV0cmlldmVQdWJsaWNJbnZvaWNlU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogaW52b2ljZX0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlUHVibGljSW52b2ljZUZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlUHVibGljSW52b2ljZUxvZ28kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZVB1YmxpY0ludm9pY2VMb2dvQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0b2tlbjogc3RyaW5nLCBpbnZvaWNlSWQ6IHN0cmluZ319KSA9PiB0aGlzLmludm9pY2VTZXJ2aWNlLmdldFB1YmxpY0ludm9pY2VMb2dvKHBheWxvYWQuaW52b2ljZUlkLCBwYXlsb2FkLnRva2VuKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGltYWdlOiBDbHViSW1hZ2UpID0+IHJldHJpZXZlUHVibGljSW52b2ljZUxvZ29TdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBpbWFnZX0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlUHVibGljSW52b2ljZUxvZ29GYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZVB1YmxpY1BheW1lbnRBdHRlbXB0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVQdWJsaWNQYXltZW50QXR0ZW1wdEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7dG9rZW46IHN0cmluZywgaW52b2ljZUlkOiBzdHJpbmcsIHBheW1lbnRBdHRlbXB0SWQ6IG51bWJlcn19KSA9PiB0aGlzLnBheW1lbnRBdHRlbXB0U2VydmljZS5nZXRQdWJsaWNQYXltZW50QXR0ZW1wdChwYXlsb2FkLmludm9pY2VJZCwgcGF5bG9hZC50b2tlbiwgcGF5bG9hZC5wYXltZW50QXR0ZW1wdElkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHBheW1lbnRBdHRlbXB0OiBQYXltZW50QXR0ZW1wdCkgPT4gcmV0cmlldmVQdWJsaWNQYXltZW50QXR0ZW1wdFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHBheW1lbnRBdHRlbXB0fSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVQdWJsaWNQYXltZW50QXR0ZW1wdEZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlUHVibGljU3dpc2hRUkNvZGUkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZVB1YmxpY1N3aXNoUVJDb2RlQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0b2tlbjogc3RyaW5nLCBpbnZvaWNlSWQ6IHN0cmluZywgcGF5bWVudEF0dGVtcHRJZDogbnVtYmVyfX0pID0+IHRoaXMucGF5bWVudEF0dGVtcHRTZXJ2aWNlLmdldFB1YmxpY1N3aXNoUVJDb2RlKHBheWxvYWQuaW52b2ljZUlkLCBwYXlsb2FkLnRva2VuLCBwYXlsb2FkLnBheW1lbnRBdHRlbXB0SWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoc3dpc2hRUkNvZGU6IFN3aXNoUXJDb2RlKSA9PiByZXRyaWV2ZVN3aXNoUVJDb2RlU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogc3dpc2hRUkNvZGV9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZVN3aXNoUVJDb2RlRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG59XG4iXX0=
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL2ludm9pY2UuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFDLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzFGLE9BQU8sRUFDTCxnQ0FBZ0MsRUFDaEMsaUNBQWlDLEVBQ2pDLGlDQUFpQyxFQUNqQyxnQ0FBZ0MsRUFDaEMsOEJBQThCLEVBQzlCLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IsOEJBQThCLEVBQzlCLGdDQUFnQyxFQUNoQyxpQ0FBaUMsRUFDakMsaUNBQWlDLEVBQ2pDLGdDQUFnQyxFQUNoQyx3QkFBd0IsRUFDeEIsK0JBQStCLEVBQy9CLCtCQUErQixFQUMvQiw2QkFBNkIsRUFDN0Isb0NBQW9DLEVBQ3BDLG9DQUFvQyxFQUNwQywyQkFBMkIsRUFDM0Isa0NBQWtDLEVBQ2xDLGtDQUFrQyxFQUNsQyxrQ0FBa0MsRUFDbEMseUNBQXlDLEVBQ3pDLHlDQUF5QyxFQUN6QywrQkFBK0IsRUFDL0IsMEJBQTBCLEVBQzFCLGlDQUFpQyxFQUNqQyxpQ0FBaUMsRUFDakMsMkJBQTJCLEVBQzNCLGtDQUFrQyxFQUNsQywrQkFBK0IsRUFDL0Isc0NBQXNDLEVBQ3RDLHNDQUFzQyxFQUN0QyxrQ0FBa0MsRUFDbEMsa0NBQWtDLEVBQ2xDLHlDQUF5QyxFQUN6Qyx5Q0FBeUMsRUFDekMsK0JBQStCLEVBQy9CLGdDQUFnQyxFQUNoQyxnQ0FBZ0MsRUFDakMsTUFBTSxZQUFZLENB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ZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHtJbnZvaWNlU2VydmljZSwgUGF5bWVudEF0dGVtcHRTZXJ2aWNlLCBQYXltZW50T3JkZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1xuICBjcmVhdGVNb25kaWRvTWVtYmVyUGF5bWVudEFjdGlvbixcbiAgY3JlYXRlTW9uZGlkb1BheW1lbnRGYWlsdXJlQWN0aW9uLFxuICBjcmVhdGVNb25kaWRvUGF5bWVudFN1Y2Nlc3NBY3Rpb24sXG4gIGNyZWF0ZU1vbmRpZG9QdWJsaWNQYXltZW50QWN0aW9uLFxuICBjcmVhdGVTd2lzaE1lbWJlclBheW1lbnRBY3Rpb24sXG4gIGNyZWF0ZVN3aXNoUGF5bWVudEZhaWx1cmVBY3Rpb24sXG4gIGNyZWF0ZVN3aXNoUGF5bWVudFN1Y2Nlc3NBY3Rpb24sXG4gIGNyZWF0ZVN3aXNoUHVibGljUGF5bWVudEFjdGlvbixcbiAgY3JlYXRlWmltcGxlck1lbWJlclBheW1lbnRBY3Rpb24sXG4gIGNyZWF0ZVppbXBsZXJQYXltZW50RmFpbHVyZUFjdGlvbixcbiAgY3JlYXRlWmltcGxlclBheW1lbnRTdWNjZXNzQWN0aW9uLFxuICBjcmVhdGVaaW1wbGVyUHVibGljUGF5bWVudEFjdGlvbixcbiAgbGlzdE1lbWJlckludm9pY2VzQWN0aW9uLFxuICBsaXN0TWVtYmVySW52b2ljZXNGYWlsdXJlQWN0aW9uLFxuICBsaXN0TWVtYmVySW52b2ljZXNTdWNjZXNzQWN0aW9uLFxuICBsaXN0TWVtYmVyUGF5bWVudE9yZGVyc0FjdGlvbixcbiAgbGlzdE1lbWJlclBheW1lbnRPcmRlcnNGYWlsdXJlQWN0aW9uLFxuICBsaXN0TWVtYmVyUGF5bWVudE9yZGVyc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVySW52b2ljZUFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJJbnZvaWNlRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJJbnZvaWNlU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJQYXltZW50QXR0ZW1wdEFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJQYXltZW50QXR0ZW1wdEZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyUGF5bWVudEF0dGVtcHRTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlclN3aXNoUVJDb2RlQWN0aW9uLFxuICByZXRyaWV2ZVBheW1lbnRPcmRlckFjdGlvbixcbiAgcmV0cmlldmVQYXltZW50T3JkZXJGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZVBheW1lbnRPcmRlclN1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljSW52b2ljZUFjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNJbnZvaWNlRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNJbnZvaWNlTG9nb0FjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNJbnZvaWNlTG9nb0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljSW52b2ljZUxvZ29TdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZVB1YmxpY0ludm9pY2VTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZVB1YmxpY1BheW1lbnRBdHRlbXB0QWN0aW9uLFxuICByZXRyaWV2ZVB1YmxpY1BheW1lbnRBdHRlbXB0RmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVQdWJsaWNQYXltZW50QXR0ZW1wdFN1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlUHVibGljU3dpc2hRUkNvZGVBY3Rpb24sXG4gIHJldHJpZXZlU3dpc2hRUkNvZGVGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZVN3aXNoUVJDb2RlU3VjY2Vzc0FjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIGZvcmtKb2luLCBtZXJnZU1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIENsdWJJbWFnZSxcbiAgQ29sbGVjdGlvbixcbiAgTWVtYmVySW52b2ljZSxcbiAgUGF5bWVudEF0dGVtcHQsXG4gIFBheW1lbnRPcmRlcixcbiAgU2VhcmNoTWVtYmVySW52b2ljZSxcbiAgU3dpc2hRckNvZGVcbn0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJbnZvaWNlRWZmZWN0cyB7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucyk7XG4gIHByaXZhdGUgaW52b2ljZVNlcnZpY2UgPSBpbmplY3QoSW52b2ljZVNlcnZpY2UpO1xuICBwcml2YXRlIHBheW1lbnRPcmRlclNlcnZpY2UgPSBpbmplY3QoUGF5bWVudE9yZGVyU2VydmljZSk7XG4gIHByaXZhdGUgcGF5bWVudEF0dGVtcHRTZXJ2aWNlID0gaW5qZWN0KFBheW1lbnRBdHRlbXB0U2VydmljZSk7XG5cbiAgY3JlYXRlTWVtYmVyTW9uZGlkb1BheW1lbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShjcmVhdGVNb25kaWRvTWVtYmVyUGF5bWVudEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgaW52b2ljZUlkOiBzdHJpbmd9fSkgPT4gdGhpcy5wYXltZW50QXR0ZW1wdFNlcnZpY2UuY3JlYXRlTWVtYmVyUGF5bWVudEF0dGVtcHQocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5pbnZvaWNlSWQsICdtb25kaWRvJylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChwYXltZW50QXR0ZW1wdDogUGF5bWVudEF0dGVtcHQpID0+IGNyZWF0ZU1vbmRpZG9QYXltZW50U3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogcGF5bWVudEF0dGVtcHR9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihjcmVhdGVNb25kaWRvUGF5bWVudEZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGNyZWF0ZU1lbWJlclN3aXNoUGF5bWVudCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGNyZWF0ZVN3aXNoTWVtYmVyUGF5bWVudEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgaW52b2ljZUlkOiBzdHJpbmcsIHRlbGVwaG9uZU51bWJlcjogc3RyaW5nfX0pID0+IHRoaXMucGF5bWVudEF0dGVtcHRTZXJ2aWNlLmNyZWF0ZU1lbWJlclBheW1lbnRBdHRlbXB0KHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQuaW52b2ljZUlkLCAnc3dpc2gnLCBwYXlsb2FkLnRlbGVwaG9uZU51bWJlcilcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChwYXltZW50QXR0ZW1wdDogUGF5bWVudEF0dGVtcHQpID0+IGNyZWF0ZVN3aXNoUGF5bWVudFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHBheW1lbnRBdHRlbXB0fSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoY3JlYXRlU3dpc2hQYXltZW50RmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgY3JlYXRlTWVtYmVyWmltcGxlclBheW1lbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShjcmVhdGVaaW1wbGVyTWVtYmVyUGF5bWVudEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgaW52b2ljZUlkOiBzdHJpbmd9fSkgPT4gdGhpcy5wYXltZW50QXR0ZW1wdFNlcnZpY2UuY3JlYXRlTWVtYmVyUGF5bWVudEF0dGVtcHQocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5pbnZvaWNlSWQsICd6aW1wbGVyJylcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChwYXltZW50QXR0ZW1wdDogUGF5bWVudEF0dGVtcHQpID0+IGNyZWF0ZVppbXBsZXJQYXltZW50U3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogcGF5bWVudEF0dGVtcHR9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihjcmVhdGVaaW1wbGVyUGF5bWVudEZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGNyZWF0ZVB1YmxpY01vbmRpZG9QYXltZW50JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUoY3JlYXRlTW9uZGlkb1B1YmxpY1BheW1lbnRBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge3Rva2VuOiBzdHJpbmcsIGludm9pY2VJZDogc3RyaW5nfX0pID0+IHRoaXMucGF5bWVudEF0dGVtcHRTZXJ2aWNlLmNyZWF0ZVB1YmxpY1BheW1lbnRBdHRlbXB0KHBheWxvYWQuaW52b2ljZUlkLCBwYXlsb2FkLnRva2VuLCAnbW9uZGlkbycpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocGF5bWVudEF0dGVtcHQ6IFBheW1lbnRBdHRlbXB0KSA9PiBjcmVhdGVNb25kaWRvUGF5bWVudFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHBheW1lbnRBdHRlbXB0fSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoY3JlYXRlTW9uZGlkb1BheW1lbnRGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBjcmVhdGVQdWJsaWNTd2lzaFBheW1lbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShjcmVhdGVTd2lzaFB1YmxpY1BheW1lbnRBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge3Rva2VuOiBzdHJpbmcsIGludm9pY2VJZDogc3RyaW5nLCB0ZWxlcGhvbmVOdW1iZXI6IHN0cmluZ319KSA9PiB0aGlzLnBheW1lbnRBdHRlbXB0U2VydmljZS5jcmVhdGVQdWJsaWNQYXltZW50QXR0ZW1wdChwYXlsb2FkLmludm9pY2VJZCwgcGF5bG9hZC50b2tlbiwgJ3N3aXNoJywgcGF5bG9hZC50ZWxlcGhvbmVOdW1iZXIpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocGF5bWVudEF0dGVtcHQ6IFBheW1lbnRBdHRlbXB0KSA9PiBjcmVhdGVTd2lzaFBheW1lbnRTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBwYXltZW50QXR0ZW1wdH0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGNyZWF0ZVN3aXNoUGF5bWVudEZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGNyZWF0ZVB1YmxpY1ppbXBsZXJQYXltZW50JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUoY3JlYXRlWmltcGxlclB1YmxpY1BheW1lbnRBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge3Rva2VuOiBzdHJpbmcsIGludm9pY2VJZDogc3RyaW5nfX0pID0+IHRoaXMucGF5bWVudEF0dGVtcHRTZXJ2aWNlLmNyZWF0ZVB1YmxpY1BheW1lbnRBdHRlbXB0KHBheWxvYWQuaW52b2ljZUlkLCBwYXlsb2FkLnRva2VuLCAnemltcGxlcicpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocGF5bWVudEF0dGVtcHQ6IFBheW1lbnRBdHRlbXB0KSA9PiBjcmVhdGVaaW1wbGVyUGF5bWVudFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHBheW1lbnRBdHRlbXB0fSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoY3JlYXRlWmltcGxlclBheW1lbnRGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWVtYmVySW52b2ljZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0TWVtYmVySW52b2ljZXNBY3Rpb24pLFxuICAgICAgbWVyZ2VNYXAoKHsgcGF5bG9hZCB9OiB7IHBheWxvYWQ6IEFycmF5PHN0cmluZz4gfSkgPT5cbiAgICAgICAgZm9ya0pvaW4oXG4gICAgICAgICAgcGF5bG9hZC5tYXAoKGlkOiBzdHJpbmcpID0+XG4gICAgICAgICAgICB0aGlzLmludm9pY2VTZXJ2aWNlLmdldE1lbWJlckludm9pY2VzKGlkKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGludm9pY2VzOiBDb2xsZWN0aW9uPFNlYXJjaE1lbWJlckludm9pY2U+KSA9PiAoeyBpZCwgaW52b2ljZXM6IGludm9pY2VzLnRvQXJyYXkoKSB9KSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZih7IGlkLCBlcnJvciB9KSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKChyZXN1bHRzOiBBcnJheTx7IGlkOiBzdHJpbmcsIGludm9pY2VzPzogQXJyYXk8U2VhcmNoTWVtYmVySW52b2ljZT4sIGVycm9yPzogSHR0cEVycm9yUmVzcG9uc2UgfT4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGludm9pY2VNYXAgPSBuZXcgTWFwPHN0cmluZywgQXJyYXk8U2VhcmNoTWVtYmVySW52b2ljZT4+KCk7XG4gICAgICAgICAgICBjb25zdCBlcnJvcnMgPSByZXN1bHRzLmZpbHRlcihyZXN1bHQgPT4gcmVzdWx0LmVycm9yKTtcbiAgICAgICAgICAgIGlmIChlcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvZihsaXN0TWVtYmVySW52b2ljZXNGYWlsdXJlQWN0aW9uKHsgcGF5bG9hZDogZXJyb3JzWzBdLmVycm9yIGFzIEh0dHBFcnJvclJlc3BvbnNlIH0pKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVzdWx0cy5mb3JFYWNoKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlc3VsdC5pbnZvaWNlcykge1xuICAgICAgICAgICAgICAgIGludm9pY2VNYXAuc2V0KHJlc3VsdC5pZCwgcmVzdWx0Lmludm9pY2VzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBvZihsaXN0TWVtYmVySW52b2ljZXNTdWNjZXNzQWN0aW9uKHsgcGF5bG9hZDogaW52b2ljZU1hcCB9KSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZU1lbWJlckludm9pY2UkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlckludm9pY2VBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge21lbWJlcklkOiBzdHJpbmcsIGludm9pY2VJZDogc3RyaW5nfX0pID0+IHRoaXMuaW52b2ljZVNlcnZpY2UuZ2V0TWVtYmVySW52b2ljZShwYXlsb2FkLm1lbWJlcklkLCBwYXlsb2FkLmludm9pY2VJZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChpbnZvaWNlOiBNZW1iZXJJbnZvaWNlKSA9PiByZXRyaWV2ZU1lbWJlckludm9pY2VTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBpbnZvaWNlfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJJbnZvaWNlRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbGlzdE1lbWJlclBheW1lbnRPcmRlcnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0TWVtYmVyUGF5bWVudE9yZGVyc0FjdGlvbiksXG4gICAgICBtZXJnZU1hcCgoeyBwYXlsb2FkIH06IHsgcGF5bG9hZDogQXJyYXk8c3RyaW5nPiB9KSA9PlxuICAgICAgICBmb3JrSm9pbihcbiAgICAgICAgICBwYXlsb2FkLm1hcCgoaWQ6IHN0cmluZykgPT5cbiAgICAgICAgICAgIHRoaXMucGF5bWVudE9yZGVyU2VydmljZS5nZXRNZW1iZXJQYXltZW50T3JkZXJzKGlkKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHBheW1lbnRPcmRlcnM6IENvbGxlY3Rpb248UGF5bWVudE9yZGVyPikgPT4gKHsgaWQsIHBheW1lbnRPcmRlcnM6IHBheW1lbnRPcmRlcnMudG9BcnJheSgpIH0pKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHsgaWQsIGVycm9yIH0pKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgKVxuICAgICAgICApLnBpcGUoXG4gICAgICAgICAgbWVyZ2VNYXAoKHJlc3VsdHM6IEFycmF5PHsgaWQ6IHN0cmluZywgcGF5bWVudE9yZGVycz86IEFycmF5PFBheW1lbnRPcmRlcj4sIGVycm9yPzogSHR0cEVycm9yUmVzcG9uc2UgfT4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBheW1lbnRPcmRlck1hcCA9IG5ldyBNYXA8c3RyaW5nLCBBcnJheTxQYXltZW50T3JkZXI+PigpO1xuICAgICAgICAgICAgY29uc3QgZXJyb3JzID0gcmVzdWx0cy5maWx0ZXIocmVzdWx0ID0+IHJlc3VsdC5lcnJvcik7XG4gICAgICAgICAgICBpZiAoZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgICByZXR1cm4gb2YobGlzdE1lbWJlclBheW1lbnRPcmRlcnNGYWlsdXJlQWN0aW9uKHsgcGF5bG9hZDogZXJyb3JzWzBdLmVycm9yIGFzIEh0dHBFcnJvclJlc3BvbnNlIH0pKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVzdWx0cy5mb3JFYWNoKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlc3VsdC5wYXltZW50T3JkZXJzKSB7XG4gICAgICAgICAgICAgICAgcGF5bWVudE9yZGVyTWFwLnNldChyZXN1bHQuaWQsIHJlc3VsdC5wYXltZW50T3JkZXJzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBvZihsaXN0TWVtYmVyUGF5bWVudE9yZGVyc1N1Y2Nlc3NBY3Rpb24oeyBwYXlsb2FkOiBwYXltZW50T3JkZXJNYXAgfSkpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVQYXltZW50T3JkZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZVBheW1lbnRPcmRlckFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgcGF5bWVudE9yZGVySWQ6IHN0cmluZ319KSA9PiB0aGlzLnBheW1lbnRPcmRlclNlcnZpY2UuZ2V0TWVtYmVyUGF5bWVudE9yZGVyKHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQucGF5bWVudE9yZGVySWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocGF5bWVudE9yZGVyOiBQYXltZW50T3JkZXIpID0+IHJldHJpZXZlUGF5bWVudE9yZGVyU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogcGF5bWVudE9yZGVyfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVQYXltZW50T3JkZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZU1lbWJlclBheW1lbnRBdHRlbXB0JCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVNZW1iZXJQYXltZW50QXR0ZW1wdEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgaW52b2ljZUlkOiBzdHJpbmcsIHBheW1lbnRBdHRlbXB0SWQ6IG51bWJlciB9IH0pID0+IHRoaXMucGF5bWVudEF0dGVtcHRTZXJ2aWNlLmdldE1lbWJlclBheW1lbnRBdHRlbXB0KHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQuaW52b2ljZUlkLCBwYXlsb2FkLnBheW1lbnRBdHRlbXB0SWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocGF5bWVudEF0dGVtcHQ6IFBheW1lbnRBdHRlbXB0KSA9PiByZXRyaWV2ZU1lbWJlclBheW1lbnRBdHRlbXB0U3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogcGF5bWVudEF0dGVtcHR9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZU1lbWJlclBheW1lbnRBdHRlbXB0RmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVNZW1iZXJTd2lzaFFSQ29kZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlTWVtYmVyU3dpc2hRUkNvZGVBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge21lbWJlcklkOiBzdHJpbmcsIGludm9pY2VJZDogc3RyaW5nLCBwYXltZW50QXR0ZW1wdElkOiBudW1iZXJ9fSkgPT4gdGhpcy5wYXltZW50QXR0ZW1wdFNlcnZpY2UuZ2V0TWVtYmVyU3dpc2hRUkNvZGUocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5pbnZvaWNlSWQsIHBheWxvYWQucGF5bWVudEF0dGVtcHRJZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChzd2lzaFFSQ29kZTogU3dpc2hRckNvZGUpID0+IHJldHJpZXZlU3dpc2hRUkNvZGVTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBzd2lzaFFSQ29kZX0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlU3dpc2hRUkNvZGVGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZVB1YmxpY0ludm9pY2UkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZVB1YmxpY0ludm9pY2VBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge3Rva2VuOiBzdHJpbmcsIGludm9pY2VJZDogc3RyaW5nfX0pID0+IHRoaXMuaW52b2ljZVNlcnZpY2UuZ2V0UHVibGljSW52b2ljZShwYXlsb2FkLmludm9pY2VJZCwgcGF5bG9hZC50b2tlbilcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChpbnZvaWNlOiBNZW1iZXJJbnZvaWNlKSA9PiByZXRyaWV2ZVB1YmxpY0ludm9pY2VTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBpbnZvaWNlfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVQdWJsaWNJbnZvaWNlRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVQdWJsaWNJbnZvaWNlTG9nbyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlUHVibGljSW52b2ljZUxvZ29BY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge3Rva2VuOiBzdHJpbmcsIGludm9pY2VJZDogc3RyaW5nfX0pID0+IHRoaXMuaW52b2ljZVNlcnZpY2UuZ2V0UHVibGljSW52b2ljZUxvZ28ocGF5bG9hZC5pbnZvaWNlSWQsIHBheWxvYWQudG9rZW4pXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoaW1hZ2U6IENsdWJJbWFnZSkgPT4gcmV0cmlldmVQdWJsaWNJbnZvaWNlTG9nb1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGltYWdlfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVQdWJsaWNJbnZvaWNlTG9nb0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlUHVibGljUGF5bWVudEF0dGVtcHQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZVB1YmxpY1BheW1lbnRBdHRlbXB0QWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0b2tlbjogc3RyaW5nLCBpbnZvaWNlSWQ6IHN0cmluZywgcGF5bWVudEF0dGVtcHRJZDogbnVtYmVyfX0pID0+IHRoaXMucGF5bWVudEF0dGVtcHRTZXJ2aWNlLmdldFB1YmxpY1BheW1lbnRBdHRlbXB0KHBheWxvYWQuaW52b2ljZUlkLCBwYXlsb2FkLnRva2VuLCBwYXlsb2FkLnBheW1lbnRBdHRlbXB0SWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgocGF5bWVudEF0dGVtcHQ6IFBheW1lbnRBdHRlbXB0KSA9PiByZXRyaWV2ZVB1YmxpY1BheW1lbnRBdHRlbXB0U3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogcGF5bWVudEF0dGVtcHR9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZVB1YmxpY1BheW1lbnRBdHRlbXB0RmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVQdWJsaWNTd2lzaFFSQ29kZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlUHVibGljU3dpc2hRUkNvZGVBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge3Rva2VuOiBzdHJpbmcsIGludm9pY2VJZDogc3RyaW5nLCBwYXltZW50QXR0ZW1wdElkOiBudW1iZXJ9fSkgPT4gdGhpcy5wYXltZW50QXR0ZW1wdFNlcnZpY2UuZ2V0UHVibGljU3dpc2hRUkNvZGUocGF5bG9hZC5pbnZvaWNlSWQsIHBheWxvYWQudG9rZW4sIHBheWxvYWQucGF5bWVudEF0dGVtcHRJZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChzd2lzaFFSQ29kZTogU3dpc2hRckNvZGUpID0+IHJldHJpZXZlU3dpc2hRUkNvZGVTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBzd2lzaFFSQ29kZX0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlU3dpc2hRUkNvZGVGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -1,54 +1,105 @@
|
|
|
1
1
|
import { initialBookingState } from '../state';
|
|
2
2
|
import { createReducer, on } from '@ngrx/store';
|
|
3
|
-
import { clearStoreAction, listActivityTypeSuccessAction, listBookableGroupSuccessAction, listBookableItemSuccessAction, listBookableTagSuccessAction, listCalendarSuccessAction, listLocationSuccessAction, listTeamSuccessAction, resetBookingStateAction, retrieveBookingSettingsSuccessAction, retrieveSettingsSuccessAction, selectCurrentCalendarAction, updateBookingFilterAction } from '../actions';
|
|
3
|
+
import { clearStoreAction, listActivityTypeFailureAction, listActivityTypeSuccessAction, listBookableGroupFailureAction, listBookableGroupSuccessAction, listBookableItemFailureAction, listBookableItemSuccessAction, listBookableTagFailureAction, listBookableTagSuccessAction, listCalendarFailureAction, listCalendarSuccessAction, listLocationFailureAction, listLocationSuccessAction, listMemberBookingCalendarBookableSlotsFailureAction, listMemberBookingCalendarBookableSlotsSuccessAction, listMemberBookingCalendarSlotSessionFailureAction, listMemberBookingCalendarSlotSessionSuccessAction, listMemberCalendarFailureAction, listMemberCalendarSuccessAction, listTeamFailureAction, listTeamSuccessAction, resetBookingStateAction, retrieveBookingSettingsFailureAction, retrieveBookingSettingsSuccessAction, retrieveSettingsFailureAction, retrieveSettingsSuccessAction, selectCurrentCalendarAction, updateBookingFilterAction } from '../actions';
|
|
4
4
|
import { BookingSlotFilter } from '../../models';
|
|
5
|
-
import { listLoadSuccess, retrieveLoadSuccess } from './reducer-helpers';
|
|
5
|
+
import { listLoadFailure, listLoadSuccess, retrieveLoadFailure, retrieveLoadSuccess } from './reducer-helpers';
|
|
6
6
|
export const bookingReducer = createReducer(initialBookingState, on(clearStoreAction, () => initialBookingState), on(listCalendarSuccessAction, (state, { bookingCalendars }) => {
|
|
7
7
|
return {
|
|
8
8
|
...state,
|
|
9
9
|
calendars: listLoadSuccess(bookingCalendars),
|
|
10
10
|
};
|
|
11
|
-
}), on(
|
|
11
|
+
}), on(listCalendarFailureAction, (state, { payload }) => ({
|
|
12
|
+
...state,
|
|
13
|
+
calendars: listLoadFailure(payload)
|
|
14
|
+
})), on(listMemberCalendarSuccessAction, (state, { bookingCalendarsMap }) => {
|
|
15
|
+
return {
|
|
16
|
+
...state,
|
|
17
|
+
memberCalendars: retrieveLoadSuccess(bookingCalendarsMap),
|
|
18
|
+
};
|
|
19
|
+
}), on(listMemberCalendarFailureAction, (state, { payload }) => ({
|
|
20
|
+
...state,
|
|
21
|
+
memberCalendars: retrieveLoadFailure(payload)
|
|
22
|
+
})), on(listMemberBookingCalendarBookableSlotsSuccessAction, (state, { slotsMap }) => {
|
|
23
|
+
return {
|
|
24
|
+
...state,
|
|
25
|
+
memberSlots: retrieveLoadSuccess(slotsMap),
|
|
26
|
+
};
|
|
27
|
+
}), on(listMemberBookingCalendarBookableSlotsFailureAction, (state, { payload }) => ({
|
|
28
|
+
...state,
|
|
29
|
+
memberSlots: retrieveLoadFailure(payload)
|
|
30
|
+
})), on(listMemberBookingCalendarSlotSessionSuccessAction, (state, { sessionsMap }) => {
|
|
31
|
+
return {
|
|
32
|
+
...state,
|
|
33
|
+
memberSessions: retrieveLoadSuccess(sessionsMap),
|
|
34
|
+
};
|
|
35
|
+
}), on(listMemberBookingCalendarSlotSessionFailureAction, (state, { payload }) => ({
|
|
36
|
+
...state,
|
|
37
|
+
memberSessions: retrieveLoadFailure(payload)
|
|
38
|
+
})), on(listLocationSuccessAction, (state, { locations }) => {
|
|
12
39
|
return {
|
|
13
40
|
...state,
|
|
14
41
|
locations: listLoadSuccess(locations),
|
|
15
42
|
};
|
|
16
|
-
}), on(
|
|
43
|
+
}), on(listLocationFailureAction, (state, { payload }) => ({
|
|
44
|
+
...state,
|
|
45
|
+
locations: listLoadFailure(payload)
|
|
46
|
+
})), on(listBookableItemSuccessAction, (state, { items }) => {
|
|
17
47
|
return {
|
|
18
48
|
...state,
|
|
19
49
|
bookableItems: listLoadSuccess(items),
|
|
20
50
|
};
|
|
21
|
-
}), on(
|
|
51
|
+
}), on(listBookableItemFailureAction, (state, { payload }) => ({
|
|
52
|
+
...state,
|
|
53
|
+
bookableItems: listLoadFailure(payload)
|
|
54
|
+
})), on(listBookableGroupSuccessAction, (state, { groups }) => {
|
|
22
55
|
return {
|
|
23
56
|
...state,
|
|
24
57
|
bookableGroups: listLoadSuccess(groups),
|
|
25
58
|
};
|
|
26
|
-
}), on(
|
|
59
|
+
}), on(listBookableGroupFailureAction, (state, { payload }) => ({
|
|
60
|
+
...state,
|
|
61
|
+
bookableGroups: listLoadFailure(payload)
|
|
62
|
+
})), on(listBookableTagSuccessAction, (state, { tags }) => {
|
|
27
63
|
return {
|
|
28
64
|
...state,
|
|
29
65
|
bookableTags: listLoadSuccess(tags),
|
|
30
66
|
};
|
|
31
|
-
}), on(
|
|
67
|
+
}), on(listBookableTagFailureAction, (state, { payload }) => ({
|
|
68
|
+
...state,
|
|
69
|
+
bookableTags: listLoadFailure(payload)
|
|
70
|
+
})), on(listTeamSuccessAction, (state, { teams }) => {
|
|
32
71
|
return {
|
|
33
72
|
...state,
|
|
34
73
|
bookingTeams: listLoadSuccess(teams),
|
|
35
74
|
};
|
|
36
|
-
}), on(
|
|
75
|
+
}), on(listTeamFailureAction, (state, { payload }) => ({
|
|
76
|
+
...state,
|
|
77
|
+
bookingTeams: listLoadFailure(payload)
|
|
78
|
+
})), on(listActivityTypeSuccessAction, (state, { activityTypes }) => {
|
|
37
79
|
return {
|
|
38
80
|
...state,
|
|
39
81
|
activityTypes: listLoadSuccess(activityTypes),
|
|
40
82
|
};
|
|
41
|
-
}), on(
|
|
83
|
+
}), on(listActivityTypeFailureAction, (state, { payload }) => ({
|
|
84
|
+
...state,
|
|
85
|
+
activityTypes: listLoadFailure(payload)
|
|
86
|
+
})), on(retrieveSettingsSuccessAction, (state, { settings }) => {
|
|
42
87
|
return {
|
|
43
88
|
...state,
|
|
44
89
|
bookingActivitySettings: retrieveLoadSuccess(settings),
|
|
45
90
|
};
|
|
46
|
-
}), on(
|
|
91
|
+
}), on(retrieveSettingsFailureAction, (state, { payload }) => ({
|
|
92
|
+
...state,
|
|
93
|
+
bookingActivitySettings: retrieveLoadFailure(payload)
|
|
94
|
+
})), on(retrieveBookingSettingsSuccessAction, (state, { settings }) => {
|
|
47
95
|
return {
|
|
48
96
|
...state,
|
|
49
97
|
bookingSettings: retrieveLoadSuccess(settings),
|
|
50
98
|
};
|
|
51
|
-
}), on(
|
|
99
|
+
}), on(retrieveBookingSettingsFailureAction, (state, { payload }) => ({
|
|
100
|
+
...state,
|
|
101
|
+
bookingSettings: retrieveLoadFailure(payload)
|
|
102
|
+
})), on(selectCurrentCalendarAction, (state, { calendar }) => {
|
|
52
103
|
return {
|
|
53
104
|
...state,
|
|
54
105
|
currentCalendar: calendar,
|
|
@@ -76,4 +127,4 @@ export const bookingReducer = createReducer(initialBookingState, on(clearStoreAc
|
|
|
76
127
|
activityTypes: null,
|
|
77
128
|
};
|
|
78
129
|
}));
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va2luZy5yZWR1Y2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvcmVkdWNlcnMvYm9va2luZy5yZWR1Y2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLG1CQUFtQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5Qiw2QkFBNkIsRUFDN0IsNEJBQTRCLEVBQzVCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUN2QixvQ0FBb0MsRUFDcEMsNkJBQTZCLEVBQzdCLDJCQUEyQixFQUMzQix5QkFBeUIsRUFDMUIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQVVMLGlCQUFpQixFQUVsQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsZUFBZSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHekUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGFBQWEsQ0FDekMsbUJBQW1CLEVBQ25CLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUMvQyxFQUFFLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxLQUFtQixFQUFFLEVBQUMsZ0JBQWdCLEVBRXBFLEVBQUUsRUFBRTtJQUNILE9BQU87UUFDTCxHQUFHLEtBQUs7UUFDUixTQUFTLEVBQUUsZUFBZSxDQUFDLGdCQUFnQixDQUFDO0tBQzdDLENBQUE7QUFDSCxDQUFDLENBQUMsRUFDRixFQUFFLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxLQUFtQixFQUFFLEVBQUMsU0FBUyxFQUF5QyxFQUFFLEVB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LFNBQVMsRUFBRSxJQUFJO1FBQ2YsU0FBUyxFQUFFLElBQUk7UUFDZixhQUFhLEVBQUUsSUFBSTtRQUNuQixjQUFjLEVBQUUsSUFBSTtRQUNwQixZQUFZLEVBQUUsSUFBSTtRQUNsQixhQUFhLEVBQUUsSUFBSTtLQUNwQixDQUFBO0FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2tpbmdTdGF0ZSwgaW5pdGlhbEJvb2tpbmdTdGF0ZSB9IGZyb20gJy4uL3N0YXRlJztcbmltcG9ydCB7IGNyZWF0ZVJlZHVjZXIsIG9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgY2xlYXJTdG9yZUFjdGlvbixcbiAgbGlzdEFjdGl2aXR5VHlwZVN1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RCb29rYWJsZUdyb3VwU3VjY2Vzc0FjdGlvbixcbiAgbGlzdEJvb2thYmxlSXRlbVN1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RCb29rYWJsZVRhZ1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RDYWxlbmRhclN1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RMb2NhdGlvblN1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RUZWFtU3VjY2Vzc0FjdGlvbixcbiAgcmVzZXRCb29raW5nU3RhdGVBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ1NldHRpbmdzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVTZXR0aW5nc1N1Y2Nlc3NBY3Rpb24sXG4gIHNlbGVjdEN1cnJlbnRDYWxlbmRhckFjdGlvbixcbiAgdXBkYXRlQm9va2luZ0ZpbHRlckFjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7XG4gIEFjdGl2aXR5TG9jYXRpb24sXG4gIEFjdGl2aXR5U2V0dGluZ3MsXG4gIEFjdGl2aXR5VHlwZSxcbiAgQXV0aFRlYW0sXG4gIEJvb2thYmxlR3JvdXAsXG4gIEJvb2thYmxlSXRlbSxcbiAgQm9va2FibGVUYWcsXG4gIEJvb2tpbmdDYWxlbmRhcixcbiAgQm9va2luZ1NldHRpbmdzLFxuICBCb29raW5nU2xvdEZpbHRlcixcbiAgU2VhcmNoVGVhbVxufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgbGlzdExvYWRTdWNjZXNzLCByZXRyaWV2ZUxvYWRTdWNjZXNzIH0gZnJvbSAnLi9yZWR1Y2VyLWhlbHBlcnMnO1xuXG5cbmV4cG9ydCBjb25zdCBib29raW5nUmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXG4gIGluaXRpYWxCb29raW5nU3RhdGUsXG4gIG9uKGNsZWFyU3RvcmVBY3Rpb24sICgpID0+IGluaXRpYWxCb29raW5nU3RhdGUpLFxuICBvbihsaXN0Q2FsZW5kYXJTdWNjZXNzQWN0aW9uLCAoc3RhdGU6IEJvb2tpbmdTdGF0ZSwge2Jvb2tpbmdDYWxlbmRhcnN9OiB7XG4gICAgYm9va2luZ0NhbGVuZGFyczogQXJyYXk8Qm9va2luZ0NhbGVuZGFyPlxuICB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgY2FsZW5kYXJzOiBsaXN0TG9hZFN1Y2Nlc3MoYm9va2luZ0NhbGVuZGFycyksXG4gICAgfVxuICB9KSxcbiAgb24obGlzdExvY2F0aW9uU3VjY2Vzc0FjdGlvbiwgKHN0YXRlOiBCb29raW5nU3RhdGUsIHtsb2NhdGlvbnN9OiB7IGxvY2F0aW9uczogQXJyYXk8QWN0aXZpdHlMb2NhdGlvbj4gfSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGxvY2F0aW9uczogbGlzdExvYWRTdWNjZXNzKGxvY2F0aW9ucyksXG4gICAgfVxuICB9KSxcbiAgb24obGlzdEJvb2thYmxlSXRlbVN1Y2Nlc3NBY3Rpb24sIChzdGF0ZTogQm9va2luZ1N0YXRlLCB7aXRlbXN9OiB7IGl0ZW1zOiBBcnJheTxCb29rYWJsZUl0ZW0+IH0pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBib29rYWJsZUl0ZW1zOiBsaXN0TG9hZFN1Y2Nlc3MoaXRlbXMpLFxuICAgIH1cbiAgfSksXG4gIG9uKGxpc3RCb29rYWJsZUdyb3VwU3VjY2Vzc0FjdGlvbiwgKHN0YXRlOiBCb29raW5nU3RhdGUsIHtncm91cHN9OiB7IGdyb3VwczogQXJyYXk8Qm9va2FibGVHcm91cD4gfSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGJvb2thYmxlR3JvdXBzOiBsaXN0TG9hZFN1Y2Nlc3MoZ3JvdXBzKSxcbiAgICB9XG4gIH0pLFxuICBvbihsaXN0Qm9va2FibGVUYWdTdWNjZXNzQWN0aW9uLCAoc3RhdGU6IEJvb2tpbmdTdGF0ZSwge3RhZ3N9OiB7IHRhZ3M6IEFycmF5PEJvb2thYmxlVGFnPiB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgYm9va2FibGVUYWdzOiBsaXN0TG9hZFN1Y2Nlc3ModGFncyksXG4gICAgfVxuICB9KSxcbiAgb24obGlzdFRlYW1TdWNjZXNzQWN0aW9uLCAoc3RhdGU6IEJvb2tpbmdTdGF0ZSwge3RlYW1zfTogeyB0ZWFtczogQXJyYXk8U2VhcmNoVGVhbSB8IEF1dGhUZWFtPiB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgYm9va2luZ1RlYW1zOiBsaXN0TG9hZFN1Y2Nlc3ModGVhbXMpLFxuICAgIH1cbiAgfSksXG4gIG9uKGxpc3RBY3Rpdml0eVR5cGVTdWNjZXNzQWN0aW9uLCAoc3RhdGU6IEJvb2tpbmdTdGF0ZSwge2FjdGl2aXR5VHlwZXN9OiB7XG4gICAgYWN0aXZpdHlUeXBlczogQXJyYXk8QWN0aXZpdHlUeXBlPlxuICB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgYWN0aXZpdHlUeXBlczogbGlzdExvYWRTdWNjZXNzKGFjdGl2aXR5VHlwZXMpLFxuICAgIH1cbiAgfSksXG4gIG9uKHJldHJpZXZlU2V0dGluZ3NTdWNjZXNzQWN0aW9uLCAoc3RhdGU6IEJvb2tpbmdTdGF0ZSwge3NldHRpbmdzfTogeyBzZXR0aW5nczogQWN0aXZpdHlTZXR0aW5ncyB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgYm9va2luZ0FjdGl2aXR5U2V0dGluZ3M6IHJldHJpZXZlTG9hZFN1Y2Nlc3Moc2V0dGluZ3MpLFxuICAgIH1cbiAgfSksXG4gIG9uKHJldHJpZXZlQm9va2luZ1NldHRpbmdzU3VjY2Vzc0FjdGlvbiwgKHN0YXRlOiBCb29raW5nU3RhdGUsIHtzZXR0aW5nc306IHsgc2V0dGluZ3M6IEJvb2tpbmdTZXR0aW5ncyB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgYm9va2luZ1NldHRpbmdzOiByZXRyaWV2ZUxvYWRTdWNjZXNzKHNldHRpbmdzKSxcbiAgICB9XG4gIH0pLFxuICBvbihzZWxlY3RDdXJyZW50Q2FsZW5kYXJBY3Rpb24sIChzdGF0ZTogQm9va2luZ1N0YXRlLCB7Y2FsZW5kYXJ9OiB7IGNhbGVuZGFyOiBCb29raW5nQ2FsZW5kYXIgfSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGN1cnJlbnRDYWxlbmRhcjogY2FsZW5kYXIsXG4gICAgfVxuICB9KSxcbiAgb24odXBkYXRlQm9va2luZ0ZpbHRlckFjdGlvbiwgKHN0YXRlOiBCb29raW5nU3RhdGUsIHtmaWx0ZXJ9OiB7IGZpbHRlcjogQm9va2luZ1Nsb3RGaWx0ZXIgfSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGJvb2tpbmdTbG90RmlsdGVyOiBmaWx0ZXIsXG4gICAgfVxuICB9KSxcbiAgb24ocmVzZXRCb29raW5nU3RhdGVBY3Rpb24sIChzdGF0ZTogQm9va2luZ1N0YXRlKSA9PiB7XG4gICAgY29uc3QgYm9va2luZ1Nsb3RGaWx0ZXIgPSBuZXcgQm9va2luZ1Nsb3RGaWx0ZXIoKTtcbiAgICBib29raW5nU2xvdEZpbHRlci5zdGFydERhdGUgPSBzdGF0ZS5ib29raW5nU2xvdEZpbHRlci5zdGFydERhdGU7XG4gICAgYm9va2luZ1Nsb3RGaWx0ZXIuZW5kRGF0ZSA9IHN0YXRlLmJvb2tpbmdTbG90RmlsdGVyLmVuZERhdGU7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgYm9va2luZ1Nsb3RGaWx0ZXI6IGJvb2tpbmdTbG90RmlsdGVyLFxuICAgICAgYm9va2luZ1NldHRpbmdzOiBudWxsLFxuICAgICAgdGVhbXM6IG51bGwsXG4gICAgICBzZXR0aW5nczogbnVsbCxcbiAgICAgIGNhbGVuZGFyczogbnVsbCxcbiAgICAgIGxvY2F0aW9uczogbnVsbCxcbiAgICAgIGJvb2thYmxlSXRlbXM6IG51bGwsXG4gICAgICBib29rYWJsZUdyb3VwczogbnVsbCxcbiAgICAgIGJvb2thYmxlVGFnczogbnVsbCxcbiAgICAgIGFjdGl2aXR5VHlwZXM6IG51bGwsXG4gICAgfVxuICB9KVxuKVxuIl19
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va2luZy5yZWR1Y2Vycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvcmVkdWNlcnMvYm9va2luZy5yZWR1Y2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsbUJBQW1CLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFDM0QsT0FBTyxFQUFDLGFBQWEsRUFBRSxFQUFFLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxFQUNMLGdCQUFnQixFQUNoQiw2QkFBNkIsRUFDN0IsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDOUIsNkJBQTZCLEVBQzdCLDZCQUE2QixFQUM3Qiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6QixtREFBbUQsRUFDbkQsbURBQW1ELEVBQ25ELGlEQUFpRCxFQUNqRCxpREFBaUQsRUFDakQsK0JBQStCLEVBQy9CLCtCQUErQixFQUMvQixxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLHVCQUF1QixFQUFFLG9DQUFvQyxFQUM3RCxvQ0FBb0MsRUFBRSw2QkFBNkIsRUFDbkUsNkJBQTZCLEVBQzdCLDJCQUEyQixFQUMzQix5QkFBeUIsRUFDMUIsTUFBTSxZQUFZLENBQUM7QUFDcEIsT0FBTyxFQVlMLGlCQUFpQixFQUVsQixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUMsZUFBZSxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBRzdHLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxhQUFhLENBQ3pDLG1CQUFtQixFQUNuQixFQUFFLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMsRUFDL0MsRUFBRSxD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QUFPLENBQUM7Q0FDL0QsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLDJCQUEyQixFQUFFLENBQUMsS0FBbUIsRUFBRSxFQUFDLFFBQVEsRUFBZ0MsRUFBRSxFQUFFO0lBQ2pHLE9BQU87UUFDTCxHQUFHLEtBQUs7UUFDUixlQUFlLEVBQUUsUUFBUTtLQUMxQixDQUFBO0FBQ0gsQ0FBQyxDQUFDLEVBQ0YsRUFBRSxDQUFDLHlCQUF5QixFQUFFLENBQUMsS0FBbUIsRUFBRSxFQUFDLE1BQU0sRUFBZ0MsRUFBRSxFQUFFO0lBQzdGLE9BQU87UUFDTCxHQUFHLEtBQUs7UUFDUixpQkFBaUIsRUFBRSxNQUFNO0tBQzFCLENBQUE7QUFDSCxDQUFDLENBQUMsRUFDRixFQUFFLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxLQUFtQixFQUFFLEVBQUU7SUFDbEQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7SUFDbEQsaUJBQWlCLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUM7SUFDaEUsaUJBQWlCLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUM7SUFDNUQsT0FBTztRQUNMLEdBQUcsS0FBSztRQUNSLGlCQUFpQixFQUFFLGlCQUFpQjtRQUNwQyxlQUFlLEVBQUUsSUFBSTtRQUNyQixLQUFLLEVBQUUsSUFBSTtRQUNYLFFBQVEsRUFBRSxJQUFJO1FBQ2QsU0FBUyxFQUFFLElBQUk7UUFDZixTQUFTLEVBQUUsSUFBSTtRQUNmLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGNBQWMsRUFBRSxJQUFJO1FBQ3BCLFlBQVksRUFBRSxJQUFJO1FBQ2xCLGFBQWEsRUFBRSxJQUFJO0tBQ3BCLENBQUE7QUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCb29raW5nU3RhdGUsIGluaXRpYWxCb29raW5nU3RhdGV9IGZyb20gJy4uL3N0YXRlJztcbmltcG9ydCB7Y3JlYXRlUmVkdWNlciwgb259IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIGNsZWFyU3RvcmVBY3Rpb24sXG4gIGxpc3RBY3Rpdml0eVR5cGVGYWlsdXJlQWN0aW9uLFxuICBsaXN0QWN0aXZpdHlUeXBlU3VjY2Vzc0FjdGlvbixcbiAgbGlzdEJvb2thYmxlR3JvdXBGYWlsdXJlQWN0aW9uLFxuICBsaXN0Qm9va2FibGVHcm91cFN1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RCb29rYWJsZUl0ZW1GYWlsdXJlQWN0aW9uLFxuICBsaXN0Qm9va2FibGVJdGVtU3VjY2Vzc0FjdGlvbixcbiAgbGlzdEJvb2thYmxlVGFnRmFpbHVyZUFjdGlvbixcbiAgbGlzdEJvb2thYmxlVGFnU3VjY2Vzc0FjdGlvbixcbiAgbGlzdENhbGVuZGFyRmFpbHVyZUFjdGlvbixcbiAgbGlzdENhbGVuZGFyU3VjY2Vzc0FjdGlvbixcbiAgbGlzdExvY2F0aW9uRmFpbHVyZUFjdGlvbixcbiAgbGlzdExvY2F0aW9uU3VjY2Vzc0FjdGlvbixcbiAgbGlzdE1lbWJlckJvb2tpbmdDYWxlbmRhckJvb2thYmxlU2xvdHNGYWlsdXJlQWN0aW9uLFxuICBsaXN0TWVtYmVyQm9va2luZ0NhbGVuZGFyQm9va2FibGVTbG90c1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RNZW1iZXJCb29raW5nQ2FsZW5kYXJTbG90U2Vzc2lvbkZhaWx1cmVBY3Rpb24sXG4gIGxpc3RNZW1iZXJCb29raW5nQ2FsZW5kYXJTbG90U2Vzc2lvblN1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RNZW1iZXJDYWxlbmRhckZhaWx1cmVBY3Rpb24sXG4gIGxpc3RNZW1iZXJDYWxlbmRhclN1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RUZWFtRmFpbHVyZUFjdGlvbixcbiAgbGlzdFRlYW1TdWNjZXNzQWN0aW9uLFxuICByZXNldEJvb2tpbmdTdGF0ZUFjdGlvbiwgcmV0cmlldmVCb29raW5nU2V0dGluZ3NGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdTZXR0aW5nc1N1Y2Nlc3NBY3Rpb24sIHJldHJpZXZlU2V0dGluZ3NGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZVNldHRpbmdzU3VjY2Vzc0FjdGlvbixcbiAgc2VsZWN0Q3VycmVudENhbGVuZGFyQWN0aW9uLFxuICB1cGRhdGVCb29raW5nRmlsdGVyQWN0aW9uXG59IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHtcbiAgQWN0aXZpdHlMb2NhdGlvbixcbiAgQWN0aXZpdHlTZXR0aW5ncyxcbiAgQWN0aXZpdHlUeXBlLFxuICBBdXRoVGVhbSxcbiAgQm9va2FibGVHcm91cCxcbiAgQm9va2FibGVJdGVtLFxuICBCb29rYWJsZVRhZyxcbiAgQm9va2luZ0NhbGVuZGFyLFxuICBCb29raW5nQ2FsZW5kYXJTbG90LFxuICBCb29raW5nQ2FsZW5kYXJTbG90U2Vzc2lvbixcbiAgQm9va2luZ1NldHRpbmdzLFxuICBCb29raW5nU2xvdEZpbHRlcixcbiAgU2VhcmNoVGVhbVxufSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtsaXN0TG9hZEZhaWx1cmUsIGxpc3RMb2FkU3VjY2VzcywgcmV0cmlldmVMb2FkRmFpbHVyZSwgcmV0cmlldmVMb2FkU3VjY2Vzc30gZnJvbSAnLi9yZWR1Y2VyLWhlbHBlcnMnO1xuXG5cbmV4cG9ydCBjb25zdCBib29raW5nUmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXG4gIGluaXRpYWxCb29raW5nU3RhdGUsXG4gIG9uKGNsZWFyU3RvcmVBY3Rpb24sICgpID0+IGluaXRpYWxCb29raW5nU3RhdGUpLFxuICBvbihsaXN0Q2FsZW5kYXJTdWNjZXNzQWN0aW9uLCAoc3RhdGU6IEJvb2tpbmdTdGF0ZSwge2Jvb2tpbmdDYWxlbmRhcnN9OiB7XG4gICAgYm9va2luZ0NhbGVuZGFyczogQXJyYXk8Qm9va2luZ0NhbGVuZGFyPlxuICB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgY2FsZW5kYXJzOiBsaXN0TG9hZFN1Y2Nlc3MoYm9va2luZ0NhbGVuZGFycyksXG4gICAgfVxuICB9KSxcbiAgb24obGlzdENhbGVuZGFyRmFpbHVyZUFjdGlvbiwgKHN0YXRlLCB7cGF5bG9hZH0pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgY2FsZW5kYXJzOiBsaXN0TG9hZEZhaWx1cmU8Qm9va2luZ0NhbGVuZGFyPihwYXlsb2FkKVxuICB9KSksXG4gIG9uKGxpc3RNZW1iZXJDYWxlbmRhclN1Y2Nlc3NBY3Rpb24sIChzdGF0ZTogQm9va2luZ1N0YXRlLCB7Ym9va2luZ0NhbGVuZGFyc01hcH06IHtcbiAgICBib29raW5nQ2FsZW5kYXJzTWFwOiBNYXA8c3RyaW5nLCBBcnJheTxCb29raW5nQ2FsZW5kYXI+PlxuICB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWVtYmVyQ2FsZW5kYXJzOiByZXRyaWV2ZUxvYWRTdWNjZXNzKGJvb2tpbmdDYWxlbmRhcnNNYXApLFxuICAgIH1cbiAgfSksXG4gIG9uKGxpc3RNZW1iZXJDYWxlbmRhckZhaWx1cmVBY3Rpb24sIChzdGF0ZSwge3BheWxvYWR9KSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIG1lbWJlckNhbGVuZGFyczogcmV0cmlldmVMb2FkRmFpbHVyZTxNYXA8c3RyaW5nLCBBcnJheTxCb29raW5nQ2FsZW5kYXI+Pj4ocGF5bG9hZClcbiAgfSkpLFxuICBvbihsaXN0TWVtYmVyQm9va2luZ0NhbGVuZGFyQm9va2FibGVTbG90c1N1Y2Nlc3NBY3Rpb24sIChzdGF0ZTogQm9va2luZ1N0YXRlLCB7c2xvdHNNYXB9OiB7XG4gICAgc2xvdHNNYXA6IE1hcDxzdHJpbmcsIEFycmF5PEJvb2tpbmdDYWxlbmRhclNsb3Q+PlxuICB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgbWVtYmVyU2xvdHM6IHJldHJpZXZlTG9hZFN1Y2Nlc3Moc2xvdHNNYXApLFxuICAgIH1cbiAgfSksXG4gIG9uKGxpc3RNZW1iZXJCb29raW5nQ2FsZW5kYXJCb29rYWJsZVNsb3RzRmFpbHVyZUFjdGlvbiwgKHN0YXRlLCB7cGF5bG9hZH0pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbWVtYmVyU2xvdHM6IHJldHJpZXZlTG9hZEZhaWx1cmU8TWFwPHN0cmluZywgQXJyYXk8Qm9va2luZ0NhbGVuZGFyU2xvdD4+PihwYXlsb2FkKVxuICB9KSksXG4gIG9uKGxpc3RNZW1iZXJCb29raW5nQ2FsZW5kYXJTbG90U2Vzc2lvblN1Y2Nlc3NBY3Rpb24sIChzdGF0ZTogQm9va2luZ1N0YXRlLCB7c2Vzc2lvbnNNYXB9OiB7XG4gICAgc2Vzc2lvbnNNYXA6IE1hcDxzdHJpbmcsIEFycmF5PEJvb2tpbmdDYWxlbmRhclNsb3RTZXNzaW9uPj5cbiAgfSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIG1lbWJlclNlc3Npb25zOiByZXRyaWV2ZUxvYWRTdWNjZXNzKHNlc3Npb25zTWFwKSxcbiAgICB9XG4gIH0pLFxuICBvbihsaXN0TWVtYmVyQm9va2luZ0NhbGVuZGFyU2xvdFNlc3Npb25GYWlsdXJlQWN0aW9uLCAoc3RhdGUsIHtwYXlsb2FkfSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBtZW1iZXJTZXNzaW9uczogcmV0cmlldmVMb2FkRmFpbHVyZTxNYXA8c3RyaW5nLCBBcnJheTxCb29raW5nQ2FsZW5kYXJTbG90U2Vzc2lvbj4+PihwYXlsb2FkKVxuICB9KSksXG4gIG9uKGxpc3RMb2NhdGlvblN1Y2Nlc3NBY3Rpb24sIChzdGF0ZTogQm9va2luZ1N0YXRlLCB7bG9jYXRpb25zfTogeyBsb2NhdGlvbnM6IEFycmF5PEFjdGl2aXR5TG9jYXRpb24+IH0pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBsb2NhdGlvbnM6IGxpc3RMb2FkU3VjY2Vzcyhsb2NhdGlvbnMpLFxuICAgIH1cbiAgfSksXG4gIG9uKGxpc3RMb2NhdGlvbkZhaWx1cmVBY3Rpb24sIChzdGF0ZSwge3BheWxvYWR9KSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGxvY2F0aW9uczogbGlzdExvYWRGYWlsdXJlPEFjdGl2aXR5TG9jYXRpb24+KHBheWxvYWQpXG4gIH0pKSxcbiAgb24obGlzdEJvb2thYmxlSXRlbVN1Y2Nlc3NBY3Rpb24sIChzdGF0ZTogQm9va2luZ1N0YXRlLCB7aXRlbXN9OiB7IGl0ZW1zOiBBcnJheTxCb29rYWJsZUl0ZW0+IH0pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBib29rYWJsZUl0ZW1zOiBsaXN0TG9hZFN1Y2Nlc3MoaXRlbXMpLFxuICAgIH1cbiAgfSksXG4gIG9uKGxpc3RCb29rYWJsZUl0ZW1GYWlsdXJlQWN0aW9uLCAoc3RhdGUsIHtwYXlsb2FkfSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBib29rYWJsZUl0ZW1zOiBsaXN0TG9hZEZhaWx1cmU8Qm9va2FibGVJdGVtPihwYXlsb2FkKVxuICB9KSksXG4gIG9uKGxpc3RCb29rYWJsZUdyb3VwU3VjY2Vzc0FjdGlvbiwgKHN0YXRlOiBCb29raW5nU3RhdGUsIHtncm91cHN9OiB7IGdyb3VwczogQXJyYXk8Qm9va2FibGVHcm91cD4gfSkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGJvb2thYmxlR3JvdXBzOiBsaXN0TG9hZFN1Y2Nlc3MoZ3JvdXBzKSxcbiAgICB9XG4gIH0pLFxuICBvbihsaXN0Qm9va2FibGVHcm91cEZhaWx1cmVBY3Rpb24sIChzdGF0ZSwge3BheWxvYWR9KSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGJvb2thYmxlR3JvdXBzOiBsaXN0TG9hZEZhaWx1cmU8Qm9va2FibGVHcm91cD4ocGF5bG9hZClcbiAgfSkpLFxuICBvbihsaXN0Qm9va2FibGVUYWdTdWNjZXNzQWN0aW9uLCAoc3RhdGU6IEJvb2tpbmdTdGF0ZSwge3RhZ3N9OiB7IHRhZ3M6IEFycmF5PEJvb2thYmxlVGFnPiB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgYm9va2FibGVUYWdzOiBsaXN0TG9hZFN1Y2Nlc3ModGFncyksXG4gICAgfVxuICB9KSxcbiAgb24obGlzdEJvb2thYmxlVGFnRmFpbHVyZUFjdGlvbiwgKHN0YXRlLCB7cGF5bG9hZH0pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgYm9va2FibGVUYWdzOiBsaXN0TG9hZEZhaWx1cmU8Qm9va2FibGVUYWc+KHBheWxvYWQpXG4gIH0pKSxcbiAgb24obGlzdFRlYW1TdWNjZXNzQWN0aW9uLCAoc3RhdGU6IEJvb2tpbmdTdGF0ZSwge3RlYW1zfTogeyB0ZWFtczogQXJyYXk8U2VhcmNoVGVhbSB8IEF1dGhUZWFtPiB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgYm9va2luZ1RlYW1zOiBsaXN0TG9hZFN1Y2Nlc3ModGVhbXMpLFxuICAgIH1cbiAgfSksXG4gIG9uKGxpc3RUZWFtRmFpbHVyZUFjdGlvbiwgKHN0YXRlLCB7cGF5bG9hZH0pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgYm9va2luZ1RlYW1zOiBsaXN0TG9hZEZhaWx1cmU8U2VhcmNoVGVhbSB8IEF1dGhUZWFtPihwYXlsb2FkKVxuICB9KSksXG4gIG9uKGxpc3RBY3Rpdml0eVR5cGVTdWNjZXNzQWN0aW9uLCAoc3RhdGU6IEJvb2tpbmdTdGF0ZSwge2FjdGl2aXR5VHlwZXN9OiB7XG4gICAgYWN0aXZpdHlUeXBlczogQXJyYXk8QWN0aXZpdHlUeXBlPlxuICB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgYWN0aXZpdHlUeXBlczogbGlzdExvYWRTdWNjZXNzKGFjdGl2aXR5VHlwZXMpLFxuICAgIH1cbiAgfSksXG4gIG9uKGxpc3RBY3Rpdml0eVR5cGVGYWlsdXJlQWN0aW9uLCAoc3RhdGUsIHtwYXlsb2FkfSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBhY3Rpdml0eVR5cGVzOiBsaXN0TG9hZEZhaWx1cmU8QWN0aXZpdHlUeXBlPihwYXlsb2FkKVxuICB9KSksXG4gIG9uKHJldHJpZXZlU2V0dGluZ3NTdWNjZXNzQWN0aW9uLCAoc3RhdGU6IEJvb2tpbmdTdGF0ZSwge3NldHRpbmdzfTogeyBzZXR0aW5nczogQWN0aXZpdHlTZXR0aW5ncyB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgYm9va2luZ0FjdGl2aXR5U2V0dGluZ3M6IHJldHJpZXZlTG9hZFN1Y2Nlc3Moc2V0dGluZ3MpLFxuICAgIH1cbiAgfSksXG4gIG9uKHJldHJpZXZlU2V0dGluZ3NGYWlsdXJlQWN0aW9uLCAoc3RhdGUsIHtwYXlsb2FkfSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBib29raW5nQWN0aXZpdHlTZXR0aW5nczogcmV0cmlldmVMb2FkRmFpbHVyZTxBY3Rpdml0eVNldHRpbmdzPihwYXlsb2FkKVxuICB9KSksXG4gIG9uKHJldHJpZXZlQm9va2luZ1NldHRpbmdzU3VjY2Vzc0FjdGlvbiwgKHN0YXRlOiBCb29raW5nU3RhdGUsIHtzZXR0aW5nc306IHsgc2V0dGluZ3M6IEJvb2tpbmdTZXR0aW5ncyB9KSA9PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgYm9va2luZ1NldHRpbmdzOiByZXRyaWV2ZUxvYWRTdWNjZXNzKHNldHRpbmdzKSxcbiAgICB9XG4gIH0pLFxuICBvbihyZXRyaWV2ZUJvb2tpbmdTZXR0aW5nc0ZhaWx1cmVBY3Rpb24sIChzdGF0ZSwge3BheWxvYWR9KSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGJvb2tpbmdTZXR0aW5nczogcmV0cmlldmVMb2FkRmFpbHVyZTxCb29raW5nU2V0dGluZ3M+KHBheWxvYWQpXG4gIH0pKSxcbiAgb24oc2VsZWN0Q3VycmVudENhbGVuZGFyQWN0aW9uLCAoc3RhdGU6IEJvb2tpbmdTdGF0ZSwge2NhbGVuZGFyfTogeyBjYWxlbmRhcjogQm9va2luZ0NhbGVuZGFyIH0pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBjdXJyZW50Q2FsZW5kYXI6IGNhbGVuZGFyLFxuICAgIH1cbiAgfSksXG4gIG9uKHVwZGF0ZUJvb2tpbmdGaWx0ZXJBY3Rpb24sIChzdGF0ZTogQm9va2luZ1N0YXRlLCB7ZmlsdGVyfTogeyBmaWx0ZXI6IEJvb2tpbmdTbG90RmlsdGVyIH0pID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBib29raW5nU2xvdEZpbHRlcjogZmlsdGVyLFxuICAgIH1cbiAgfSksXG4gIG9uKHJlc2V0Qm9va2luZ1N0YXRlQWN0aW9uLCAoc3RhdGU6IEJvb2tpbmdTdGF0ZSkgPT4ge1xuICAgIGNvbnN0IGJvb2tpbmdTbG90RmlsdGVyID0gbmV3IEJvb2tpbmdTbG90RmlsdGVyKCk7XG4gICAgYm9va2luZ1Nsb3RGaWx0ZXIuc3RhcnREYXRlID0gc3RhdGUuYm9va2luZ1Nsb3RGaWx0ZXIuc3RhcnREYXRlO1xuICAgIGJvb2tpbmdTbG90RmlsdGVyLmVuZERhdGUgPSBzdGF0ZS5ib29raW5nU2xvdEZpbHRlci5lbmREYXRlO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGJvb2tpbmdTbG90RmlsdGVyOiBib29raW5nU2xvdEZpbHRlcixcbiAgICAgIGJvb2tpbmdTZXR0aW5nczogbnVsbCxcbiAgICAgIHRlYW1zOiBudWxsLFxuICAgICAgc2V0dGluZ3M6IG51bGwsXG4gICAgICBjYWxlbmRhcnM6IG51bGwsXG4gICAgICBsb2NhdGlvbnM6IG51bGwsXG4gICAgICBib29rYWJsZUl0ZW1zOiBudWxsLFxuICAgICAgYm9va2FibGVHcm91cHM6IG51bGwsXG4gICAgICBib29rYWJsZVRhZ3M6IG51bGwsXG4gICAgICBhY3Rpdml0eVR5cGVzOiBudWxsLFxuICAgIH1cbiAgfSlcbilcbiJdfQ==
|