@sabstravtech/obtservices 0.0.26051001 → 0.1.6161600
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/angular/fetchers.d.ts +2 -0
- package/angular/lib/vendor/fetchers/get-office.fetcher.d.ts +7 -0
- package/angular/lib/vendor/fetchers/get-user-default-mi-value.fetcher.d.ts +7 -0
- package/angular/lib/vendor/services/enterprise-basket.service.d.ts +4 -4
- package/angular/lib/vendor/services/logon.service.d.ts +2 -2
- package/angular/lib/vendor/services/user.service.d.ts +5 -3
- package/angular/lib/vendor/types/graphql.angular.types.d.ts +389 -508
- package/angular/sabstravtech-obtservices-angular.metadata.json +1 -1
- package/base/fetchers.d.ts +2 -0
- package/base/lib/vendor/classes/base-enterprise.d.ts +3 -1
- package/base/lib/vendor/classes/cabhire-enterprise-search.d.ts +5 -1
- package/base/lib/vendor/classes/carhire-enterprise-search.d.ts +8 -1
- package/base/lib/vendor/classes/eurostar-enterprise-search.d.ts +11 -4
- package/base/lib/vendor/classes/fast-track-enterprise-search.d.ts +2 -1
- package/base/lib/vendor/classes/flight-enterprise-search.d.ts +11 -0
- package/base/lib/vendor/classes/hotel-enterprise-search.d.ts +4 -0
- package/base/lib/vendor/classes/irl-enterprise-search.d.ts +9 -4
- package/base/lib/vendor/classes/lounges-enterprise-search.d.ts +2 -1
- package/base/lib/vendor/classes/management-info-and-valid.d.ts +2 -2
- package/base/lib/vendor/classes/parking-enterprise-search.d.ts +2 -1
- package/base/lib/vendor/classes/rail-enterprise-search.d.ts +1 -1
- package/base/lib/vendor/classes/user-favourite.enum.d.ts +1 -0
- package/base/lib/vendor/fetchers/eurostar-quote.fetcher.d.ts +3 -1
- package/base/lib/vendor/fetchers/flight-quote.fetcher.d.ts +1 -0
- package/base/lib/vendor/fetchers/get-office.fetcher.d.ts +20 -0
- package/base/lib/vendor/fetchers/get-user-default-mi-value.fetcher.d.ts +21 -0
- package/base/lib/vendor/fetchers/search-users-can-book-for-fetcher.d.ts +2 -2
- package/base/lib/vendor/interfaces/Icabhire-enterprise-search.d.ts +1 -0
- package/base/lib/vendor/interfaces/Icarhire-enterprise-search.d.ts +2 -0
- package/base/lib/vendor/interfaces/Ienterprise-basket.service.d.ts +3 -2
- package/base/lib/vendor/interfaces/Iflight-enterprise-search.d.ts +6 -0
- package/base/lib/vendor/interfaces/Ihotel-enterprise-search.d.ts +3 -0
- package/base/lib/vendor/interfaces/Iirl-enterprise-search.d.ts +4 -4
- package/base/lib/vendor/interfaces/Imybookings.service.d.ts +3 -2
- package/base/lib/vendor/interfaces/Isearch.service.d.ts +1 -0
- package/base/lib/vendor/interfaces/Iuser.service.d.ts +10 -3
- package/base/lib/vendor/interfaces/rail-basket-item.interface.d.ts +2 -0
- package/base/lib/vendor/interfaces/summary-interface.d.ts +4 -0
- package/base/lib/vendor/models/traveller.object.d.ts +11 -1
- package/base/lib/vendor/services/enterprise-basket.service.d.ts +9 -7
- package/base/lib/vendor/services/logon.service.d.ts +3 -3
- package/base/lib/vendor/services/my-bookings.service.d.ts +3 -2
- package/base/lib/vendor/services/search.service.d.ts +3 -2
- package/base/lib/vendor/services/user.service.d.ts +18 -3
- package/base/lib/vendor/services/webtoken.service.d.ts +6 -4
- package/base/lib/vendor/types/graphql.types.d.ts +379 -508
- package/base/lib/vendor/types/types.d.ts +35 -7
- package/base/sabstravtech-obtservices-base.metadata.json +1 -1
- package/bundles/sabstravtech-obtservices-angular.umd.js +300 -201
- package/bundles/sabstravtech-obtservices-angular.umd.js.map +1 -1
- package/bundles/sabstravtech-obtservices-angular.umd.min.js +1 -1
- package/bundles/sabstravtech-obtservices-angular.umd.min.js.map +1 -1
- package/bundles/sabstravtech-obtservices-base.umd.js +2143 -597
- package/bundles/sabstravtech-obtservices-base.umd.js.map +1 -1
- package/bundles/sabstravtech-obtservices-base.umd.min.js +2 -2
- package/bundles/sabstravtech-obtservices-base.umd.min.js.map +1 -1
- package/esm2015/angular/fetchers.js +3 -1
- package/esm2015/angular/lib/vendor/fetchers/get-office.fetcher.js +25 -0
- package/esm2015/angular/lib/vendor/fetchers/get-user-default-mi-value.fetcher.js +25 -0
- package/esm2015/angular/lib/vendor/services/enterprise-basket.service.js +25 -25
- package/esm2015/angular/lib/vendor/services/logon.service.js +7 -7
- package/esm2015/angular/lib/vendor/services/ticket-queue.service.js +4 -1
- package/esm2015/angular/lib/vendor/services/user.service.js +13 -7
- package/esm2015/angular/lib/vendor/services/webtoken.service.js +2 -2
- package/esm2015/angular/lib/vendor/types/graphql.angular.types.js +808 -1231
- package/esm2015/base/fetchers.js +3 -1
- package/esm2015/base/lib/vendor/classes/base-enterprise.js +6 -3
- package/esm2015/base/lib/vendor/classes/bookable-basket.js +1 -3
- package/esm2015/base/lib/vendor/classes/cabhire-enterprise-search.js +155 -9
- package/esm2015/base/lib/vendor/classes/carhire-enterprise-search.js +129 -8
- package/esm2015/base/lib/vendor/classes/eurostar-enterprise-search.js +351 -20
- package/esm2015/base/lib/vendor/classes/fast-track-enterprise-search.js +8 -5
- package/esm2015/base/lib/vendor/classes/flight-enterprise-search.js +94 -14
- package/esm2015/base/lib/vendor/classes/helpers.js +15 -2
- package/esm2015/base/lib/vendor/classes/hotel-enterprise-search.js +86 -21
- package/esm2015/base/lib/vendor/classes/irl-enterprise-search.js +123 -18
- package/esm2015/base/lib/vendor/classes/lounges-enterprise-search.js +63 -8
- package/esm2015/base/lib/vendor/classes/management-info-and-valid.js +56 -33
- package/esm2015/base/lib/vendor/classes/parking-enterprise-search.js +109 -6
- package/esm2015/base/lib/vendor/classes/rail-enterprise-search.js +81 -7
- package/esm2015/base/lib/vendor/classes/supplementary-booking-info-impl.js +17 -1
- package/esm2015/base/lib/vendor/classes/user-favourite.enum.js +2 -1
- package/esm2015/base/lib/vendor/data/countries.json +484 -242
- package/esm2015/base/lib/vendor/fetchers/eurostar-quote.fetcher.js +3 -3
- package/esm2015/base/lib/vendor/fetchers/flight-quote.fetcher.js +3 -3
- package/esm2015/base/lib/vendor/fetchers/get-office.fetcher.js +11 -0
- package/esm2015/base/lib/vendor/fetchers/get-user-default-mi-value.fetcher.js +10 -0
- package/esm2015/base/lib/vendor/fetchers/search-users-can-book-for-fetcher.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Icabhire-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Icarhire-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ienterprise-basket.service.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Iflight-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Ihotel-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Iirl-enterprise-search.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Imybookings.service.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Isearch.service.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/Iuser.service.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/rail-basket-item.interface.js +1 -1
- package/esm2015/base/lib/vendor/interfaces/summary-interface.js +1 -1
- package/esm2015/base/lib/vendor/models/traveller.object.js +21 -3
- package/esm2015/base/lib/vendor/services/enterprise-basket.service.js +42 -19
- package/esm2015/base/lib/vendor/services/logon.service.js +8 -5
- package/esm2015/base/lib/vendor/services/my-bookings.service.js +3 -2
- package/esm2015/base/lib/vendor/services/search.service.js +32 -24
- package/esm2015/base/lib/vendor/services/user.service.js +47 -3
- package/esm2015/base/lib/vendor/services/webtoken.service.js +12 -6
- package/esm2015/base/lib/vendor/types/graphql.types.js +15 -1
- package/esm2015/base/lib/vendor/types/types.js +4 -3
- package/fesm2015/sabstravtech-obtservices-angular.js +948 -1334
- package/fesm2015/sabstravtech-obtservices-angular.js.map +1 -1
- package/fesm2015/sabstravtech-obtservices-base.js +1984 -472
- package/fesm2015/sabstravtech-obtservices-base.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@ import { UserFavorurite } from '../classes/user-favourite.enum';
|
|
|
5
5
|
import { of } from 'rxjs';
|
|
6
6
|
import { ModalTypes } from '../classes/modal-types.enum';
|
|
7
7
|
export class BaseLogonService {
|
|
8
|
-
constructor(userService, modalService, http, router, eventMessenager, storageService, environment,
|
|
8
|
+
constructor(userService, modalService, http, router, eventMessenager, storageService, environment, searchService) {
|
|
9
9
|
this.userService = userService;
|
|
10
10
|
this.modalService = modalService;
|
|
11
11
|
this.http = http;
|
|
@@ -13,7 +13,7 @@ export class BaseLogonService {
|
|
|
13
13
|
this.eventMessenager = eventMessenager;
|
|
14
14
|
this.storageService = storageService;
|
|
15
15
|
this.environment = environment;
|
|
16
|
-
this.
|
|
16
|
+
this.searchService = searchService;
|
|
17
17
|
this.loading = false;
|
|
18
18
|
this.isLoggedIn = false;
|
|
19
19
|
this.redirectUrl = '';
|
|
@@ -83,6 +83,7 @@ export class BaseLogonService {
|
|
|
83
83
|
becomeUser(username) {
|
|
84
84
|
return new Promise((resolve, reject) => {
|
|
85
85
|
this.clearRefresh();
|
|
86
|
+
this.storageService.clearSessionData();
|
|
86
87
|
this.http
|
|
87
88
|
.post(URLS.BECOME_USER, { username })
|
|
88
89
|
.pipe(take(1))
|
|
@@ -99,6 +100,7 @@ export class BaseLogonService {
|
|
|
99
100
|
endBecomeUserSession() {
|
|
100
101
|
return new Promise((resolve, reject) => {
|
|
101
102
|
this.clearRefresh();
|
|
103
|
+
this.storageService.clearSessionData();
|
|
102
104
|
this.http
|
|
103
105
|
.post(URLS.END_BECOME_USER, {})
|
|
104
106
|
.pipe(take(1))
|
|
@@ -115,13 +117,13 @@ export class BaseLogonService {
|
|
|
115
117
|
this.userService.emptyUserData();
|
|
116
118
|
this.storageService.clearSessionData();
|
|
117
119
|
this.clearRefresh();
|
|
120
|
+
this.userService.setBobo(null);
|
|
118
121
|
return this.http
|
|
119
122
|
.formEncodedPostNoErrorHandling(URLS.AccessToken, {
|
|
120
123
|
username,
|
|
121
124
|
password
|
|
122
125
|
})
|
|
123
126
|
.pipe(take(1), map((value, index) => {
|
|
124
|
-
this.webTokenService.bobo = null;
|
|
125
127
|
this.setRefresh();
|
|
126
128
|
return this.handleResponse(value);
|
|
127
129
|
}));
|
|
@@ -151,7 +153,8 @@ export class BaseLogonService {
|
|
|
151
153
|
const isSSO = this.userService.isUserFavoriteSet(UserFavorurite.SSO_no_password);
|
|
152
154
|
this.clearRefresh();
|
|
153
155
|
this.isLoggedIn = false;
|
|
154
|
-
this.
|
|
156
|
+
this.userService.setBobo(null);
|
|
157
|
+
this.searchService.removeAllTravellers();
|
|
155
158
|
this.userService.emptyUserData();
|
|
156
159
|
this.storageService.clearSessionData();
|
|
157
160
|
this.http.post(URLS.LOGOUT_URL).subscribe((data) => {
|
|
@@ -208,4 +211,4 @@ export class BaseLogonService {
|
|
|
208
211
|
this.modalService.open(ModalTypes.ModalErrorComponent, {}, modalValues);
|
|
209
212
|
}
|
|
210
213
|
}
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29idHNlcnZpY2VzL2Jhc2Uvc3JjL2xpYi92ZW5kb3Ivc2VydmljZXMvbG9nb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQWF6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBUzNCLFlBQ1UsV0FBaUMsRUFDakMsWUFBb0MsRUFDcEMsSUFBNkIsRUFDN0IsTUFBYyxFQUNkLGVBQW9DLEVBQ3BDLGNBQWtDLEVBQ2xDLFdBQTRCLEVBQzVCLGVBQW9DO1FBUHBDLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBd0I7UUFDcEMsU0FBSSxHQUFKLElBQUksQ0FBeUI7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFxQjtRQUNwQyxtQkFBYyxHQUFkLGNBQWMsQ0FBb0I7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFxQjtRQWhCOUMsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBSWpCLG1CQUFjLEdBQXFCLElBQUksQ0FBQztJQVdyQyxD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QzNCLHNCQUFzQjtRQUN0QixpQkFBaUI7UUFDakIsdUVBQXVFO1FBQ3ZFLFVBQVU7UUFDVixTQUFTO1FBQ1QsT0FBTztRQUNQLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxhQUFhLENBQ1gsa0JBQTBCLEVBQzFCLFdBQW1CO1FBRW5CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNwRCxrQkFBa0I7WUFDbEIsV0FBVztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7U0FFRTtJQUNGLGVBQWUsQ0FBQyxRQUFnQjtRQUM5QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUM5QixJQUFJLENBQUMsb0JBQW9CLEVBQ3pCO1lBQ0UsUUFBUSxFQUFFLEdBQUcsUUFBUSxFQUFFO1NBQ3hCLEVBQ0QsTUFBTSxDQUNQLENBQUM7SUFDSixDQUFDO0lBRUQ7O1FBRUk7SUFDSixXQUFXLENBQUMsS0FBYTtRQUN2Qix5Q0FBeUM7UUFDekMsTUFBTSxXQUFXLEdBQUc7WUFDbEIsS0FBSztTQUNOLENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzFFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVTRVJfU0lHTkVET1VUIH0gZnJvbSAnLi91c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBtYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEJhc2VNb2RhbE9wZW5lclNlcnZpY2UgfSBmcm9tICcuL21vZGFsLW9wZW5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZVN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgVVJMUyB9IGZyb20gJy4vdXJsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyRmF2b3J1cml0ZSB9IGZyb20gJy4uL2NsYXNzZXMvdXNlci1mYXZvdXJpdGUuZW51bSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJhc2VFdmVudE1lc3NlbmFnZXIgfSBmcm9tICcuLi9jbGFzc2VzL2V2ZW50LW1lc3NlbmFnZXInO1xyXG5pbXBvcnQgeyBCYXNlRW52aXJvbm1lbnQgfSBmcm9tICcuLi9jbGFzc2VzL2Vudmlyb21lbnQnO1xyXG5pbXBvcnQgeyBNb2RhbFR5cGVzIH0gZnJvbSAnLi4vY2xhc3Nlcy9tb2RhbC10eXBlcy5lbnVtJztcclxuaW1wb3J0IHsgVXNlckRhdGEgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3VzZXIuZGF0YSc7XHJcbmltcG9ydCB7XHJcbiAgQXV0aEluZm8sXHJcbiAgTG9naW5SZXNwb25zZSxcclxuICBQYXNzd29yZENoYW5nZVJlc3BvbnNlXHJcbn0gZnJvbSAnLi4vbW9kZWxzL2xvZ2luLm1vZGVsJztcclxuaW1wb3J0IHsgVXNlclNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0l1c2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdEh0dHBDYWxsU2VydmljZSB9IGZyb20gJy4vaHR0cC1jYWxsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICcuLi90eXBlcy90eXBlcyc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi90eXBlcy9ncmFwaHFsLnR5cGVzJztcclxuaW1wb3J0IHsgQmFzZVdlYlRva2VuU2VydmljZSB9IGZyb20gJy4vd2VidG9rZW4uc2VydmljZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgQmFzZUxvZ29uU2VydmljZSB7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIGlzTG9nZ2VkSW4gPSBmYWxzZTtcclxuICByZWRpcmVjdFVybCA9ICcnO1xyXG4gIGF1dGhJbmZvOiBBdXRoSW5mbztcclxuICBsb2dpblJlc3BvbnNlOiBMb2dpblJlc3BvbnNlO1xyXG4gIHRpbWVvdXRTdWJzY3JpcHRpb246IG51bWJlcjtcclxuICByZWZyZXNoUHJvbWlzZTogUHJvbWlzZTxib29sZWFuPiA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2VJbnRlcmZhY2UsXHJcbiAgICBwcml2YXRlIG1vZGFsU2VydmljZTogQmFzZU1vZGFsT3BlbmVyU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cDogQWJzdHJhY3RIdHRwQ2FsbFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBldmVudE1lc3NlbmFnZXI6IEJhc2VFdmVudE1lc3NlbmFnZXIsXHJcbiAgICBwcml2YXRlIHN0b3JhZ2VTZXJ2aWNlOiBCYXNlU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGVudmlyb25tZW50OiBCYXNlRW52aXJvbm1lbnQsXHJcbiAgICBwcml2YXRlIHdlYlRva2VuU2VydmljZTogQmFzZVdlYlRva2VuU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgY2hlY2tMb2dpbigpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiB0aGlzLnJlZnJlc2hUb2tlbigpO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaFRva2VuKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgdGhpcy5yZWZyZXNoUHJvbWlzZSA9XHJcbiAgICAgIHRoaXMucmVmcmVzaFByb21pc2UgfHxcclxuICAgICAgbmV3IFByb21pc2UoXHJcbiAgICAgICAgKHJlc29sdmU6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCwgcmVqZWN0OiAoZXJyb3I6IGFueSkgPT4gdm9pZCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jbGVhclJlZnJlc2goKTtcclxuICAgICAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZm9ybUVuY29kZWRQb3N0Tm9FcnJvckhhbmRsaW5nKFVSTFMuUmVmcmVzaCwge30pXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVSZXNwb25zZShkYXRhKTtcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICAgICAgcmVzb2x2ZShmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnJvdXRlci51cmwgIT09ICdsb2dpbicpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBsb2dvdXREaWFsb2cgPSB0aGlzLm1vZGFsU2VydmljZVxyXG4gICAgICAgICAgICAgICAgICAgICAgLm9wZW4oXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIE1vZGFsVHlwZXMuQmFzZU1vZGFsQ29tcG9uZW50LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7fSxcclxuICAgICAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQXV0byBMb2dvdXQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6ICcnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlzTG9hZGluZzogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uQ2FuY2VsOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbk9rOiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9uT2tUZXh0OiAnQ29udGludWUnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nb3V0KCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIHJlc29sdmUodHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2V0UmVmcmVzaCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICAgICAgLnRoZW4oKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoUHJvbWlzZSA9IG51bGw7XHJcbiAgICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5jYXRjaCgoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZWZyZXNoUHJvbWlzZSA9IG51bGw7XHJcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5yZWZyZXNoUHJvbWlzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xlYXJSZWZyZXNoKCkge1xyXG4gICAgaWYgKHRoaXMudGltZW91dFN1YnNjcmlwdGlvbikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0U3Vic2NyaXB0aW9uKTtcclxuICAgICAgdGhpcy50aW1lb3V0U3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0UmVmcmVzaCgpIHtcclxuICAgIHRoaXMudGltZW91dFN1YnNjcmlwdGlvbiA9IHdpbmRvdy5zZXRUaW1lb3V0KFxyXG4gICAgICB0aGlzLnJlZnJlc2hUb2tlbi5iaW5kKHRoaXMpLFxyXG4gICAgICB0aGlzLmVudmlyb25tZW50LmF1dGhSZWZyZXNoVGltZW91dCAqIDEwMDBcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBiZWNvbWVVc2VyKHVzZXJuYW1lOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZShcclxuICAgICAgKHJlc29sdmU6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZCwgcmVqZWN0OiAoZXJyb3I6IGFueSkgPT4gdm9pZCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xlYXJSZWZyZXNoKCk7XHJcbiAgICAgICAgdGhpcy5odHRwXHJcbiAgICAgICAgICAucG9zdChVUkxTLkJFQ09NRV9VU0VSLCB7IHVzZXJuYW1lIH0pXHJcbiAgICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgICAgKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhKTtcclxuICAgICAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLnNldFVzZXIoZGF0YS5qd3RPYmplY3QpO1xyXG4gICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbWFpbiddKTtcclxuICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZW5kQmVjb21lVXNlclNlc3Npb24oKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoXHJcbiAgICAgIChyZXNvbHZlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQsIHJlamVjdDogKGVycm9yOiBhbnkpID0+IHZvaWQpID0+IHtcclxuICAgICAgICB0aGlzLmNsZWFyUmVmcmVzaCgpO1xyXG4gICAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgICAgLnBvc3QoVVJMUy5FTkRfQkVDT01FX1VTRVIsIHt9KVxyXG4gICAgICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS5zZXRVc2VyKGRhdGEuand0T2JqZWN0KTtcclxuICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbG9naW4oXHJcbiAgICB1c2VybmFtZTogc3RyaW5nLFxyXG4gICAgcGFzc3dvcmQ6IHN0cmluZyxcclxuICAgIGFnYWluPzogYm9vbGVhblxyXG4gICk6IE9ic2VydmFibGU8VXNlckRhdGE+IHtcclxuICAgIHRoaXMudXNlclNlcnZpY2UuZW1wdHlVc2VyRGF0YSgpO1xyXG5cclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuY2xlYXJTZXNzaW9uRGF0YSgpO1xyXG4gICAgdGhpcy5jbGVhclJlZnJlc2goKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLmZvcm1FbmNvZGVkUG9zdE5vRXJyb3JIYW5kbGluZyhVUkxTLkFjY2Vzc1Rva2VuLCB7XHJcbiAgICAgICAgdXNlcm5hbWUsXHJcbiAgICAgICAgcGFzc3dvcmRcclxuICAgICAgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZSgxKSxcclxuICAgICAgICBtYXAoKHZhbHVlOiBhbnksIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgIHRoaXMud2ViVG9rZW5TZXJ2aWNlLmJvYm8gPSBudWxsO1xyXG4gICAgICAgICAgdGhpcy5zZXRSZWZyZXNoKCk7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVSZXNwb25zZSh2YWx1ZSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIC8qXHJcblx0XHRAZGVzYyAtIHRoaXMgd2lsbCBkZXRlcm1pbmUgaWYgdGhlcmUgaXMgYSBsb2dpbiBlcnJvciBmb3IgdGhlIHJlcXVlc3Qgb3Igbm90LCBzaW5jZSB0aGlzIGlzIGEgcG90ZW50aWFsIGVycm9yIGZvciBldmVyeSBjYWxsXHJcblx0KiovXHJcbiAgaGFuZGxlUmVzcG9uc2UoZGF0YTogYW55KTogYW55IHtcclxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ29iamVjdCcgJiYgZGF0YS5qd3QpIHtcclxuICAgICAgdGhpcy51c2VyU2VydmljZS5zZXRVc2VyKGRhdGEuand0T2JqZWN0KTtcclxuICAgICAgZGVsZXRlIGRhdGEuand0O1xyXG4gICAgICBkZWxldGUgZGF0YS5qd3RPYmplY3Q7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0YTtcclxuICB9XHJcblxyXG4gIGNvb2tpZUxvZ2luKHVzZXJuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJEYXRhPiB7XHJcbiAgICAvLyBjb25zdCBzc28gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdzc29fcXVlcnknKTtcclxuICAgIC8qXHJcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLmVtcHR5VXNlckRhdGEoKTtcclxuICAgIHRoaXMudXNlclNlcnZpY2Uuc2V0VXNlckFnZW50KHVzZXJuYW1lKTtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oJ3Nzb19xdWVyeScsIHNzbyk7XHJcbiAgICB0aGlzLmF1dGhJbmZvID0gbmV3IEF1dGhJbmZvKHVzZXJuYW1lLCAnJywgZmFsc2UpOyovXHJcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLmdldChVUkxTLk5VTUJFUl9PTkNFX1RPS0VOX1VSTCk7XHJcbiAgICByZXR1cm4gb2YobnVsbCk7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKSB7XHJcbiAgICBjb25zdCBpc1NTTyA9IHRoaXMudXNlclNlcnZpY2UuaXNVc2VyRmF2b3JpdGVTZXQoXHJcbiAgICAgIFVzZXJGYXZvcnVyaXRlLlNTT19ub19wYXNzd29yZFxyXG4gICAgKTtcclxuICAgIHRoaXMuY2xlYXJSZWZyZXNoKCk7XHJcbiAgICB0aGlzLmlzTG9nZ2VkSW4gPSBmYWxzZTtcclxuICAgIHRoaXMud2ViVG9rZW5TZXJ2aWNlLmJvYm8gPSBudWxsO1xyXG4gICAgdGhpcy51c2VyU2VydmljZS5lbXB0eVVzZXJEYXRhKCk7XHJcblxyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5jbGVhclNlc3Npb25EYXRhKCk7XHJcbiAgICB0aGlzLmh0dHAucG9zdChVUkxTLkxPR09VVF9VUkwpLnN1YnNjcmliZShcclxuICAgICAgKGRhdGEpID0+IHtcclxuICAgICAgICBpZiAoIWRhdGEuTG9nb3V0U3VjY2Vzcykge1xyXG4gICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBxdW90ZW1hcmtcclxuICAgICAgICAgIGNvbnNvbGUud2FybihcIllvdSdyZSBub3QgbG9nZ2VkIGluLCBjYW5ub3QgbG9nIG91dC5cIik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5ldmVudE1lc3NlbmFnZXIuZW1pdChVU0VSX1NJR05FRE9VVCwge30pO1xyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLnVzZXJTZXJ2aWNlLmlzVXNlckZhdm9yaXRlU2V0KFVzZXJGYXZvcnVyaXRlLlNTT19ub19wYXNzd29yZClcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbG9nT3V0RGlnaXRzVXNlciddKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydsb2dvbiddKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYXNzd29yZChhdXRoSW5mbzogQXV0aEluZm8pOiBPYnNlcnZhYmxlPFBhc3N3b3JkQ2hhbmdlUmVzcG9uc2U+IHtcclxuICAgIC8vIHJldHVybiB0aGlzLmh0dHBcclxuICAgIC8vICAgLmZvcm1FbmNvZGVkUG9zdChVUkxTLkNIQU5HRV9QQVNTV09SRCwgYXV0aEluZm8uZ2V0Q2hhbmdlUGFzc1Rva2VuU3RyKCkpXHJcbiAgICAvLyAgIC5waXBlKFxyXG4gICAgLy8gICAgIG1hcCgocmVzOiBQYXNzd29yZENoYW5nZVJlc3BvbnNlKSA9PiB7XHJcbiAgICAvLyAgICAgICBpZiAocmVzLnN1Y2Nlc3MpIHtcclxuICAgIC8vICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgICAvLyAgICAgICAgIHRocm93IG5ldyBMb2dpbkVycm9yKExvZ2luRXJyb3JSZWFzb24uUEFTU1dPUkRfQ0hBTkdFLCByZXMpO1xyXG4gICAgLy8gICAgICAgfVxyXG4gICAgLy8gICAgIH0pXHJcbiAgICAvLyAgICk7XHJcbiAgICByZXR1cm4gb2YobnVsbCk7XHJcbiAgfVxyXG5cclxuICByZXNldFBhc3N3b3JkKFxyXG4gICAgcGFzc3dvcmRSZXNldFRva2VuOiBzdHJpbmcsXHJcbiAgICBuZXdQYXNzd29yZDogc3RyaW5nXHJcbiAgKTogT2JzZXJ2YWJsZTxQYXNzd29yZENoYW5nZVJlc3BvbnNlPiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmZvcm1FbmNvZGVkUG9zdChVUkxTLlJFU0VUX1BBU1NXT1JELCB7XHJcbiAgICAgIHBhc3N3b3JkUmVzZXRUb2tlbixcclxuICAgICAgbmV3UGFzc3dvcmRcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLypcclxuXHRcdEBkZXNjIC0gYWN0YXVhbGx5IGNhbGwgdGhlIGJhY2tlbmQgcGVybCBmb3IgcmVjb3ZlciBwYXNzXHJcblx0KiovXHJcbiAgcmVjb3ZlclBhc3N3b3JkKHVzZXJuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5mb3JtRW5jb2RlZFBvc3QoXHJcbiAgICAgIFVSTFMuUkVDT1ZFUl9QQVNTV09SRF9VUkwsXHJcbiAgICAgIHtcclxuICAgICAgICB1c2VybmFtZTogYCR7dXNlcm5hbWV9YFxyXG4gICAgICB9LFxyXG4gICAgICAndGV4dCdcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKlxyXG4gICAqXHRAZGVzYyAtIGVycm9yIGhhbmRsaW5nLCBvcGVucyBhIG1vZGFsIHdpdGggdGhlIHBhc3NlZCBpbiBlcnJvciBtZXNzYWdlXHJcbiAgICoqL1xyXG4gIGhhbmRsZUVycm9yKGVycm9yOiBzdHJpbmcpIHtcclxuICAgIC8vIHRoaXMudXNlclNlcnZpY2UuYmVjb21pbmdVc2VyID0gZmFsc2U7XHJcbiAgICBjb25zdCBtb2RhbFZhbHVlcyA9IHtcclxuICAgICAgZXJyb3JcclxuICAgIH07XHJcbiAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKE1vZGFsVHlwZXMuTW9kYWxFcnJvckNvbXBvbmVudCwge30sIG1vZGFsVmFsdWVzKTtcclxuICB9XHJcbn1cclxuIl19
|
|
214
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29idHNlcnZpY2VzL2Jhc2Uvc3JjL2xpYi92ZW5kb3Ivc2VydmljZXMvbG9nb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBR3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQVl6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBUzNCLFlBQ1UsV0FBaUMsRUFDakMsWUFBb0MsRUFDcEMsSUFBNkIsRUFDN0IsTUFBYyxFQUNkLGVBQW9DLEVBQ3BDLGNBQWtDLEVBQ2xDLFdBQTRCLEVBQzVCLGFBQStDO1FBUC9DLGdCQUFXLEdBQVgsV0FBVyxDQUFzQjtRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBd0I7UUFDcEMsU0FBSSxHQUFKLElBQUksQ0FBeUI7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLG9CQUFlLEdBQWYsZUFBZSxDQUFxQjtRQUNwQyxtQkFBYyxHQUFkLGNBQWMsQ0FBb0I7UUFDbEMsZ0JBQVcsR0FBWCxXQUFXLENBQWlCO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFrQztRQWhCekQsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBSWpCLG1CQUFjLEdBQXFCLElBQUksQ0FBQztJQVdyQyxD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QU8sQ0FBQyxDQUFDLENBQUM7YUFDakM7UUFDSCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxjQUFjLENBQUMsUUFBa0I7UUFDL0IsbUJBQW1CO1FBQ25CLDZFQUE2RTtRQUM3RSxXQUFXO1FBQ1gsNkNBQTZDO1FBQzdDLDJCQUEyQjtRQUMzQixzQkFBc0I7UUFDdEIsaUJBQWlCO1FBQ2pCLHVFQUF1RTtRQUN2RSxVQUFVO1FBQ1YsU0FBUztRQUNULE9BQU87UUFDUCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsYUFBYSxDQUNYLGtCQUEwQixFQUMxQixXQUFtQjtRQUVuQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDcEQsa0JBQWtCO1lBQ2xCLFdBQVc7U0FDWixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O1NBRUU7SUFDRixlQUFlLENBQUMsUUFBZ0I7UUFDOUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FDOUIsSUFBSSxDQUFDLG9CQUFvQixFQUN6QjtZQUNFLFFBQVEsRUFBRSxHQUFHLFFBQVEsRUFBRTtTQUN4QixFQUNELE1BQU0sQ0FDUCxDQUFDO0lBQ0osQ0FBQztJQUVEOztRQUVJO0lBQ0osV0FBVyxDQUFDLEtBQWE7UUFDdkIseUNBQXlDO1FBQ3pDLE1BQU0sV0FBVyxHQUFHO1lBQ2xCLEtBQUs7U0FDTixDQUFDO1FBQ0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMxRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVU0VSX1NJR05FRE9VVCB9IGZyb20gJy4vdXNlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBCYXNlTW9kYWxPcGVuZXJTZXJ2aWNlIH0gZnJvbSAnLi9tb2RhbC1vcGVuZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEJhc2VTdG9yYWdlU2VydmljZSB9IGZyb20gJy4vc3RvcmFnZS5zZXJ2aWNlJztcclxuXHJcbmltcG9ydCB7IFVSTFMgfSBmcm9tICcuL3VybC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlckZhdm9ydXJpdGUgfSBmcm9tICcuLi9jbGFzc2VzL3VzZXItZmF2b3VyaXRlLmVudW0nO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCYXNlRXZlbnRNZXNzZW5hZ2VyIH0gZnJvbSAnLi4vY2xhc3Nlcy9ldmVudC1tZXNzZW5hZ2VyJztcclxuaW1wb3J0IHsgQmFzZUVudmlyb25tZW50IH0gZnJvbSAnLi4vY2xhc3Nlcy9lbnZpcm9tZW50JztcclxuaW1wb3J0IHsgTW9kYWxUeXBlcyB9IGZyb20gJy4uL2NsYXNzZXMvbW9kYWwtdHlwZXMuZW51bSc7XHJcbmltcG9ydCB7IFVzZXJEYXRhIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy91c2VyLmRhdGEnO1xyXG5pbXBvcnQge1xyXG4gIEF1dGhJbmZvLFxyXG4gIExvZ2luUmVzcG9uc2UsXHJcbiAgUGFzc3dvcmRDaGFuZ2VSZXNwb25zZVxyXG59IGZyb20gJy4uL21vZGVscy9sb2dpbi5tb2RlbCc7XHJcbmltcG9ydCB7IFVzZXJTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JdXNlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RIdHRwQ2FsbFNlcnZpY2UgfSBmcm9tICcuL2h0dHAtY2FsbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnLi4vdHlwZXMvdHlwZXMnO1xyXG5pbXBvcnQgeyBFbnRlcnByaXNlU2VhcmNoU2VydmljZUludGVyZmFjZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvSXNlYXJjaC5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBCYXNlTG9nb25TZXJ2aWNlIHtcclxuICBsb2FkaW5nID0gZmFsc2U7XHJcbiAgaXNMb2dnZWRJbiA9IGZhbHNlO1xyXG4gIHJlZGlyZWN0VXJsID0gJyc7XHJcbiAgYXV0aEluZm86IEF1dGhJbmZvO1xyXG4gIGxvZ2luUmVzcG9uc2U6IExvZ2luUmVzcG9uc2U7XHJcbiAgdGltZW91dFN1YnNjcmlwdGlvbjogbnVtYmVyO1xyXG4gIHJlZnJlc2hQcm9taXNlOiBQcm9taXNlPGJvb2xlYW4+ID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZUludGVyZmFjZSxcclxuICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBCYXNlTW9kYWxPcGVuZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBBYnN0cmFjdEh0dHBDYWxsU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGV2ZW50TWVzc2VuYWdlcjogQmFzZUV2ZW50TWVzc2VuYWdlcixcclxuICAgIHByaXZhdGUgc3RvcmFnZVNlcnZpY2U6IEJhc2VTdG9yYWdlU2VydmljZSxcclxuICAgIHByaXZhdGUgZW52aXJvbm1lbnQ6IEJhc2VFbnZpcm9ubWVudCxcclxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogRW50ZXJwcmlzZVNlYXJjaFNlcnZpY2VJbnRlcmZhY2VcclxuICApIHt9XHJcblxyXG4gIGNoZWNrTG9naW4oKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5yZWZyZXNoVG9rZW4oKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2hUb2tlbigpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIHRoaXMucmVmcmVzaFByb21pc2UgPVxyXG4gICAgICB0aGlzLnJlZnJlc2hQcm9taXNlIHx8XHJcbiAgICAgIG5ldyBQcm9taXNlKFxyXG4gICAgICAgIChyZXNvbHZlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQsIHJlamVjdDogKGVycm9yOiBhbnkpID0+IHZvaWQpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2xlYXJSZWZyZXNoKCk7XHJcbiAgICAgICAgICB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmZvcm1FbmNvZGVkUG9zdE5vRXJyb3JIYW5kbGluZyhVUkxTLlJlZnJlc2gsIHt9KVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgICAgICAgIG1hcCgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlUmVzcG9uc2UoZGF0YSk7XHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgIChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICAgIHJlc29sdmUoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgICBpZiAodGhpcy5yb3V0ZXIudXJsICE9PSAnbG9naW4nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbG9nb3V0RGlhbG9nID0gdGhpcy5tb2RhbFNlcnZpY2VcclxuICAgICAgICAgICAgICAgICAgICAgIC5vcGVuKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBNb2RhbFR5cGVzLkJhc2VNb2RhbENvbXBvbmVudCxcclxuICAgICAgICAgICAgICAgICAgICAgICAge30sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ0F1dG8gTG9nb3V0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5OiAnJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc0xvYWRpbmc6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbkNhbmNlbDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBidXR0b25PazogdHJ1ZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbk9rVGV4dDogJ0NvbnRpbnVlJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ291dCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGZhbHNlKTtcclxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnNldFJlZnJlc2goKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVzb2x2ZShmYWxzZSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgICAgIC50aGVuKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMucmVmcmVzaFByb21pc2UgPSBudWxsO1xyXG4gICAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMucmVmcmVzaFByb21pc2UgPSBudWxsO1xyXG4gICAgICAgICAgdGhyb3cgZXJyb3I7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucmVmcmVzaFByb21pc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNsZWFyUmVmcmVzaCgpIHtcclxuICAgIGlmICh0aGlzLnRpbWVvdXRTdWJzY3JpcHRpb24pIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dFN1YnNjcmlwdGlvbik7XHJcbiAgICAgIHRoaXMudGltZW91dFN1YnNjcmlwdGlvbiA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFJlZnJlc2goKSB7XHJcbiAgICB0aGlzLnRpbWVvdXRTdWJzY3JpcHRpb24gPSB3aW5kb3cuc2V0VGltZW91dChcclxuICAgICAgdGhpcy5yZWZyZXNoVG9rZW4uYmluZCh0aGlzKSxcclxuICAgICAgdGhpcy5lbnZpcm9ubWVudC5hdXRoUmVmcmVzaFRpbWVvdXQgKiAxMDAwXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYmVjb21lVXNlcih1c2VybmFtZTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoXHJcbiAgICAgIChyZXNvbHZlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQsIHJlamVjdDogKGVycm9yOiBhbnkpID0+IHZvaWQpID0+IHtcclxuICAgICAgICB0aGlzLmNsZWFyUmVmcmVzaCgpO1xyXG4gICAgICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuY2xlYXJTZXNzaW9uRGF0YSgpO1xyXG4gICAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgICAgLnBvc3QoVVJMUy5CRUNPTUVfVVNFUiwgeyB1c2VybmFtZSB9KVxyXG4gICAgICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgIChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgICAgdGhpcy51c2VyU2VydmljZS5zZXRVc2VyKGRhdGEuand0T2JqZWN0KTtcclxuICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ21haW4nXSk7XHJcbiAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGVuZEJlY29tZVVzZXJTZXNzaW9uKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKFxyXG4gICAgICAocmVzb2x2ZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkLCByZWplY3Q6IChlcnJvcjogYW55KSA9PiB2b2lkKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jbGVhclJlZnJlc2goKTtcclxuICAgICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmNsZWFyU2Vzc2lvbkRhdGEoKTtcclxuICAgICAgICB0aGlzLmh0dHBcclxuICAgICAgICAgIC5wb3N0KFVSTFMuRU5EX0JFQ09NRV9VU0VSLCB7fSlcclxuICAgICAgICAgIC5waXBlKHRha2UoMSkpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEpO1xyXG4gICAgICAgICAgICAgIHRoaXMudXNlclNlcnZpY2Uuc2V0VXNlcihkYXRhLmp3dE9iamVjdCk7XHJcbiAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGxvZ2luKFxyXG4gICAgdXNlcm5hbWU6IHN0cmluZyxcclxuICAgIHBhc3N3b3JkOiBzdHJpbmcsXHJcbiAgICBhZ2Fpbj86IGJvb2xlYW5cclxuICApOiBPYnNlcnZhYmxlPFVzZXJEYXRhPiB7XHJcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLmVtcHR5VXNlckRhdGEoKTtcclxuXHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmNsZWFyU2Vzc2lvbkRhdGEoKTtcclxuICAgIHRoaXMuY2xlYXJSZWZyZXNoKCk7XHJcbiAgICB0aGlzLnVzZXJTZXJ2aWNlLnNldEJvYm8obnVsbCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5mb3JtRW5jb2RlZFBvc3ROb0Vycm9ySGFuZGxpbmcoVVJMUy5BY2Nlc3NUb2tlbiwge1xyXG4gICAgICAgIHVzZXJuYW1lLFxyXG4gICAgICAgIHBhc3N3b3JkXHJcbiAgICAgIH0pXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgbWFwKCh2YWx1ZTogYW55LCBpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNldFJlZnJlc2goKTtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmhhbmRsZVJlc3BvbnNlKHZhbHVlKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgLypcclxuXHRcdEBkZXNjIC0gdGhpcyB3aWxsIGRldGVybWluZSBpZiB0aGVyZSBpcyBhIGxvZ2luIGVycm9yIGZvciB0aGUgcmVxdWVzdCBvciBub3QsIHNpbmNlIHRoaXMgaXMgYSBwb3RlbnRpYWwgZXJyb3IgZm9yIGV2ZXJ5IGNhbGxcclxuXHQqKi9cclxuICBoYW5kbGVSZXNwb25zZShkYXRhOiBhbnkpOiBhbnkge1xyXG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0JyAmJiBkYXRhLmp3dCkge1xyXG4gICAgICB0aGlzLnVzZXJTZXJ2aWNlLnNldFVzZXIoZGF0YS5qd3RPYmplY3QpO1xyXG4gICAgICBkZWxldGUgZGF0YS5qd3Q7XHJcbiAgICAgIGRlbGV0ZSBkYXRhLmp3dE9iamVjdDtcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgY29va2llTG9naW4odXNlcm5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlckRhdGE+IHtcclxuICAgIC8vIGNvbnN0IHNzbyA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ3Nzb19xdWVyeScpO1xyXG4gICAgLypcclxuICAgIHRoaXMudXNlclNlcnZpY2UuZW1wdHlVc2VyRGF0YSgpO1xyXG4gICAgdGhpcy51c2VyU2VydmljZS5zZXRVc2VyQWdlbnQodXNlcm5hbWUpO1xyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSgnc3NvX3F1ZXJ5Jywgc3NvKTtcclxuICAgIHRoaXMuYXV0aEluZm8gPSBuZXcgQXV0aEluZm8odXNlcm5hbWUsICcnLCBmYWxzZSk7Ki9cclxuICAgIC8vIHJldHVybiB0aGlzLmh0dHAuZ2V0KFVSTFMuTlVNQkVSX09OQ0VfVE9LRU5fVVJMKTtcclxuICAgIHJldHVybiBvZihudWxsKTtcclxuICB9XHJcblxyXG4gIGxvZ291dCgpIHtcclxuICAgIGNvbnN0IGlzU1NPID0gdGhpcy51c2VyU2VydmljZS5pc1VzZXJGYXZvcml0ZVNldChcclxuICAgICAgVXNlckZhdm9ydXJpdGUuU1NPX25vX3Bhc3N3b3JkXHJcbiAgICApO1xyXG4gICAgdGhpcy5jbGVhclJlZnJlc2goKTtcclxuICAgIHRoaXMuaXNMb2dnZWRJbiA9IGZhbHNlO1xyXG4gICAgdGhpcy51c2VyU2VydmljZS5zZXRCb2JvKG51bGwpO1xyXG4gICAgdGhpcy5zZWFyY2hTZXJ2aWNlLnJlbW92ZUFsbFRyYXZlbGxlcnMoKTtcclxuICAgIHRoaXMudXNlclNlcnZpY2UuZW1wdHlVc2VyRGF0YSgpO1xyXG5cclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuY2xlYXJTZXNzaW9uRGF0YSgpO1xyXG4gICAgdGhpcy5odHRwLnBvc3QoVVJMUy5MT0dPVVRfVVJMKS5zdWJzY3JpYmUoXHJcbiAgICAgIChkYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKCFkYXRhLkxvZ291dFN1Y2Nlc3MpIHtcclxuICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcXVvdGVtYXJrXHJcbiAgICAgICAgICBjb25zb2xlLndhcm4oXCJZb3UncmUgbm90IGxvZ2dlZCBpbiwgY2Fubm90IGxvZyBvdXQuXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZXZlbnRNZXNzZW5hZ2VyLmVtaXQoVVNFUl9TSUdORURPVVQsIHt9KTtcclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdGhpcy51c2VyU2VydmljZS5pc1VzZXJGYXZvcml0ZVNldChVc2VyRmF2b3J1cml0ZS5TU09fbm9fcGFzc3dvcmQpXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJ2xvZ091dERpZ2l0c1VzZXInXSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnbG9nb24nXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlUGFzc3dvcmQoYXV0aEluZm86IEF1dGhJbmZvKTogT2JzZXJ2YWJsZTxQYXNzd29yZENoYW5nZVJlc3BvbnNlPiB7XHJcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAvLyAgIC5mb3JtRW5jb2RlZFBvc3QoVVJMUy5DSEFOR0VfUEFTU1dPUkQsIGF1dGhJbmZvLmdldENoYW5nZVBhc3NUb2tlblN0cigpKVxyXG4gICAgLy8gICAucGlwZShcclxuICAgIC8vICAgICBtYXAoKHJlczogUGFzc3dvcmRDaGFuZ2VSZXNwb25zZSkgPT4ge1xyXG4gICAgLy8gICAgICAgaWYgKHJlcy5zdWNjZXNzKSB7XHJcbiAgICAvLyAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAvLyAgICAgICB9IGVsc2Uge1xyXG4gICAgLy8gICAgICAgICB0aHJvdyBuZXcgTG9naW5FcnJvcihMb2dpbkVycm9yUmVhc29uLlBBU1NXT1JEX0NIQU5HRSwgcmVzKTtcclxuICAgIC8vICAgICAgIH1cclxuICAgIC8vICAgICB9KVxyXG4gICAgLy8gICApO1xyXG4gICAgcmV0dXJuIG9mKG51bGwpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRQYXNzd29yZChcclxuICAgIHBhc3N3b3JkUmVzZXRUb2tlbjogc3RyaW5nLFxyXG4gICAgbmV3UGFzc3dvcmQ6IHN0cmluZ1xyXG4gICk6IE9ic2VydmFibGU8UGFzc3dvcmRDaGFuZ2VSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5mb3JtRW5jb2RlZFBvc3QoVVJMUy5SRVNFVF9QQVNTV09SRCwge1xyXG4gICAgICBwYXNzd29yZFJlc2V0VG9rZW4sXHJcbiAgICAgIG5ld1Bhc3N3b3JkXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qXHJcblx0XHRAZGVzYyAtIGFjdGF1YWxseSBjYWxsIHRoZSBiYWNrZW5kIHBlcmwgZm9yIHJlY292ZXIgcGFzc1xyXG5cdCoqL1xyXG4gIHJlY292ZXJQYXNzd29yZCh1c2VybmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZm9ybUVuY29kZWRQb3N0KFxyXG4gICAgICBVUkxTLlJFQ09WRVJfUEFTU1dPUkRfVVJMLFxyXG4gICAgICB7XHJcbiAgICAgICAgdXNlcm5hbWU6IGAke3VzZXJuYW1lfWBcclxuICAgICAgfSxcclxuICAgICAgJ3RleHQnXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICAgKlx0QGRlc2MgLSBlcnJvciBoYW5kbGluZywgb3BlbnMgYSBtb2RhbCB3aXRoIHRoZSBwYXNzZWQgaW4gZXJyb3IgbWVzc2FnZVxyXG4gICAqKi9cclxuICBoYW5kbGVFcnJvcihlcnJvcjogc3RyaW5nKSB7XHJcbiAgICAvLyB0aGlzLnVzZXJTZXJ2aWNlLmJlY29taW5nVXNlciA9IGZhbHNlO1xyXG4gICAgY29uc3QgbW9kYWxWYWx1ZXMgPSB7XHJcbiAgICAgIGVycm9yXHJcbiAgICB9O1xyXG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uub3BlbihNb2RhbFR5cGVzLk1vZGFsRXJyb3JDb21wb25lbnQsIHt9LCBtb2RhbFZhbHVlcyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -27,7 +27,8 @@ export class BaseEnterpriseMyBookingsService {
|
|
|
27
27
|
[ServiceType.Lounge]: 'ico-material ico-lounge',
|
|
28
28
|
[ServiceType.Parking]: 'ico-material ico-parking',
|
|
29
29
|
[ServiceType.Rail]: 'ico-rail',
|
|
30
|
-
[ServiceType.Eurostar]: 'ico-rail'
|
|
30
|
+
[ServiceType.Eurostar]: 'ico-rail',
|
|
31
|
+
[ServiceType.Ferry]: 'ico-rail'
|
|
31
32
|
};
|
|
32
33
|
}
|
|
33
34
|
getUserBaskets(query, isLoading) {
|
|
@@ -125,4 +126,4 @@ export class BaseEnterpriseMyBookingsService {
|
|
|
125
126
|
return this.cancelBookingUpdater.updateOne({ basketItem: basketItemId });
|
|
126
127
|
}
|
|
127
128
|
}
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktYm9va2luZ3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29idHNlcnZpY2VzL2Jhc2Uvc3JjL2xpYi92ZW5kb3Ivc2VydmljZXMvbXktYm9va2luZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBZ0IzQyxPQUFPLEVBR0wsWUFBWSxFQUVaLFdBQVcsRUFFWixNQUFNLHdCQUF3QixDQUFDO0FBR2hDLE1BQU0sT0FBTywrQkFBK0I7SUFrQzFDLFlBQ1UscUJBQXVELEVBQ3ZELG9CQUErRCxFQUMvRCxvQkFBcUQ7UUFGckQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFrQztRQUN2RCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTJDO1FBQy9ELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBaUM7UUEvQnhELFlBQU8sR0FBd0MsSUFBSSxlQUFlLENBRXZFLEVBQUUsQ0FBQyxDQUFDO1FBRUUsNkJBQXdCLEdBQWlDO1lBQy9ELENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVU7WUFDbkMsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxXQUFXO1lBQzVDLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFVBQVU7WUFDeEMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsVUFBVTtZQUN0QyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxjQUFjO1lBQ25DLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUFFLFVBQVU7WUFDMUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsVUFBVTtTQUNsQyxDQUFDO1FBRU0sNEJBQXVCLEdBQWdDO1lB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Y2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRW50ZXJwcmlzZU15Qm9va2luZ3NTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JbXlib29raW5ncy5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBCYXNlU2VhcmNoVXNlcnNDYW5Cb29rRm9yRmV0Y2hlcixcclxuICBTZWFyY2hVc2VyQ2FuQm9va0ZvckZldGNoZXJUeXBlXHJcbn0gZnJvbSAnLi4vZmV0Y2hlcnMvc2VhcmNoLXVzZXJzLWNhbi1ib29rLWZvci1mZXRjaGVyJztcclxuaW1wb3J0IHtcclxuICBCYXNlR2V0VXNlckJhc2tldHNGZXRjaGVyLFxyXG4gIEdldFVzZXJCYXNrZXRzRmV0Y2hlclR5cGVcclxufSBmcm9tICcuLi9mZXRjaGVycy9nZXQtdXNlcnMtYmFza2V0cy1mZXRjaGVyJztcclxuaW1wb3J0IHtcclxuICBCYXNlQ2FuY2VsQm9va2luZ1VwZGF0ZXIsXHJcbiAgQ2FuY2VsQm9va2luZ0ZldGNoZXJUeXBlXHJcbn0gZnJvbSAnLi4vdXBkYXRlcnMvY2FuY2VsLWJvb2tpbmctdXBkYXRlcic7XHJcblxyXG5pbXBvcnQgeyBDYW5jZWxVc2VyQm9va2luZ1Jlc3VsdCwgVXNlckJhc2tldFJlc3VsdCB9IGZyb20gJy4uL3R5cGVzL3R5cGVzJztcclxuaW1wb3J0IHtcclxuICBCYXNrZXRJdGVtLFxyXG4gIEJhc2tldEl0ZW1TdGF0dXMsXHJcbiAgQmFza2V0U3RhdHVzLFxyXG4gIFF1ZXJ5R2V0VXNlckJhc2tldHNBcmdzLFxyXG4gIFNlcnZpY2VUeXBlLFxyXG4gIFVzZXJcclxufSBmcm9tICcuLi90eXBlcy9ncmFwaHFsLnR5cGVzJztcclxuaW1wb3J0IHsgRW50ZXJwcmlzZVNlYXJjaFNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lzZWFyY2guc2VydmljZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgQmFzZUVudGVycHJpc2VNeUJvb2tpbmdzU2VydmljZTxcclxuICBHVUJfUSBleHRlbmRzIEdldFVzZXJCYXNrZXRzRmV0Y2hlclR5cGUsXHJcbiAgU1VDQkZfUSBleHRlbmRzIFNlYXJjaFVzZXJDYW5Cb29rRm9yRmV0Y2hlclR5cGUsXHJcbiAgQ0JGX1EgZXh0ZW5kcyBDYW5jZWxCb29raW5nRmV0Y2hlclR5cGVcclxuPiBpbXBsZW1lbnRzIEVudGVycHJpc2VNeUJvb2tpbmdzU2VydmljZUludGVyZmFjZVxyXG57XHJcbiAgcHVibGljIGJhc2tldHM6IEJlaGF2aW9yU3ViamVjdDxVc2VyQmFza2V0UmVzdWx0W10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxcclxuICAgIFVzZXJCYXNrZXRSZXN1bHRbXVxyXG4gID4oW10pO1xyXG5cclxuICBwcml2YXRlIF9iYXNrZXRTdGF0dXNJY29uQ2xhc3NlczogUmVjb3JkPEJhc2tldFN0YXR1cywgc3RyaW5nPiA9IHtcclxuICAgIFtCYXNrZXRTdGF0dXMuQXBwcm92ZWRdOiAnaWNvLXRpY2snLFxyXG4gICAgW0Jhc2tldFN0YXR1cy5Bd2FpdGluZ0FwcHJvdmFsXTogJ2ljby1jbG9jaycsXHJcbiAgICBbQmFza2V0U3RhdHVzLkJvb2tpbmdGYWlsZWRdOiAnaWNvLWRlbnknLFxyXG4gICAgW0Jhc2tldFN0YXR1cy5EaXNhcHByb3ZlZF06ICdpY28tZGVueScsXHJcbiAgICBbQmFza2V0U3RhdHVzLk9wZW5dOiAnaWNvLWNhbGVuZGFyJyxcclxuICAgIFtCYXNrZXRTdGF0dXMuUGFydGlhbGx5Qm9va2VkXTogJ2ljby1kZW55JyxcclxuICAgIFtCYXNrZXRTdGF0dXMuQm9va2VkXTogJ2ljby1kZW55J1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgX3NlcnZpY2VUeXBlSWNvbkNsYXNzZXM6IFJlY29yZDxTZXJ2aWNlVHlwZSwgc3RyaW5nPiA9IHtcclxuICAgIFtTZXJ2aWNlVHlwZS5DYWJdOiAnaWNvLW0tdGF4aScsXHJcbiAgICBbU2VydmljZVR5cGUuQ2FyXTogJ2ljby1jYXInLFxyXG4gICAgW1NlcnZpY2VUeXBlLkNvYWNoXTogJ2ljby1idXMnLFxyXG4gICAgW1NlcnZpY2VUeXBlLkZsaWdodF06ICdpY28tZmxpZ2h0JyxcclxuICAgIFtTZXJ2aWNlVHlwZS5Ib3RlbF06ICdpY28tYmVkJyxcclxuICAgIFtTZXJ2aWNlVHlwZS5GYXN0VHJhY2tdOiAnJyxcclxuICAgIFtTZXJ2aWNlVHlwZS5JbnRlcm5hdGlvbmFsUmFpbF06ICdpY28tcmFpbCcsXHJcbiAgICBbU2VydmljZVR5cGUuTG91bmdlXTogJ2ljby1tYXRlcmlhbCBpY28tbG91bmdlJyxcclxuICAgIFtTZXJ2aWNlVHlwZS5QYXJraW5nXTogJ2ljby1tYXRlcmlhbCBpY28tcGFya2luZycsXHJcbiAgICBbU2VydmljZVR5cGUuUmFpbF06ICdpY28tcmFpbCcsXHJcbiAgICBbU2VydmljZVR5cGUuRXVyb3N0YXJdOiAnaWNvLXJhaWwnXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGdldFVzZXJCYXNrZXRzRmV0Y2hlcjogQmFzZUdldFVzZXJCYXNrZXRzRmV0Y2hlcjxHVUJfUT4sXHJcbiAgICBwcml2YXRlIHNlYXJjaFVzZXJDYW5Cb29rRm9yOiBCYXNlU2VhcmNoVXNlcnNDYW5Cb29rRm9yRmV0Y2hlcjxTVUNCRl9RPixcclxuICAgIHByaXZhdGUgY2FuY2VsQm9va2luZ1VwZGF0ZXI6IEJhc2VDYW5jZWxCb29raW5nVXBkYXRlcjxDQkZfUT5cclxuICApIHt9XHJcblxyXG4gIGdldFVzZXJCYXNrZXRzKFxyXG4gICAgcXVlcnk6IFF1ZXJ5R2V0VXNlckJhc2tldHNBcmdzLFxyXG4gICAgaXNMb2FkaW5nOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj5cclxuICApOiB2b2lkIHtcclxuICAgIGlzTG9hZGluZy5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5nZXRVc2VyQmFza2V0c0ZldGNoZXJcclxuICAgICAgLmZldGNoTGlzdChxdWVyeSlcclxuICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAoYmFza2V0czogVXNlckJhc2tldFJlc3VsdFtdKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmJhc2tldHMubmV4dChiYXNrZXRzKTtcclxuICAgICAgICAgIGlzTG9hZGluZy5uZXh0KGZhbHNlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgIGlzTG9hZGluZy5uZXh0KGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRTZWFyY2hVc2VyQ2FuQm9va0ZvcihcclxuICAgIHNlYXJjaDogc3RyaW5nLFxyXG4gICAgaXNMb2FkaW5nOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj5cclxuICApOiBPYnNlcnZhYmxlPFVzZXJbXT4ge1xyXG4gICAgaWYgKHNlYXJjaC5sZW5ndGggPiAyKSB7XHJcbiAgICAgIGlzTG9hZGluZy5uZXh0KHRydWUpO1xyXG4gICAgICByZXR1cm4gdGhpcy5zZWFyY2hVc2VyQ2FuQm9va0ZvclxyXG4gICAgICAgIC5mZXRjaExpc3Qoe1xyXG4gICAgICAgICAgZW1haWw6IHNlYXJjaFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICB0YWtlKDEpLFxyXG4gICAgICAgICAgbWFwKChyZXN1bHRzOiBVc2VyW10pID0+IHtcclxuICAgICAgICAgICAgaXNMb2FkaW5nLm5leHQoZmFsc2UpO1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0cztcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICAgIHJldHVybiBvZihbXSk7XHJcbiAgfVxyXG5cclxuICBnZXRTZXJ2aWNlVHlwZUZpbHRlcnMoXHJcbiAgICBzZWFyY2hTZXJ2aWNlOiBFbnRlcnByaXNlU2VhcmNoU2VydmljZUludGVyZmFjZVxyXG4gICk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IHNlcnZpY2VUeXBlRmlsdGVyczogc3RyaW5nW10gPSBbXTtcclxuICAgIGZvciAoY29uc3QgW2tleV0gb2YgT2JqZWN0LmVudHJpZXMoc2VhcmNoU2VydmljZS5zZWFyY2hfb2JqZWN0cykpIHtcclxuICAgICAgc2VydmljZVR5cGVGaWx0ZXJzLnB1c2goa2V5KTtcclxuICAgIH1cclxuICAgIHJldHVybiBzZXJ2aWNlVHlwZUZpbHRlcnM7XHJcbiAgfVxyXG5cclxuICBnZXRCYXNrZXRTdGF0dXNGaWx0ZXJzKCk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IGJhc2tldFN0YXR1c0ZpbHRlcnM6IHN0cmluZ1tdID0gW107XHJcbiAgICBPYmplY3QudmFsdWVzKEJhc2tldFN0YXR1cykuZm9yRWFjaCgoYmFza2V0U3RhdHVzKSA9PlxyXG4gICAgICBiYXNrZXRTdGF0dXNGaWx0ZXJzLnB1c2goYmFza2V0U3RhdHVzKVxyXG4gICAgKTtcclxuICAgIHJldHVybiBiYXNrZXRTdGF0dXNGaWx0ZXJzO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VydmljZVR5cGVGaWx0ZXJWYW5pdHlOYW1lKHNlcnZpY2VUeXBlOiBTZXJ2aWNlVHlwZSk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKHNlcnZpY2VUeXBlKSB7XHJcbiAgICAgIGNhc2UgU2VydmljZVR5cGUuQ2FiOlxyXG4gICAgICAgIHJldHVybiAnVGF4aSc7XHJcbiAgICAgIGNhc2UgU2VydmljZVR5cGUuSW50ZXJuYXRpb25hbFJhaWw6XHJcbiAgICAgICAgcmV0dXJuICdFdXJvcGVhbiBSYWlsJztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gc2VydmljZVR5cGU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRCYXNrZXRTdGF0dXNJY29uQ2xhc3Moc3RhdHVzOiBCYXNrZXRTdGF0dXMpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Jhc2tldFN0YXR1c0ljb25DbGFzc2VzW3N0YXR1c10gfHwgJ2ljby1leGNsYW1hdGlvbic7XHJcbiAgfVxyXG5cclxuICBnZXRTZXJ2aWNlVHlwZUljb25DbGFzcyhiYXNrZXRJdGVtOiBCYXNrZXRJdGVtKTogc3RyaW5nIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHRoaXMuX3NlcnZpY2VUeXBlSWNvbkNsYXNzZXNbYmFza2V0SXRlbS5zZXJ2aWNlLnR5cGVdIHx8ICdpY28tZXhjbGFtYXRpb24nXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VG90YWxQcmljZUZvckJhc2tldEl0ZW1zKGJhc2tldEl0ZW1zOiBCYXNrZXRJdGVtW10pOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIGJhc2tldEl0ZW1zLnJlZHVjZSgodG90YWwsIGJhc2tldEl0ZW0pID0+IHtcclxuICAgICAgcmV0dXJuIHRvdGFsICsgYmFza2V0SXRlbS5wcmljZTtcclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgZ2V0VHJhdmVsbGVyTmFtZXNGcm9tQmFza2V0SXRlbXMoYmFza2V0SXRlbXM6IEJhc2tldEl0ZW1bXSk6IHN0cmluZ1tdIHtcclxuICAgIGxldCB0cmF2ZWxsZXJOYW1lczogc3RyaW5nW10gPSBbXTtcclxuICAgIGJhc2tldEl0ZW1zLm1hcCgoYmFza2V0SXRlbSkgPT5cclxuICAgICAgYmFza2V0SXRlbS51c2Vycy5tYXAoKHVzZXIpID0+XHJcbiAgICAgICAgdHJhdmVsbGVyTmFtZXMucHVzaChgJHt1c2VyLmZvcmVuYW1lfSAke3VzZXIuc3VybmFtZX1gKVxyXG4gICAgICApXHJcbiAgICApO1xyXG4gICAgdHJhdmVsbGVyTmFtZXMgPSBbLi4ubmV3IFNldCh0cmF2ZWxsZXJOYW1lcyldOyAvLyByZW1vdmUgYW55IGR1cGxpY2F0ZSB0cmF2ZWxsZXIgbmFtZXNcclxuICAgIHJldHVybiB0cmF2ZWxsZXJOYW1lcztcclxuICB9XHJcblxyXG4gIGFsbEJhc2tldEl0ZW1zTWF0Y2hTdGF0dXMoXHJcbiAgICBiYXNrZXRJdGVtczogQmFza2V0SXRlbVtdLFxyXG4gICAgYmFza2V0SXRlbVN0YXR1czogQmFza2V0SXRlbVN0YXR1c1xyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGJhc2tldEl0ZW1zLmV2ZXJ5KFxyXG4gICAgICAoYmFza2V0SXRlbSkgPT4gYmFza2V0SXRlbS5zdGF0dXMgPT09IGJhc2tldEl0ZW1TdGF0dXNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRIb3RlbEFkZHJlc3MoaG90ZWxBZGRyZXNzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHsgY291bnR5LCBwb3N0Y29kZSwgc3RyZWV0TmFtZSwgdG93biB9ID0gaG90ZWxBZGRyZXNzO1xyXG4gICAgY29uc3QgaG90ZWxBZGRyZXNzQXJyID0gW107XHJcbiAgICBpZiAoc3RyZWV0TmFtZSkgaG90ZWxBZGRyZXNzQXJyLnB1c2goc3RyZWV0TmFtZSk7XHJcbiAgICBpZiAodG93bikgaG90ZWxBZGRyZXNzQXJyLnB1c2godG93bik7XHJcbiAgICBpZiAoY291bnR5KSBob3RlbEFkZHJlc3NBcnIucHVzaChjb3VudHkpO1xyXG4gICAgaWYgKHBvc3Rjb2RlKSBob3RlbEFkZHJlc3NBcnIucHVzaChwb3N0Y29kZSk7XHJcbiAgICByZXR1cm4gaG90ZWxBZGRyZXNzQXJyLmpvaW4oJywgJyk7XHJcbiAgfVxyXG5cclxuICBnZXRIb3RlbExvY2F0aW9uKGhvdGVsQWRkcmVzczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB7IGNvdW50eSwgdG93biB9ID0gaG90ZWxBZGRyZXNzO1xyXG4gICAgY29uc3QgaG90ZWxBZGRyZXNzQXJyID0gW107XHJcbiAgICBpZiAodG93bikgaG90ZWxBZGRyZXNzQXJyLnB1c2godG93bik7XHJcbiAgICBpZiAoY291bnR5KSBob3RlbEFkZHJlc3NBcnIucHVzaChjb3VudHkpO1xyXG4gICAgcmV0dXJuIGhvdGVsQWRkcmVzc0Fyci5qb2luKCcsICcpO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsQm9va2luZyhiYXNrZXRJdGVtSWQ6IHN0cmluZyk6IE9ic2VydmFibGU8Q2FuY2VsVXNlckJvb2tpbmdSZXN1bHQ+e1xyXG4gICAgcmV0dXJuIHRoaXMuY2FuY2VsQm9va2luZ1VwZGF0ZXIudXBkYXRlT25lKHsgYmFza2V0SXRlbTogYmFza2V0SXRlbUlkfSlcclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXktYm9va2luZ3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL29idHNlcnZpY2VzL2Jhc2Uvc3JjL2xpYi92ZW5kb3Ivc2VydmljZXMvbXktYm9va2luZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBZ0IzQyxPQUFPLEVBR0wsWUFBWSxFQUVaLFdBQVcsRUFFWixNQUFNLHdCQUF3QixDQUFDO0FBSWhDLE1BQU0sT0FBTywrQkFBK0I7SUFtQzFDLFlBQ1UscUJBQXVELEVBQ3ZELG9CQUErRCxFQUMvRCxvQkFBcUQ7UUFGckQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFrQztRQUN2RCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTJDO1FBQy9ELHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBaUM7UUFoQ3hELFlBQU8sR0FBd0MsSUFBSSxlQUFlLENBRXZFLEVBQUUsQ0FBQyxDQUFDO1FBRUUsNkJBQXdCLEdBQWlDO1lBQy9ELENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLFVBQVU7WUFDbkMsQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxXQUFXO1lBQzVDLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxFQUFFLFVBQVU7WUFDeEMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLEVBQUUsVUFBVTtZQUN0QyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxjQUFjO1lBQ25DLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxFQUFFLFVBQVU7WUFDMUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsVUFBVTtTQUNsQyxDQUFDO1FBRU0sNEJBQXVCLEdBQWdDO1lB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WUFBWSxFQUFFLENBQUMsQ0FBQztJQUMzRSxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRW50ZXJwcmlzZU15Qm9va2luZ3NTZXJ2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9JbXlib29raW5ncy5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBCYXNlU2VhcmNoVXNlcnNDYW5Cb29rRm9yRmV0Y2hlcixcclxuICBTZWFyY2hVc2VyQ2FuQm9va0ZvckZldGNoZXJUeXBlXHJcbn0gZnJvbSAnLi4vZmV0Y2hlcnMvc2VhcmNoLXVzZXJzLWNhbi1ib29rLWZvci1mZXRjaGVyJztcclxuaW1wb3J0IHtcclxuICBCYXNlR2V0VXNlckJhc2tldHNGZXRjaGVyLFxyXG4gIEdldFVzZXJCYXNrZXRzRmV0Y2hlclR5cGVcclxufSBmcm9tICcuLi9mZXRjaGVycy9nZXQtdXNlcnMtYmFza2V0cy1mZXRjaGVyJztcclxuaW1wb3J0IHtcclxuICBCYXNlQ2FuY2VsQm9va2luZ1VwZGF0ZXIsXHJcbiAgQ2FuY2VsQm9va2luZ0ZldGNoZXJUeXBlXHJcbn0gZnJvbSAnLi4vdXBkYXRlcnMvY2FuY2VsLWJvb2tpbmctdXBkYXRlcic7XHJcblxyXG5pbXBvcnQgeyBDYW5jZWxVc2VyQm9va2luZ1Jlc3VsdCwgVXNlckJhc2tldFJlc3VsdCB9IGZyb20gJy4uL3R5cGVzL3R5cGVzJztcclxuaW1wb3J0IHtcclxuICBCYXNrZXRJdGVtLFxyXG4gIEJhc2tldEl0ZW1TdGF0dXMsXHJcbiAgQmFza2V0U3RhdHVzLFxyXG4gIFF1ZXJ5R2V0VXNlckJhc2tldHNBcmdzLFxyXG4gIFNlcnZpY2VUeXBlLFxyXG4gIFVzZXJcclxufSBmcm9tICcuLi90eXBlcy9ncmFwaHFsLnR5cGVzJztcclxuaW1wb3J0IHsgRW50ZXJwcmlzZVNlYXJjaFNlcnZpY2VJbnRlcmZhY2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzL0lzZWFyY2guc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYXZlbGxlciB9IGZyb20gJy4uL21vZGVscy90cmF2ZWxsZXIub2JqZWN0JztcclxuXHJcbmV4cG9ydCBjbGFzcyBCYXNlRW50ZXJwcmlzZU15Qm9va2luZ3NTZXJ2aWNlPFxyXG4gIEdVQl9RIGV4dGVuZHMgR2V0VXNlckJhc2tldHNGZXRjaGVyVHlwZSxcclxuICBTVUNCRl9RIGV4dGVuZHMgU2VhcmNoVXNlckNhbkJvb2tGb3JGZXRjaGVyVHlwZSxcclxuICBDQkZfUSBleHRlbmRzIENhbmNlbEJvb2tpbmdGZXRjaGVyVHlwZVxyXG4+IGltcGxlbWVudHMgRW50ZXJwcmlzZU15Qm9va2luZ3NTZXJ2aWNlSW50ZXJmYWNlXHJcbntcclxuICBwdWJsaWMgYmFza2V0czogQmVoYXZpb3JTdWJqZWN0PFVzZXJCYXNrZXRSZXN1bHRbXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFxyXG4gICAgVXNlckJhc2tldFJlc3VsdFtdXHJcbiAgPihbXSk7XHJcblxyXG4gIHByaXZhdGUgX2Jhc2tldFN0YXR1c0ljb25DbGFzc2VzOiBSZWNvcmQ8QmFza2V0U3RhdHVzLCBzdHJpbmc+ID0ge1xyXG4gICAgW0Jhc2tldFN0YXR1cy5BcHByb3ZlZF06ICdpY28tdGljaycsXHJcbiAgICBbQmFza2V0U3RhdHVzLkF3YWl0aW5nQXBwcm92YWxdOiAnaWNvLWNsb2NrJyxcclxuICAgIFtCYXNrZXRTdGF0dXMuQm9va2luZ0ZhaWxlZF06ICdpY28tZGVueScsXHJcbiAgICBbQmFza2V0U3RhdHVzLkRpc2FwcHJvdmVkXTogJ2ljby1kZW55JyxcclxuICAgIFtCYXNrZXRTdGF0dXMuT3Blbl06ICdpY28tY2FsZW5kYXInLFxyXG4gICAgW0Jhc2tldFN0YXR1cy5QYXJ0aWFsbHlCb29rZWRdOiAnaWNvLWRlbnknLFxyXG4gICAgW0Jhc2tldFN0YXR1cy5Cb29rZWRdOiAnaWNvLWRlbnknXHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBfc2VydmljZVR5cGVJY29uQ2xhc3NlczogUmVjb3JkPFNlcnZpY2VUeXBlLCBzdHJpbmc+ID0ge1xyXG4gICAgW1NlcnZpY2VUeXBlLkNhYl06ICdpY28tbS10YXhpJyxcclxuICAgIFtTZXJ2aWNlVHlwZS5DYXJdOiAnaWNvLWNhcicsXHJcbiAgICBbU2VydmljZVR5cGUuQ29hY2hdOiAnaWNvLWJ1cycsXHJcbiAgICBbU2VydmljZVR5cGUuRmxpZ2h0XTogJ2ljby1mbGlnaHQnLFxyXG4gICAgW1NlcnZpY2VUeXBlLkhvdGVsXTogJ2ljby1iZWQnLFxyXG4gICAgW1NlcnZpY2VUeXBlLkZhc3RUcmFja106ICcnLFxyXG4gICAgW1NlcnZpY2VUeXBlLkludGVybmF0aW9uYWxSYWlsXTogJ2ljby1yYWlsJyxcclxuICAgIFtTZXJ2aWNlVHlwZS5Mb3VuZ2VdOiAnaWNvLW1hdGVyaWFsIGljby1sb3VuZ2UnLFxyXG4gICAgW1NlcnZpY2VUeXBlLlBhcmtpbmddOiAnaWNvLW1hdGVyaWFsIGljby1wYXJraW5nJyxcclxuICAgIFtTZXJ2aWNlVHlwZS5SYWlsXTogJ2ljby1yYWlsJyxcclxuICAgIFtTZXJ2aWNlVHlwZS5FdXJvc3Rhcl06ICdpY28tcmFpbCcsXHJcbiAgICBbU2VydmljZVR5cGUuRmVycnldOiAnaWNvLXJhaWwnXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGdldFVzZXJCYXNrZXRzRmV0Y2hlcjogQmFzZUdldFVzZXJCYXNrZXRzRmV0Y2hlcjxHVUJfUT4sXHJcbiAgICBwcml2YXRlIHNlYXJjaFVzZXJDYW5Cb29rRm9yOiBCYXNlU2VhcmNoVXNlcnNDYW5Cb29rRm9yRmV0Y2hlcjxTVUNCRl9RPixcclxuICAgIHByaXZhdGUgY2FuY2VsQm9va2luZ1VwZGF0ZXI6IEJhc2VDYW5jZWxCb29raW5nVXBkYXRlcjxDQkZfUT5cclxuICApIHt9XHJcblxyXG4gIGdldFVzZXJCYXNrZXRzKFxyXG4gICAgcXVlcnk6IFF1ZXJ5R2V0VXNlckJhc2tldHNBcmdzLFxyXG4gICAgaXNMb2FkaW5nOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj5cclxuICApOiB2b2lkIHtcclxuICAgIGlzTG9hZGluZy5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5nZXRVc2VyQmFza2V0c0ZldGNoZXJcclxuICAgICAgLmZldGNoTGlzdChxdWVyeSlcclxuICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAoYmFza2V0czogVXNlckJhc2tldFJlc3VsdFtdKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmJhc2tldHMubmV4dChiYXNrZXRzKTtcclxuICAgICAgICAgIGlzTG9hZGluZy5uZXh0KGZhbHNlKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICAgIGlzTG9hZGluZy5uZXh0KGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXRTZWFyY2hVc2VyQ2FuQm9va0ZvcihcclxuICAgIHNlYXJjaDogc3RyaW5nLFxyXG4gICAgaXNMb2FkaW5nOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj5cclxuICApOiBPYnNlcnZhYmxlPFRyYXZlbGxlcltdPiB7XHJcbiAgICBpZiAoc2VhcmNoLmxlbmd0aCA+IDIpIHtcclxuICAgICAgaXNMb2FkaW5nLm5leHQodHJ1ZSk7XHJcbiAgICAgIHJldHVybiB0aGlzLnNlYXJjaFVzZXJDYW5Cb29rRm9yXHJcbiAgICAgICAgLmZldGNoTGlzdCh7XHJcbiAgICAgICAgICBlbWFpbDogc2VhcmNoXHJcbiAgICAgICAgfSlcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgICBtYXAoKHJlc3VsdHM6IFRyYXZlbGxlcltdKSA9PiB7XHJcbiAgICAgICAgICAgIGlzTG9hZGluZy5uZXh0KGZhbHNlKTtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2YoW10pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VydmljZVR5cGVGaWx0ZXJzKFxyXG4gICAgc2VhcmNoU2VydmljZTogRW50ZXJwcmlzZVNlYXJjaFNlcnZpY2VJbnRlcmZhY2VcclxuICApOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCBzZXJ2aWNlVHlwZUZpbHRlcnM6IHN0cmluZ1tdID0gW107XHJcbiAgICBmb3IgKGNvbnN0IFtrZXldIG9mIE9iamVjdC5lbnRyaWVzKHNlYXJjaFNlcnZpY2Uuc2VhcmNoX29iamVjdHMpKSB7XHJcbiAgICAgIHNlcnZpY2VUeXBlRmlsdGVycy5wdXNoKGtleSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc2VydmljZVR5cGVGaWx0ZXJzO1xyXG4gIH1cclxuXHJcbiAgZ2V0QmFza2V0U3RhdHVzRmlsdGVycygpOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCBiYXNrZXRTdGF0dXNGaWx0ZXJzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgT2JqZWN0LnZhbHVlcyhCYXNrZXRTdGF0dXMpLmZvckVhY2goKGJhc2tldFN0YXR1cykgPT5cclxuICAgICAgYmFza2V0U3RhdHVzRmlsdGVycy5wdXNoKGJhc2tldFN0YXR1cylcclxuICAgICk7XHJcbiAgICByZXR1cm4gYmFza2V0U3RhdHVzRmlsdGVycztcclxuICB9XHJcblxyXG4gIGdldFNlcnZpY2VUeXBlRmlsdGVyVmFuaXR5TmFtZShzZXJ2aWNlVHlwZTogU2VydmljZVR5cGUpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChzZXJ2aWNlVHlwZSkge1xyXG4gICAgICBjYXNlIFNlcnZpY2VUeXBlLkNhYjpcclxuICAgICAgICByZXR1cm4gJ1RheGknO1xyXG4gICAgICBjYXNlIFNlcnZpY2VUeXBlLkludGVybmF0aW9uYWxSYWlsOlxyXG4gICAgICAgIHJldHVybiAnRXVyb3BlYW4gUmFpbCc7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIHNlcnZpY2VUeXBlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QmFza2V0U3RhdHVzSWNvbkNsYXNzKHN0YXR1czogQmFza2V0U3RhdHVzKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9iYXNrZXRTdGF0dXNJY29uQ2xhc3Nlc1tzdGF0dXNdIHx8ICdpY28tZXhjbGFtYXRpb24nO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VydmljZVR5cGVJY29uQ2xhc3MoYmFza2V0SXRlbTogQmFza2V0SXRlbSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gKFxyXG4gICAgICB0aGlzLl9zZXJ2aWNlVHlwZUljb25DbGFzc2VzW2Jhc2tldEl0ZW0uc2VydmljZS50eXBlXSB8fCAnaWNvLWV4Y2xhbWF0aW9uJ1xyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGdldFRvdGFsUHJpY2VGb3JCYXNrZXRJdGVtcyhiYXNrZXRJdGVtczogQmFza2V0SXRlbVtdKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBiYXNrZXRJdGVtcy5yZWR1Y2UoKHRvdGFsLCBiYXNrZXRJdGVtKSA9PiB7XHJcbiAgICAgIHJldHVybiB0b3RhbCArIGJhc2tldEl0ZW0ucHJpY2U7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIGdldFRyYXZlbGxlck5hbWVzRnJvbUJhc2tldEl0ZW1zKGJhc2tldEl0ZW1zOiBCYXNrZXRJdGVtW10pOiBzdHJpbmdbXSB7XHJcbiAgICBsZXQgdHJhdmVsbGVyTmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICBiYXNrZXRJdGVtcy5tYXAoKGJhc2tldEl0ZW0pID0+XHJcbiAgICAgIGJhc2tldEl0ZW0udXNlcnMubWFwKCh1c2VyKSA9PlxyXG4gICAgICAgIHRyYXZlbGxlck5hbWVzLnB1c2goYCR7dXNlci5mb3JlbmFtZX0gJHt1c2VyLnN1cm5hbWV9YClcclxuICAgICAgKVxyXG4gICAgKTtcclxuICAgIHRyYXZlbGxlck5hbWVzID0gWy4uLm5ldyBTZXQodHJhdmVsbGVyTmFtZXMpXTsgLy8gcmVtb3ZlIGFueSBkdXBsaWNhdGUgdHJhdmVsbGVyIG5hbWVzXHJcbiAgICByZXR1cm4gdHJhdmVsbGVyTmFtZXM7XHJcbiAgfVxyXG5cclxuICBhbGxCYXNrZXRJdGVtc01hdGNoU3RhdHVzKFxyXG4gICAgYmFza2V0SXRlbXM6IEJhc2tldEl0ZW1bXSxcclxuICAgIGJhc2tldEl0ZW1TdGF0dXM6IEJhc2tldEl0ZW1TdGF0dXNcclxuICApOiBib29sZWFuIHtcclxuICAgIHJldHVybiBiYXNrZXRJdGVtcy5ldmVyeShcclxuICAgICAgKGJhc2tldEl0ZW0pID0+IGJhc2tldEl0ZW0uc3RhdHVzID09PSBiYXNrZXRJdGVtU3RhdHVzXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0SG90ZWxBZGRyZXNzKGhvdGVsQWRkcmVzczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB7IGNvdW50eSwgcG9zdGNvZGUsIHN0cmVldE5hbWUsIHRvd24gfSA9IGhvdGVsQWRkcmVzcztcclxuICAgIGNvbnN0IGhvdGVsQWRkcmVzc0FyciA9IFtdO1xyXG4gICAgaWYgKHN0cmVldE5hbWUpIGhvdGVsQWRkcmVzc0Fyci5wdXNoKHN0cmVldE5hbWUpO1xyXG4gICAgaWYgKHRvd24pIGhvdGVsQWRkcmVzc0Fyci5wdXNoKHRvd24pO1xyXG4gICAgaWYgKGNvdW50eSkgaG90ZWxBZGRyZXNzQXJyLnB1c2goY291bnR5KTtcclxuICAgIGlmIChwb3N0Y29kZSkgaG90ZWxBZGRyZXNzQXJyLnB1c2gocG9zdGNvZGUpO1xyXG4gICAgcmV0dXJuIGhvdGVsQWRkcmVzc0Fyci5qb2luKCcsICcpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SG90ZWxMb2NhdGlvbihob3RlbEFkZHJlc3M6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiBzdHJpbmcge1xyXG4gICAgY29uc3QgeyBjb3VudHksIHRvd24gfSA9IGhvdGVsQWRkcmVzcztcclxuICAgIGNvbnN0IGhvdGVsQWRkcmVzc0FyciA9IFtdO1xyXG4gICAgaWYgKHRvd24pIGhvdGVsQWRkcmVzc0Fyci5wdXNoKHRvd24pO1xyXG4gICAgaWYgKGNvdW50eSkgaG90ZWxBZGRyZXNzQXJyLnB1c2goY291bnR5KTtcclxuICAgIHJldHVybiBob3RlbEFkZHJlc3NBcnIuam9pbignLCAnKTtcclxuICB9XHJcblxyXG4gIGNhbmNlbEJvb2tpbmcoYmFza2V0SXRlbUlkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPENhbmNlbFVzZXJCb29raW5nUmVzdWx0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5jYW5jZWxCb29raW5nVXBkYXRlci51cGRhdGVPbmUoeyBiYXNrZXRJdGVtOiBiYXNrZXRJdGVtSWQgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|