@myclub_se/data-access 3.1.9 → 3.1.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.
- package/esm2022/lib/authentication/authentication.interceptor.mjs +27 -17
- package/esm2022/lib/authentication/authentication.service.mjs +6 -6
- package/esm2022/lib/services/booking-calendar.service.mjs +11 -1
- package/esm2022/lib/services/token.service.mjs +4 -1
- package/esm2022/lib/store/actions/calendar.actions.mjs +3 -1
- package/esm2022/lib/store/effects/auth.effects.mjs +3 -3
- package/esm2022/lib/store/effects/token.effects.mjs +35 -14
- package/esm2022/lib/store/reducers/calendar.reducer.mjs +3 -3
- package/esm2022/lib/store/reducers/user.reducer.mjs +2 -2
- package/fesm2022/myclub_se-data-access.mjs +85 -39
- package/fesm2022/myclub_se-data-access.mjs.map +1 -1
- package/lib/authentication/authentication.service.d.ts +3 -3
- package/lib/services/booking-calendar.service.d.ts +1 -0
- package/lib/services/token.service.d.ts +6 -5
- package/lib/store/actions/calendar.actions.d.ts +2 -0
- package/lib/store/effects/token.effects.d.ts +4 -3
- package/package.json +1 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createAction, props } from '@ngrx/store';
|
|
2
2
|
export var CalendarActionTypes;
|
|
3
3
|
(function (CalendarActionTypes) {
|
|
4
|
+
CalendarActionTypes["ClearTeamActivities"] = "[Calendar] Clear team activities";
|
|
4
5
|
CalendarActionTypes["ListMemberActivities"] = "[Calendar] List member activities";
|
|
5
6
|
CalendarActionTypes["ListMemberActivitiesFailure"] = "[Calendar] List member activities failure";
|
|
6
7
|
CalendarActionTypes["ListMemberActivitiesSuccess"] = "[Calendar] List member activities success";
|
|
@@ -38,6 +39,7 @@ export var CalendarActionTypes;
|
|
|
38
39
|
CalendarActionTypes["ListTeamActivitiesFailure"] = "[Calendar] List team activities failure";
|
|
39
40
|
CalendarActionTypes["ListTeamActivitiesSuccess"] = "[Calendar] List team activities success";
|
|
40
41
|
})(CalendarActionTypes || (CalendarActionTypes = {}));
|
|
42
|
+
export const clearTeamActivitiesAction = createAction(CalendarActionTypes.ClearTeamActivities);
|
|
41
43
|
export const listMemberActivitiesAction = createAction(CalendarActionTypes.ListMemberActivities, props());
|
|
42
44
|
export const listMemberActivitiesFailureAction = createAction(CalendarActionTypes.ListMemberActivitiesFailure, props());
|
|
43
45
|
export const listMemberActivitiesSuccessAction = createAction(CalendarActionTypes.ListMemberActivitiesSuccess, props());
|
|
@@ -74,4 +76,4 @@ export const listPublicOpenActivityTypesSuccessAction = createAction(CalendarAct
|
|
|
74
76
|
export const listTeamActivitiesAction = createAction(CalendarActionTypes.ListTeamActivities, props());
|
|
75
77
|
export const listTeamActivitiesFailureAction = createAction(CalendarActionTypes.ListTeamActivitiesFailure, props());
|
|
76
78
|
export const listTeamActivitiesSuccessAction = createAction(CalendarActionTypes.ListTeamActivitiesSuccess, props());
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvYWN0aW9ucy9jYWxlbmRhci5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBTWxELE1BQU0sQ0FBTixJQUFZLG1CQXFDWDtBQXJDRCxXQUFZLG1CQUFtQjtJQUM3QixpRkFBMEQsQ0FBQTtJQUMxRCxnR0FBeUUsQ0FBQTtJQUN6RSxnR0FBeUUsQ0FBQTtJQUN6RSwwRkFBbUUsQ0FBQTtJQUNuRSx5R0FBa0YsQ0FBQTtJQUNsRix5R0FBa0YsQ0FBQTtJQUNsRixnSEFBeUYsQ0FBQTtJQUN6RiwrSEFBd0csQ0FBQTtJQUN4RywrSEFBd0csQ0FBQTtJQUN4Ryx3R0FBaUYsQ0FBQTtJQUNqRix1SEFBZ0csQ0FBQTtJQUNoRyx1SEFBZ0csQ0FBQTtJQUNoRyxnSEFBeUYsQ0FBQTtJQUN6RiwrSEFBd0csQ0FBQTtJQUN4RywrSEFBd0csQ0FBQTtJQUN4Ryx3R0FBaUYsQ0FBQTtJQUNqRix1SEFBZ0csQ0FBQTtJQUNoRyx1SEFBZ0csQ0FBQTtJQUNoRyx5R0FBa0YsQ0FBQTtJQUNsRix3SEFBaUcsQ0FBQTtJQUNqRyx3SEFBaUcsQ0FBQTtJQUNqRyxpR0FBMEUsQ0FBQTtJQUMxRSxnSEFBeUYsQ0FBQTtJQUN6RixnSEFBeUYsQ0FBQTtJQUN6RiwwRkFBbUUsQ0FBQTtJQUNuRSx5R0FBa0YsQ0FBQTtJQUNsRix5R0FBa0YsQ0FBQTtJQUNsRix5R0FBa0YsQ0FBQTtJQUNsRix3SEFBaUcsQ0FBQTtJQUNqRyx3SEFBaUcsQ0FBQTtJQUNqRyxpR0FBMEUsQ0FBQTtJQUMxRSxnSEFBeUYsQ0FBQTtJQUN6RixnSEFBeUYsQ0FBQTtJQUN6Riw2RUFBc0QsQ0FBQTtJQUN0RCw0RkFBcUUsQ0FB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S0FBSyxFQUEwRixDQUNoRyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQUcsWUFBWSxDQUMzRCxtQkFBbUIsQ0FBQywyQkFBMkIsRUFDL0MsS0FBSyxFQUF1RCxDQUM3RCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQUcsWUFBWSxDQUNsRSxtQkFBbUIsQ0FBQyxrQ0FBa0MsRUFDdEQsS0FBSyxFQUFrQyxDQUN4QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQUcsWUFBWSxDQUNsRSxtQkFBbUIsQ0FBQyxrQ0FBa0MsRUFDdEQsS0FBSyxFQUFrRixDQUN4RixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsWUFBWSxDQUNsRCxtQkFBbUIsQ0FBQyxrQkFBa0IsRUFDdEMsS0FBSyxFQUF1RSxDQUM3RSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsWUFBWSxDQUN6RCxtQkFBbUIsQ0FBQyx5QkFBeUIsRUFDN0MsS0FBSyxFQUFpRyxDQUN2RyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsWUFBWSxDQUN6RCxtQkFBbUIsQ0FBQyx5QkFBeUIsRUFDN0MsS0FBSyxFQUE4RixDQUNwRyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQWN0aW9uLCBwcm9wcyB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQWN0aXZpdHlMb2NhdGlvbiwgQWN0aXZpdHlUeXBlLCBFdmVudCwgT3BlbkFjdGl2aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IE9wZW5BY3Rpdml0eVNlYXJjaFBhcmFtc0ludGVyZmFjZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuXG5cbmV4cG9ydCBlbnVtIENhbGVuZGFyQWN0aW9uVHlwZXMge1xuICBMaXN0TWVtYmVyQWN0aXZpdGllcyA9ICdbQ2FsZW5kYXJdIExpc3QgbWVtYmVyIGFjdGl2aXRpZXMnLFxuICBMaXN0TWVtYmVyQWN0aXZpdGllc0ZhaWx1cmUgPSAnW0NhbGVuZGFyXSBMaXN0IG1lbWJlciBhY3Rpdml0aWVzIGZhaWx1cmUnLFxuICBMaXN0TWVtYmVyQWN0aXZpdGllc1N1Y2Nlc3MgPSAnW0NhbGVuZGFyXSBMaXN0IG1lbWJlciBhY3Rpdml0aWVzIHN1Y2Nlc3MnLFxuICBMaXN0TWVtYmVyT3BlbkFjdGl2aXRpZXMgPSAnW0NhbGVuZGFyXSBMaXN0IG1lbWJlciBvcGVuIGFjdGl2aXRpZXMnLFxuICBMaXN0TWVtYmVyT3BlbkFjdGl2aXRpZXNGYWlsdXJlID0gJ1tDYWxlbmRhcl0gTGlzdCBtZW1iZXIgb3BlbiBhY3Rpdml0aWVzIGZhaWx1cmUnLFxuICBMaXN0TWVtYmVyT3BlbkFjdGl2aXRpZXNTdWNjZXNzID0gJ1tDYWxlbmRhcl0gTGlzdCBtZW1iZXIgb3BlbiBhY3Rpdml0aWVzIHN1Y2Nlc3MnLFxuICBMaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zID0gJ1tDYWxlbmRhcl0gTGlzdCBhbGwgbWVtYmVyIG9wZW4gYWN0aXZpdHkgbG9jYXRpb25zJyxcbiAgTGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc0ZhaWx1cmUgPSAnW0NhbGVuZGFyXSBMaXN0IGFsbCBtZW1iZXIgb3BlbiBhY3Rpdml0eSBsb2NhdGlvbnMgZmFpbHVyZScsXG4gIExpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnNTdWNjZXNzID0gJ1tDYWxlbmRhcl0gTGlzdCBhbGwgbWVtYmVyIG9wZW4gYWN0aXZpdHkgbG9jYXRpb25zIHN1Y2Nlc3MnLFxuICBMaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5VHlwZXMgPSAnW0NhbGVuZGFyXSBMaXN0IGFsbCBtZW1iZXIgb3BlbiBhY3Rpdml0eSB0eXBlcycsXG4gIExpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlUeXBlc0ZhaWx1cmUgPSAnW0NhbGVuZGFyXSBMaXN0IGFsbCBtZW1iZXIgb3BlbiBhY3Rpdml0eSB0eXBlcyBmYWlsdXJlJyxcbiAgTGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzU3VjY2VzcyA9ICdbQ2FsZW5kYXJdIExpc3QgYWxsIG1lbWJlciBvcGVuIGFjdGl2aXR5IHR5cGVzIHN1Y2Nlc3MnLFxuICBMaXN0QWxsUHVibGljT3BlbkFjdGl2aXR5TG9jYXRpb25zID0gJ1tDYWxlbmRhcl0gTGlzdCBhbGwgcHVibGljIG9wZW4gYWN0aXZpdHkgbG9jYXRpb25zJyxcbiAgTGlzdEFsbFB1YmxpY09wZW5BY3Rpdml0eUxvY2F0aW9uc0ZhaWx1cmUgPSAnW0NhbGVuZGFyXSBMaXN0IGFsbCBwdWJsaWMgb3BlbiBhY3Rpdml0eSBsb2NhdGlvbnMgZmFpbHVyZScsXG4gIExpc3RBbGxQdWJsaWNPcGVuQWN0aXZpdHlMb2NhdGlvbnNTdWNjZXNzID0gJ1tDYWxlbmRhcl0gTGlzdCBhbGwgcHVibGljIG9wZW4gYWN0aXZpdHkgbG9jYXRpb25zIHN1Y2Nlc3MnLFxuICBMaXN0QWxsUHVibGljT3BlbkFjdGl2aXR5VHlwZXMgPSAnW0NhbGVuZGFyXSBMaXN0IGFsbCBwdWJsaWMgb3BlbiBhY3Rpdml0eSB0eXBlcycsXG4gIExpc3RBbGxQdWJsaWNPcGVuQWN0aXZpdHlUeXBlc0ZhaWx1cmUgPSAnW0NhbGVuZGFyXSBMaXN0IGFsbCBwdWJsaWMgb3BlbiBhY3Rpdml0eSB0eXBlcyBmYWlsdXJlJyxcbiAgTGlzdEFsbFB1YmxpY09wZW5BY3Rpdml0eVR5cGVzU3VjY2VzcyA9ICdbQ2FsZW5kYXJdIExpc3QgYWxsIHB1YmxpYyBvcGVuIGFjdGl2aXR5IHR5cGVzIHN1Y2Nlc3MnLFxuICBMaXN0TWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zID0gJ1tDYWxlbmRhcl0gTGlzdCBtZW1iZXIgb3BlbiBhY3Rpdml0eSBsb2NhdGlvbnMnLFxuICBMaXN0TWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zRmFpbHVyZSA9ICdbQ2FsZW5kYXJdIExpc3QgbWVtYmVyIG9wZW4gYWN0aXZpdHkgbG9jYXRpb25zIGZhaWx1cmUnLFxuICBMaXN0TWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zU3VjY2VzcyA9ICdbQ2FsZW5kYXJdIExpc3QgbWVtYmVyIG9wZW4gYWN0aXZpdHkgbG9jYXRpb25zIHN1Y2Nlc3MnLFxuICBMaXN0TWVtYmVyT3BlbkFjdGl2aXR5VHlwZXMgPSAnW0NhbGVuZGFyXSBMaXN0IG1lbWJlciBvcGVuIGFjdGl2aXR5IHR5cGVzJyxcbiAgTGlzdE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzRmFpbHVyZSA9ICdbQ2FsZW5kYXJdIExpc3QgbWVtYmVyIG9wZW4gYWN0aXZpdHkgdHlwZXMgZmFpbHVyZScsXG4gIExpc3RNZW1iZXJPcGVuQWN0aXZpdHlUeXBlc1N1Y2Nlc3MgPSAnW0NhbGVuZGFyXSBMaXN0IG1lbWJlciBvcGVuIGFjdGl2aXR5IHR5cGVzIHN1Y2Nlc3MnLFxuICBMaXN0UHVibGljT3BlbkFjdGl2aXRpZXMgPSAnW0NhbGVuZGFyXSBMaXN0IHB1YmxpYyBvcGVuIGFjdGl2aXRpZXMnLFxuICBMaXN0UHVibGljT3BlbkFjdGl2aXRpZXNGYWlsdXJlID0gJ1tDYWxlbmRhcl0gTGlzdCBwdWJsaWMgb3BlbiBhY3Rpdml0aWVzIGZhaWx1cmUnLFxuICBMaXN0UHVibGljT3BlbkFjdGl2aXRpZXNTdWNjZXNzID0gJ1tDYWxlbmRhcl0gTGlzdCBwdWJsaWMgb3BlbiBhY3Rpdml0aWVzIHN1Y2Nlc3MnLFxuICBMaXN0UHVibGljT3BlbkFjdGl2aXR5TG9jYXRpb25zID0gJ1tDYWxlbmRhcl0gTGlzdCBwdWJsaWMgb3BlbiBhY3Rpdml0eSBsb2NhdGlvbnMnLFxuICBMaXN0UHVibGljT3BlbkFjdGl2aXR5TG9jYXRpb25zRmFpbHVyZSA9ICdbQ2FsZW5kYXJdIExpc3QgcHVibGljIG9wZW4gYWN0aXZpdHkgbG9jYXRpb25zIGZhaWx1cmUnLFxuICBMaXN0UHVibGljT3BlbkFjdGl2aXR5TG9jYXRpb25zU3VjY2VzcyA9ICdbQ2FsZW5kYXJdIExpc3QgcHVibGljIG9wZW4gYWN0aXZpdHkgbG9jYXRpb25zIHN1Y2Nlc3MnLFxuICBMaXN0UHVibGljT3BlbkFjdGl2aXR5VHlwZXMgPSAnW0NhbGVuZGFyXSBMaXN0IHB1YmxpYyBvcGVuIGFjdGl2aXR5IHR5cGVzJyxcbiAgTGlzdFB1YmxpY09wZW5BY3Rpdml0eVR5cGVzRmFpbHVyZSA9ICdbQ2FsZW5kYXJdIExpc3QgcHVibGljIG9wZW4gYWN0aXZpdHkgdHlwZXMgZmFpbHVyZScsXG4gIExpc3RQdWJsaWNPcGVuQWN0aXZpdHlUeXBlc1N1Y2Nlc3MgPSAnW0NhbGVuZGFyXSBMaXN0IHB1YmxpYyBvcGVuIGFjdGl2aXR5IHR5cGVzIHN1Y2Nlc3MnLFxuICBMaXN0VGVhbUFjdGl2aXRpZXMgPSAnW0NhbGVuZGFyXSBMaXN0IHRlYW0gYWN0aXZpdGllcycsXG4gIExpc3RUZWFtQWN0aXZpdGllc0ZhaWx1cmUgPSAnW0NhbGVuZGFyXSBMaXN0IHRlYW0gYWN0aXZpdGllcyBmYWlsdXJlJyxcbiAgTGlzdFRlYW1BY3Rpdml0aWVzU3VjY2VzcyA9ICdbQ2FsZW5kYXJdIExpc3QgdGVhbSBhY3Rpdml0aWVzIHN1Y2Nlc3MnLFxufVxuXG5leHBvcnQgY29uc3QgbGlzdE1lbWJlckFjdGl2aXRpZXNBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdE1lbWJlckFjdGl2aXRpZXMsXG4gIHByb3BzPHsgcGF5bG9hZDogeyBtZW1iZXJJZHM6IEFycmF5PHN0cmluZz4sIHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcgfSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdE1lbWJlckFjdGl2aXRpZXNGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RNZW1iZXJBY3Rpdml0aWVzRmFpbHVyZSxcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IG1lbWJlcklkczogQXJyYXk8c3RyaW5nPiwgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZywgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlIH0gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RNZW1iZXJBY3Rpdml0aWVzU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0TWVtYmVyQWN0aXZpdGllc1N1Y2Nlc3MsXG4gIHByb3BzPHtcbiAgICBwYXlsb2FkOiB7IG1lbWJlcklkczogQXJyYXk8c3RyaW5nPiwgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZywgcmVzdWx0czogTWFwPHN0cmluZywgQXJyYXk8RXZlbnQ+PiB9XG4gIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0TWVtYmVyT3BlbkFjdGl2aXRpZXNBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdE1lbWJlck9wZW5BY3Rpdml0aWVzLFxuICBwcm9wczx7IHBheWxvYWQ6IHsgbWVtYmVySWRzOiBBcnJheTxzdHJpbmc+LCBvcGVuQWN0aXZpdHlTZWFyY2hQYXJhbXM6IE9wZW5BY3Rpdml0eVNlYXJjaFBhcmFtc0ludGVyZmFjZSB9IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0TWVtYmVyT3BlbkFjdGl2aXRpZXNGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RNZW1iZXJPcGVuQWN0aXZpdGllc0ZhaWx1cmUsXG4gIHByb3BzPHtcbiAgICBwYXlsb2FkOiB7XG4gICAgICBtZW1iZXJJZHM6IEFycmF5PHN0cmluZz4sXG4gICAgICBvcGVuQWN0aXZpdHlTZWFyY2hQYXJhbXM6IE9wZW5BY3Rpdml0eVNlYXJjaFBhcmFtc0ludGVyZmFjZSxcbiAgICAgIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZVxuICAgIH1cbiAgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RNZW1iZXJPcGVuQWN0aXZpdGllc1N1Y2Nlc3NBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdE1lbWJlck9wZW5BY3Rpdml0aWVzU3VjY2VzcyxcbiAgcHJvcHM8e1xuICAgIHBheWxvYWQ6IHtcbiAgICAgIG1lbWJlcklkczogQXJyYXk8c3RyaW5nPixcbiAgICAgIG9wZW5BY3Rpdml0eVNlYXJjaFBhcmFtczogT3BlbkFjdGl2aXR5U2VhcmNoUGFyYW1zSW50ZXJmYWNlLFxuICAgICAgcmVzdWx0czogTWFwPHN0cmluZywgQXJyYXk8T3BlbkFjdGl2aXR5Pj5cbiAgICB9XG4gIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnMsXG4gIHByb3BzPHsgcGF5bG9hZDogc3RyaW5nfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnNGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnNGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zU3VjY2VzcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiBBcnJheTxBY3Rpdml0eUxvY2F0aW9uPiB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlUeXBlcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiBzdHJpbmcgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlUeXBlc0ZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzRmFpbHVyZSxcbiAgcHJvcHM8eyBwYXlsb2FkOiBIdHRwRXJyb3JSZXNwb25zZSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNTdWNjZXNzLFxuICBwcm9wczx7IHBheWxvYWQ6IEFycmF5PEFjdGl2aXR5VHlwZT4gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RBbGxQdWJsaWNPcGVuQWN0aXZpdHlMb2NhdGlvbnNBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdEFsbFB1YmxpY09wZW5BY3Rpdml0eUxvY2F0aW9uc1xuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RBbGxQdWJsaWNPcGVuQWN0aXZpdHlMb2NhdGlvbnNGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RBbGxQdWJsaWNPcGVuQWN0aXZpdHlMb2NhdGlvbnNGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0QWxsUHVibGljT3BlbkFjdGl2aXR5TG9jYXRpb25zU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0QWxsUHVibGljT3BlbkFjdGl2aXR5TG9jYXRpb25zU3VjY2VzcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiBBcnJheTxBY3Rpdml0eUxvY2F0aW9uPiB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdEFsbFB1YmxpY09wZW5BY3Rpdml0eVR5cGVzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RBbGxQdWJsaWNPcGVuQWN0aXZpdHlUeXBlc1xuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RBbGxQdWJsaWNPcGVuQWN0aXZpdHlUeXBlc0ZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdEFsbFB1YmxpY09wZW5BY3Rpdml0eVR5cGVzRmFpbHVyZSxcbiAgcHJvcHM8eyBwYXlsb2FkOiBIdHRwRXJyb3JSZXNwb25zZSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdEFsbFB1YmxpY09wZW5BY3Rpdml0eVR5cGVzU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0QWxsUHVibGljT3BlbkFjdGl2aXR5VHlwZXNTdWNjZXNzLFxuICBwcm9wczx7IHBheWxvYWQ6IEFycmF5PEFjdGl2aXR5VHlwZT4gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnNBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9ucyxcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IG1lbWJlcklkOiBzdHJpbmcsIHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcgfSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc0ZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc0ZhaWx1cmUsXG4gIHByb3BzPHsgcGF5bG9hZDogeyBtZW1iZXJJZDogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nLCBlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UgfSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc1N1Y2Nlc3NBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc1N1Y2Nlc3MsXG4gIHByb3BzPHsgcGF5bG9hZDogeyBtZW1iZXJJZDogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nLCBsb2NhdGlvbnM6IEFycmF5PEFjdGl2aXR5TG9jYXRpb24+IH19PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RNZW1iZXJPcGVuQWN0aXZpdHlUeXBlcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IG1lbWJlcklkOiBzdHJpbmcsIHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcgfSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzRmFpbHVyZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0TWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IHsgbWVtYmVySWQ6IHN0cmluZywgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZywgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlIH0gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RNZW1iZXJPcGVuQWN0aXZpdHlUeXBlc1N1Y2Nlc3NBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzU3VjY2VzcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IG1lbWJlcklkOiBzdHJpbmcsIHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcsIHR5cGVzOiBBcnJheTxBY3Rpdml0eVR5cGU+IH19PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdFB1YmxpY09wZW5BY3Rpdml0aWVzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RQdWJsaWNPcGVuQWN0aXZpdGllcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiBPcGVuQWN0aXZpdHlTZWFyY2hQYXJhbXNJbnRlcmZhY2UgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RQdWJsaWNPcGVuQWN0aXZpdGllc0ZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdFB1YmxpY09wZW5BY3Rpdml0aWVzRmFpbHVyZSxcbiAgcHJvcHM8eyBwYXlsb2FkOiBIdHRwRXJyb3JSZXNwb25zZSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdFB1YmxpY09wZW5BY3Rpdml0aWVzU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0UHVibGljT3BlbkFjdGl2aXRpZXNTdWNjZXNzLFxuICBwcm9wczx7IHBheWxvYWQ6IHtcbiAgICBvcGVuQWN0aXZpdHlTZWFyY2hQYXJhbXM6IE9wZW5BY3Rpdml0eVNlYXJjaFBhcmFtc0ludGVyZmFjZSxcbiAgICByZXN1bHRzOiBBcnJheTxPcGVuQWN0aXZpdHk+XG4gIH19PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdFB1YmxpY09wZW5BY3Rpdml0eUxvY2F0aW9uc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0UHVibGljT3BlbkFjdGl2aXR5TG9jYXRpb25zLFxuICBwcm9wczx7IHBheWxvYWQ6IHsgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZyB9IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0UHVibGljT3BlbkFjdGl2aXR5TG9jYXRpb25zRmFpbHVyZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0UHVibGljT3BlbkFjdGl2aXR5TG9jYXRpb25zRmFpbHVyZSxcbiAgcHJvcHM8eyBwYXlsb2FkOiBIdHRwRXJyb3JSZXNwb25zZSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdFB1YmxpY09wZW5BY3Rpdml0eUxvY2F0aW9uc1N1Y2Nlc3NBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdFB1YmxpY09wZW5BY3Rpdml0eUxvY2F0aW9uc1N1Y2Nlc3MsXG4gIHByb3BzPHsgcGF5bG9hZDogeyBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nLCBsb2NhdGlvbnM6IEFycmF5PEFjdGl2aXR5TG9jYXRpb24+IH19PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdFB1YmxpY09wZW5BY3Rpdml0eVR5cGVzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RQdWJsaWNPcGVuQWN0aXZpdHlUeXBlcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcgfSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdFB1YmxpY09wZW5BY3Rpdml0eVR5cGVzRmFpbHVyZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0UHVibGljT3BlbkFjdGl2aXR5VHlwZXNGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0UHVibGljT3BlbkFjdGl2aXR5VHlwZXNTdWNjZXNzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RQdWJsaWNPcGVuQWN0aXZpdHlUeXBlc1N1Y2Nlc3MsXG4gIHByb3BzPHsgcGF5bG9hZDogeyBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nLCB0eXBlczogQXJyYXk8QWN0aXZpdHlUeXBlPiB9fT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RUZWFtQWN0aXZpdGllc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0VGVhbUFjdGl2aXRpZXMsXG4gIHByb3BzPHsgcGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZyB9IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0VGVhbUFjdGl2aXRpZXNGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RUZWFtQWN0aXZpdGllc0ZhaWx1cmUsXG4gIHByb3BzPHsgcGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZywgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlIH0gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RUZWFtQWN0aXZpdGllc1N1Y2Nlc3NBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdFRlYW1BY3Rpdml0aWVzU3VjY2VzcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IHRlYW1JZDogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nLCByZXN1bHRzOiBBcnJheTxFdmVudD4gfSB9PigpXG4pO1xuIl19
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvYWN0aW9ucy9jYWxlbmRhci5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBTWxELE1BQU0sQ0FBTixJQUFZLG1CQXNDWDtBQXRDRCxXQUFZLG1CQUFtQjtJQUM3QiwrRUFBd0QsQ0FBQTtJQUN4RCxpRkFBMEQsQ0FBQTtJQUMxRCxnR0FBeUUsQ0FBQTtJQUN6RSxnR0FBeUUsQ0FBQTtJQUN6RSwwRkFBbUUsQ0FBQTtJQUNuRSx5R0FBa0YsQ0FBQTtJQUNsRix5R0FBa0YsQ0FBQTtJQUNsRixnSEFBeUYsQ0FBQTtJQUN6RiwrSEFBd0csQ0FBQTtJQUN4RywrSEFBd0csQ0FBQTtJQUN4Ryx3R0FBaUYsQ0FBQTtJQUNqRix1SEFBZ0csQ0FBQTtJQUNoRyx1SEFBZ0csQ0FBQTtJQUNoRyxnSEFBeUYsQ0FBQTtJQUN6RiwrSEFBd0csQ0FBQTtJQUN4RywrSEFBd0csQ0FBQTtJQUN4Ryx3R0FBaUYsQ0FBQTtJQUNqRix1SEFBZ0csQ0FBQTtJQUNoRyx1SEFBZ0csQ0FBQTtJQUNoRyx5R0FBa0YsQ0FBQTtJQUNsRix3SEFBaUcsQ0FBQTtJQUNqRyx3SEFBaUcsQ0FBQTtJQUNqRyxpR0FBMEUsQ0FBQTtJQUMxRSxnSEFBeUYsQ0FBQTtJQUN6RixnSEFBeUYsQ0FBQTtJQUN6RiwwRkFBbUUsQ0FBQTtJQUNuRSx5R0FBa0YsQ0FBQTtJQUNsRix5R0FBa0YsQ0FBQTtJQUNsRix5R0FBa0YsQ0FBQTtJQUNsRix3SEFBaUcsQ0FBQTtJQUNqRyx3SEFBaUcsQ0FBQTtJQUNqRyxpR0FBMEUsQ0FBQTtJQUMxRSxnSEFBeUYsQ0FBQTtJQUN6RixnSEFBeUYsQ0FBQTtJQUN6Riw2RUFBc0QsQ0FB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LEtBQUssRUFBa0MsQ0FDeEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDRDQUE0QyxHQUFHLFlBQVksQ0FDdEUsbUJBQW1CLENBQUMsc0NBQXNDLEVBQzFELEtBQUssRUFBMEYsQ0FDaEcsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLFlBQVksQ0FDM0QsbUJBQW1CLENBQUMsMkJBQTJCLEVBQy9DLEtBQUssRUFBdUQsQ0FDN0QsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdDQUF3QyxHQUFHLFlBQVksQ0FDbEUsbUJBQW1CLENBQUMsa0NBQWtDLEVBQ3RELEtBQUssRUFBa0MsQ0FDeEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdDQUF3QyxHQUFHLFlBQVksQ0FDbEUsbUJBQW1CLENBQUMsa0NBQWtDLEVBQ3RELEtBQUssRUFBa0YsQ0FDeEYsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLFlBQVksQ0FDbEQsbUJBQW1CLENBQUMsa0JBQWtCLEVBQ3RDLEtBQUssRUFBdUUsQ0FDN0UsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLFlBQVksQ0FDekQsbUJBQW1CLENBQUMseUJBQXlCLEVBQzdDLEtBQUssRUFBaUcsQ0FDdkcsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLFlBQVksQ0FDekQsbUJBQW1CLENBQUMseUJBQXlCLEVBQzdDLEtBQUssRUFBOEYsQ0FDcEcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEFjdGl2aXR5TG9jYXRpb24sIEFjdGl2aXR5VHlwZSwgRXZlbnQsIE9wZW5BY3Rpdml0eSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBPcGVuQWN0aXZpdHlTZWFyY2hQYXJhbXNJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcblxuXG5leHBvcnQgZW51bSBDYWxlbmRhckFjdGlvblR5cGVzIHtcbiAgQ2xlYXJUZWFtQWN0aXZpdGllcyA9ICdbQ2FsZW5kYXJdIENsZWFyIHRlYW0gYWN0aXZpdGllcycsXG4gIExpc3RNZW1iZXJBY3Rpdml0aWVzID0gJ1tDYWxlbmRhcl0gTGlzdCBtZW1iZXIgYWN0aXZpdGllcycsXG4gIExpc3RNZW1iZXJBY3Rpdml0aWVzRmFpbHVyZSA9ICdbQ2FsZW5kYXJdIExpc3QgbWVtYmVyIGFjdGl2aXRpZXMgZmFpbHVyZScsXG4gIExpc3RNZW1iZXJBY3Rpdml0aWVzU3VjY2VzcyA9ICdbQ2FsZW5kYXJdIExpc3QgbWVtYmVyIGFjdGl2aXRpZXMgc3VjY2VzcycsXG4gIExpc3RNZW1iZXJPcGVuQWN0aXZpdGllcyA9ICdbQ2FsZW5kYXJdIExpc3QgbWVtYmVyIG9wZW4gYWN0aXZpdGllcycsXG4gIExpc3RNZW1iZXJPcGVuQWN0aXZpdGllc0ZhaWx1cmUgPSAnW0NhbGVuZGFyXSBMaXN0IG1lbWJlciBvcGVuIGFjdGl2aXRpZXMgZmFpbHVyZScsXG4gIExpc3RNZW1iZXJPcGVuQWN0aXZpdGllc1N1Y2Nlc3MgPSAnW0NhbGVuZGFyXSBMaXN0IG1lbWJlciBvcGVuIGFjdGl2aXRpZXMgc3VjY2VzcycsXG4gIExpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnMgPSAnW0NhbGVuZGFyXSBMaXN0IGFsbCBtZW1iZXIgb3BlbiBhY3Rpdml0eSBsb2NhdGlvbnMnLFxuICBMaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zRmFpbHVyZSA9ICdbQ2FsZW5kYXJdIExpc3QgYWxsIG1lbWJlciBvcGVuIGFjdGl2aXR5IGxvY2F0aW9ucyBmYWlsdXJlJyxcbiAgTGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc1N1Y2Nlc3MgPSAnW0NhbGVuZGFyXSBMaXN0IGFsbCBtZW1iZXIgb3BlbiBhY3Rpdml0eSBsb2NhdGlvbnMgc3VjY2VzcycsXG4gIExpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlUeXBlcyA9ICdbQ2FsZW5kYXJdIExpc3QgYWxsIG1lbWJlciBvcGVuIGFjdGl2aXR5IHR5cGVzJyxcbiAgTGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzRmFpbHVyZSA9ICdbQ2FsZW5kYXJdIExpc3QgYWxsIG1lbWJlciBvcGVuIGFjdGl2aXR5IHR5cGVzIGZhaWx1cmUnLFxuICBMaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNTdWNjZXNzID0gJ1tDYWxlbmRhcl0gTGlzdCBhbGwgbWVtYmVyIG9wZW4gYWN0aXZpdHkgdHlwZXMgc3VjY2VzcycsXG4gIExpc3RBbGxQdWJsaWNPcGVuQWN0aXZpdHlMb2NhdGlvbnMgPSAnW0NhbGVuZGFyXSBMaXN0IGFsbCBwdWJsaWMgb3BlbiBhY3Rpdml0eSBsb2NhdGlvbnMnLFxuICBMaXN0QWxsUHVibGljT3BlbkFjdGl2aXR5TG9jYXRpb25zRmFpbHVyZSA9ICdbQ2FsZW5kYXJdIExpc3QgYWxsIHB1YmxpYyBvcGVuIGFjdGl2aXR5IGxvY2F0aW9ucyBmYWlsdXJlJyxcbiAgTGlzdEFsbFB1YmxpY09wZW5BY3Rpdml0eUxvY2F0aW9uc1N1Y2Nlc3MgPSAnW0NhbGVuZGFyXSBMaXN0IGFsbCBwdWJsaWMgb3BlbiBhY3Rpdml0eSBsb2NhdGlvbnMgc3VjY2VzcycsXG4gIExpc3RBbGxQdWJsaWNPcGVuQWN0aXZpdHlUeXBlcyA9ICdbQ2FsZW5kYXJdIExpc3QgYWxsIHB1YmxpYyBvcGVuIGFjdGl2aXR5IHR5cGVzJyxcbiAgTGlzdEFsbFB1YmxpY09wZW5BY3Rpdml0eVR5cGVzRmFpbHVyZSA9ICdbQ2FsZW5kYXJdIExpc3QgYWxsIHB1YmxpYyBvcGVuIGFjdGl2aXR5IHR5cGVzIGZhaWx1cmUnLFxuICBMaXN0QWxsUHVibGljT3BlbkFjdGl2aXR5VHlwZXNTdWNjZXNzID0gJ1tDYWxlbmRhcl0gTGlzdCBhbGwgcHVibGljIG9wZW4gYWN0aXZpdHkgdHlwZXMgc3VjY2VzcycsXG4gIExpc3RNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnMgPSAnW0NhbGVuZGFyXSBMaXN0IG1lbWJlciBvcGVuIGFjdGl2aXR5IGxvY2F0aW9ucycsXG4gIExpc3RNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnNGYWlsdXJlID0gJ1tDYWxlbmRhcl0gTGlzdCBtZW1iZXIgb3BlbiBhY3Rpdml0eSBsb2NhdGlvbnMgZmFpbHVyZScsXG4gIExpc3RNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnNTdWNjZXNzID0gJ1tDYWxlbmRhcl0gTGlzdCBtZW1iZXIgb3BlbiBhY3Rpdml0eSBsb2NhdGlvbnMgc3VjY2VzcycsXG4gIExpc3RNZW1iZXJPcGVuQWN0aXZpdHlUeXBlcyA9ICdbQ2FsZW5kYXJdIExpc3QgbWVtYmVyIG9wZW4gYWN0aXZpdHkgdHlwZXMnLFxuICBMaXN0TWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNGYWlsdXJlID0gJ1tDYWxlbmRhcl0gTGlzdCBtZW1iZXIgb3BlbiBhY3Rpdml0eSB0eXBlcyBmYWlsdXJlJyxcbiAgTGlzdE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzU3VjY2VzcyA9ICdbQ2FsZW5kYXJdIExpc3QgbWVtYmVyIG9wZW4gYWN0aXZpdHkgdHlwZXMgc3VjY2VzcycsXG4gIExpc3RQdWJsaWNPcGVuQWN0aXZpdGllcyA9ICdbQ2FsZW5kYXJdIExpc3QgcHVibGljIG9wZW4gYWN0aXZpdGllcycsXG4gIExpc3RQdWJsaWNPcGVuQWN0aXZpdGllc0ZhaWx1cmUgPSAnW0NhbGVuZGFyXSBMaXN0IHB1YmxpYyBvcGVuIGFjdGl2aXRpZXMgZmFpbHVyZScsXG4gIExpc3RQdWJsaWNPcGVuQWN0aXZpdGllc1N1Y2Nlc3MgPSAnW0NhbGVuZGFyXSBMaXN0IHB1YmxpYyBvcGVuIGFjdGl2aXRpZXMgc3VjY2VzcycsXG4gIExpc3RQdWJsaWNPcGVuQWN0aXZpdHlMb2NhdGlvbnMgPSAnW0NhbGVuZGFyXSBMaXN0IHB1YmxpYyBvcGVuIGFjdGl2aXR5IGxvY2F0aW9ucycsXG4gIExpc3RQdWJsaWNPcGVuQWN0aXZpdHlMb2NhdGlvbnNGYWlsdXJlID0gJ1tDYWxlbmRhcl0gTGlzdCBwdWJsaWMgb3BlbiBhY3Rpdml0eSBsb2NhdGlvbnMgZmFpbHVyZScsXG4gIExpc3RQdWJsaWNPcGVuQWN0aXZpdHlMb2NhdGlvbnNTdWNjZXNzID0gJ1tDYWxlbmRhcl0gTGlzdCBwdWJsaWMgb3BlbiBhY3Rpdml0eSBsb2NhdGlvbnMgc3VjY2VzcycsXG4gIExpc3RQdWJsaWNPcGVuQWN0aXZpdHlUeXBlcyA9ICdbQ2FsZW5kYXJdIExpc3QgcHVibGljIG9wZW4gYWN0aXZpdHkgdHlwZXMnLFxuICBMaXN0UHVibGljT3BlbkFjdGl2aXR5VHlwZXNGYWlsdXJlID0gJ1tDYWxlbmRhcl0gTGlzdCBwdWJsaWMgb3BlbiBhY3Rpdml0eSB0eXBlcyBmYWlsdXJlJyxcbiAgTGlzdFB1YmxpY09wZW5BY3Rpdml0eVR5cGVzU3VjY2VzcyA9ICdbQ2FsZW5kYXJdIExpc3QgcHVibGljIG9wZW4gYWN0aXZpdHkgdHlwZXMgc3VjY2VzcycsXG4gIExpc3RUZWFtQWN0aXZpdGllcyA9ICdbQ2FsZW5kYXJdIExpc3QgdGVhbSBhY3Rpdml0aWVzJyxcbiAgTGlzdFRlYW1BY3Rpdml0aWVzRmFpbHVyZSA9ICdbQ2FsZW5kYXJdIExpc3QgdGVhbSBhY3Rpdml0aWVzIGZhaWx1cmUnLFxuICBMaXN0VGVhbUFjdGl2aXRpZXNTdWNjZXNzID0gJ1tDYWxlbmRhcl0gTGlzdCB0ZWFtIGFjdGl2aXRpZXMgc3VjY2VzcycsXG59XG5cbmV4cG9ydCBjb25zdCBjbGVhclRlYW1BY3Rpdml0aWVzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkNsZWFyVGVhbUFjdGl2aXRpZXNcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0TWVtYmVyQWN0aXZpdGllc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0TWVtYmVyQWN0aXZpdGllcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IG1lbWJlcklkczogQXJyYXk8c3RyaW5nPiwgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZyB9IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0TWVtYmVyQWN0aXZpdGllc0ZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdE1lbWJlckFjdGl2aXRpZXNGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IHsgbWVtYmVySWRzOiBBcnJheTxzdHJpbmc+LCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nLCBlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UgfSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdE1lbWJlckFjdGl2aXRpZXNTdWNjZXNzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RNZW1iZXJBY3Rpdml0aWVzU3VjY2VzcyxcbiAgcHJvcHM8e1xuICAgIHBheWxvYWQ6IHsgbWVtYmVySWRzOiBBcnJheTxzdHJpbmc+LCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nLCByZXN1bHRzOiBNYXA8c3RyaW5nLCBBcnJheTxFdmVudD4+IH1cbiAgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RNZW1iZXJPcGVuQWN0aXZpdGllc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0TWVtYmVyT3BlbkFjdGl2aXRpZXMsXG4gIHByb3BzPHsgcGF5bG9hZDogeyBtZW1iZXJJZHM6IEFycmF5PHN0cmluZz4sIG9wZW5BY3Rpdml0eVNlYXJjaFBhcmFtczogT3BlbkFjdGl2aXR5U2VhcmNoUGFyYW1zSW50ZXJmYWNlIH0gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RNZW1iZXJPcGVuQWN0aXZpdGllc0ZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdE1lbWJlck9wZW5BY3Rpdml0aWVzRmFpbHVyZSxcbiAgcHJvcHM8e1xuICAgIHBheWxvYWQ6IHtcbiAgICAgIG1lbWJlcklkczogQXJyYXk8c3RyaW5nPixcbiAgICAgIG9wZW5BY3Rpdml0eVNlYXJjaFBhcmFtczogT3BlbkFjdGl2aXR5U2VhcmNoUGFyYW1zSW50ZXJmYWNlLFxuICAgICAgZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlXG4gICAgfVxuICB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdE1lbWJlck9wZW5BY3Rpdml0aWVzU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0TWVtYmVyT3BlbkFjdGl2aXRpZXNTdWNjZXNzLFxuICBwcm9wczx7XG4gICAgcGF5bG9hZDoge1xuICAgICAgbWVtYmVySWRzOiBBcnJheTxzdHJpbmc+LFxuICAgICAgb3BlbkFjdGl2aXR5U2VhcmNoUGFyYW1zOiBPcGVuQWN0aXZpdHlTZWFyY2hQYXJhbXNJbnRlcmZhY2UsXG4gICAgICByZXN1bHRzOiBNYXA8c3RyaW5nLCBBcnJheTxPcGVuQWN0aXZpdHk+PlxuICAgIH1cbiAgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnNBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9ucyxcbiAgcHJvcHM8eyBwYXlsb2FkOiBzdHJpbmd9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc0ZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc0ZhaWx1cmUsXG4gIHByb3BzPHsgcGF5bG9hZDogSHR0cEVycm9yUmVzcG9uc2UgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnNTdWNjZXNzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlMb2NhdGlvbnNTdWNjZXNzLFxuICBwcm9wczx7IHBheWxvYWQ6IEFycmF5PEFjdGl2aXR5TG9jYXRpb24+IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzLFxuICBwcm9wczx7IHBheWxvYWQ6IHN0cmluZyB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdEFsbE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzRmFpbHVyZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0QWxsTWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNTdWNjZXNzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RBbGxNZW1iZXJPcGVuQWN0aXZpdHlUeXBlc1N1Y2Nlc3MsXG4gIHByb3BzPHsgcGF5bG9hZDogQXJyYXk8QWN0aXZpdHlUeXBlPiB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdEFsbFB1YmxpY09wZW5BY3Rpdml0eUxvY2F0aW9uc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0QWxsUHVibGljT3BlbkFjdGl2aXR5TG9jYXRpb25zXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdEFsbFB1YmxpY09wZW5BY3Rpdml0eUxvY2F0aW9uc0ZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdEFsbFB1YmxpY09wZW5BY3Rpdml0eUxvY2F0aW9uc0ZhaWx1cmUsXG4gIHByb3BzPHsgcGF5bG9hZDogSHR0cEVycm9yUmVzcG9uc2UgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RBbGxQdWJsaWNPcGVuQWN0aXZpdHlMb2NhdGlvbnNTdWNjZXNzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RBbGxQdWJsaWNPcGVuQWN0aXZpdHlMb2NhdGlvbnNTdWNjZXNzLFxuICBwcm9wczx7IHBheWxvYWQ6IEFycmF5PEFjdGl2aXR5TG9jYXRpb24+IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0QWxsUHVibGljT3BlbkFjdGl2aXR5VHlwZXNBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdEFsbFB1YmxpY09wZW5BY3Rpdml0eVR5cGVzXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdEFsbFB1YmxpY09wZW5BY3Rpdml0eVR5cGVzRmFpbHVyZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0QWxsUHVibGljT3BlbkFjdGl2aXR5VHlwZXNGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0QWxsUHVibGljT3BlbkFjdGl2aXR5VHlwZXNTdWNjZXNzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RBbGxQdWJsaWNPcGVuQWN0aXZpdHlUeXBlc1N1Y2Nlc3MsXG4gIHByb3BzPHsgcGF5bG9hZDogQXJyYXk8QWN0aXZpdHlUeXBlPiB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdE1lbWJlck9wZW5BY3Rpdml0eUxvY2F0aW9uc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0TWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zLFxuICBwcm9wczx7IHBheWxvYWQ6IHsgbWVtYmVySWQ6IHN0cmluZywgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZyB9IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0TWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zRmFpbHVyZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0TWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zRmFpbHVyZSxcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IG1lbWJlcklkOiBzdHJpbmcsIHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcsIGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSB9IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0TWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0TWVtYmVyT3BlbkFjdGl2aXR5TG9jYXRpb25zU3VjY2VzcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IG1lbWJlcklkOiBzdHJpbmcsIHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcsIGxvY2F0aW9uczogQXJyYXk8QWN0aXZpdHlMb2NhdGlvbj4gfX0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0TWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzLFxuICBwcm9wczx7IHBheWxvYWQ6IHsgbWVtYmVySWQ6IHN0cmluZywgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZyB9IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0TWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RNZW1iZXJPcGVuQWN0aXZpdHlUeXBlc0ZhaWx1cmUsXG4gIHByb3BzPHsgcGF5bG9hZDogeyBtZW1iZXJJZDogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nLCBlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UgfSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdE1lbWJlck9wZW5BY3Rpdml0eVR5cGVzU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0TWVtYmVyT3BlbkFjdGl2aXR5VHlwZXNTdWNjZXNzLFxuICBwcm9wczx7IHBheWxvYWQ6IHsgbWVtYmVySWQ6IHN0cmluZywgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZywgdHlwZXM6IEFycmF5PEFjdGl2aXR5VHlwZT4gfX0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0UHVibGljT3BlbkFjdGl2aXRpZXNBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdFB1YmxpY09wZW5BY3Rpdml0aWVzLFxuICBwcm9wczx7IHBheWxvYWQ6IE9wZW5BY3Rpdml0eVNlYXJjaFBhcmFtc0ludGVyZmFjZSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdFB1YmxpY09wZW5BY3Rpdml0aWVzRmFpbHVyZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0UHVibGljT3BlbkFjdGl2aXRpZXNGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0UHVibGljT3BlbkFjdGl2aXRpZXNTdWNjZXNzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RQdWJsaWNPcGVuQWN0aXZpdGllc1N1Y2Nlc3MsXG4gIHByb3BzPHsgcGF5bG9hZDoge1xuICAgIG9wZW5BY3Rpdml0eVNlYXJjaFBhcmFtczogT3BlbkFjdGl2aXR5U2VhcmNoUGFyYW1zSW50ZXJmYWNlLFxuICAgIHJlc3VsdHM6IEFycmF5PE9wZW5BY3Rpdml0eT5cbiAgfX0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0UHVibGljT3BlbkFjdGl2aXR5TG9jYXRpb25zQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RQdWJsaWNPcGVuQWN0aXZpdHlMb2NhdGlvbnMsXG4gIHByb3BzPHsgcGF5bG9hZDogeyBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nIH0gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RQdWJsaWNPcGVuQWN0aXZpdHlMb2NhdGlvbnNGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RQdWJsaWNPcGVuQWN0aXZpdHlMb2NhdGlvbnNGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0UHVibGljT3BlbkFjdGl2aXR5TG9jYXRpb25zU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0UHVibGljT3BlbkFjdGl2aXR5TG9jYXRpb25zU3VjY2VzcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcsIGxvY2F0aW9uczogQXJyYXk8QWN0aXZpdHlMb2NhdGlvbj4gfX0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0UHVibGljT3BlbkFjdGl2aXR5VHlwZXNBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdFB1YmxpY09wZW5BY3Rpdml0eVR5cGVzLFxuICBwcm9wczx7IHBheWxvYWQ6IHsgc3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZyB9IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0UHVibGljT3BlbkFjdGl2aXR5VHlwZXNGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RQdWJsaWNPcGVuQWN0aXZpdHlUeXBlc0ZhaWx1cmUsXG4gIHByb3BzPHsgcGF5bG9hZDogSHR0cEVycm9yUmVzcG9uc2UgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RQdWJsaWNPcGVuQWN0aXZpdHlUeXBlc1N1Y2Nlc3NBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdFB1YmxpY09wZW5BY3Rpdml0eVR5cGVzU3VjY2VzcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcsIHR5cGVzOiBBcnJheTxBY3Rpdml0eVR5cGU+IH19PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdFRlYW1BY3Rpdml0aWVzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBDYWxlbmRhckFjdGlvblR5cGVzLkxpc3RUZWFtQWN0aXZpdGllcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IHRlYW1JZDogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nIH0gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RUZWFtQWN0aXZpdGllc0ZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIENhbGVuZGFyQWN0aW9uVHlwZXMuTGlzdFRlYW1BY3Rpdml0aWVzRmFpbHVyZSxcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IHRlYW1JZDogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZywgZW5kRGF0ZTogc3RyaW5nLCBlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UgfSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdFRlYW1BY3Rpdml0aWVzU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgQ2FsZW5kYXJBY3Rpb25UeXBlcy5MaXN0VGVhbUFjdGl2aXRpZXNTdWNjZXNzLFxuICBwcm9wczx7IHBheWxvYWQ6IHsgdGVhbUlkOiBzdHJpbmcsIHN0YXJ0RGF0ZTogc3RyaW5nLCBlbmREYXRlOiBzdHJpbmcsIHJlc3VsdHM6IEFycmF5PEV2ZW50PiB9IH0+KClcbik7XG4iXX0=
|
|
@@ -20,8 +20,8 @@ export class AuthEffects {
|
|
|
20
20
|
}).pipe(mergeMap(() => {
|
|
21
21
|
this.authenticationService.clearAuthentication();
|
|
22
22
|
return [
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
clearStoreAction(),
|
|
24
|
+
clearAuthenticationSuccessAction()
|
|
25
25
|
];
|
|
26
26
|
})))));
|
|
27
27
|
getCurrent$ = createEffect(() => this.actions$
|
|
@@ -105,4 +105,4 @@ export class AuthEffects {
|
|
|
105
105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AuthEffects, decorators: [{
|
|
106
106
|
type: Injectable
|
|
107
107
|
}] });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL2F1dGguZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUNMLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLGFBQWEsRUFDYixjQUFjLEVBQ2QsV0FBVyxFQUNaLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixnQ0FBZ0MsRUFDaEMsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUM3Qiw2QkFBNkIsRUFDN0Isb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0Isb0JBQW9CLEVBQ3JCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHN0QsTUFBTSxPQUFPLFdBQVc7SUFDZCxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8s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Q0FBQyxxQkFBcUIsRUFBRSxPQUFPLENBQUM7YUFDdkUsSUFBSSxDQUNILFFBQVEsQ0FBQyxDQUFDLE9BQWEsRUFBRSxFQUFFO1lBQ3pCLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDeE8sT0FBTztvQkFDTCwyQkFBMkIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUMsQ0FBQztpQkFDaEQsQ0FBQTtZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPO29CQUNMLDJCQUEyQixDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBQyxDQUFDO29CQUMvQyxnQkFBZ0IsRUFBRTtpQkFDbkIsQ0FBQTtZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUNGLENBQ0YsQ0FBQzt1R0E3S1MsV0FBVzsyR0FBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHtcbiAgQXV0aFNlcnZpY2UsXG4gIFNUT1JBR0VfU0VMRUNURURfQVVUSCxcbiAgU1RPUkFHRV9TRUxFQ1RFRF9NRU1CRVJTLFxuICBTVE9SQUdFX1RPS0VOLFxuICBTdG9yYWdlU2VydmljZSxcbiAgVGVhbVNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgY2xlYXJBdXRoZW50aWNhdGlvbkFjdGlvbixcbiAgY2xlYXJBdXRoZW50aWNhdGlvblN1Y2Nlc3NBY3Rpb24sXG4gIGNsZWFyU3RvcmVBY3Rpb24sXG4gIGdldEN1cnJlbnRBdXRoQWN0aW9uLFxuICBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RBdXRoQWN0aW9uLFxuICBsaXN0QXV0aEZhaWx1cmVBY3Rpb24sXG4gIGxpc3RBdXRoU3VjY2Vzc0FjdGlvbixcbiAgbGlzdEF1dGhUZWFtc0FjdGlvbixcbiAgbGlzdEF1dGhUZWFtc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uLFxuICByZWZyZXNoQXV0aHNBY3Rpb24sXG4gIHJlZnJlc2hBdXRoc0ZhaWx1cmVBY3Rpb24sXG4gIHJlZnJlc2hBdXRoc1N1Y2Nlc3NBY3Rpb24sXG4gIHJlbW92ZU1lbWJlckF1dGhBY3Rpb24sXG4gIHJlbW92ZU1lbWJlckF1dGhGYWlsdXJlQWN0aW9uLFxuICByZW1vdmVNZW1iZXJBdXRoU3VjY2Vzc0FjdGlvbixcbiAgcmVtb3ZlVGVhbUF1dGhBY3Rpb24sXG4gIHJlbW92ZVRlYW1BdXRoRmFpbHVyZUFjdGlvbixcbiAgcmVtb3ZlVGVhbUF1dGhTdWNjZXNzQWN0aW9uLFxuICBzZXRDdXJyZW50QXV0aEFjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIGZvcmtKb2luLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQXV0aCwgQ29sbGVjdGlvbiwgU2VhcmNoVGVhbSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZW1vdmVNZW1iZXJBdXRoSW50ZXJmYWNlLCBSZW1vdmVUZWFtQXV0aEludGVyZmFjZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aGVudGljYXRpb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aEVmZmVjdHMge1xuICBwcml2YXRlIGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIGF1dGhlbnRpY2F0aW9uU2VydmljZSA9IGluamVjdChBdXRoZW50aWNhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZSA9IGluamVjdChTdG9yYWdlU2VydmljZSk7XG4gIHByaXZhdGUgdGVhbVNlcnZpY2UgPSBpbmplY3QoVGVhbVNlcnZpY2UpO1xuXG4gIGNsZWFyQXV0aGVudGljYXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShjbGVhckF1dGhlbnRpY2F0aW9uQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT5cbiAgICAgICAgZm9ya0pvaW4oXG4gICAgICAgICAge1xuICAgICAgICAgICAgdG9rZW5SZW1vdmFsOiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUFzT2JzZXJ2YWJsZShTVE9SQUdFX1RPS0VOKSxcbiAgICAgICAgICAgIHNlbGVjdGVkQXV0aFJlbW92YWw6IHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlQXNPYnNlcnZhYmxlKFNUT1JBR0VfU0VMRUNURURfQVVUSCksXG4gICAgICAgICAgICBzZWxlY3RlZE1lbWJlcnNSZW1vdmFsOiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUFzT2JzZXJ2YWJsZShTVE9SQUdFX1NFTEVDVEVEX01FTUJFUlMpLFxuICAgICAgICAgIH1cbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmNsZWFyQXV0aGVudGljYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgIGNsZWFyQXV0aGVudGljYXRpb25TdWNjZXNzQWN0aW9uKCksXG4gICAgICAgICAgICAgIGNsZWFyU3RvcmVBY3Rpb24oKVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgZ2V0Q3VycmVudCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGdldEN1cnJlbnRBdXRoQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRBc09ic2VydmFibGUoU1RPUkFHRV9TRUxFQ1RFRF9BVVRIKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGF1dGg6IEF1dGggfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgICAgICAgICBpZiAoYXV0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG51bGx9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGF1dGh9KTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RBdXRoJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdEF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9KSA9PiB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhzKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoYXV0aHM6IENvbGxlY3Rpb248QXV0aD4pID0+IGxpc3RBdXRoU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogYXV0aHMudG9BcnJheSgpfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdEF1dGhGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0QXV0aFRlYW1zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdEF1dGhUZWFtc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH0pID0+IHtcbiAgICAgICAgaWYgKHBheWxvYWQuY2x1YkFkbWluKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudGVhbVNlcnZpY2UuZ2V0Q2x1YlRlYW1zKHBheWxvYWQuaWQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgbWFwKChzZWFyY2hUZWFtczogQ29sbGVjdGlvbjxTZWFyY2hUZWFtPikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGF1dGggPSB7XG4gICAgICAgICAgICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICAgICAgICAgICAgdGVhbXM6IHNlYXJjaFRlYW1zLnRvQXJyYXkoKVxuICAgICAgICAgICAgICAgICAgICAuc29ydCgoYTogU2VhcmNoVGVhbSwgYjogU2VhcmNoVGVhbSkgPT4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKSlcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBhdXRofSk7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RBdXRoVGVhbXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qgc2VjdGlvbnNUZWFtcyQ6IEFycmF5PE9ic2VydmFibGU8Q29sbGVjdGlvbjxTZWFyY2hUZWFtPj4+ID0gcGF5bG9hZC5zZWN0aW9ucy5tYXAoKHNlY3Rpb24pID0+XG4gICAgICAgICAgICB0aGlzLnRlYW1TZXJ2aWNlLmdldFNlY3Rpb25UZWFtcyhzZWN0aW9uLmlkKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm4gZm9ya0pvaW4oc2VjdGlvbnNUZWFtcyQpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3VsdHM6IEFycmF5PENvbGxlY3Rpb248U2VhcmNoVGVhbT4+KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHNvcnRlZFRlYW1zOiBBcnJheTxTZWFyY2hUZWFtPiA9IHJlc3VsdHNcbiAgICAgICAgICAgICAgICAuZmxhdE1hcCgocmVzdWx0OiBDb2xsZWN0aW9uPFNlYXJjaFRlYW0+KSA9PiByZXN1bHQudG9BcnJheSgpKVxuICAgICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKTtcbiAgICAgICAgICAgICAgY29uc3QgYXV0aCA9IHtcbiAgICAgICAgICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICAgICAgICAgIHRlYW1zOiBzb3J0ZWRUZWFtcyxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgcmV0dXJuIGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBhdXRofSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdEF1dGhUZWFtc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIHJlZnJlc2gkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZWZyZXNoQXV0aHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZU1lbWJlcnMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtZXJnZU1hcCgoc3VjY2VzczogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICByZWZyZXNoQXV0aHNTdWNjZXNzQWN0aW9uKCksXG4gICAgICAgICAgICAgICAgbGlzdEF1dGhBY3Rpb24oKVxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKHJlZnJlc2hBdXRoc0ZhaWx1cmVBY3Rpb24oKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihyZWZyZXNoQXV0aHNGYWlsdXJlQWN0aW9uKCkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJlbW92ZU1lbWJlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJlbW92ZU1lbWJlckF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogUmVtb3ZlTWVtYmVyQXV0aEludGVyZmFjZVxuICAgICAgICB9KSA9PiB0aGlzLmF1dGhTZXJ2aWNlLnJlbW92ZU1lbWJlckF1dGgocGF5bG9hZC5hdXRoSWQsIHBheWxvYWQubWVtYmVySWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHZhbHVlOiBib29sZWFuKSA9PiB2YWx1ZSA/IHJlbW92ZU1lbWJlckF1dGhTdWNjZXNzQWN0aW9uKCkgOiByZW1vdmVNZW1iZXJBdXRoRmFpbHVyZUFjdGlvbigpKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YocmVtb3ZlTWVtYmVyQXV0aEZhaWx1cmVBY3Rpb24oKSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZW1vdmVUZWFtJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmVtb3ZlVGVhbUF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogUmVtb3ZlVGVhbUF1dGhJbnRlcmZhY2VcbiAgICAgICAgfSkgPT4gdGhpcy5hdXRoU2VydmljZS5yZW1vdmVUZWFtQXV0aChwYXlsb2FkLmF1dGhJZCwgcGF5bG9hZC50ZWFtSWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHZhbHVlOiBib29sZWFuKSA9PiB2YWx1ZSA/IHJlbW92ZVRlYW1BdXRoU3VjY2Vzc0FjdGlvbigpIDogcmVtb3ZlVGVhbUF1dGhGYWlsdXJlQWN0aW9uKCkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihyZW1vdmVNZW1iZXJBdXRoRmFpbHVyZUFjdGlvbigpKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNldEN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShzZXRDdXJyZW50QXV0aEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogQXV0aCB9KSA9PiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEFzT2JzZXJ2YWJsZShTVE9SQUdFX1NFTEVDVEVEX0FVVEgpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKChvbGRBdXRoOiBBdXRoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5zZXRBc09ic2VydmFibGUoU1RPUkFHRV9TRUxFQ1RFRF9BVVRILCBwYXlsb2FkKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtZXJnZU1hcCgobmV3QXV0aDogQXV0aCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKG9sZEF1dGggJiYgbmV3QXV0aC5pZCA9PT0gb2xkQXV0aC5pZCAmJiAoKG5ld0F1dGgubWVtYmVycyAmJiBuZXdBdXRoLm1lbWJlcnMubGVuZ3RoID09PSBvbGRBdXRoLm1lbWJlcnMubGVuZ3RoKSB8fCAobmV3QXV0aC50ZWFtcyAmJiBuZXdBdXRoLnRlYW1zLmxlbmd0aCA9PT0gb2xkQXV0aC50ZWFtcy5sZW5ndGggJiYgbmV3QXV0aC50ZWFtc1swXS5pZCA9PT0gb2xkQXV0aC50ZWFtc1swXS5pZCkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgICAgZ2V0Q3VycmVudEF1dGhTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBuZXdBdXRofSlcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG5ld0F1dGh9KSxcbiAgICAgICAgICAgICAgICAgICAgICBjbGVhclN0b3JlQWN0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xufVxuIl19
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL2F1dGguZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUNMLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLGFBQWEsRUFDYixjQUFjLEVBQ2QsV0FBVyxFQUNaLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLHlCQUF5QixFQUN6QixnQ0FBZ0MsRUFDaEMsZ0JBQWdCLEVBQ2hCLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIsc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUM3Qiw2QkFBNkIsRUFDN0Isb0JBQW9CLEVBQ3BCLDJCQUEyQixFQUMzQiwyQkFBMkIsRUFDM0Isb0JBQW9CLEVBQ3JCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUlqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFHN0QsTUFBTSxPQUFPLFdBQVc7SUFDZCxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8s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Q0FBQyxxQkFBcUIsRUFBRSxPQUFPLENBQUM7YUFDdkUsSUFBSSxDQUNILFFBQVEsQ0FBQyxDQUFDLE9BQWEsRUFBRSxFQUFFO1lBQ3pCLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDeE8sT0FBTztvQkFDTCwyQkFBMkIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUMsQ0FBQztpQkFDaEQsQ0FBQTtZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPO29CQUNMLDJCQUEyQixDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBQyxDQUFDO29CQUMvQyxnQkFBZ0IsRUFBRTtpQkFDbkIsQ0FBQTtZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFBO0lBQ0wsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUNGLENBQ0YsQ0FBQzt1R0E3S1MsV0FBVzsyR0FBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHtcbiAgQXV0aFNlcnZpY2UsXG4gIFNUT1JBR0VfU0VMRUNURURfQVVUSCxcbiAgU1RPUkFHRV9TRUxFQ1RFRF9NRU1CRVJTLFxuICBTVE9SQUdFX1RPS0VOLFxuICBTdG9yYWdlU2VydmljZSxcbiAgVGVhbVNlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgY2xlYXJBdXRoZW50aWNhdGlvbkFjdGlvbixcbiAgY2xlYXJBdXRoZW50aWNhdGlvblN1Y2Nlc3NBY3Rpb24sXG4gIGNsZWFyU3RvcmVBY3Rpb24sXG4gIGdldEN1cnJlbnRBdXRoQWN0aW9uLFxuICBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RBdXRoQWN0aW9uLFxuICBsaXN0QXV0aEZhaWx1cmVBY3Rpb24sXG4gIGxpc3RBdXRoU3VjY2Vzc0FjdGlvbixcbiAgbGlzdEF1dGhUZWFtc0FjdGlvbixcbiAgbGlzdEF1dGhUZWFtc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uLFxuICByZWZyZXNoQXV0aHNBY3Rpb24sXG4gIHJlZnJlc2hBdXRoc0ZhaWx1cmVBY3Rpb24sXG4gIHJlZnJlc2hBdXRoc1N1Y2Nlc3NBY3Rpb24sXG4gIHJlbW92ZU1lbWJlckF1dGhBY3Rpb24sXG4gIHJlbW92ZU1lbWJlckF1dGhGYWlsdXJlQWN0aW9uLFxuICByZW1vdmVNZW1iZXJBdXRoU3VjY2Vzc0FjdGlvbixcbiAgcmVtb3ZlVGVhbUF1dGhBY3Rpb24sXG4gIHJlbW92ZVRlYW1BdXRoRmFpbHVyZUFjdGlvbixcbiAgcmVtb3ZlVGVhbUF1dGhTdWNjZXNzQWN0aW9uLFxuICBzZXRDdXJyZW50QXV0aEFjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIGZvcmtKb2luLCBtZXJnZU1hcCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQXV0aCwgQ29sbGVjdGlvbiwgU2VhcmNoVGVhbSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBSZW1vdmVNZW1iZXJBdXRoSW50ZXJmYWNlLCBSZW1vdmVUZWFtQXV0aEludGVyZmFjZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vYXV0aGVudGljYXRpb24nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQXV0aEVmZmVjdHMge1xuICBwcml2YXRlIGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIGF1dGhlbnRpY2F0aW9uU2VydmljZSA9IGluamVjdChBdXRoZW50aWNhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIGF1dGhTZXJ2aWNlID0gaW5qZWN0KEF1dGhTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZSA9IGluamVjdChTdG9yYWdlU2VydmljZSk7XG4gIHByaXZhdGUgdGVhbVNlcnZpY2UgPSBpbmplY3QoVGVhbVNlcnZpY2UpO1xuXG4gIGNsZWFyQXV0aGVudGljYXRpb24kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShjbGVhckF1dGhlbnRpY2F0aW9uQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT5cbiAgICAgICAgZm9ya0pvaW4oXG4gICAgICAgICAge1xuICAgICAgICAgICAgdG9rZW5SZW1vdmFsOiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUFzT2JzZXJ2YWJsZShTVE9SQUdFX1RPS0VOKSxcbiAgICAgICAgICAgIHNlbGVjdGVkQXV0aFJlbW92YWw6IHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlQXNPYnNlcnZhYmxlKFNUT1JBR0VfU0VMRUNURURfQVVUSCksXG4gICAgICAgICAgICBzZWxlY3RlZE1lbWJlcnNSZW1vdmFsOiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUFzT2JzZXJ2YWJsZShTVE9SQUdFX1NFTEVDVEVEX01FTUJFUlMpLFxuICAgICAgICAgIH1cbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmNsZWFyQXV0aGVudGljYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgIGNsZWFyU3RvcmVBY3Rpb24oKSxcbiAgICAgICAgICAgICAgY2xlYXJBdXRoZW50aWNhdGlvblN1Y2Nlc3NBY3Rpb24oKVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgZ2V0Q3VycmVudCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGdldEN1cnJlbnRBdXRoQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRBc09ic2VydmFibGUoU1RPUkFHRV9TRUxFQ1RFRF9BVVRIKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGF1dGg6IEF1dGggfCBudWxsIHwgdW5kZWZpbmVkKSA9PiB7XG4gICAgICAgICAgICBpZiAoYXV0aCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHJldHVybiBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG51bGx9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGF1dGh9KTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RBdXRoJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdEF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9KSA9PiB0aGlzLmF1dGhTZXJ2aWNlLmdldEF1dGhzKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoYXV0aHM6IENvbGxlY3Rpb248QXV0aD4pID0+IGxpc3RBdXRoU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogYXV0aHMudG9BcnJheSgpfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdEF1dGhGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0QXV0aFRlYW1zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdEF1dGhUZWFtc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH0pID0+IHtcbiAgICAgICAgaWYgKHBheWxvYWQuY2x1YkFkbWluKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudGVhbVNlcnZpY2UuZ2V0Q2x1YlRlYW1zKHBheWxvYWQuaWQpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgbWFwKChzZWFyY2hUZWFtczogQ29sbGVjdGlvbjxTZWFyY2hUZWFtPikgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGF1dGggPSB7XG4gICAgICAgICAgICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICAgICAgICAgICAgdGVhbXM6IHNlYXJjaFRlYW1zLnRvQXJyYXkoKVxuICAgICAgICAgICAgICAgICAgICAuc29ydCgoYTogU2VhcmNoVGVhbSwgYjogU2VhcmNoVGVhbSkgPT4gYS5uYW1lLmxvY2FsZUNvbXBhcmUoYi5uYW1lKSlcbiAgICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBhdXRofSk7XG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RBdXRoVGVhbXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3Qgc2VjdGlvbnNUZWFtcyQ6IEFycmF5PE9ic2VydmFibGU8Q29sbGVjdGlvbjxTZWFyY2hUZWFtPj4+ID0gcGF5bG9hZC5zZWN0aW9ucy5tYXAoKHNlY3Rpb24pID0+XG4gICAgICAgICAgICB0aGlzLnRlYW1TZXJ2aWNlLmdldFNlY3Rpb25UZWFtcyhzZWN0aW9uLmlkKVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm4gZm9ya0pvaW4oc2VjdGlvbnNUZWFtcyQpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3VsdHM6IEFycmF5PENvbGxlY3Rpb248U2VhcmNoVGVhbT4+KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHNvcnRlZFRlYW1zOiBBcnJheTxTZWFyY2hUZWFtPiA9IHJlc3VsdHNcbiAgICAgICAgICAgICAgICAuZmxhdE1hcCgocmVzdWx0OiBDb2xsZWN0aW9uPFNlYXJjaFRlYW0+KSA9PiByZXN1bHQudG9BcnJheSgpKVxuICAgICAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKTtcbiAgICAgICAgICAgICAgY29uc3QgYXV0aCA9IHtcbiAgICAgICAgICAgICAgICAuLi5wYXlsb2FkLFxuICAgICAgICAgICAgICAgIHRlYW1zOiBzb3J0ZWRUZWFtcyxcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgcmV0dXJuIGxpc3RBdXRoVGVhbXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBhdXRofSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdEF1dGhUZWFtc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICApO1xuXG4gIHJlZnJlc2gkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZWZyZXNoQXV0aHNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmF1dGhTZXJ2aWNlLnVwZGF0ZU1lbWJlcnMoKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtZXJnZU1hcCgoc3VjY2VzczogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICByZWZyZXNoQXV0aHNTdWNjZXNzQWN0aW9uKCksXG4gICAgICAgICAgICAgICAgbGlzdEF1dGhBY3Rpb24oKVxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKHJlZnJlc2hBdXRoc0ZhaWx1cmVBY3Rpb24oKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihyZWZyZXNoQXV0aHNGYWlsdXJlQWN0aW9uKCkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJlbW92ZU1lbWJlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJlbW92ZU1lbWJlckF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogUmVtb3ZlTWVtYmVyQXV0aEludGVyZmFjZVxuICAgICAgICB9KSA9PiB0aGlzLmF1dGhTZXJ2aWNlLnJlbW92ZU1lbWJlckF1dGgocGF5bG9hZC5hdXRoSWQsIHBheWxvYWQubWVtYmVySWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHZhbHVlOiBib29sZWFuKSA9PiB2YWx1ZSA/IHJlbW92ZU1lbWJlckF1dGhTdWNjZXNzQWN0aW9uKCkgOiByZW1vdmVNZW1iZXJBdXRoRmFpbHVyZUFjdGlvbigpKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YocmVtb3ZlTWVtYmVyQXV0aEZhaWx1cmVBY3Rpb24oKSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZW1vdmVUZWFtJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmVtb3ZlVGVhbUF1dGhBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogUmVtb3ZlVGVhbUF1dGhJbnRlcmZhY2VcbiAgICAgICAgfSkgPT4gdGhpcy5hdXRoU2VydmljZS5yZW1vdmVUZWFtQXV0aChwYXlsb2FkLmF1dGhJZCwgcGF5bG9hZC50ZWFtSWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHZhbHVlOiBib29sZWFuKSA9PiB2YWx1ZSA/IHJlbW92ZVRlYW1BdXRoU3VjY2Vzc0FjdGlvbigpIDogcmVtb3ZlVGVhbUF1dGhGYWlsdXJlQWN0aW9uKCkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihyZW1vdmVNZW1iZXJBdXRoRmFpbHVyZUFjdGlvbigpKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNldEN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShzZXRDdXJyZW50QXV0aEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogQXV0aCB9KSA9PiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEFzT2JzZXJ2YWJsZShTVE9SQUdFX1NFTEVDVEVEX0FVVEgpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKChvbGRBdXRoOiBBdXRoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlU2VydmljZS5zZXRBc09ic2VydmFibGUoU1RPUkFHRV9TRUxFQ1RFRF9BVVRILCBwYXlsb2FkKVxuICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtZXJnZU1hcCgobmV3QXV0aDogQXV0aCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKG9sZEF1dGggJiYgbmV3QXV0aC5pZCA9PT0gb2xkQXV0aC5pZCAmJiAoKG5ld0F1dGgubWVtYmVycyAmJiBuZXdBdXRoLm1lbWJlcnMubGVuZ3RoID09PSBvbGRBdXRoLm1lbWJlcnMubGVuZ3RoKSB8fCAobmV3QXV0aC50ZWFtcyAmJiBuZXdBdXRoLnRlYW1zLmxlbmd0aCA9PT0gb2xkQXV0aC50ZWFtcy5sZW5ndGggJiYgbmV3QXV0aC50ZWFtc1swXS5pZCA9PT0gb2xkQXV0aC50ZWFtc1swXS5pZCkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgICAgICAgZ2V0Q3VycmVudEF1dGhTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBuZXdBdXRofSlcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgICAgICAgICAgICBnZXRDdXJyZW50QXV0aFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG5ld0F1dGh9KSxcbiAgICAgICAgICAgICAgICAgICAgICBjbGVhclN0b3JlQWN0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xufVxuIl19
|
|
@@ -3,14 +3,15 @@ import { Actions, createEffect, ofType } from '@ngrx/effects';
|
|
|
3
3
|
import { AuthenticationService } from '../../authentication';
|
|
4
4
|
import { STORAGE_TOKEN, StorageService } from '../../services';
|
|
5
5
|
import { clearAuthenticationAction, clearCurrentTokenAction, getCurrentTokenAction, getCurrentTokenSuccessAction, loginTokenAction, loginTokenFailureAction, loginTokenSuccessAction, loginWithSessionAction, loginWithSessionFailureAction, loginWithTokenAction, loginWithTokenFailureAction, memberLoginAction, memberLoginFailureAction, memberLoginSuccessAction, memberSendCodeAction, memberSendCodeFailureAction, memberSendCodeSuccessAction, reauthenticateTokenAction, reauthenticateTokenFailureAction, reauthenticateTokenSuccessAction, selectPublicMemberAction, selectPublicMemberFailureAction, selectPublicMemberSuccessAction, setCurrentTokenAction } from '../actions';
|
|
6
|
-
import { concat,
|
|
7
|
-
import { catchError, map } from 'rxjs/operators';
|
|
6
|
+
import { concat, EMPTY, exhaustMap, mergeMap, of } from 'rxjs';
|
|
7
|
+
import { catchError, finalize, map } from 'rxjs/operators';
|
|
8
8
|
import { HttpErrorResponse } from '@angular/common/http';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export class TokenEffects {
|
|
11
11
|
actions$ = inject(Actions);
|
|
12
12
|
authenticationService = inject(AuthenticationService);
|
|
13
13
|
storageService = inject(StorageService);
|
|
14
|
+
isProcessingFailure = false;
|
|
14
15
|
clearCurrent$ = createEffect(() => this.actions$
|
|
15
16
|
.pipe(ofType(clearCurrentTokenAction), mergeMap(() => of(setCurrentTokenAction({ payload: null })))));
|
|
16
17
|
getCurrent$ = createEffect(() => this.actions$
|
|
@@ -39,17 +40,37 @@ export class TokenEffects {
|
|
|
39
40
|
memberSendCode$ = createEffect(() => this.actions$
|
|
40
41
|
.pipe(ofType(memberSendCodeAction), exhaustMap(({ payload }) => this.authenticationService.getLoginCode(payload.email, payload.clubId)
|
|
41
42
|
.pipe(map((clubs) => memberSendCodeSuccessAction({ payload: clubs.toArray() })), catchError((error) => of(memberSendCodeFailureAction({ payload: error })))))));
|
|
42
|
-
reauthenticate$ = createEffect(() => this.actions
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
43
|
+
reauthenticate$ = createEffect(() => this.actions$.pipe(ofType(reauthenticateTokenAction),
|
|
44
|
+
// `exhaustMap` ensures further token refresh attempts are ignored while one is in progress
|
|
45
|
+
exhaustMap(({ payload }) => this.authenticationService.reauthenticate(payload).pipe(exhaustMap((token) => {
|
|
46
|
+
this.isProcessingFailure = false;
|
|
47
|
+
if (!token) {
|
|
48
|
+
return [
|
|
49
|
+
reauthenticateTokenFailureAction({ payload: new HttpErrorResponse({ status: 400 }) }),
|
|
50
|
+
clearCurrentTokenAction(),
|
|
51
|
+
clearAuthenticationAction()
|
|
52
|
+
];
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
return [
|
|
56
|
+
loginTokenSuccessAction({ payload: token }),
|
|
57
|
+
setCurrentTokenAction({ payload: token }),
|
|
58
|
+
reauthenticateTokenSuccessAction({ payload: token })
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
}), catchError((error) => {
|
|
62
|
+
if (this.isProcessingFailure) {
|
|
63
|
+
return EMPTY;
|
|
64
|
+
}
|
|
65
|
+
this.isProcessingFailure = true;
|
|
66
|
+
return concat([
|
|
67
|
+
reauthenticateTokenFailureAction({ payload: error }),
|
|
68
|
+
clearCurrentTokenAction(),
|
|
69
|
+
clearAuthenticationAction()
|
|
70
|
+
]).pipe(finalize(() => {
|
|
71
|
+
this.isProcessingFailure = false;
|
|
72
|
+
}));
|
|
73
|
+
})))));
|
|
53
74
|
selectPublicMember$ = createEffect(() => this.actions$
|
|
54
75
|
.pipe(ofType(selectPublicMemberAction), exhaustMap(({ payload }) => this.authenticationService.changePublicToken(payload)
|
|
55
76
|
.pipe(map((token) => selectPublicMemberSuccessAction({ payload: token })), catchError((error) => of(selectPublicMemberFailureAction({ payload: error })))))));
|
|
@@ -82,4 +103,4 @@ export class TokenEffects {
|
|
|
82
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TokenEffects, decorators: [{
|
|
83
104
|
type: Injectable
|
|
84
105
|
}] });
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy90b2tlbi5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9ELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQiw0QkFBNEIsRUFDNUIsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUM3QixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQUUseUJBQXlCLEVBQ3RELGdDQUFnQyxFQUNoQyxnQ0FBZ0MsRUFDaEMsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IscUJBQXFCLEVBQ3RCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRW5FLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7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QyxjQUFjLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7U0FDN0csSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO1FBQ25CLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsT0FBTyw0QkFBNEIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFBO0lBQ3ZELENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FDRixDQUNGLENBQUM7dUdBdEtTLFlBQVk7MkdBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2F1dGhlbnRpY2F0aW9uJztcbmltcG9ydCB7IFNUT1JBR0VfVE9LRU4sIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgY2xlYXJBdXRoZW50aWNhdGlvbkFjdGlvbixcbiAgY2xlYXJDdXJyZW50VG9rZW5BY3Rpb24sXG4gIGdldEN1cnJlbnRUb2tlbkFjdGlvbixcbiAgZ2V0Q3VycmVudFRva2VuU3VjY2Vzc0FjdGlvbixcbiAgbG9naW5Ub2tlbkFjdGlvbixcbiAgbG9naW5Ub2tlbkZhaWx1cmVBY3Rpb24sXG4gIGxvZ2luVG9rZW5TdWNjZXNzQWN0aW9uLFxuICBsb2dpbldpdGhTZXNzaW9uQWN0aW9uLFxuICBsb2dpbldpdGhTZXNzaW9uRmFpbHVyZUFjdGlvbixcbiAgbG9naW5XaXRoVG9rZW5BY3Rpb24sXG4gIGxvZ2luV2l0aFRva2VuRmFpbHVyZUFjdGlvbixcbiAgbWVtYmVyTG9naW5BY3Rpb24sXG4gIG1lbWJlckxvZ2luRmFpbHVyZUFjdGlvbixcbiAgbWVtYmVyTG9naW5TdWNjZXNzQWN0aW9uLFxuICBtZW1iZXJTZW5kQ29kZUFjdGlvbixcbiAgbWVtYmVyU2VuZENvZGVGYWlsdXJlQWN0aW9uLFxuICBtZW1iZXJTZW5kQ29kZVN1Y2Nlc3NBY3Rpb24sIHJlYXV0aGVudGljYXRlVG9rZW5BY3Rpb24sXG4gIHJlYXV0aGVudGljYXRlVG9rZW5GYWlsdXJlQWN0aW9uLFxuICByZWF1dGhlbnRpY2F0ZVRva2VuU3VjY2Vzc0FjdGlvbixcbiAgc2VsZWN0UHVibGljTWVtYmVyQWN0aW9uLFxuICBzZWxlY3RQdWJsaWNNZW1iZXJGYWlsdXJlQWN0aW9uLFxuICBzZWxlY3RQdWJsaWNNZW1iZXJTdWNjZXNzQWN0aW9uLFxuICBzZXRDdXJyZW50VG9rZW5BY3Rpb25cbn0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBjb25jYXQsIGNvbmNhdE1hcCwgZXhoYXVzdE1hcCwgbWVyZ2VNYXAsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uLCBQdWJsaWNBdXRoZW50aWNhdGlvbiwgU2VhcmNoQ2x1YiwgVG9rZW4gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBHcmFudFR5cGUgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUb2tlbkVmZmVjdHMge1xuICBwcml2YXRlIGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIGF1dGhlbnRpY2F0aW9uU2VydmljZSA9IGluamVjdChBdXRoZW50aWNhdGlvblNlcnZpY2UpO1xuICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlID0gaW5qZWN0KFN0b3JhZ2VTZXJ2aWNlKTtcblxuICBjbGVhckN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShjbGVhckN1cnJlbnRUb2tlbkFjdGlvbiksXG4gICAgICBtZXJnZU1hcCgoKSA9PiBvZihzZXRDdXJyZW50VG9rZW5BY3Rpb24oe3BheWxvYWQ6IG51bGx9KSkpXG4gICAgKVxuICApO1xuXG4gIGdldEN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShnZXRDdXJyZW50VG9rZW5BY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEFzT2JzZXJ2YWJsZShTVE9SQUdFX1RPS0VOKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHRva2VuOiBUb2tlbikgPT4ge1xuICAgICAgICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgICAgICAgIHJldHVybiBzZXRDdXJyZW50VG9rZW5BY3Rpb24oe3BheWxvYWQ6IHRva2VufSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q3VycmVudFRva2VuU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbnVsbH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsb2dpbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxvZ2luVG9rZW5BY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyB1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuYXV0aGVudGljYXRlQnlDcmVkZW50aWFscyhwYXlsb2FkLnVzZXJuYW1lLCBwYXlsb2FkLnBhc3N3b3JkKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWVyZ2VNYXAoKHRva2VuOiBUb2tlbikgPT4gW1xuICAgICAgICAgICAgICBsb2dpblRva2VuU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogdG9rZW59KSxcbiAgICAgICAgICAgICAgc2V0Q3VycmVudFRva2VuQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKFxuICAgICAgICAgICAgICBsb2dpblRva2VuRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSxcbiAgICAgICAgICAgICAgY2xlYXJDdXJyZW50VG9rZW5BY3Rpb24oKVxuICAgICAgICAgICAgKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxvZ2luV2l0aFRva2VuJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobG9naW5XaXRoVG9rZW5BY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7IHBheWxvYWQ6IHN0cmluZyB9KSA9PiB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5hdXRoZW50aWNhdGVCeVRva2VuKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKCh0b2tlbjogVG9rZW4pID0+IFtcbiAgICAgICAgICAgIGxvZ2luVG9rZW5TdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pLFxuICAgICAgICAgICAgc2V0Q3VycmVudFRva2VuQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pLFxuICAgICAgICAgIF0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoXG4gICAgICAgICAgICBsb2dpbldpdGhUb2tlbkZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSksXG4gICAgICAgICAgICBjbGVhckN1cnJlbnRUb2tlbkFjdGlvbigpXG4gICAgICAgICAgKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBtZW1iZXJMb2dpbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKG1lbWJlckxvZ2luQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHtlbWFpbDogc3RyaW5nLCBjbHViSWQ6IHN0cmluZywgY29kZTogc3RyaW5nfX0pID0+IHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmdldFB1YmxpY1Rva2VuKHBheWxvYWQuZW1haWwsIHBheWxvYWQuY29kZSwgcGF5bG9hZC5jbHViSWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgodG9rZW46IFB1YmxpY0F1dGhlbnRpY2F0aW9uKSA9PiBtZW1iZXJMb2dpblN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHRva2VufSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobWVtYmVyTG9naW5GYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBtZW1iZXJTZW5kQ29kZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKG1lbWJlclNlbmRDb2RlQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHtlbWFpbDogc3RyaW5nLCBjbHViSWQ6IHN0cmluZyB8IG51bGx9fSkgPT4gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuZ2V0TG9naW5Db2RlKHBheWxvYWQuZW1haWwsIHBheWxvYWQuY2x1YklkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNsdWJzOiBDb2xsZWN0aW9uPFNlYXJjaENsdWI+KSA9PiBtZW1iZXJTZW5kQ29kZVN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNsdWJzLnRvQXJyYXkoKX0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKG1lbWJlclNlbmRDb2RlRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmVhdXRoZW50aWNhdGUkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZWF1dGhlbnRpY2F0ZVRva2VuQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHsgcGF5bG9hZCB9OiB7IHBheWxvYWQ6IEdyYW50VHlwZSB8IG51bGwgfSkgPT4gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UucmVhdXRoZW50aWNhdGUocGF5bG9hZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgY29uY2F0TWFwKCh0b2tlbjogVG9rZW4pID0+IFtcbiAgICAgICAgICAgIGxvZ2luVG9rZW5TdWNjZXNzQWN0aW9uKHsgcGF5bG9hZDogdG9rZW4gfSksXG4gICAgICAgICAgICBzZXRDdXJyZW50VG9rZW5BY3Rpb24oeyBwYXlsb2FkOiB0b2tlbiB9KSxcbiAgICAgICAgICAgIHJlYXV0aGVudGljYXRlVG9rZW5TdWNjZXNzQWN0aW9uKHsgcGF5bG9hZDogdG9rZW4gfSlcbiAgICAgICAgICBdKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+XG4gICAgICAgICAgICBjb25jYXQoW1xuICAgICAgICAgICAgICByZWF1dGhlbnRpY2F0ZVRva2VuRmFpbHVyZUFjdGlvbih7IHBheWxvYWQ6IGVycm9yIH0pLFxuICAgICAgICAgICAgICBjbGVhckN1cnJlbnRUb2tlbkFjdGlvbigpLFxuICAgICAgICAgICAgICBjbGVhckF1dGhlbnRpY2F0aW9uQWN0aW9uKClcbiAgICAgICAgICAgIF0pXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNlbGVjdFB1YmxpY01lbWJlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHNlbGVjdFB1YmxpY01lbWJlckFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiBzdHJpbmd9KSA9PiB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5jaGFuZ2VQdWJsaWNUb2tlbihwYXlsb2FkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHRva2VuOiBQdWJsaWNBdXRoZW50aWNhdGlvbikgPT4gc2VsZWN0UHVibGljTWVtYmVyU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogdG9rZW59KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihzZWxlY3RQdWJsaWNNZW1iZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBzZXNzaW9uVG9rZW4kID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsb2dpbldpdGhTZXNzaW9uQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKCkgPT4gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuZ2V0U2Vzc2lvblRva2VuKClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWVyZ2VNYXAoKHRva2VuOiBUb2tlbiB8IG51bGwpID0+IHtcbiAgICAgICAgICAgIGlmICh0b2tlbikge1xuICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIGxvZ2luVG9rZW5TdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pLFxuICAgICAgICAgICAgICAgIHNldEN1cnJlbnRUb2tlbkFjdGlvbih7cGF5bG9hZDogdG9rZW59KSxcbiAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBvZihcbiAgICAgICAgICAgICAgICBsb2dpbldpdGhTZXNzaW9uRmFpbHVyZUFjdGlvbih7XG4gICAgICAgICAgICAgICAgICBwYXlsb2FkOiBuZXcgSHR0cEVycm9yUmVzcG9uc2UoXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IDQwMFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2xlYXJDdXJyZW50VG9rZW5BY3Rpb24oKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobG9naW5XaXRoU2Vzc2lvbkZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNldEN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShzZXRDdXJyZW50VG9rZW5BY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7IHBheWxvYWQ6IFRva2VuIHwgbnVsbCB9KSA9PiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnNldEFzT2JzZXJ2YWJsZShTVE9SQUdFX1RPS0VOLCBwYXlsb2FkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHRva2VuOiBUb2tlbikgPT4ge1xuICAgICAgICAgICAgdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2Uuc2V0VG9rZW4odG9rZW4pO1xuICAgICAgICAgICAgcmV0dXJuIGdldEN1cnJlbnRUb2tlblN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHRva2VufSlcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xufVxuIl19
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc3RvcmUvZWZmZWN0cy90b2tlbi5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9ELE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQiw0QkFBNEIsRUFDNUIsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2Qix1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLDZCQUE2QixFQUM3QixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLGlCQUFpQixFQUNqQix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQUUseUJBQXlCLEVBQ3RELGdDQUFnQyxFQUNoQyxnQ0FBZ0MsRUFDaEMsd0JBQXdCLEVBQ3hCLCtCQUErQixFQUMvQiwrQkFBK0IsRUFDL0IscUJBQXFCLEVBQ3RCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxNQUFNLEVBQWEsS0FBSyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNC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QUFFLEtBQUssRUFBQyxDQUFDO2dCQUN6QyxxQkFBcUIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQzthQUN4QyxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLEVBQUUsQ0FDUCw2QkFBNkIsQ0FBQztnQkFDNUIsT0FBTyxFQUFFLElBQUksaUJBQWlCLENBQzVCO29CQUNFLE1BQU0sRUFBRSxHQUFHO2lCQUNaLENBQ0Y7YUFDRixDQUFDLEVBQ0YsdUJBQXVCLEVBQUUsQ0FDMUIsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDLENBQUMsRUFDRixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsNkJBQTZCLENBQUMsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQzlGLENBQ0YsQ0FDRixDQUNGLENBQUM7SUFFRixXQUFXLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1NBQzNDLElBQUksQ0FDSCxNQUFNLENBQUMscUJBQXFCLENBQUMsRUFDN0IsVUFBVSxDQUFDLENBQUMsRUFBQyxPQUFPLEVBQTRCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7U0FDN0csSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO1FBQ25CLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0MsT0FBTyw0QkFBNEIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFBO0lBQ3ZELENBQUMsQ0FBQyxDQUNILENBQ0YsQ0FDRixDQUNGLENBQUM7dUdBNUxTLFlBQVk7MkdBQVosWUFBWTs7MkZBQVosWUFBWTtrQkFEeEIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2F1dGhlbnRpY2F0aW9uJztcbmltcG9ydCB7IFNUT1JBR0VfVE9LRU4sIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHtcbiAgY2xlYXJBdXRoZW50aWNhdGlvbkFjdGlvbixcbiAgY2xlYXJDdXJyZW50VG9rZW5BY3Rpb24sXG4gIGdldEN1cnJlbnRUb2tlbkFjdGlvbixcbiAgZ2V0Q3VycmVudFRva2VuU3VjY2Vzc0FjdGlvbixcbiAgbG9naW5Ub2tlbkFjdGlvbixcbiAgbG9naW5Ub2tlbkZhaWx1cmVBY3Rpb24sXG4gIGxvZ2luVG9rZW5TdWNjZXNzQWN0aW9uLFxuICBsb2dpbldpdGhTZXNzaW9uQWN0aW9uLFxuICBsb2dpbldpdGhTZXNzaW9uRmFpbHVyZUFjdGlvbixcbiAgbG9naW5XaXRoVG9rZW5BY3Rpb24sXG4gIGxvZ2luV2l0aFRva2VuRmFpbHVyZUFjdGlvbixcbiAgbWVtYmVyTG9naW5BY3Rpb24sXG4gIG1lbWJlckxvZ2luRmFpbHVyZUFjdGlvbixcbiAgbWVtYmVyTG9naW5TdWNjZXNzQWN0aW9uLFxuICBtZW1iZXJTZW5kQ29kZUFjdGlvbixcbiAgbWVtYmVyU2VuZENvZGVGYWlsdXJlQWN0aW9uLFxuICBtZW1iZXJTZW5kQ29kZVN1Y2Nlc3NBY3Rpb24sIHJlYXV0aGVudGljYXRlVG9rZW5BY3Rpb24sXG4gIHJlYXV0aGVudGljYXRlVG9rZW5GYWlsdXJlQWN0aW9uLFxuICByZWF1dGhlbnRpY2F0ZVRva2VuU3VjY2Vzc0FjdGlvbixcbiAgc2VsZWN0UHVibGljTWVtYmVyQWN0aW9uLFxuICBzZWxlY3RQdWJsaWNNZW1iZXJGYWlsdXJlQWN0aW9uLFxuICBzZWxlY3RQdWJsaWNNZW1iZXJTdWNjZXNzQWN0aW9uLFxuICBzZXRDdXJyZW50VG9rZW5BY3Rpb25cbn0gZnJvbSAnLi4vYWN0aW9ucyc7XG5pbXBvcnQgeyBjb25jYXQsIGNvbmNhdE1hcCwgRU1QVFksIGV4aGF1c3RNYXAsIG1lcmdlTWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiwgUHVibGljQXV0aGVudGljYXRpb24sIFNlYXJjaENsdWIsIFRva2VuIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbmFsaXplLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEdyYW50VHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRva2VuRWZmZWN0cyB7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucyk7XG4gIHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlID0gaW5qZWN0KEF1dGhlbnRpY2F0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgc3RvcmFnZVNlcnZpY2UgPSBpbmplY3QoU3RvcmFnZVNlcnZpY2UpO1xuICBwcml2YXRlIGlzUHJvY2Vzc2luZ0ZhaWx1cmUgPSBmYWxzZTtcblxuICBjbGVhckN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShjbGVhckN1cnJlbnRUb2tlbkFjdGlvbiksXG4gICAgICBtZXJnZU1hcCgoKSA9PiBvZihzZXRDdXJyZW50VG9rZW5BY3Rpb24oe3BheWxvYWQ6IG51bGx9KSkpXG4gICAgKVxuICApO1xuXG4gIGdldEN1cnJlbnQkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShnZXRDdXJyZW50VG9rZW5BY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldEFzT2JzZXJ2YWJsZShTVE9SQUdFX1RPS0VOKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHRva2VuOiBUb2tlbikgPT4ge1xuICAgICAgICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgICAgICAgIHJldHVybiBzZXRDdXJyZW50VG9rZW5BY3Rpb24oe3BheWxvYWQ6IHRva2VufSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q3VycmVudFRva2VuU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbnVsbH0pXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsb2dpbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxvZ2luVG9rZW5BY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyB1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuYXV0aGVudGljYXRlQnlDcmVkZW50aWFscyhwYXlsb2FkLnVzZXJuYW1lLCBwYXlsb2FkLnBhc3N3b3JkKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWVyZ2VNYXAoKHRva2VuOiBUb2tlbikgPT4gW1xuICAgICAgICAgICAgICBsb2dpblRva2VuU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogdG9rZW59KSxcbiAgICAgICAgICAgICAgc2V0Q3VycmVudFRva2VuQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKFxuICAgICAgICAgICAgICBsb2dpblRva2VuRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSxcbiAgICAgICAgICAgICAgY2xlYXJDdXJyZW50VG9rZW5BY3Rpb24oKVxuICAgICAgICAgICAgKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxvZ2luV2l0aFRva2VuJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobG9naW5XaXRoVG9rZW5BY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7IHBheWxvYWQ6IHN0cmluZyB9KSA9PiB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5hdXRoZW50aWNhdGVCeVRva2VuKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKCh0b2tlbjogVG9rZW4pID0+IFtcbiAgICAgICAgICAgIGxvZ2luVG9rZW5TdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pLFxuICAgICAgICAgICAgc2V0Q3VycmVudFRva2VuQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pLFxuICAgICAgICAgIF0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoXG4gICAgICAgICAgICBsb2dpbldpdGhUb2tlbkZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSksXG4gICAgICAgICAgICBjbGVhckN1cnJlbnRUb2tlbkFjdGlvbigpXG4gICAgICAgICAgKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBtZW1iZXJMb2dpbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKG1lbWJlckxvZ2luQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHtlbWFpbDogc3RyaW5nLCBjbHViSWQ6IHN0cmluZywgY29kZTogc3RyaW5nfX0pID0+IHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmdldFB1YmxpY1Rva2VuKHBheWxvYWQuZW1haWwsIHBheWxvYWQuY29kZSwgcGF5bG9hZC5jbHViSWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgodG9rZW46IFB1YmxpY0F1dGhlbnRpY2F0aW9uKSA9PiBtZW1iZXJMb2dpblN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHRva2VufSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobWVtYmVyTG9naW5GYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBtZW1iZXJTZW5kQ29kZSQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKG1lbWJlclNlbmRDb2RlQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHtlbWFpbDogc3RyaW5nLCBjbHViSWQ6IHN0cmluZyB8IG51bGx9fSkgPT4gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UuZ2V0TG9naW5Db2RlKHBheWxvYWQuZW1haWwsIHBheWxvYWQuY2x1YklkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGNsdWJzOiBDb2xsZWN0aW9uPFNlYXJjaENsdWI+KSA9PiBtZW1iZXJTZW5kQ29kZVN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGNsdWJzLnRvQXJyYXkoKX0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKG1lbWJlclNlbmRDb2RlRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmVhdXRoZW50aWNhdGUkID0gY3JlYXRlRWZmZWN0KCgpID0+XG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgb2ZUeXBlKHJlYXV0aGVudGljYXRlVG9rZW5BY3Rpb24pLFxuICAgICAgLy8gYGV4aGF1c3RNYXBgIGVuc3VyZXMgZnVydGhlciB0b2tlbiByZWZyZXNoIGF0dGVtcHRzIGFyZSBpZ25vcmVkIHdoaWxlIG9uZSBpcyBpbiBwcm9ncmVzc1xuICAgICAgZXhoYXVzdE1hcCgoeyBwYXlsb2FkIH06IHsgcGF5bG9hZDogR3JhbnRUeXBlIHwgbnVsbCB9KSA9PlxuICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5yZWF1dGhlbnRpY2F0ZShwYXlsb2FkKS5waXBlKFxuICAgICAgICAgIGV4aGF1c3RNYXAoKHRva2VuOiBUb2tlbiB8IG51bGwpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nRmFpbHVyZSA9IGZhbHNlO1xuXG4gICAgICAgICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgcmVhdXRoZW50aWNhdGVUb2tlbkZhaWx1cmVBY3Rpb24oeyBwYXlsb2FkOiBuZXcgSHR0cEVycm9yUmVzcG9uc2UoeyBzdGF0dXM6IDQwMCB9KSB9KSxcbiAgICAgICAgICAgICAgICBjbGVhckN1cnJlbnRUb2tlbkFjdGlvbigpLFxuICAgICAgICAgICAgICAgIGNsZWFyQXV0aGVudGljYXRpb25BY3Rpb24oKVxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgIGxvZ2luVG9rZW5TdWNjZXNzQWN0aW9uKHsgcGF5bG9hZDogdG9rZW4gfSksXG4gICAgICAgICAgICAgICAgc2V0Q3VycmVudFRva2VuQWN0aW9uKHsgcGF5bG9hZDogdG9rZW4gfSksXG4gICAgICAgICAgICAgICAgcmVhdXRoZW50aWNhdGVUb2tlblN1Y2Nlc3NBY3Rpb24oeyBwYXlsb2FkOiB0b2tlbiB9KVxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc1Byb2Nlc3NpbmdGYWlsdXJlKSB7XG4gICAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nRmFpbHVyZSA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gY29uY2F0KFtcbiAgICAgICAgICAgICAgcmVhdXRoZW50aWNhdGVUb2tlbkZhaWx1cmVBY3Rpb24oeyBwYXlsb2FkOiBlcnJvciB9KSxcbiAgICAgICAgICAgICAgY2xlYXJDdXJyZW50VG9rZW5BY3Rpb24oKSxcbiAgICAgICAgICAgICAgY2xlYXJBdXRoZW50aWNhdGlvbkFjdGlvbigpXG4gICAgICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmdGYWlsdXJlID0gZmFsc2U7XG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgc2VsZWN0UHVibGljTWVtYmVyJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUoc2VsZWN0UHVibGljTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHN0cmluZ30pID0+IHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmNoYW5nZVB1YmxpY1Rva2VuKHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgodG9rZW46IFB1YmxpY0F1dGhlbnRpY2F0aW9uKSA9PiBzZWxlY3RQdWJsaWNNZW1iZXJTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHNlbGVjdFB1YmxpY01lbWJlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHNlc3Npb25Ub2tlbiQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxvZ2luV2l0aFNlc3Npb25BY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoKSA9PiB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5nZXRTZXNzaW9uVG9rZW4oKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtZXJnZU1hcCgodG9rZW46IFRva2VuIHwgbnVsbCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRva2VuKSB7XG4gICAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAgbG9naW5Ub2tlblN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHRva2VufSksXG4gICAgICAgICAgICAgICAgc2V0Q3VycmVudFRva2VuQWN0aW9uKHtwYXlsb2FkOiB0b2tlbn0pLFxuICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKFxuICAgICAgICAgICAgICAgIGxvZ2luV2l0aFNlc3Npb25GYWlsdXJlQWN0aW9uKHtcbiAgICAgICAgICAgICAgICAgIHBheWxvYWQ6IG5ldyBIdHRwRXJyb3JSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogNDAwXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjbGVhckN1cnJlbnRUb2tlbkFjdGlvbigpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsb2dpbldpdGhTZXNzaW9uRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgc2V0Q3VycmVudCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHNldEN1cnJlbnRUb2tlbkFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogVG9rZW4gfCBudWxsIH0pID0+IHRoaXMuc3RvcmFnZVNlcnZpY2Uuc2V0QXNPYnNlcnZhYmxlKFNUT1JBR0VfVE9LRU4sIHBheWxvYWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgodG9rZW46IFRva2VuKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5zZXRUb2tlbih0b2tlbik7XG4gICAgICAgICAgICByZXR1cm4gZ2V0Q3VycmVudFRva2VuU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogdG9rZW59KVxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG59XG4iXX0=
|