@myclub_se/data-access 3.7.10 → 3.7.11

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.
Files changed (180) hide show
  1. package/esm2022/lib/api-models/api-invoice/api-payment-attempt-create.mjs +1 -8
  2. package/esm2022/lib/authentication/authentication.interceptor.mjs +6 -8
  3. package/esm2022/lib/authentication/authentication.service.mjs +8 -11
  4. package/esm2022/lib/authentication/guards/authenticated.guard.mjs +4 -6
  5. package/esm2022/lib/authentication/guards/handle-grant-token.guard.mjs +4 -7
  6. package/esm2022/lib/data-access.module.mjs +6 -6
  7. package/esm2022/lib/maintenance/maintenance.interceptor.mjs +4 -5
  8. package/esm2022/lib/models/activity-extra-member.mjs +1 -8
  9. package/esm2022/lib/models/activity-invite.mjs +1 -23
  10. package/esm2022/lib/models/activity-location-group.mjs +1 -7
  11. package/esm2022/lib/models/activity-location-part.mjs +1 -3
  12. package/esm2022/lib/models/activity-location-tag.mjs +1 -6
  13. package/esm2022/lib/models/activity-location.mjs +1 -11
  14. package/esm2022/lib/models/activity-participant.mjs +1 -8
  15. package/esm2022/lib/models/activity-question-connection.mjs +1 -8
  16. package/esm2022/lib/models/activity-question-response.mjs +1 -3
  17. package/esm2022/lib/models/activity-question.mjs +1 -8
  18. package/esm2022/lib/models/activity-rule-relation.mjs +1 -9
  19. package/esm2022/lib/models/activity-rule.mjs +1 -8
  20. package/esm2022/lib/models/activity-settings.mjs +1 -18
  21. package/esm2022/lib/models/activity-type.mjs +1 -9
  22. package/esm2022/lib/models/activity-waiting-list-entry.mjs +1 -16
  23. package/esm2022/lib/models/activity.mjs +1 -82
  24. package/esm2022/lib/models/app-settings.mjs +1 -5
  25. package/esm2022/lib/models/auth/auth-member.mjs +3 -7
  26. package/esm2022/lib/models/auth/auth-section.mjs +1 -6
  27. package/esm2022/lib/models/auth/auth-team-section.mjs +1 -3
  28. package/esm2022/lib/models/auth/auth-team.mjs +1 -6
  29. package/esm2022/lib/models/auth/auth.mjs +1 -17
  30. package/esm2022/lib/models/authentication.mjs +1 -3
  31. package/esm2022/lib/models/bookable-item.mjs +1 -11
  32. package/esm2022/lib/models/bookable-part.mjs +1 -3
  33. package/esm2022/lib/models/bookable-tag.mjs +1 -6
  34. package/esm2022/lib/models/booking-calendar-application-time.mjs +1 -33
  35. package/esm2022/lib/models/booking-calendar-slot-session.mjs +1 -35
  36. package/esm2022/lib/models/booking-calendar-slot-validate-copy-result.mjs +1 -5
  37. package/esm2022/lib/models/booking-calendar-slot.mjs +1 -26
  38. package/esm2022/lib/models/booking-calendar.mjs +1 -33
  39. package/esm2022/lib/models/booking-settings.mjs +1 -8
  40. package/esm2022/lib/models/booking-slot-filter.mjs +1 -12
  41. package/esm2022/lib/models/calendar-event.mjs +1 -16
  42. package/esm2022/lib/models/calendar.mjs +1 -6
  43. package/esm2022/lib/models/card/card-deal.mjs +1 -6
  44. package/esm2022/lib/models/card/card-logo-urls.mjs +1 -9
  45. package/esm2022/lib/models/card/card-logo.mjs +1 -4
  46. package/esm2022/lib/models/card/card-member-ticket.mjs +1 -7
  47. package/esm2022/lib/models/card/card-theme.mjs +1 -6
  48. package/esm2022/lib/models/card/card-ticket-location.mjs +1 -5
  49. package/esm2022/lib/models/card/card-ticket.mjs +1 -17
  50. package/esm2022/lib/models/card/card.mjs +1 -9
  51. package/esm2022/lib/models/card/home-team.mjs +1 -4
  52. package/esm2022/lib/models/card/member-card.mjs +1 -11
  53. package/esm2022/lib/models/card/search-member-card.mjs +1 -5
  54. package/esm2022/lib/models/card/selected-field.mjs +1 -3
  55. package/esm2022/lib/models/club-image.mjs +1 -14
  56. package/esm2022/lib/models/club-section.mjs +1 -3
  57. package/esm2022/lib/models/club.mjs +1 -3
  58. package/esm2022/lib/models/collection.mjs +1 -5
  59. package/esm2022/lib/models/contact.mjs +1 -19
  60. package/esm2022/lib/models/databank-category.mjs +1 -7
  61. package/esm2022/lib/models/databank-item.mjs +1 -7
  62. package/esm2022/lib/models/directory.mjs +1 -10
  63. package/esm2022/lib/models/email.mjs +1 -4
  64. package/esm2022/lib/models/event.mjs +1 -28
  65. package/esm2022/lib/models/external-link.mjs +1 -3
  66. package/esm2022/lib/models/feature-flags.mjs +1 -14
  67. package/esm2022/lib/models/file-object.mjs +1 -10
  68. package/esm2022/lib/models/general-image.mjs +1 -4
  69. package/esm2022/lib/models/group-role.mjs +1 -7
  70. package/esm2022/lib/models/guest.mjs +1 -5
  71. package/esm2022/lib/models/image-urls.mjs +1 -6
  72. package/esm2022/lib/models/invoice/member-fee.mjs +1 -6
  73. package/esm2022/lib/models/invoice/member-invoice-row.mjs +1 -14
  74. package/esm2022/lib/models/invoice/member-invoice.mjs +1 -24
  75. package/esm2022/lib/models/invoice/payment-attempt.mjs +1 -10
  76. package/esm2022/lib/models/invoice/payment-order-row.mjs +1 -3
  77. package/esm2022/lib/models/invoice/payment-order.mjs +1 -18
  78. package/esm2022/lib/models/invoice/payment-types/credit-card.mjs +1 -12
  79. package/esm2022/lib/models/invoice/payment-types/giro.mjs +1 -7
  80. package/esm2022/lib/models/invoice/payment-types/swish.mjs +1 -14
  81. package/esm2022/lib/models/invoice/payment-types/zimpler.mjs +1 -8
  82. package/esm2022/lib/models/invoice/search-member-invoice.mjs +1 -10
  83. package/esm2022/lib/models/invoice/swish-qr-code.mjs +1 -2
  84. package/esm2022/lib/models/invoice/unpaid-member-invoice.mjs +1 -5
  85. package/esm2022/lib/models/leader-activity.mjs +1 -12
  86. package/esm2022/lib/models/member/member-attribute.mjs +1 -12
  87. package/esm2022/lib/models/member/member-contact.mjs +1 -6
  88. package/esm2022/lib/models/member/member-function.mjs +1 -6
  89. package/esm2022/lib/models/member/member-validation-settings.mjs +1 -9
  90. package/esm2022/lib/models/member/member.mjs +1 -27
  91. package/esm2022/lib/models/member/other-member-field.mjs +1 -4
  92. package/esm2022/lib/models/member/other-member.mjs +1 -9
  93. package/esm2022/lib/models/member/search-member.mjs +1 -17
  94. package/esm2022/lib/models/member-activity-invite.mjs +1 -12
  95. package/esm2022/lib/models/member-public-form-field-option.mjs +1 -5
  96. package/esm2022/lib/models/member-public-form-field.mjs +1 -12
  97. package/esm2022/lib/models/member-public-form.mjs +1 -26
  98. package/esm2022/lib/models/member-team-through.mjs +1 -10
  99. package/esm2022/lib/models/member-team.mjs +1 -10
  100. package/esm2022/lib/models/member-type.mjs +1 -4
  101. package/esm2022/lib/models/mypages-menu-item.mjs +1 -4
  102. package/esm2022/lib/models/news.mjs +1 -20
  103. package/esm2022/lib/models/open-activity.mjs +3 -79
  104. package/esm2022/lib/models/optional-fee.mjs +2 -7
  105. package/esm2022/lib/models/overbooked-bookable-item.mjs +1 -6
  106. package/esm2022/lib/models/overbooked-location.mjs +1 -6
  107. package/esm2022/lib/models/partner.mjs +1 -5
  108. package/esm2022/lib/models/public-authentication.mjs +1 -3
  109. package/esm2022/lib/models/registration-qr-code.mjs +1 -8
  110. package/esm2022/lib/models/retrieve-2fa.mjs +1 -3
  111. package/esm2022/lib/models/saved-search.mjs +1 -3
  112. package/esm2022/lib/models/search-attribute.mjs +1 -5
  113. package/esm2022/lib/models/search-club.mjs +1 -10
  114. package/esm2022/lib/models/search-team.mjs +1 -9
  115. package/esm2022/lib/models/section.mjs +1 -3
  116. package/esm2022/lib/models/swish-incident.mjs +1 -11
  117. package/esm2022/lib/models/token.mjs +1 -4
  118. package/esm2022/lib/models/user-notification.mjs +1 -9
  119. package/esm2022/lib/models/user.mjs +1 -13
  120. package/esm2022/lib/services/activity.service.mjs +4 -7
  121. package/esm2022/lib/services/api.service.mjs +4 -6
  122. package/esm2022/lib/services/auth.service.mjs +4 -5
  123. package/esm2022/lib/services/bookable.service.mjs +4 -5
  124. package/esm2022/lib/services/booking-calendar.service.mjs +22 -6
  125. package/esm2022/lib/services/club.service.mjs +4 -5
  126. package/esm2022/lib/services/constant.service.mjs +4 -5
  127. package/esm2022/lib/services/databank.service.mjs +4 -5
  128. package/esm2022/lib/services/email.service.mjs +4 -5
  129. package/esm2022/lib/services/external-link.service.mjs +4 -5
  130. package/esm2022/lib/services/feature-flags.service.mjs +4 -5
  131. package/esm2022/lib/services/file.service.mjs +4 -5
  132. package/esm2022/lib/services/invoice/invoice.service.mjs +4 -5
  133. package/esm2022/lib/services/invoice/payment-attempt.service.mjs +4 -5
  134. package/esm2022/lib/services/invoice/payment-order.service.mjs +4 -5
  135. package/esm2022/lib/services/leader-notification.service.mjs +4 -5
  136. package/esm2022/lib/services/maintenance-mode.service.mjs +8 -7
  137. package/esm2022/lib/services/member-card.service.mjs +4 -5
  138. package/esm2022/lib/services/member-fee.service.mjs +4 -5
  139. package/esm2022/lib/services/member-public-form.service.mjs +4 -5
  140. package/esm2022/lib/services/member.service.mjs +4 -5
  141. package/esm2022/lib/services/news.service.mjs +4 -5
  142. package/esm2022/lib/services/registration-qr-code.service.mjs +4 -5
  143. package/esm2022/lib/services/saved-search.service.mjs +4 -5
  144. package/esm2022/lib/services/section.service.mjs +4 -5
  145. package/esm2022/lib/services/storage.service.mjs +5 -6
  146. package/esm2022/lib/services/swish-incident.service.mjs +4 -5
  147. package/esm2022/lib/services/team.service.mjs +4 -5
  148. package/esm2022/lib/services/token.service.mjs +4 -5
  149. package/esm2022/lib/services/user-notification.service.mjs +4 -5
  150. package/esm2022/lib/services/user.service.mjs +4 -5
  151. package/esm2022/lib/store/actions/booking.actions.mjs +7 -1
  152. package/esm2022/lib/store/effects/activity.effects.mjs +358 -355
  153. package/esm2022/lib/store/effects/auth.effects.mjs +121 -119
  154. package/esm2022/lib/store/effects/booking.effects.mjs +139 -134
  155. package/esm2022/lib/store/effects/calendar.effects.mjs +61 -59
  156. package/esm2022/lib/store/effects/club-info.effects.mjs +17 -15
  157. package/esm2022/lib/store/effects/constant.effects.mjs +78 -76
  158. package/esm2022/lib/store/effects/databank.effects.mjs +23 -21
  159. package/esm2022/lib/store/effects/email.effects.mjs +16 -14
  160. package/esm2022/lib/store/effects/external-link.effects.mjs +11 -9
  161. package/esm2022/lib/store/effects/file.effects.mjs +92 -90
  162. package/esm2022/lib/store/effects/invoice.effects.mjs +176 -174
  163. package/esm2022/lib/store/effects/member-card.effects.mjs +73 -71
  164. package/esm2022/lib/store/effects/member-fee.effects.mjs +9 -7
  165. package/esm2022/lib/store/effects/member.effects.mjs +41 -39
  166. package/esm2022/lib/store/effects/mixins/extra-members-mixin.mjs +4 -2
  167. package/esm2022/lib/store/effects/news.effects.mjs +47 -45
  168. package/esm2022/lib/store/effects/public-form.effects.mjs +24 -22
  169. package/esm2022/lib/store/effects/registration-qr-code.effects.mjs +14 -12
  170. package/esm2022/lib/store/effects/saved-search.effects.mjs +9 -7
  171. package/esm2022/lib/store/effects/swish-incidents.effects.mjs +11 -9
  172. package/esm2022/lib/store/effects/team.effects.mjs +82 -79
  173. package/esm2022/lib/store/effects/token.effects.mjs +93 -91
  174. package/esm2022/lib/store/effects/user.effects.mjs +35 -35
  175. package/fesm2022/myclub_se-data-access.mjs +1771 -2857
  176. package/fesm2022/myclub_se-data-access.mjs.map +1 -1
  177. package/lib/services/booking-calendar.service.d.ts +3 -0
  178. package/lib/store/actions/booking.actions.d.ts +24 -0
  179. package/lib/store/effects/booking.effects.d.ts +5 -0
  180. package/package.json +1 -1
@@ -6,82 +6,84 @@ import { exhaustMap, of } from 'rxjs';
6
6
  import { catchError, map } from 'rxjs/operators';
7
7
  import * as i0 from "@angular/core";
8
8
  export class ConstantEffects {
9
- actions$ = inject(Actions);
10
- constantService = inject(ConstantService);
11
- featureFlagsService = inject(FeatureFlagsService);
12
- retrieveLanguages$ = createEffect(() => this.actions$
13
- .pipe(ofType(retrieveLanguagesConstantsAction), exhaustMap(() => this.constantService.getLanguages()
14
- .pipe(map((constants) => retrieveLanguagesConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveLanguagesConstantsFailureAction({ payload: error })))))));
15
- retrieveActivitySettings$ = createEffect(() => this.actions$
16
- .pipe(ofType(retrieveActivitySettingsConstantsAction), exhaustMap(() => this.constantService.getActivityInviteSettings()
17
- .pipe(map((constants) => retrieveActivitySettingsConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivitySettingsConstantsFailureAction({ payload: error })))))));
18
- retrieveActivityMaxAttendantsTypes$ = createEffect(() => this.actions$
19
- .pipe(ofType(retrieveActivityMaxAttendantsTypesConstantsAction), exhaustMap(() => this.constantService.getActivityMaxAttendantsTypes()
20
- .pipe(map((constants) => retrieveActivityMaxAttendantsTypesConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityMaxAttendantsTypesConstantsFailureAction({ payload: error })))))));
21
- retrieveActivityMeetUpTimes$ = createEffect(() => this.actions$
22
- .pipe(ofType(retrieveActivityMeetUpTimesConstantsAction), exhaustMap(() => this.constantService.getActivityMeetUpTimes()
23
- .pipe(map((constants) => retrieveActivityMeetUpTimesConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityMeetUpTimesConstantsFailureAction({ payload: error })))))));
24
- retrieveActivityQuestionTypes$ = createEffect(() => this.actions$
25
- .pipe(ofType(retrieveActivityQuestionTypesConstantsAction), exhaustMap(() => this.constantService.getActivityQuestionTypes()
26
- .pipe(map((constants) => retrieveActivityQuestionTypesConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityQuestionTypesConstantsFailureAction({ payload: error })))))));
27
- retrieveActivityReminderDays$ = createEffect(() => this.actions$
28
- .pipe(ofType(retrieveActivityReminderDaysConstantsAction), exhaustMap(() => this.constantService.getActivityReminderDays()
29
- .pipe(map((constants) => retrieveActivityReminderDaysConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityReminderDaysConstantsFailureAction({ payload: error })))))));
30
- retrieveActivityReminderReceivers$ = createEffect(() => this.actions$
31
- .pipe(ofType(retrieveActivityReminderReceiversConstantsAction), exhaustMap(() => this.constantService.getActivityReminderReceivers()
32
- .pipe(map((constants) => retrieveActivityReminderReceiversConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityReminderReceiversConstantsFailureAction({ payload: error })))))));
33
- retrieveActivityReminderTimes$ = createEffect(() => this.actions$
34
- .pipe(ofType(retrieveActivityReminderTimesConstantsAction), exhaustMap(() => this.constantService.getActivityReminderTimes()
35
- .pipe(map((constants) => retrieveActivityReminderTimesConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityReminderTimesConstantsFailureAction({ payload: error })))))));
36
- retrieveActivityRepeatOptions$ = createEffect(() => this.actions$
37
- .pipe(ofType(retrieveActivityRepeatOptionsConstantsAction), exhaustMap(() => this.constantService.getActivityRepeatOptions()
38
- .pipe(map((constants) => retrieveActivityRepeatOptionsConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityRepeatOptionsConstantsFailureAction({ payload: error })))))));
39
- retrieveActivityRepeatTypeOptions$ = createEffect(() => this.actions$
40
- .pipe(ofType(retrieveActivityRepeatTypeOptionsConstantsAction), exhaustMap(() => this.constantService.getActivityRepeatTypeOptions()
41
- .pipe(map((constants) => retrieveActivityRepeatTypeOptionsConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityRepeatTypeOptionsConstantsFailureAction({ payload: error })))))));
42
- retrieveActivityRules$ = createEffect(() => this.actions$
43
- .pipe(ofType(retrieveActivityRuleTypesAction), exhaustMap(() => this.constantService.getActivityRules()
44
- .pipe(map((constants) => retrieveActivityRuleTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityRuleTypesFailureAction({ payload: error })))))));
45
- retrieveActivityRuleRelations$ = createEffect(() => this.actions$
46
- .pipe(ofType(retrieveActivityRuleRelationTypesAction), exhaustMap(() => this.constantService.getActivityRuleRelations()
47
- .pipe(map((constants) => retrieveActivityRuleRelationTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityRuleRelationTypesFailureAction({ payload: error })))))));
48
- retrieveCountries$ = createEffect(() => this.actions$
49
- .pipe(ofType(retrieveCountriesConstantsAction), exhaustMap(() => this.constantService.getCountries()
50
- .pipe(map((constants) => retrieveCountriesConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveCountriesConstantsFailureAction({ payload: error })))))));
51
- retrieveMemberContactTypes$ = createEffect(() => this.actions$
52
- .pipe(ofType(retrieveMemberContactTypesConstantsAction), exhaustMap(() => this.constantService.getMemberContactTypes()
53
- .pipe(map((constants) => retrieveMemberContactTypesConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveMemberContactTypesConstantsFailureAction({ payload: error })))))));
54
- retrieveBookingSlotTypes$ = createEffect(() => this.actions$
55
- .pipe(ofType(retrieveBookingSlotTypesAction), exhaustMap(() => this.constantService.getBookingSlotTypes()
56
- .pipe(map((constants) => retrieveBookingSlotTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveBookingSlotTypesFailureAction({ payload: error })))))));
57
- retrieveTeamBookingSlotTypes$ = createEffect(() => this.actions$
58
- .pipe(ofType(retrieveTeamBookingSlotTypesAction), exhaustMap(() => this.constantService.getTeamBookingSlotTypes()
59
- .pipe(map((constants) => retrieveTeamBookingSlotTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveTeamBookingSlotTypesFailureAction({ payload: error })))))));
60
- retrieveMemberBookingSlotTypes$ = createEffect(() => this.actions$
61
- .pipe(ofType(retrieveMemberBookingSlotTypesAction), exhaustMap(() => this.constantService.getMemberBookingSlotTypes()
62
- .pipe(map((constants) => retrieveMemberBookingSlotTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveMemberBookingSlotTypesFailureAction({ payload: error })))))));
63
- retrieveBookingSlotReservedTimePositions$ = createEffect(() => this.actions$
64
- .pipe(ofType(retrieveBookingSlotReservedTimePositionsAction), exhaustMap(() => this.constantService.getBookingSlotReservedTimePositions()
65
- .pipe(map((constants) => retrieveBookingSlotReservedTimePositionsSuccessAction({ payload: constants })), catchError((error) => of(retrieveBookingSlotReservedTimePositionsFailureAction({ payload: error })))))));
66
- retrieveBookingSlotSessionTypes$ = createEffect(() => this.actions$
67
- .pipe(ofType(retrieveBookingSlotSessionTypesAction), exhaustMap(() => this.constantService.getBookingSlotSessionTypes()
68
- .pipe(map((constants) => retrieveBookingSlotSessionTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveBookingSlotSessionTypesFailureAction({ payload: error })))))));
69
- retrieveBookingCalendarStatuses$ = createEffect(() => this.actions$
70
- .pipe(ofType(retrieveBookingCalendarStatusesAction), exhaustMap(() => this.constantService.getBookingCalendarStatuses()
71
- .pipe(map((constants) => retrieveBookingCalendarStatusesSuccessAction({ payload: constants })), catchError((error) => of(retrieveBookingCalendarStatusesFailureAction({ payload: error })))))));
72
- retrieveBookingCalendarTypes$ = createEffect(() => this.actions$
73
- .pipe(ofType(retrieveBookingCalendarTypesAction), exhaustMap(() => this.constantService.getBookingCalendarTypes()
74
- .pipe(map((constants) => retrieveBookingCalendarTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveBookingCalendarTypesFailureAction({ payload: error })))))));
75
- retrieveFeatureFlags$ = createEffect(() => this.actions$
76
- .pipe(ofType(retrieveFeatureFlagsAction), exhaustMap(({ role, clubOrSectionOrTeamId }) => this.featureFlagsService.getFeatureFlags(role, clubOrSectionOrTeamId)
77
- .pipe(map((featureFlags) => retrieveFeatureFlagsSuccessAction({ payload: featureFlags })), catchError((error) => of(retrieveFeatureFlagsFailureAction({ payload: error })))))));
78
- retrieve2FATypes$ = createEffect(() => this.actions$
79
- .pipe(ofType(retrieve2FAMethodsAction), exhaustMap(() => this.constantService.get2FAMethods()
80
- .pipe(map((constants) => retrieve2FAMethodsSuccessAction({ payload: constants })), catchError((error) => of(retrieve2FAMethodsFailureAction({ payload: error })))))));
81
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ConstantEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
82
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ConstantEffects });
9
+ constructor() {
10
+ this.actions$ = inject(Actions);
11
+ this.constantService = inject(ConstantService);
12
+ this.featureFlagsService = inject(FeatureFlagsService);
13
+ this.retrieveLanguages$ = createEffect(() => this.actions$
14
+ .pipe(ofType(retrieveLanguagesConstantsAction), exhaustMap(() => this.constantService.getLanguages()
15
+ .pipe(map((constants) => retrieveLanguagesConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveLanguagesConstantsFailureAction({ payload: error })))))));
16
+ this.retrieveActivitySettings$ = createEffect(() => this.actions$
17
+ .pipe(ofType(retrieveActivitySettingsConstantsAction), exhaustMap(() => this.constantService.getActivityInviteSettings()
18
+ .pipe(map((constants) => retrieveActivitySettingsConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivitySettingsConstantsFailureAction({ payload: error })))))));
19
+ this.retrieveActivityMaxAttendantsTypes$ = createEffect(() => this.actions$
20
+ .pipe(ofType(retrieveActivityMaxAttendantsTypesConstantsAction), exhaustMap(() => this.constantService.getActivityMaxAttendantsTypes()
21
+ .pipe(map((constants) => retrieveActivityMaxAttendantsTypesConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityMaxAttendantsTypesConstantsFailureAction({ payload: error })))))));
22
+ this.retrieveActivityMeetUpTimes$ = createEffect(() => this.actions$
23
+ .pipe(ofType(retrieveActivityMeetUpTimesConstantsAction), exhaustMap(() => this.constantService.getActivityMeetUpTimes()
24
+ .pipe(map((constants) => retrieveActivityMeetUpTimesConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityMeetUpTimesConstantsFailureAction({ payload: error })))))));
25
+ this.retrieveActivityQuestionTypes$ = createEffect(() => this.actions$
26
+ .pipe(ofType(retrieveActivityQuestionTypesConstantsAction), exhaustMap(() => this.constantService.getActivityQuestionTypes()
27
+ .pipe(map((constants) => retrieveActivityQuestionTypesConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityQuestionTypesConstantsFailureAction({ payload: error })))))));
28
+ this.retrieveActivityReminderDays$ = createEffect(() => this.actions$
29
+ .pipe(ofType(retrieveActivityReminderDaysConstantsAction), exhaustMap(() => this.constantService.getActivityReminderDays()
30
+ .pipe(map((constants) => retrieveActivityReminderDaysConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityReminderDaysConstantsFailureAction({ payload: error })))))));
31
+ this.retrieveActivityReminderReceivers$ = createEffect(() => this.actions$
32
+ .pipe(ofType(retrieveActivityReminderReceiversConstantsAction), exhaustMap(() => this.constantService.getActivityReminderReceivers()
33
+ .pipe(map((constants) => retrieveActivityReminderReceiversConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityReminderReceiversConstantsFailureAction({ payload: error })))))));
34
+ this.retrieveActivityReminderTimes$ = createEffect(() => this.actions$
35
+ .pipe(ofType(retrieveActivityReminderTimesConstantsAction), exhaustMap(() => this.constantService.getActivityReminderTimes()
36
+ .pipe(map((constants) => retrieveActivityReminderTimesConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityReminderTimesConstantsFailureAction({ payload: error })))))));
37
+ this.retrieveActivityRepeatOptions$ = createEffect(() => this.actions$
38
+ .pipe(ofType(retrieveActivityRepeatOptionsConstantsAction), exhaustMap(() => this.constantService.getActivityRepeatOptions()
39
+ .pipe(map((constants) => retrieveActivityRepeatOptionsConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityRepeatOptionsConstantsFailureAction({ payload: error })))))));
40
+ this.retrieveActivityRepeatTypeOptions$ = createEffect(() => this.actions$
41
+ .pipe(ofType(retrieveActivityRepeatTypeOptionsConstantsAction), exhaustMap(() => this.constantService.getActivityRepeatTypeOptions()
42
+ .pipe(map((constants) => retrieveActivityRepeatTypeOptionsConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityRepeatTypeOptionsConstantsFailureAction({ payload: error })))))));
43
+ this.retrieveActivityRules$ = createEffect(() => this.actions$
44
+ .pipe(ofType(retrieveActivityRuleTypesAction), exhaustMap(() => this.constantService.getActivityRules()
45
+ .pipe(map((constants) => retrieveActivityRuleTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityRuleTypesFailureAction({ payload: error })))))));
46
+ this.retrieveActivityRuleRelations$ = createEffect(() => this.actions$
47
+ .pipe(ofType(retrieveActivityRuleRelationTypesAction), exhaustMap(() => this.constantService.getActivityRuleRelations()
48
+ .pipe(map((constants) => retrieveActivityRuleRelationTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveActivityRuleRelationTypesFailureAction({ payload: error })))))));
49
+ this.retrieveCountries$ = createEffect(() => this.actions$
50
+ .pipe(ofType(retrieveCountriesConstantsAction), exhaustMap(() => this.constantService.getCountries()
51
+ .pipe(map((constants) => retrieveCountriesConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveCountriesConstantsFailureAction({ payload: error })))))));
52
+ this.retrieveMemberContactTypes$ = createEffect(() => this.actions$
53
+ .pipe(ofType(retrieveMemberContactTypesConstantsAction), exhaustMap(() => this.constantService.getMemberContactTypes()
54
+ .pipe(map((constants) => retrieveMemberContactTypesConstantsSuccessAction({ payload: constants })), catchError((error) => of(retrieveMemberContactTypesConstantsFailureAction({ payload: error })))))));
55
+ this.retrieveBookingSlotTypes$ = createEffect(() => this.actions$
56
+ .pipe(ofType(retrieveBookingSlotTypesAction), exhaustMap(() => this.constantService.getBookingSlotTypes()
57
+ .pipe(map((constants) => retrieveBookingSlotTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveBookingSlotTypesFailureAction({ payload: error })))))));
58
+ this.retrieveTeamBookingSlotTypes$ = createEffect(() => this.actions$
59
+ .pipe(ofType(retrieveTeamBookingSlotTypesAction), exhaustMap(() => this.constantService.getTeamBookingSlotTypes()
60
+ .pipe(map((constants) => retrieveTeamBookingSlotTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveTeamBookingSlotTypesFailureAction({ payload: error })))))));
61
+ this.retrieveMemberBookingSlotTypes$ = createEffect(() => this.actions$
62
+ .pipe(ofType(retrieveMemberBookingSlotTypesAction), exhaustMap(() => this.constantService.getMemberBookingSlotTypes()
63
+ .pipe(map((constants) => retrieveMemberBookingSlotTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveMemberBookingSlotTypesFailureAction({ payload: error })))))));
64
+ this.retrieveBookingSlotReservedTimePositions$ = createEffect(() => this.actions$
65
+ .pipe(ofType(retrieveBookingSlotReservedTimePositionsAction), exhaustMap(() => this.constantService.getBookingSlotReservedTimePositions()
66
+ .pipe(map((constants) => retrieveBookingSlotReservedTimePositionsSuccessAction({ payload: constants })), catchError((error) => of(retrieveBookingSlotReservedTimePositionsFailureAction({ payload: error })))))));
67
+ this.retrieveBookingSlotSessionTypes$ = createEffect(() => this.actions$
68
+ .pipe(ofType(retrieveBookingSlotSessionTypesAction), exhaustMap(() => this.constantService.getBookingSlotSessionTypes()
69
+ .pipe(map((constants) => retrieveBookingSlotSessionTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveBookingSlotSessionTypesFailureAction({ payload: error })))))));
70
+ this.retrieveBookingCalendarStatuses$ = createEffect(() => this.actions$
71
+ .pipe(ofType(retrieveBookingCalendarStatusesAction), exhaustMap(() => this.constantService.getBookingCalendarStatuses()
72
+ .pipe(map((constants) => retrieveBookingCalendarStatusesSuccessAction({ payload: constants })), catchError((error) => of(retrieveBookingCalendarStatusesFailureAction({ payload: error })))))));
73
+ this.retrieveBookingCalendarTypes$ = createEffect(() => this.actions$
74
+ .pipe(ofType(retrieveBookingCalendarTypesAction), exhaustMap(() => this.constantService.getBookingCalendarTypes()
75
+ .pipe(map((constants) => retrieveBookingCalendarTypesSuccessAction({ payload: constants })), catchError((error) => of(retrieveBookingCalendarTypesFailureAction({ payload: error })))))));
76
+ this.retrieveFeatureFlags$ = createEffect(() => this.actions$
77
+ .pipe(ofType(retrieveFeatureFlagsAction), exhaustMap(({ role, clubOrSectionOrTeamId }) => this.featureFlagsService.getFeatureFlags(role, clubOrSectionOrTeamId)
78
+ .pipe(map((featureFlags) => retrieveFeatureFlagsSuccessAction({ payload: featureFlags })), catchError((error) => of(retrieveFeatureFlagsFailureAction({ payload: error })))))));
79
+ this.retrieve2FATypes$ = createEffect(() => this.actions$
80
+ .pipe(ofType(retrieve2FAMethodsAction), exhaustMap(() => this.constantService.get2FAMethods()
81
+ .pipe(map((constants) => retrieve2FAMethodsSuccessAction({ payload: constants })), catchError((error) => of(retrieve2FAMethodsFailureAction({ payload: error })))))));
82
+ }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConstantEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
84
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConstantEffects }); }
83
85
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ConstantEffects, decorators: [{
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConstantEffects, decorators: [{
85
87
  type: Injectable
86
88
  }] });
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9jb25zdGFudC5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IsaURBQWlELEVBQ2pELHdEQUF3RCxFQUN4RCx3REFBd0QsRUFDeEQsMENBQTBDLEVBQzFDLGlEQUFpRCxFQUNqRCxpREFBaUQsRUFDakQsNENBQTRDLEVBQzVDLG1EQUFtRCxFQUNuRCxtREFBbUQsRUFDbkQsMkNBQTJDLEVBQzNDLGtEQUFrRCxFQUNsRCxrREFBa0QsRUFDbEQsZ0RBQWdELEVBQ2hELHVEQUF1RCxFQUN2RCx1REFBdUQsRUFDdkQsNENBQTRDLEVBQzVDLG1EQUFtRCxFQUNuRCxtREFBbUQsRUFDbkQsNENBQTRDLEVBQzVDLG1EQUFtRCxFQUNuRCxtREFBbUQsRUFDbkQsZ0RBQWdELEVBQ2hELHVEQUF1RCxFQUN2RCx1REFBdUQsRUFBRSx1Q0FBdUMsRUFDaEcsOENBQThDLEVBQzlDLDhDQUE4QyxFQUFFLCtCQUErQixFQUMvRSxzQ0FBc0MsRUFDdEMsc0NBQXNDLEVBQ3RDLHVDQUF1QyxFQUN2Qyw4Q0FBOEMsRUFDOUMsOENBQThDLEVBQzlDLHFDQUFxQyxFQUNyQyw0Q0FBNEMsRUFDNUMsNENBQTRDLEVBQzVDLGtDQUFrQyxFQUNsQyx5Q0FBeUMsRUFDekMseUNBQXlDLEVBQ3pDLDhDQUE4QyxFQUM5QyxxREFBcUQsRUFDckQscURBQXFELEVBQ3JELHFDQUFxQyxFQUNyQyw0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RUFBRSxDQUFDLGlDQUFpQyxDQUFDLEVBQUMsT0FBTyxFQUFFLFlBQVksRUFBQyxDQUFDLENBQUMsRUFDL0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUNsRyxDQUNKLENBQ0YsQ0FDRixDQUFDO0lBRUYsaUJBQWlCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQ2pELElBQUksQ0FDSCxNQUFNLENBQUMsd0JBQXdCLENBQUMsRUFDaEMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFO1NBQ2xELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxTQUFpQyxFQUFFLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFDLEVBQ2pHLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDaEcsQ0FDRixDQUNGLENBQ0YsQ0FBQzt1R0EzUlMsZUFBZTsyR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHtcbiAgcmV0cmlldmUyRkFNZXRob2RzQWN0aW9uLFxuICByZXRyaWV2ZTJGQU1ldGhvZHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZTJGQU1ldGhvZHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWF4QXR0ZW5kYW50c1R5cGVzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWF4QXR0ZW5kYW50c1R5cGVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eU1heEF0dGVuZGFudHNUeXBlc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlNZWV0VXBUaW1lc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVF1ZXN0aW9uVHlwZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlRdWVzdGlvblR5cGVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVF1ZXN0aW9uVHlwZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyRGF5c0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclJlY2VpdmVyc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclRpbWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdE9wdGlvbnNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9uc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbiwgcmV0cmlldmVBY3Rpdml0eVJ1bGVSZWxhdGlvblR5cGVzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UnVsZVJlbGF0aW9uVHlwZXNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UnVsZVJlbGF0aW9uVHlwZXNTdWNjZXNzQWN0aW9uLCByZXRyaWV2ZUFjdGl2aXR5UnVsZVR5cGVzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UnVsZVR5cGVzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJ1bGVUeXBlc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlTZXR0aW5nc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVNldHRpbmdzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVNldHRpbmdzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nQ2FsZW5kYXJTdGF0dXNlc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nQ2FsZW5kYXJTdGF0dXNlc0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ0NhbGVuZGFyU3RhdHVzZXNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclR5cGVzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclR5cGVzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVCb29raW5nQ2FsZW5kYXJUeXBlc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnNBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdTbG90UmVzZXJ2ZWRUaW1lUG9zaXRpb25zU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFNlc3Npb25UeXBlc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFNlc3Npb25UeXBlc0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RTZXNzaW9uVHlwZXNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdTbG90VHlwZXNBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlc0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQ291bnRyaWVzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUNvdW50cmllc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlQ291bnRyaWVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVGZWF0dXJlRmxhZ3NBY3Rpb24sXG4gIHJldHJpZXZlRmVhdHVyZUZsYWdzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVGZWF0dXJlRmxhZ3NTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUxhbmd1YWdlc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVMYW5ndWFnZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUxhbmd1YWdlc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyQm9va2luZ1Nsb3RUeXBlc0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJCb29raW5nU2xvdFR5cGVzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJCb29raW5nU2xvdFR5cGVzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJDb250YWN0VHlwZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyQ29udGFjdFR5cGVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJDb250YWN0VHlwZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1Cb29raW5nU2xvdFR5cGVzQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1Cb29raW5nU2xvdFR5cGVzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVUZWFtQm9va2luZ1Nsb3RUeXBlc1N1Y2Nlc3NBY3Rpb25cbn0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBDb25zdGFudFNlcnZpY2UsIEZlYXR1cmVGbGFnc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBPcHRpb25JbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEZlYXR1cmVGbGFncywgUm9sZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbnN0YW50RWZmZWN0cyB7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucyk7XG4gIHByaXZhdGUgY29uc3RhbnRTZXJ2aWNlID0gaW5qZWN0KENvbnN0YW50U2VydmljZSk7XG4gIHByaXZhdGUgZmVhdHVyZUZsYWdzU2VydmljZSA9IGluamVjdChGZWF0dXJlRmxhZ3NTZXJ2aWNlKTtcblxuICByZXRyaWV2ZUxhbmd1YWdlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlTGFuZ3VhZ2VzQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0TGFuZ3VhZ2VzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlTGFuZ3VhZ2VzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVMYW5ndWFnZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUFjdGl2aXR5U2V0dGluZ3MkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUFjdGl2aXR5U2V0dGluZ3NDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRBY3Rpdml0eUludml0ZVNldHRpbmdzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQWN0aXZpdHlTZXR0aW5nc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQWN0aXZpdHlTZXR0aW5nc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUFjdGl2aXR5TWF4QXR0ZW5kYW50c1R5cGVzQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0QWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVBY3Rpdml0eU1heEF0dGVuZGFudHNUeXBlc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUFjdGl2aXR5TWVldFVwVGltZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUFjdGl2aXR5TWVldFVwVGltZXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRBY3Rpdml0eU1lZXRVcFRpbWVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQWN0aXZpdHlNZWV0VXBUaW1lc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQWN0aXZpdHlNZWV0VXBUaW1lc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQWN0aXZpdHlRdWVzdGlvblR5cGVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVBY3Rpdml0eVF1ZXN0aW9uVHlwZXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRBY3Rpdml0eVF1ZXN0aW9uVHlwZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVBY3Rpdml0eVF1ZXN0aW9uVHlwZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUFjdGl2aXR5UXVlc3Rpb25UeXBlc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApXG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyRGF5cyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlckRheXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRBY3Rpdml0eVJlbWluZGVyRGF5cygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVJlbWluZGVyRGF5c0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclJlY2VpdmVycyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclJlY2VpdmVyc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5UmVtaW5kZXJSZWNlaXZlcnMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJUaW1lc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5UmVtaW5kZXJUaW1lcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJUaW1lc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclRpbWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdE9wdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5UmVwZWF0T3B0aW9ucygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQWN0aXZpdHlSZXBlYXRPcHRpb25zQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0QWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9ucygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0VHlwZU9wdGlvbnNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUFjdGl2aXR5UmVwZWF0VHlwZU9wdGlvbnNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUFjdGl2aXR5UnVsZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUFjdGl2aXR5UnVsZVR5cGVzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0QWN0aXZpdHlSdWxlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UnVsZVR5cGVzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVJ1bGVUeXBlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQWN0aXZpdHlSdWxlUmVsYXRpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVBY3Rpdml0eVJ1bGVSZWxhdGlvblR5cGVzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0QWN0aXZpdHlSdWxlUmVsYXRpb25zKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQWN0aXZpdHlSdWxlUmVsYXRpb25UeXBlc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQWN0aXZpdHlSdWxlUmVsYXRpb25UeXBlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQ291bnRyaWVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRDb3VudHJpZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUNvdW50cmllc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlTWVtYmVyQ29udGFjdFR5cGVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVNZW1iZXJDb250YWN0VHlwZXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRNZW1iZXJDb250YWN0VHlwZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVNZW1iZXJDb250YWN0VHlwZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZU1lbWJlckNvbnRhY3RUeXBlc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEJvb2tpbmdTbG90VHlwZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVCb29raW5nU2xvdFR5cGVzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVCb29raW5nU2xvdFR5cGVzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVUZWFtQm9va2luZ1Nsb3RUeXBlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlVGVhbUJvb2tpbmdTbG90VHlwZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRUZWFtQm9va2luZ1Nsb3RUeXBlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZVRlYW1Cb29raW5nU2xvdFR5cGVzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVUZWFtQm9va2luZ1Nsb3RUeXBlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlTWVtYmVyQm9va2luZ1Nsb3RUeXBlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlTWVtYmVyQm9va2luZ1Nsb3RUeXBlc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldE1lbWJlckJvb2tpbmdTbG90VHlwZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVNZW1iZXJCb29raW5nU2xvdFR5cGVzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJCb29raW5nU2xvdFR5cGVzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9ucyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9ucygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUJvb2tpbmdTbG90UmVzZXJ2ZWRUaW1lUG9zaXRpb25zU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9uc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RTZXNzaW9uVHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0Qm9va2luZ1Nsb3RTZXNzaW9uVHlwZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVCb29raW5nU2xvdFNlc3Npb25UeXBlc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQm9va2luZ1Nsb3RTZXNzaW9uVHlwZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVCb29raW5nQ2FsZW5kYXJTdGF0dXNlc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEJvb2tpbmdDYWxlbmRhclN0YXR1c2VzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQm9va2luZ0NhbGVuZGFyU3RhdHVzZXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVCb29raW5nQ2FsZW5kYXJUeXBlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRCb29raW5nQ2FsZW5kYXJUeXBlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclR5cGVzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVCb29raW5nQ2FsZW5kYXJUeXBlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlRmVhdHVyZUZsYWdzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVGZWF0dXJlRmxhZ3NBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcChcbiAgICAgICAgKHtyb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWR9OiB7XG4gICAgICAgICAgcm9sZTogUm9sZSxcbiAgICAgICAgICBjbHViT3JTZWN0aW9uT3JUZWFtSWQ6IHN0cmluZ1xuICAgICAgICB9KSA9PiB0aGlzLmZlYXR1cmVGbGFnc1NlcnZpY2UuZ2V0RmVhdHVyZUZsYWdzKHJvbGUsIGNsdWJPclNlY3Rpb25PclRlYW1JZClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoZmVhdHVyZUZsYWdzOiBGZWF0dXJlRmxhZ3MpID0+IHJldHJpZXZlRmVhdHVyZUZsYWdzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogZmVhdHVyZUZsYWdzfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUZlYXR1cmVGbGFnc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmUyRkFUeXBlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlMkZBTWV0aG9kc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldDJGQU1ldGhvZHMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmUyRkFNZXRob2RzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmUyRkFNZXRob2RzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG59XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9jb25zdGFudC5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IsaURBQWlELEVBQ2pELHdEQUF3RCxFQUN4RCx3REFBd0QsRUFDeEQsMENBQTBDLEVBQzFDLGlEQUFpRCxFQUNqRCxpREFBaUQsRUFDakQsNENBQTRDLEVBQzVDLG1EQUFtRCxFQUNuRCxtREFBbUQsRUFDbkQsMkNBQTJDLEVBQzNDLGtEQUFrRCxFQUNsRCxrREFBa0QsRUFDbEQsZ0RBQWdELEVBQ2hELHVEQUF1RCxFQUN2RCx1REFBdUQsRUFDdkQsNENBQTRDLEVBQzVDLG1EQUFtRCxFQUNuRCxtREFBbUQsRUFDbkQsNENBQTRDLEVBQzVDLG1EQUFtRCxFQUNuRCxtREFBbUQsRUFDbkQsZ0RBQWdELEVBQ2hELHVEQUF1RCxFQUN2RCx1REFBdUQsRUFBRSx1Q0FBdUMsRUFDaEcsOENBQThDLEVBQzlDLDhDQUE4QyxFQUFFLCtCQUErQixFQUMvRSxzQ0FBc0MsRUFDdEMsc0NBQXNDLEVBQ3RDLHVDQUF1QyxFQUN2Qyw4Q0FBOEMsRUFDOUMsOENBQThDLEVBQzlDLHFDQUFxQyxFQUNyQyw0Q0FBNEMsRUFDNUMsNENBQTRDLEVBQzVDLGtDQUFrQyxFQUNsQyx5Q0FBeUMsRUFDekMseUNBQXlDLEVBQ3pDLDhDQUE4QyxFQUM5QyxxREFBcUQsRUFDckQscURBQXFELEVBQ3JELHFDQUFxQyxFQUNyQyw0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LEVBQUUsRUFBRSxDQUFDLGlDQUFpQyxDQUFDLEVBQUMsT0FBTyxFQUFFLFlBQVksRUFBQyxDQUFDLENBQUMsRUFDL0YsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUNsRyxDQUNKLENBQ0YsQ0FDRixDQUFDO1FBRUYsc0JBQWlCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO2FBQ2pELElBQUksQ0FDSCxNQUFNLENBQUMsd0JBQXdCLENBQUMsRUFDaEMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFO2FBQ2xELElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxTQUFpQyxFQUFFLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFDLEVBQ2pHLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDaEcsQ0FDRixDQUNGLENBQ0YsQ0FBQztLQUNIOytHQTVSWSxlQUFlO21IQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQge1xuICByZXRyaWV2ZTJGQU1ldGhvZHNBY3Rpb24sXG4gIHJldHJpZXZlMkZBTWV0aG9kc0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlMkZBTWV0aG9kc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWF4QXR0ZW5kYW50c1R5cGVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWVldFVwVGltZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5TWVldFVwVGltZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UXVlc3Rpb25UeXBlc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVF1ZXN0aW9uVHlwZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UXVlc3Rpb25UeXBlc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlckRheXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlckRheXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJSZWNlaXZlcnNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJSZWNlaXZlcnNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJUaW1lc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJUaW1lc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZXBlYXRPcHRpb25zQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9uc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSZXBlYXRPcHRpb25zQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0VHlwZU9wdGlvbnNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0VHlwZU9wdGlvbnNDb25zdGFudHNTdWNjZXNzQWN0aW9uLCByZXRyaWV2ZUFjdGl2aXR5UnVsZVJlbGF0aW9uVHlwZXNBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSdWxlUmVsYXRpb25UeXBlc0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSdWxlUmVsYXRpb25UeXBlc1N1Y2Nlc3NBY3Rpb24sIHJldHJpZXZlQWN0aXZpdHlSdWxlVHlwZXNBY3Rpb24sXG4gIHJldHJpZXZlQWN0aXZpdHlSdWxlVHlwZXNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5UnVsZVR5cGVzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVBY3Rpdml0eVNldHRpbmdzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5U2V0dGluZ3NDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUFjdGl2aXR5U2V0dGluZ3NDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVCb29raW5nQ2FsZW5kYXJTdGF0dXNlc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXNBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclR5cGVzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9uc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9uc0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzQWN0aW9uLFxuICByZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFNlc3Npb25UeXBlc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlQm9va2luZ1Nsb3RUeXBlc0FjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFR5cGVzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVCb29raW5nU2xvdFR5cGVzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNBY3Rpb24sXG4gIHJldHJpZXZlQ291bnRyaWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVDb3VudHJpZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZUZlYXR1cmVGbGFnc0FjdGlvbixcbiAgcmV0cmlldmVGZWF0dXJlRmxhZ3NGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZUZlYXR1cmVGbGFnc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTGFuZ3VhZ2VzQ29uc3RhbnRzQWN0aW9uLFxuICByZXRyaWV2ZUxhbmd1YWdlc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlTGFuZ3VhZ2VzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJCb29raW5nU2xvdFR5cGVzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckJvb2tpbmdTbG90VHlwZXNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckJvb2tpbmdTbG90VHlwZXNTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNvbnRhY3RUeXBlc0NvbnN0YW50c0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJDb250YWN0VHlwZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckNvbnRhY3RUeXBlc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUJvb2tpbmdTbG90VHlwZXNBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUJvb2tpbmdTbG90VHlwZXNGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1Cb29raW5nU2xvdFR5cGVzU3VjY2Vzc0FjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IENvbnN0YW50U2VydmljZSwgRmVhdHVyZUZsYWdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IE9wdGlvbkludGVyZmFjZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgZXhoYXVzdE1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRmVhdHVyZUZsYWdzLCBSb2xlIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQ29uc3RhbnRFZmZlY3RzIHtcbiAgcHJpdmF0ZSBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcbiAgcHJpdmF0ZSBjb25zdGFudFNlcnZpY2UgPSBpbmplY3QoQ29uc3RhbnRTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBmZWF0dXJlRmxhZ3NTZXJ2aWNlID0gaW5qZWN0KEZlYXR1cmVGbGFnc1NlcnZpY2UpO1xuXG4gIHJldHJpZXZlTGFuZ3VhZ2VzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVMYW5ndWFnZXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRMYW5ndWFnZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVMYW5ndWFnZXNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUxhbmd1YWdlc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQWN0aXZpdHlTZXR0aW5ncyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlTZXR0aW5nc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5SW52aXRlU2V0dGluZ3MoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVBY3Rpdml0eVNldHRpbmdzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVNldHRpbmdzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eU1heEF0dGVuZGFudHNUeXBlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlNYXhBdHRlbmRhbnRzVHlwZXNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRBY3Rpdml0eU1heEF0dGVuZGFudHNUeXBlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5TWF4QXR0ZW5kYW50c1R5cGVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eU1heEF0dGVuZGFudHNUeXBlc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQWN0aXZpdHlNZWV0VXBUaW1lcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlNZWV0VXBUaW1lc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5TWVldFVwVGltZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eU1lZXRVcFRpbWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVF1ZXN0aW9uVHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUFjdGl2aXR5UXVlc3Rpb25UeXBlc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5UXVlc3Rpb25UeXBlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UXVlc3Rpb25UeXBlc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQWN0aXZpdHlRdWVzdGlvblR5cGVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gIClcblxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVBY3Rpdml0eVJlbWluZGVyRGF5c0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEFjdGl2aXR5UmVtaW5kZXJEYXlzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlckRheXNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJEYXlzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVBY3Rpdml0eVJlbWluZGVyUmVjZWl2ZXJzQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0QWN0aXZpdHlSZW1pbmRlclJlY2VpdmVycygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJSZWNlaXZlcnNDb25zdGFudHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJSZWNlaXZlcnNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUFjdGl2aXR5UmVtaW5kZXJUaW1lcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclRpbWVzQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0QWN0aXZpdHlSZW1pbmRlclRpbWVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQWN0aXZpdHlSZW1pbmRlclRpbWVzQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVJlbWluZGVyVGltZXNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0T3B0aW9ucyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlSZXBlYXRPcHRpb25zQ29uc3RhbnRzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0QWN0aXZpdHlSZXBlYXRPcHRpb25zKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQWN0aXZpdHlSZXBlYXRPcHRpb25zQ29uc3RhbnRzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVJlcGVhdE9wdGlvbnNDb25zdGFudHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUFjdGl2aXR5UmVwZWF0VHlwZU9wdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUFjdGl2aXR5UmVwZWF0VHlwZU9wdGlvbnNDb25zdGFudHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRBY3Rpdml0eVJlcGVhdFR5cGVPcHRpb25zKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9uc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQWN0aXZpdHlSZXBlYXRUeXBlT3B0aW9uc0NvbnN0YW50c0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQWN0aXZpdHlSdWxlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQWN0aXZpdHlSdWxlVHlwZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRBY3Rpdml0eVJ1bGVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQWN0aXZpdHlSdWxlVHlwZXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUFjdGl2aXR5UnVsZVR5cGVzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVBY3Rpdml0eVJ1bGVSZWxhdGlvbnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUFjdGl2aXR5UnVsZVJlbGF0aW9uVHlwZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRBY3Rpdml0eVJ1bGVSZWxhdGlvbnMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVBY3Rpdml0eVJ1bGVSZWxhdGlvblR5cGVzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVBY3Rpdml0eVJ1bGVSZWxhdGlvblR5cGVzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVDb3VudHJpZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUNvdW50cmllc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldENvdW50cmllcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUNvdW50cmllc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQ291bnRyaWVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVNZW1iZXJDb250YWN0VHlwZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlckNvbnRhY3RUeXBlc0NvbnN0YW50c0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldE1lbWJlckNvbnRhY3RUeXBlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZU1lbWJlckNvbnRhY3RUeXBlc0NvbnN0YW50c1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlTWVtYmVyQ29udGFjdFR5cGVzQ29uc3RhbnRzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVCb29raW5nU2xvdFR5cGVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVCb29raW5nU2xvdFR5cGVzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0Qm9va2luZ1Nsb3RUeXBlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUJvb2tpbmdTbG90VHlwZXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUJvb2tpbmdTbG90VHlwZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZVRlYW1Cb29raW5nU2xvdFR5cGVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVUZWFtQm9va2luZ1Nsb3RUeXBlc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldFRlYW1Cb29raW5nU2xvdFR5cGVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlVGVhbUJvb2tpbmdTbG90VHlwZXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZVRlYW1Cb29raW5nU2xvdFR5cGVzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVNZW1iZXJCb29raW5nU2xvdFR5cGVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVNZW1iZXJCb29raW5nU2xvdFR5cGVzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0TWVtYmVyQm9va2luZ1Nsb3RUeXBlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZU1lbWJlckJvb2tpbmdTbG90VHlwZXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZU1lbWJlckJvb2tpbmdTbG90VHlwZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUJvb2tpbmdTbG90UmVzZXJ2ZWRUaW1lUG9zaXRpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVCb29raW5nU2xvdFJlc2VydmVkVGltZVBvc2l0aW9uc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEJvb2tpbmdTbG90UmVzZXJ2ZWRUaW1lUG9zaXRpb25zKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQm9va2luZ1Nsb3RSZXNlcnZlZFRpbWVQb3NpdGlvbnNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUJvb2tpbmdTbG90UmVzZXJ2ZWRUaW1lUG9zaXRpb25zRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVCb29raW5nU2xvdFNlc3Npb25UeXBlcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlQm9va2luZ1Nsb3RTZXNzaW9uVHlwZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmNvbnN0YW50U2VydmljZS5nZXRCb29raW5nU2xvdFNlc3Npb25UeXBlcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZUJvb2tpbmdTbG90U2Vzc2lvblR5cGVzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogY29uc3RhbnRzfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVCb29raW5nU2xvdFNlc3Npb25UeXBlc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlQm9va2luZ0NhbGVuZGFyU3RhdHVzZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclN0YXR1c2VzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0Qm9va2luZ0NhbGVuZGFyU3RhdHVzZXMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNvbnN0YW50czogQXJyYXk8T3B0aW9uSW50ZXJmYWNlPikgPT4gcmV0cmlldmVCb29raW5nQ2FsZW5kYXJTdGF0dXNlc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNvbnN0YW50c30pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlQm9va2luZ0NhbGVuZGFyU3RhdHVzZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclR5cGVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVCb29raW5nQ2FsZW5kYXJUeXBlc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCgpID0+IHRoaXMuY29uc3RhbnRTZXJ2aWNlLmdldEJvb2tpbmdDYWxlbmRhclR5cGVzKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChjb25zdGFudHM6IEFycmF5PE9wdGlvbkludGVyZmFjZT4pID0+IHJldHJpZXZlQm9va2luZ0NhbGVuZGFyVHlwZXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZUJvb2tpbmdDYWxlbmRhclR5cGVzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVGZWF0dXJlRmxhZ3MkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZUZlYXR1cmVGbGFnc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKFxuICAgICAgICAoe3JvbGUsIGNsdWJPclNlY3Rpb25PclRlYW1JZH06IHtcbiAgICAgICAgICByb2xlOiBSb2xlLFxuICAgICAgICAgIGNsdWJPclNlY3Rpb25PclRlYW1JZDogc3RyaW5nXG4gICAgICAgIH0pID0+IHRoaXMuZmVhdHVyZUZsYWdzU2VydmljZS5nZXRGZWF0dXJlRmxhZ3Mocm9sZSwgY2x1Yk9yU2VjdGlvbk9yVGVhbUlkKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChmZWF0dXJlRmxhZ3M6IEZlYXR1cmVGbGFncykgPT4gcmV0cmlldmVGZWF0dXJlRmxhZ3NTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBmZWF0dXJlRmxhZ3N9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlRmVhdHVyZUZsYWdzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZTJGQVR5cGVzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmUyRkFNZXRob2RzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5jb25zdGFudFNlcnZpY2UuZ2V0MkZBTWV0aG9kcygpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoY29uc3RhbnRzOiBBcnJheTxPcHRpb25JbnRlcmZhY2U+KSA9PiByZXRyaWV2ZTJGQU1ldGhvZHNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBjb25zdGFudHN9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZTJGQU1ldGhvZHNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcbn1cbiJdfQ==
@@ -6,28 +6,30 @@ import { catchError, map } from 'rxjs/operators';
6
6
  import { getMemberDatabankCategoriesAction, getMemberDatabankCategoriesFailureAction, getMemberDatabankCategoriesSuccessAction } from "../actions";
7
7
  import * as i0 from "@angular/core";
8
8
  export class DatabankEffects {
9
- actions$ = inject(Actions);
10
- databankService = inject(DatabankService);
11
- getMemberDatabankCategories$ = createEffect(() => this.actions$
12
- .pipe(ofType(getMemberDatabankCategoriesAction), exhaustMap(({ payload }) => {
13
- if (payload.length === 0) {
14
- return of(getMemberDatabankCategoriesSuccessAction({ payload: [] }));
15
- }
16
- return forkJoin(payload.map((memberId) => this.databankService.getMemberDatabankCategories(memberId)))
17
- .pipe(map((collections) => {
18
- const categoriesById = new Map();
19
- collections.forEach((collection) => {
20
- collection.toArray().forEach((category) => {
21
- categoriesById.set(category.id, category);
9
+ constructor() {
10
+ this.actions$ = inject(Actions);
11
+ this.databankService = inject(DatabankService);
12
+ this.getMemberDatabankCategories$ = createEffect(() => this.actions$
13
+ .pipe(ofType(getMemberDatabankCategoriesAction), exhaustMap(({ payload }) => {
14
+ if (payload.length === 0) {
15
+ return of(getMemberDatabankCategoriesSuccessAction({ payload: [] }));
16
+ }
17
+ return forkJoin(payload.map((memberId) => this.databankService.getMemberDatabankCategories(memberId)))
18
+ .pipe(map((collections) => {
19
+ const categoriesById = new Map();
20
+ collections.forEach((collection) => {
21
+ collection.toArray().forEach((category) => {
22
+ categoriesById.set(category.id, category);
23
+ });
22
24
  });
23
- });
24
- return getMemberDatabankCategoriesSuccessAction({ payload: Array.from(categoriesById.values()) });
25
- }), catchError((error) => of(getMemberDatabankCategoriesFailureAction({ payload: error }))));
26
- })));
27
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DatabankEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DatabankEffects });
25
+ return getMemberDatabankCategoriesSuccessAction({ payload: Array.from(categoriesById.values()) });
26
+ }), catchError((error) => of(getMemberDatabankCategoriesFailureAction({ payload: error }))));
27
+ })));
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DatabankEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
30
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DatabankEffects }); }
29
31
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DatabankEffects, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DatabankEffects, decorators: [{
31
33
  type: Injectable
32
34
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhbmsuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9kYXRhYmFuay5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxVQUFVLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUNMLGlDQUFpQyxFQUNqQyx3Q0FBd0MsRUFDeEMsd0NBQXdDLEVBQ3pDLE1BQU0sWUFBWSxDQUFDOztBQUdwQixNQUFNLE9BQU8sZUFBZTtJQUNsQixRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLGVBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFbEQsNEJBQTRCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQzVELElBQUksQ0FDSCxNQUFNLENBQUMsaUNBQWlDLENBQUMsRUFDekMsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFFO1FBQ3ZCLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QixPQUFPLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQyxFQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUVELE9BQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsMkJBQTJCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQzthQUNuRyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsV0FBZ0QsRUFBRSxFQUFFO1lBQ3ZELE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxFQUE0QixDQUFDO1lBQzNELFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDakMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUN4QyxjQUFjLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQzVDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLHdDQUF3QyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1FBQ2xHLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDekcsQ0FBQztJQUNOLENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQzt1R0E1QlMsZUFBZTsyR0FBZixlQUFlOzsyRkFBZixlQUFlO2tCQUQzQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZX0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQge0RhdGFiYW5rU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtDb2xsZWN0aW9uLCBEYXRhYmFua0NhdGVnb3J5fSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtleGhhdXN0TWFwLCBmb3JrSm9pbiwgb2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtjYXRjaEVycm9yLCBtYXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7SHR0cEVycm9yUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7XG4gIGdldE1lbWJlckRhdGFiYW5rQ2F0ZWdvcmllc0FjdGlvbixcbiAgZ2V0TWVtYmVyRGF0YWJhbmtDYXRlZ29yaWVzRmFpbHVyZUFjdGlvbixcbiAgZ2V0TWVtYmVyRGF0YWJhbmtDYXRlZ29yaWVzU3VjY2Vzc0FjdGlvblxufSBmcm9tIFwiLi4vYWN0aW9uc1wiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGF0YWJhbmtFZmZlY3RzIHtcbiAgcHJpdmF0ZSBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcbiAgcHJpdmF0ZSBkYXRhYmFua1NlcnZpY2UgPSBpbmplY3QoRGF0YWJhbmtTZXJ2aWNlKTtcblxuICBnZXRNZW1iZXJEYXRhYmFua0NhdGVnb3JpZXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShnZXRNZW1iZXJEYXRhYmFua0NhdGVnb3JpZXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9KSA9PiB7XG4gICAgICAgIGlmIChwYXlsb2FkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHJldHVybiBvZihnZXRNZW1iZXJEYXRhYmFua0NhdGVnb3JpZXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBbXX0pKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmb3JrSm9pbihwYXlsb2FkLm1hcCgobWVtYmVySWQpID0+IHRoaXMuZGF0YWJhbmtTZXJ2aWNlLmdldE1lbWJlckRhdGFiYW5rQ2F0ZWdvcmllcyhtZW1iZXJJZCkpKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChjb2xsZWN0aW9uczogQXJyYXk8Q29sbGVjdGlvbjxEYXRhYmFua0NhdGVnb3J5Pj4pID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgY2F0ZWdvcmllc0J5SWQgPSBuZXcgTWFwPHN0cmluZywgRGF0YWJhbmtDYXRlZ29yeT4oKTtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbnMuZm9yRWFjaCgoY29sbGVjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24udG9BcnJheSgpLmZvckVhY2goKGNhdGVnb3J5KSA9PiB7XG4gICAgICAgICAgICAgICAgICBjYXRlZ29yaWVzQnlJZC5zZXQoY2F0ZWdvcnkuaWQsIGNhdGVnb3J5KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIGdldE1lbWJlckRhdGFiYW5rQ2F0ZWdvcmllc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IEFycmF5LmZyb20oY2F0ZWdvcmllc0J5SWQudmFsdWVzKCkpfSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoZ2V0TWVtYmVyRGF0YWJhbmtDYXRlZ29yaWVzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKVxuICApO1xufVxuIl19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhbmsuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9kYXRhYmFuay5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFDLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzlDLE9BQU8sRUFBQyxVQUFVLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUNMLGlDQUFpQyxFQUNqQyx3Q0FBd0MsRUFDeEMsd0NBQXdDLEVBQ3pDLE1BQU0sWUFBWSxDQUFDOztBQUdwQixNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUVVLGFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0Isb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFbEQsaUNBQTRCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO2FBQzVELElBQUksQ0FDSCxNQUFNLENBQUMsaUNBQWlDLENBQUMsRUFDekMsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFFO1lBQ3ZCLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxFQUFFLENBQUMsd0NBQXdDLENBQUMsRUFBQyxPQUFPLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JFLENBQUM7WUFFRCxPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7aUJBQ25HLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxXQUFnRCxFQUFFLEVBQUU7Z0JBQ3ZELE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxFQUE0QixDQUFDO2dCQUMzRCxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7b0JBQ2pDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTt3QkFDeEMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO29CQUM1QyxDQUFDLENBQUMsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztnQkFFSCxPQUFPLHdDQUF3QyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1lBQ2xHLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyx3Q0FBd0MsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDekcsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FBQztLQUNIOytHQTdCWSxlQUFlO21IQUFmLGVBQWU7OzRGQUFmLGVBQWU7a0JBRDNCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7RGF0YWJhbmtTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge0NvbGxlY3Rpb24sIERhdGFiYW5rQ2F0ZWdvcnl9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge2V4aGF1c3RNYXAsIGZvcmtKb2luLCBvZn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2NhdGNoRXJyb3IsIG1hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtIdHRwRXJyb3JSZXNwb25zZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtcbiAgZ2V0TWVtYmVyRGF0YWJhbmtDYXRlZ29yaWVzQWN0aW9uLFxuICBnZXRNZW1iZXJEYXRhYmFua0NhdGVnb3JpZXNGYWlsdXJlQWN0aW9uLFxuICBnZXRNZW1iZXJEYXRhYmFua0NhdGVnb3JpZXNTdWNjZXNzQWN0aW9uXG59IGZyb20gXCIuLi9hY3Rpb25zXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYXRhYmFua0VmZmVjdHMge1xuICBwcml2YXRlIGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIGRhdGFiYW5rU2VydmljZSA9IGluamVjdChEYXRhYmFua1NlcnZpY2UpO1xuXG4gIGdldE1lbWJlckRhdGFiYW5rQ2F0ZWdvcmllcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGdldE1lbWJlckRhdGFiYW5rQ2F0ZWdvcmllc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH0pID0+IHtcbiAgICAgICAgaWYgKHBheWxvYWQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKGdldE1lbWJlckRhdGFiYW5rQ2F0ZWdvcmllc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IFtdfSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZvcmtKb2luKHBheWxvYWQubWFwKChtZW1iZXJJZCkgPT4gdGhpcy5kYXRhYmFua1NlcnZpY2UuZ2V0TWVtYmVyRGF0YWJhbmtDYXRlZ29yaWVzKG1lbWJlcklkKSkpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGNvbGxlY3Rpb25zOiBBcnJheTxDb2xsZWN0aW9uPERhdGFiYW5rQ2F0ZWdvcnk+PikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBjYXRlZ29yaWVzQnlJZCA9IG5ldyBNYXA8c3RyaW5nLCBEYXRhYmFua0NhdGVnb3J5PigpO1xuICAgICAgICAgICAgICBjb2xsZWN0aW9ucy5mb3JFYWNoKChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbi50b0FycmF5KCkuZm9yRWFjaCgoY2F0ZWdvcnkpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNhdGVnb3JpZXNCeUlkLnNldChjYXRlZ29yeS5pZCwgY2F0ZWdvcnkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICByZXR1cm4gZ2V0TWVtYmVyRGF0YWJhbmtDYXRlZ29yaWVzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogQXJyYXkuZnJvbShjYXRlZ29yaWVzQnlJZC52YWx1ZXMoKSl9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihnZXRNZW1iZXJEYXRhYmFua0NhdGVnb3JpZXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApO1xuICAgICAgfSlcbiAgICApXG4gICk7XG59XG4iXX0=
@@ -8,20 +8,22 @@ import { selectEmailSettings } from '../selectors';
8
8
  import { catchError, map } from 'rxjs/operators';
9
9
  import * as i0 from "@angular/core";
10
10
  export class EmailEffects {
11
- actions$ = inject(Actions);
12
- emailService = inject(EmailService);
13
- store = inject(Store);
14
- sendEmail$ = createEffect(() => this.actions$
15
- .pipe(ofType(sendEmailAction), withLatestFrom(this.store.select(selectEmailSettings)), mergeMap(([action, settings]) => this.emailService.sendTeamLeaderEmail(action.payload.teamId, {
16
- body: action.payload.body,
17
- subject: action.payload.subject,
18
- recipients: settings.recipients
19
- })
20
- .pipe(map((sentEmails) => sendEmailSuccessAction({ payload: sentEmails })), catchError((error) => of(sendEmailFailureAction({ payload: error })))))));
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EmailEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
22
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EmailEffects });
11
+ constructor() {
12
+ this.actions$ = inject(Actions);
13
+ this.emailService = inject(EmailService);
14
+ this.store = inject(Store);
15
+ this.sendEmail$ = createEffect(() => this.actions$
16
+ .pipe(ofType(sendEmailAction), withLatestFrom(this.store.select(selectEmailSettings)), mergeMap(([action, settings]) => this.emailService.sendTeamLeaderEmail(action.payload.teamId, {
17
+ body: action.payload.body,
18
+ subject: action.payload.subject,
19
+ recipients: settings.recipients
20
+ })
21
+ .pipe(map((sentEmails) => sendEmailSuccessAction({ payload: sentEmails })), catchError((error) => of(sendEmailFailureAction({ payload: error })))))));
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EmailEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
24
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EmailEffects }); }
23
25
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EmailEffects, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EmailEffects, decorators: [{
25
27
  type: Injectable
26
28
  }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9lbWFpbC5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3RixPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLakQsTUFBTSxPQUFPLFlBQVk7SUFDZixRQUFRLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLFlBQVksR0FBaUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2xELEtBQUssR0FBVSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFckMsVUFBVSxHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTtTQUMxQyxJQUFJLENBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUN2QixjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxFQUN0RCxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtRQUMxRixJQUFJLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJO1FBQ3pCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU87UUFDL0IsVUFBVSxFQUFFLFFBQVEsQ0FBQyxVQUFVO0tBQ2hDLENBQUM7U0FDQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsVUFBa0IsRUFBRSxFQUFFLENBQUMsc0JBQXNCLENBQUMsRUFBQyxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQyxFQUMxRSxVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsc0JBQXNCLENBQUMsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3ZGLENBQ0osQ0FDRixDQUNGLENBQUM7dUdBcEJTLFlBQVk7MkdBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW1haWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IHNlbmRFbWFpbEFjdGlvbiwgc2VuZEVtYWlsRmFpbHVyZUFjdGlvbiwgc2VuZEVtYWlsU3VjY2Vzc0FjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgbWVyZ2VNYXAsIG9mLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBzZWxlY3RFbWFpbFNldHRpbmdzIH0gZnJvbSAnLi4vc2VsZWN0b3JzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFbWFpbEVmZmVjdHMge1xuICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIGVtYWlsU2VydmljZTogRW1haWxTZXJ2aWNlID0gaW5qZWN0KEVtYWlsU2VydmljZSk7XG4gIHByaXZhdGUgc3RvcmU6IFN0b3JlID0gaW5qZWN0KFN0b3JlKTtcblxuICBzZW5kRW1haWwkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShzZW5kRW1haWxBY3Rpb24pLFxuICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0RW1haWxTZXR0aW5ncykpLFxuICAgICAgbWVyZ2VNYXAoKFthY3Rpb24sIHNldHRpbmdzXSkgPT4gdGhpcy5lbWFpbFNlcnZpY2Uuc2VuZFRlYW1MZWFkZXJFbWFpbChhY3Rpb24ucGF5bG9hZC50ZWFtSWQsIHtcbiAgICAgICAgICBib2R5OiBhY3Rpb24ucGF5bG9hZC5ib2R5LFxuICAgICAgICAgIHN1YmplY3Q6IGFjdGlvbi5wYXlsb2FkLnN1YmplY3QsXG4gICAgICAgICAgcmVjaXBpZW50czogc2V0dGluZ3MucmVjaXBpZW50c1xuICAgICAgICB9KVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChzZW50RW1haWxzOiBudW1iZXIpID0+IHNlbmRFbWFpbFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHNlbnRFbWFpbHN9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHNlbmRFbWFpbEZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG59XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy9lbWFpbC5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM3RixPQUFPLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFLakQsTUFBTSxPQUFPLFlBQVk7SUFEekI7UUFFVSxhQUFRLEdBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLGlCQUFZLEdBQWlCLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsRCxVQUFLLEdBQVUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXJDLGVBQVUsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVE7YUFDMUMsSUFBSSxDQUNILE1BQU0sQ0FBQyxlQUFlLENBQUMsRUFDdkIsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUMsRUFDdEQsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDMUYsSUFBSSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSTtZQUN6QixPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPO1lBQy9CLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVTtTQUNoQyxDQUFDO2FBQ0MsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFVBQWtCLEVBQUUsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBQyxDQUFDLENBQUMsRUFDMUUsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUN2RixDQUNKLENBQ0YsQ0FDRixDQUFDO0tBQ0g7K0dBckJZLFlBQVk7bUhBQVosWUFBWTs7NEZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW1haWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IHNlbmRFbWFpbEFjdGlvbiwgc2VuZEVtYWlsRmFpbHVyZUFjdGlvbiwgc2VuZEVtYWlsU3VjY2Vzc0FjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgbWVyZ2VNYXAsIG9mLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBzZWxlY3RFbWFpbFNldHRpbmdzIH0gZnJvbSAnLi4vc2VsZWN0b3JzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBFbWFpbEVmZmVjdHMge1xuICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIGVtYWlsU2VydmljZTogRW1haWxTZXJ2aWNlID0gaW5qZWN0KEVtYWlsU2VydmljZSk7XG4gIHByaXZhdGUgc3RvcmU6IFN0b3JlID0gaW5qZWN0KFN0b3JlKTtcblxuICBzZW5kRW1haWwkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShzZW5kRW1haWxBY3Rpb24pLFxuICAgICAgd2l0aExhdGVzdEZyb20odGhpcy5zdG9yZS5zZWxlY3Qoc2VsZWN0RW1haWxTZXR0aW5ncykpLFxuICAgICAgbWVyZ2VNYXAoKFthY3Rpb24sIHNldHRpbmdzXSkgPT4gdGhpcy5lbWFpbFNlcnZpY2Uuc2VuZFRlYW1MZWFkZXJFbWFpbChhY3Rpb24ucGF5bG9hZC50ZWFtSWQsIHtcbiAgICAgICAgICBib2R5OiBhY3Rpb24ucGF5bG9hZC5ib2R5LFxuICAgICAgICAgIHN1YmplY3Q6IGFjdGlvbi5wYXlsb2FkLnN1YmplY3QsXG4gICAgICAgICAgcmVjaXBpZW50czogc2V0dGluZ3MucmVjaXBpZW50c1xuICAgICAgICB9KVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChzZW50RW1haWxzOiBudW1iZXIpID0+IHNlbmRFbWFpbFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHNlbnRFbWFpbHN9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHNlbmRFbWFpbEZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG59XG4iXX0=
@@ -6,15 +6,17 @@ import { exhaustMap, of } from 'rxjs';
6
6
  import { catchError, map } from 'rxjs/operators';
7
7
  import * as i0 from "@angular/core";
8
8
  export class ExternalLinkEffects {
9
- actions$ = inject(Actions);
10
- externalLinksService = inject(ExternalLinkService);
11
- getMemberExternalLinks$ = createEffect(() => this.actions$
12
- .pipe(ofType(getMemberExternalLinksAction), exhaustMap(({ payload }) => this.externalLinksService.getMemberExternalLinks(payload)
13
- .pipe(map((links) => getMemberExternalLinksSuccessAction({ payload: links.toArray() })), catchError((error) => of(getMemberExternalLinksFailureAction({ payload: error })))))));
14
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ExternalLinkEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
15
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ExternalLinkEffects });
9
+ constructor() {
10
+ this.actions$ = inject(Actions);
11
+ this.externalLinksService = inject(ExternalLinkService);
12
+ this.getMemberExternalLinks$ = createEffect(() => this.actions$
13
+ .pipe(ofType(getMemberExternalLinksAction), exhaustMap(({ payload }) => this.externalLinksService.getMemberExternalLinks(payload)
14
+ .pipe(map((links) => getMemberExternalLinksSuccessAction({ payload: links.toArray() })), catchError((error) => of(getMemberExternalLinksFailureAction({ payload: error })))))));
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExternalLinkEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
17
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExternalLinkEffects }); }
16
18
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ExternalLinkEffects, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExternalLinkEffects, decorators: [{
18
20
  type: Injectable
19
21
  }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtbGluay5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL2V4dGVybmFsLWxpbmsuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ3BDLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSWpELE1BQU0sT0FBTyxtQkFBbUI7SUFDdEIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixvQkFBb0IsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUUzRCx1QkFBdUIsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVE7U0FDdkQsSUFBSSxDQUNILE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxFQUNwQyxVQUFVLENBQUMsQ0FBQyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDO1NBQ2hGLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxLQUErQixFQUFFLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQ3pHLFVBQVUsQ0FBQyxDQUFDLEtBQXdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxtQ0FBbUMsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDcEcsQ0FDRixDQUNGLENBQ0YsQ0FBQzt1R0FkUyxtQkFBbUI7MkdBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IEV4dGVybmFsTGlua1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uLCBFeHRlcm5hbExpbmsgfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgZ2V0TWVtYmVyRXh0ZXJuYWxMaW5rc0FjdGlvbixcbiAgZ2V0TWVtYmVyRXh0ZXJuYWxMaW5rc0ZhaWx1cmVBY3Rpb24sXG4gIGdldE1lbWJlckV4dGVybmFsTGlua3NTdWNjZXNzQWN0aW9uXG59IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgZXhoYXVzdE1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRXh0ZXJuYWxMaW5rRWZmZWN0cyB7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucyk7XG4gIHByaXZhdGUgZXh0ZXJuYWxMaW5rc1NlcnZpY2UgPSBpbmplY3QoRXh0ZXJuYWxMaW5rU2VydmljZSk7XG5cbiAgZ2V0TWVtYmVyRXh0ZXJuYWxMaW5rcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGdldE1lbWJlckV4dGVybmFsTGlua3NBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9KSA9PiB0aGlzLmV4dGVybmFsTGlua3NTZXJ2aWNlLmdldE1lbWJlckV4dGVybmFsTGlua3MocGF5bG9hZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChsaW5rczogQ29sbGVjdGlvbjxFeHRlcm5hbExpbms+KSA9PiBnZXRNZW1iZXJFeHRlcm5hbExpbmtzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbGlua3MudG9BcnJheSgpfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoZ2V0TWVtYmVyRXh0ZXJuYWxMaW5rc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xufVxuIl19
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtbGluay5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL2V4dGVybmFsLWxpbmsuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ3BDLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBSWpELE1BQU0sT0FBTyxtQkFBbUI7SUFEaEM7UUFFVSxhQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLHlCQUFvQixHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRTNELDRCQUF1QixHQUFHLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTthQUN2RCxJQUFJLENBQ0gsTUFBTSxDQUFDLDRCQUE0QixDQUFDLEVBQ3BDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUM7YUFDaEYsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEtBQStCLEVBQUUsRUFBRSxDQUFDLG1DQUFtQyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFDekcsVUFBVSxDQUFDLENBQUMsS0FBd0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLG1DQUFtQyxDQUFDLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUNwRyxDQUNGLENBQ0YsQ0FDRixDQUFDO0tBQ0g7K0dBZlksbUJBQW1CO21IQUFuQixtQkFBbUI7OzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBFeHRlcm5hbExpbmtTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiwgRXh0ZXJuYWxMaW5rIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7XG4gIGdldE1lbWJlckV4dGVybmFsTGlua3NBY3Rpb24sXG4gIGdldE1lbWJlckV4dGVybmFsTGlua3NGYWlsdXJlQWN0aW9uLFxuICBnZXRNZW1iZXJFeHRlcm5hbExpbmtzU3VjY2Vzc0FjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEV4dGVybmFsTGlua0VmZmVjdHMge1xuICBwcml2YXRlIGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIGV4dGVybmFsTGlua3NTZXJ2aWNlID0gaW5qZWN0KEV4dGVybmFsTGlua1NlcnZpY2UpO1xuXG4gIGdldE1lbWJlckV4dGVybmFsTGlua3MkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShnZXRNZW1iZXJFeHRlcm5hbExpbmtzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfSkgPT4gdGhpcy5leHRlcm5hbExpbmtzU2VydmljZS5nZXRNZW1iZXJFeHRlcm5hbExpbmtzKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgobGlua3M6IENvbGxlY3Rpb248RXh0ZXJuYWxMaW5rPikgPT4gZ2V0TWVtYmVyRXh0ZXJuYWxMaW5rc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGxpbmtzLnRvQXJyYXkoKX0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGdldE1lbWJlckV4dGVybmFsTGlua3NGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcbn1cbiJdfQ==