@xsolla/payment-client-core 0.1.14-test21 → 0.1.14-test22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/esm2020/lib/core/payment/actions/status-updated/status-updated.action.class.mjs +2 -2
  2. package/esm2020/lib/core/payment/config/config.service.mjs +5 -5
  3. package/esm2020/lib/core/payment/initialize/initialize-request-params.interface.mjs +1 -1
  4. package/esm2020/lib/core/payment/initialize/initialize.service.mjs +6 -4
  5. package/esm2020/lib/core/payment/payment.interface.mjs +1 -1
  6. package/esm2020/lib/core/payment/payment.service.mjs +1 -5
  7. package/esm2020/lib/core/payment/status/save-payment-method-status/api/saved-payment-account-changes.service.mjs +2 -2
  8. package/esm2020/lib/core/payment/status/save-payment-method-status/save-payment-method-status.enum.mjs +1 -1
  9. package/esm2020/lib/core/payment/status/save-payment-method-status/save-payment-method-status.service.mjs +34 -125
  10. package/esm2020/lib/core/payment/status/status.service.mjs +2 -5
  11. package/esm2020/lib/core/payment-methods/payment-methods-request-params.interface.mjs +1 -1
  12. package/esm2020/lib/core/payment-methods/payment-methods.service.mjs +4 -2
  13. package/esm2020/lib/core-library.service.mjs +1 -1
  14. package/fesm2015/xsolla-payment-client-core.mjs +46 -142
  15. package/fesm2015/xsolla-payment-client-core.mjs.map +1 -1
  16. package/fesm2020/xsolla-payment-client-core.mjs +48 -142
  17. package/fesm2020/xsolla-payment-client-core.mjs.map +1 -1
  18. package/lib/core/payment/initialize/initialize-request-params.interface.d.ts +1 -1
  19. package/lib/core/payment/payment.interface.d.ts +1 -1
  20. package/lib/core/payment/payment.service.d.ts +1 -1
  21. package/lib/core/payment/status/save-payment-method-status/save-payment-method-status.service.d.ts +2 -1
  22. package/lib/core/payment/status/status.service.d.ts +2 -2
  23. package/lib/core/payment-methods/payment-methods-request-params.interface.d.ts +1 -1
  24. package/lib/core-library.service.d.ts +1 -1
  25. package/package.json +1 -1
  26. package/xsolla-payment-client-core-0.1.14-test22.tgz +0 -0
  27. package/xsolla-payment-client-core-0.1.14-test21.tgz +0 -0
@@ -20,26 +20,28 @@ export class SavePaymentMethodStatusService {
20
20
  this.statusChecked = false;
21
21
  }
22
22
  async getStatus(params) {
23
- if (this.listenStatusSubscription) {
24
- this.listenStatusSubscription.unsubscribe();
25
- this.listenStatusService.stopListening();
23
+ if (!this.accountData || !this.status) {
24
+ this.statusRequestService.setRequestParams(params);
25
+ this.statusRequestService.request();
26
+ const statusResponse = await firstValueFrom(this.statusRequestService.response$);
27
+ this.status = statusResponse.status;
28
+ this.status.isSavePaymentAccount = true;
29
+ this.accountData = await this.getPaymentAccountData(params.invoice);
26
30
  }
27
- this.statusRequestService.setRequestParams(params);
28
- this.statusRequestService.request();
29
- const statusResponse = await firstValueFrom(this.statusRequestService.response$);
30
- statusResponse.status.isSavePaymentAccount = true;
31
- // this.listenStatusService.stopListening();
32
- const accountData = await this.getPaymentAccountData(params.invoice);
33
- if (this.savingFailedOrCancel(statusResponse?.status) || this.savingSuccessful(accountData, statusResponse?.status)) {
34
- return statusResponse.status;
31
+ if (this.savingFailedOrCancel(this.status) ||
32
+ (this.accountData && this.savingSuccessful(this.accountData, this.status))) {
33
+ return this.status;
35
34
  }
36
35
  if (!this.statusChecked) {
37
36
  this.checkStatus(params);
38
- statusResponse.status.statusState = StatusEnum.processing;
39
- return statusResponse.status;
37
+ this.status.statusState = StatusEnum.processing;
38
+ return this.status;
40
39
  }
41
- statusResponse.status.statusState = StatusEnum.error;
42
- return statusResponse.status;
40
+ this.statusChecked = false;
41
+ this.status.statusState = StatusEnum.error;
42
+ const outStatus = { ...this.status };
43
+ this.status = null;
44
+ return outStatus;
43
45
  }
44
46
  checkStatus(params) {
45
47
  if (!this.statusChecked) {
@@ -48,135 +50,45 @@ export class SavePaymentMethodStatusService {
48
50
  this.startWaitingStatusUpdates(params.invoice);
49
51
  this.statusRequestService.request();
50
52
  }
51
- async getStatusOld(params) {
52
- console.log('getStatus', params);
53
- this.statusRequestService.setRequestParams(params);
54
- // this.startWaitingStatusUpdates(params.invoice);
55
- this.statusRequestService.request();
56
- const statusResponse = await firstValueFrom(this.statusRequestService.response$);
57
- this.checkStatusService.setRequestParams(params.invoice);
58
- this.checkStatusService.request();
59
- const checkStatusResponse = await firstValueFrom(this.checkStatusService.response$);
60
- if (!checkStatusResponse.final) {
61
- this.startWaitingStatusUpdates(params.invoice);
62
- statusResponse.status.isSavePaymentAccount = true;
63
- statusResponse.status.statusState = StatusEnum.processing;
64
- return statusResponse.status;
65
- }
66
- // todo: get account
67
- const accountData = await this.getPaymentAccountData(params.invoice);
68
- if (!this.savingFailedOrCancel(statusResponse?.status) && !this.savingSuccessful(accountData, statusResponse?.status)) {
69
- // todo is proccessing
70
- this.startWaitingStatusUpdates(params.invoice);
71
- statusResponse.status.statusState = StatusEnum.processing;
72
- }
73
- statusResponse.status.isSavePaymentAccount = true;
74
- return statusResponse.status;
75
- // this.listenStatusService.listen(params.invoice);
76
- // this.statusRequestService.request();
77
- // const paramsCheck = {
78
- // section: 'getstatus',
79
- // action: 'getstatus',
80
- // // invoice: params.invoice,
81
- // ...params,
82
- // access_token: params.token || '8sogPLisB328Snf9M9aChSwkZn4IzOzf_lc_en'
83
- // };
84
- // // const check = await this.checkStatusService.requestPromise('directpayment', paramsCheck);
85
- // // console.log('requestPromise', check);
86
- // // todo: get account
87
- // // const accountData = await this.getPaymentAccountData(params.invoice);
88
- // // this.startWaitingStatusUpdates(params.invoice);
89
- // // this.listenStatusService.statusUpdated$
90
- // this.startWaitingStatusUpdates(params.invoice);
91
- // this.statusRequestService.request();
92
- // this.checkStatusService.setRequestParams(params.invoice);
93
- // this.checkStatusService.request();
94
- // this.checkStatusService.response$.subscribe((resp) => {
95
- // console.log('checkSt', resp);
96
- // });
97
- // const statusResponse = await firstValueFrom(
98
- // this.statusRequestService.response$
99
- // );
100
- // const savingFailedOrCancel = statusResponse.status?.titleClass === TitleClass.cancel || statusResponse.status?.titleClass === TitleClass.cancelUser;
101
- // const savingSuccessful = statusResponse.status?.titleClass === TitleClass.done && accountData?.new_account;
102
- // if (!accountData) {
103
- // this.startWaitingStatusUpdates(params.invoice);
104
- // statusResponse.status.statusState = StatusEnum.processing;
105
- // }
106
- // if (!this.savingFailedOrCancel(statusResponse?.status) && !this.savingSuccessful(accountData, statusResponse?.status)) {
107
- // // todo is proccessing
108
- //
109
- // // this.startWaitingStatusUpdates(params.invoice);
110
- // statusResponse.status.statusState = StatusEnum.processing;
111
- // }
112
- // statusResponse.status.isSavePaymentAccount = true;
113
- // return statusResponse.status;
114
- // return null;
115
- // if (!this.savePaymentMethodStatus) {
116
- // statusResponse.status.statusState = StatusEnum.processing;
117
- // }
118
- // statusResponse.status.isSavePaymentAccount = true;
119
- // return statusResponse.status;
120
- }
121
53
  savingFailedOrCancel(status) {
122
- return status?.titleClass === TitleClass.cancel || status?.titleClass === TitleClass.cancelUser;
54
+ return (status?.titleClass === TitleClass.cancel ||
55
+ status?.titleClass === TitleClass.cancelUser);
123
56
  }
124
57
  savingSuccessful(accountData, status, checkStatus) {
125
- return !!(status?.titleClass === TitleClass.done && (accountData?.new_account || checkStatus?.isPaymentAccountAttached));
58
+ return !!(status?.titleClass === TitleClass.done &&
59
+ (accountData?.new_account || checkStatus?.isPaymentAccountAttached));
126
60
  }
127
61
  getPaymentAccountData(invoice) {
128
- return this.savedPaymentAccountChangesService
129
- .request(invoice);
130
- // .then((accountChanges: SavedPaymentAccountChanges) => {
131
- // if (accountChanges) {
132
- // this.handleSavingStatus(status, accountChanges.new_account);
133
- // }
134
- // });
62
+ return this.savedPaymentAccountChangesService.request(invoice);
135
63
  }
136
64
  startWaitingStatusUpdates(invoice) {
137
65
  if (this.listenStatusSubscription) {
138
66
  this.listenStatusSubscription.unsubscribe();
139
67
  this.listenStatusService.stopListening();
140
68
  }
141
- // debugger
142
69
  this.listenStatusService.listen(invoice);
143
- this.listenStatusSubscription = this.listenStatusService.statusUpdated$
144
- .subscribe((statusSettings) => {
145
- // this.checkStatusService.response$.subscribe((res) => {
146
- // if (res.final) {
147
- // if (statusSettings?.statusResponse.status) {
148
- // this.loadNewPaymentAccountData(statusSettings?.statusResponse.status, res)
149
- // }
150
- // }
151
- // });
152
- void firstValueFrom(this.checkStatusService.response$).then((checkStatusResponse) => {
153
- if (checkStatusResponse.final && statusSettings?.statusResponse.status) {
154
- this.loadNewPaymentAccountData(statusSettings?.statusResponse.status, checkStatusResponse);
155
- }
70
+ this.listenStatusSubscription =
71
+ this.listenStatusService.statusUpdated$.subscribe(({ statusResponse }) => {
72
+ this.status = statusResponse.status;
73
+ void firstValueFrom(this.checkStatusService.response$).then((checkStatusResponse) => {
74
+ if (checkStatusResponse.final && statusResponse.status) {
75
+ this.loadNewPaymentAccountData(statusResponse.status, checkStatusResponse);
76
+ }
77
+ });
156
78
  });
157
- // this.checkStatusService.request();
158
- // const checkStatusResponse = await firstValueFrom(
159
- // this.checkStatusService.response$
160
- // );
161
- });
162
- // this.statusRequestService.request();
163
79
  }
164
80
  loadNewPaymentAccountData(status, checkStatus) {
165
81
  if (!status.invoice) {
166
82
  return;
167
83
  }
168
- void this.savedPaymentAccountChangesService
169
- .request(status.invoice)
170
- .then((accountChanges) => {
84
+ void this.getPaymentAccountData(status.invoice).then((accountChanges) => {
171
85
  if (accountChanges) {
86
+ this.accountData = accountChanges;
172
87
  this.handleSavingStatus(status, accountChanges, checkStatus);
173
88
  }
174
89
  });
175
90
  }
176
91
  handleSavingStatus(status, account, checkStatus) {
177
- // const savingFailedOrCancel = status?.titleClass === TitleClass.cancel || status?.titleClass === TitleClass.cancelUser;
178
- //
179
- // const savingSuccessful = status?.titleClass === TitleClass.done && account;
180
92
  if (this.savingSuccessful(account, status, checkStatus)) {
181
93
  this.savePaymentMethodStatus = SavePaymentMethodStatus.success;
182
94
  }
@@ -185,10 +97,7 @@ export class SavePaymentMethodStatusService {
185
97
  }
186
98
  this.listenStatusService.stopListening();
187
99
  this.listenStatusSubscription.unsubscribe();
188
- // const paymentAccountWasSaved = status?.titleClass === TitleClass.done && account !== null;
189
100
  const isSavePaymentMethod = true;
190
- // this.savePaymentMethodStatus = this.savingFailedOrCancel(status) ? SavePaymentMethodStatus.success : SavePaymentMethodStatus.failed;
191
- console.log(status, isSavePaymentMethod, this.savePaymentMethodStatus);
192
101
  this.nextActionService.emitFlowUpdates(new StatusUpdatedAction(status, isSavePaymentMethod, this.savePaymentMethodStatus));
193
102
  }
194
103
  }
@@ -197,7 +106,7 @@ SavePaymentMethodStatusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion:
197
106
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: SavePaymentMethodStatusService, decorators: [{
198
107
  type: Injectable,
199
108
  args: [{
200
- providedIn: 'root'
109
+ providedIn: 'root',
201
110
  }]
202
111
  }], ctorParameters: function () { return [{ type: i1.StatusRequestService }, { type: i2.ListenStatusService }, { type: i3.SavedPaymentAccountChangesService }, { type: i4.NextActionService }, { type: i5.CheckStatusService }]; } });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1wYXltZW50LW1ldGhvZC1zdGF0dXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvc3RhdHVzL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsY0FBYyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUVwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUsvRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7O0FBTzVFLE1BQU0sT0FBTyw4QkFBOEI7SUFLekMsWUFDbUIsb0JBQTBDLEVBQzFDLG1CQUF3QyxFQUN4QyxpQ0FBb0UsRUFDcEUsaUJBQW9DLEVBQ3BDLGtCQUFzQztRQUp0Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFtQztRQUNwRSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFQakQsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFPK0IsQ0FBQztJQUN2RCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQTJCO1FBRWhELElBQUksSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQ2pDLElBQUksQ0FBQyx3QkFB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LEVBQUUsQ0FBQztRQUU1Qyw2RkFBNkY7UUFDN0YsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFFakMsdUlBQXVJO1FBQ3ZJLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLG1CQUFtQixFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO1FBQ3RFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQ3BDLElBQUksbUJBQW1CLENBQUMsTUFBTSxFQUFFLG1CQUFtQixFQUFFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxDQUNuRixDQUFDO0lBQ0osQ0FBQzs7MkhBaFBVLDhCQUE4QjsrSEFBOUIsOEJBQThCLGNBRjdCLE1BQU07MkZBRVAsOEJBQThCO2tCQUgxQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0YXR1c1JlcXVlc3RQYXJhbXMgfSBmcm9tICcuLi9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RhdHVzUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1c1VwZGF0ZWRBY3Rpb24gfSBmcm9tICcuLi8uLi9hY3Rpb25zL3N0YXR1cy11cGRhdGVkL3N0YXR1cy11cGRhdGVkLmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBMaXN0ZW5TdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi4vbGlzdGVuLXN0YXR1cy9saXN0ZW4tc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXMgfSBmcm9tICcuL2FwaS9zYXZlZC1wYXltZW50LWFjY291bnQtY2hhbmdlcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXNTZXJ2aWNlIH0gZnJvbSAnLi9hcGkvc2F2ZWQtcGF5bWVudC1hY2NvdW50LWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQgeyBTYXZlZFBheW1lbnRBY2NvdW50IH0gZnJvbSAnLi9hcGkvc2F2ZWQtcGF5bWVudC1hY2NvdW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBUaXRsZUNsYXNzIH0gZnJvbSAnLi4vdGl0bGUtY2xhc3MuZW51bSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNFbnVtIH0gZnJvbSAnLi4vc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgU2F2ZVBheW1lbnRNZXRob2RTdGF0dXMgfSBmcm9tICcuL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi4vY2hlY2stc3RhdHVzL2NoZWNrLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IENoZWNrU3RhdHVzUmVzcG9uc2UgfSBmcm9tICcuLi9jaGVjay1zdGF0dXMvcmVzcG9uc2UvY2hlY2stc3RhdHVzLXJlc3BvbnNlLmNsYXNzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2F2ZVBheW1lbnRNZXRob2RTdGF0dXNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzYXZlUGF5bWVudE1ldGhvZFN0YXR1cz86IFNhdmVQYXltZW50TWV0aG9kU3RhdHVzO1xuICBwcml2YXRlIGxpc3RlblN0YXR1c1N1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzdGF0dXNDaGVja2VkID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzUmVxdWVzdFNlcnZpY2U6IFN0YXR1c1JlcXVlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGlzdGVuU3RhdHVzU2VydmljZTogTGlzdGVuU3RhdHVzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNhdmVkUGF5bWVudEFjY291bnRDaGFuZ2VzU2VydmljZTogU2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tTdGF0dXNTZXJ2aWNlOiBDaGVja1N0YXR1c1NlcnZpY2UpIHsgfVxuICBwdWJsaWMgYXN5bmMgZ2V0U3RhdHVzKHBhcmFtczogU3RhdHVzUmVxdWVzdFBhcmFtcyk6IFByb21pc2U8U3RhdHVzPiB7XG5cbiAgICBpZiAodGhpcy5saXN0ZW5TdGF0dXNTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMubGlzdGVuU3RhdHVzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2Uuc3RvcExpc3RlbmluZygpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2Uuc2V0UmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVxdWVzdCgpO1xuXG4gICAgY29uc3Qgc3RhdHVzUmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVzcG9uc2UkXG4gICAgKTtcblxuICAgIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5pc1NhdmVQYXltZW50QWNjb3VudCA9IHRydWU7XG4gICAgLy8gdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLnN0b3BMaXN0ZW5pbmcoKTtcblxuICAgIGNvbnN0IGFjY291bnREYXRhID0gYXdhaXQgdGhpcy5nZXRQYXltZW50QWNjb3VudERhdGEocGFyYW1zLmludm9pY2UpO1xuICAgIGlmICh0aGlzLnNhdmluZ0ZhaWxlZE9yQ2FuY2VsKHN0YXR1c1Jlc3BvbnNlPy5zdGF0dXMpIHx8IHRoaXMuc2F2aW5nU3VjY2Vzc2Z1bChhY2NvdW50RGF0YSwgc3RhdHVzUmVzcG9uc2U/LnN0YXR1cykpIHtcbiAgICAgIHJldHVybiBzdGF0dXNSZXNwb25zZS5zdGF0dXM7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnN0YXR1c0NoZWNrZWQpIHtcbiAgICAgIHRoaXMuY2hlY2tTdGF0dXMocGFyYW1zKTtcbiAgICAgIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5zdGF0dXNTdGF0ZSA9IFN0YXR1c0VudW0ucHJvY2Vzc2luZztcbiAgICAgIHJldHVybiBzdGF0dXNSZXNwb25zZS5zdGF0dXM7XG4gICAgfVxuXG4gICAgc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLnN0YXR1c1N0YXRlID0gU3RhdHVzRW51bS5lcnJvcjtcbiAgICByZXR1cm4gc3RhdHVzUmVzcG9uc2Uuc3RhdHVzO1xuICB9XG5cbiAgcHJpdmF0ZSBjaGVja1N0YXR1cyhwYXJhbXM6IFN0YXR1c1JlcXVlc3RQYXJhbXMpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc3RhdHVzQ2hlY2tlZCkge1xuICAgICAgdGhpcy5zdGF0dXNDaGVja2VkID0gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5zdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKHBhcmFtcy5pbnZvaWNlKTtcbiAgICB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnJlcXVlc3QoKTtcbiAgfVxuICBwdWJsaWMgYXN5bmMgZ2V0U3RhdHVzT2xkKHBhcmFtczogU3RhdHVzUmVxdWVzdFBhcmFtcyk6IFByb21pc2U8U3RhdHVzIHwgbnVsbD4ge1xuICAgIGNvbnNvbGUubG9nKCdnZXRTdGF0dXMnLCBwYXJhbXMpO1xuXG4gICAgdGhpcy5zdGF0dXNSZXF1ZXN0U2VydmljZS5zZXRSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgLy8gdGhpcy5zdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKHBhcmFtcy5pbnZvaWNlKTtcbiAgICB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnJlcXVlc3QoKTtcblxuICAgIGNvbnN0IHN0YXR1c1Jlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnJlc3BvbnNlJFxuICAgICk7XG5cbiAgICB0aGlzLmNoZWNrU3RhdHVzU2VydmljZS5zZXRSZXF1ZXN0UGFyYW1zKHBhcmFtcy5pbnZvaWNlKTtcbiAgICB0aGlzLmNoZWNrU3RhdHVzU2VydmljZS5yZXF1ZXN0KCk7XG5cbiAgICBjb25zdCBjaGVja1N0YXR1c1Jlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLmNoZWNrU3RhdHVzU2VydmljZS5yZXNwb25zZSRcbiAgICApO1xuXG4gICAgaWYgKCFjaGVja1N0YXR1c1Jlc3BvbnNlLmZpbmFsKSB7XG4gICAgICB0aGlzLnN0YXJ0V2FpdGluZ1N0YXR1c1VwZGF0ZXMocGFyYW1zLmludm9pY2UpO1xuICAgICAgc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLmlzU2F2ZVBheW1lbnRBY2NvdW50ID0gdHJ1ZTtcbiAgICAgIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5zdGF0dXNTdGF0ZSA9IFN0YXR1c0VudW0ucHJvY2Vzc2luZztcbiAgICAgIHJldHVybiBzdGF0dXNSZXNwb25zZS5zdGF0dXM7XG4gICAgfVxuXG4gICAgLy8gdG9kbzogZ2V0IGFjY291bnRcbiAgICBjb25zdCBhY2NvdW50RGF0YSA9IGF3YWl0IHRoaXMuZ2V0UGF5bWVudEFjY291bnREYXRhKHBhcmFtcy5pbnZvaWNlKTtcblxuICAgIGlmICghdGhpcy5zYXZpbmdGYWlsZWRPckNhbmNlbChzdGF0dXNSZXNwb25zZT8uc3RhdHVzKSAmJiAhdGhpcy5zYXZpbmdTdWNjZXNzZnVsKGFjY291bnREYXRhLCBzdGF0dXNSZXNwb25zZT8uc3RhdHVzKSkge1xuICAgICAgLy8gdG9kbyBpcyBwcm9jY2Vzc2luZ1xuXG4gICAgICB0aGlzLnN0YXJ0V2FpdGluZ1N0YXR1c1VwZGF0ZXMocGFyYW1zLmludm9pY2UpO1xuICAgICAgc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLnN0YXR1c1N0YXRlID0gU3RhdHVzRW51bS5wcm9jZXNzaW5nO1xuICAgIH1cbiAgICBzdGF0dXNSZXNwb25zZS5zdGF0dXMuaXNTYXZlUGF5bWVudEFjY291bnQgPSB0cnVlO1xuICAgIHJldHVybiBzdGF0dXNSZXNwb25zZS5zdGF0dXM7XG5cbiAgICAvLyB0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2UubGlzdGVuKHBhcmFtcy5pbnZvaWNlKTtcbiAgICAvLyB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnJlcXVlc3QoKTtcblxuXG5cblxuICAgIC8vIGNvbnN0IHBhcmFtc0NoZWNrID0ge1xuICAgIC8vICAgc2VjdGlvbjogJ2dldHN0YXR1cycsXG4gICAgLy8gICBhY3Rpb246ICdnZXRzdGF0dXMnLFxuICAgIC8vICAgLy8gaW52b2ljZTogcGFyYW1zLmludm9pY2UsXG4gICAgLy8gICAuLi5wYXJhbXMsXG4gICAgLy8gICBhY2Nlc3NfdG9rZW46IHBhcmFtcy50b2tlbiB8fCAnOHNvZ1BMaXNCMzI4U25mOU05YUNoU3drWm40SXpPemZfbGNfZW4nXG4gICAgLy8gfTtcbiAgICAvLyAvLyBjb25zdCBjaGVjayA9IGF3YWl0IHRoaXMuY2hlY2tTdGF0dXNTZXJ2aWNlLnJlcXVlc3RQcm9taXNlKCdkaXJlY3RwYXltZW50JywgcGFyYW1zQ2hlY2spO1xuICAgIC8vIC8vIGNvbnNvbGUubG9nKCdyZXF1ZXN0UHJvbWlzZScsIGNoZWNrKTtcbiAgICAvLyAvLyB0b2RvOiBnZXQgYWNjb3VudFxuICAgIC8vIC8vIGNvbnN0IGFjY291bnREYXRhID0gYXdhaXQgdGhpcy5nZXRQYXltZW50QWNjb3VudERhdGEocGFyYW1zLmludm9pY2UpO1xuICAgIC8vIC8vIHRoaXMuc3RhcnRXYWl0aW5nU3RhdHVzVXBkYXRlcyhwYXJhbXMuaW52b2ljZSk7XG4gICAgLy8gLy8gdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLnN0YXR1c1VwZGF0ZWQkXG4gICAgLy8gdGhpcy5zdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKHBhcmFtcy5pbnZvaWNlKTtcbiAgICAvLyB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnJlcXVlc3QoKTtcbiAgICAvLyB0aGlzLmNoZWNrU3RhdHVzU2VydmljZS5zZXRSZXF1ZXN0UGFyYW1zKHBhcmFtcy5pbnZvaWNlKTtcbiAgICAvLyB0aGlzLmNoZWNrU3RhdHVzU2VydmljZS5yZXF1ZXN0KCk7XG4gICAgLy8gdGhpcy5jaGVja1N0YXR1c1NlcnZpY2UucmVzcG9uc2UkLnN1YnNjcmliZSgocmVzcCkgPT4ge1xuICAgIC8vICAgY29uc29sZS5sb2coJ2NoZWNrU3QnLCByZXNwKTtcbiAgICAvLyB9KTtcblxuICAgIC8vIGNvbnN0IHN0YXR1c1Jlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgLy8gICB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnJlc3BvbnNlJFxuICAgIC8vICk7XG5cblxuXG4gICAgLy8gY29uc3Qgc2F2aW5nRmFpbGVkT3JDYW5jZWwgPSBzdGF0dXNSZXNwb25zZS5zdGF0dXM/LnRpdGxlQ2xhc3MgPT09IFRpdGxlQ2xhc3MuY2FuY2VsIHx8IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cz8udGl0bGVDbGFzcyA9PT0gVGl0bGVDbGFzcy5jYW5jZWxVc2VyO1xuXG4gICAgLy8gY29uc3Qgc2F2aW5nU3VjY2Vzc2Z1bCA9IHN0YXR1c1Jlc3BvbnNlLnN0YXR1cz8udGl0bGVDbGFzcyA9PT0gVGl0bGVDbGFzcy5kb25lICYmIGFjY291bnREYXRhPy5uZXdfYWNjb3VudDtcblxuICAgIC8vIGlmICghYWNjb3VudERhdGEpIHtcbiAgICAvLyAgIHRoaXMuc3RhcnRXYWl0aW5nU3RhdHVzVXBkYXRlcyhwYXJhbXMuaW52b2ljZSk7XG4gICAgLy8gICBzdGF0dXNSZXNwb25zZS5zdGF0dXMuc3RhdHVzU3RhdGUgPSBTdGF0dXNFbnVtLnByb2Nlc3Npbmc7XG4gICAgLy8gfVxuXG4gICAgLy8gaWYgKCF0aGlzLnNhdmluZ0ZhaWxlZE9yQ2FuY2VsKHN0YXR1c1Jlc3BvbnNlPy5zdGF0dXMpICYmICF0aGlzLnNhdmluZ1N1Y2Nlc3NmdWwoYWNjb3VudERhdGEsIHN0YXR1c1Jlc3BvbnNlPy5zdGF0dXMpKSB7XG4gICAgLy8gICAvLyB0b2RvIGlzIHByb2NjZXNzaW5nXG4gICAgLy9cbiAgICAvLyAgIC8vIHRoaXMuc3RhcnRXYWl0aW5nU3RhdHVzVXBkYXRlcyhwYXJhbXMuaW52b2ljZSk7XG4gICAgLy8gICBzdGF0dXNSZXNwb25zZS5zdGF0dXMuc3RhdHVzU3RhdGUgPSBTdGF0dXNFbnVtLnByb2Nlc3Npbmc7XG4gICAgLy8gfVxuICAgIC8vIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cy5pc1NhdmVQYXltZW50QWNjb3VudCA9IHRydWU7XG4gICAgLy8gcmV0dXJuIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cztcbiAgICAvLyByZXR1cm4gbnVsbDtcblxuICAgIC8vIGlmICghdGhpcy5zYXZlUGF5bWVudE1ldGhvZFN0YXR1cykge1xuICAgIC8vICAgc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLnN0YXR1c1N0YXRlID0gU3RhdHVzRW51bS5wcm9jZXNzaW5nO1xuICAgIC8vIH1cbiAgICAvLyBzdGF0dXNSZXNwb25zZS5zdGF0dXMuaXNTYXZlUGF5bWVudEFjY291bnQgPSB0cnVlO1xuICAgIC8vIHJldHVybiBzdGF0dXNSZXNwb25zZS5zdGF0dXM7XG4gIH1cblxuICBwcml2YXRlIHNhdmluZ0ZhaWxlZE9yQ2FuY2VsKHN0YXR1cz86IFN0YXR1cyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGF0dXM/LnRpdGxlQ2xhc3MgPT09IFRpdGxlQ2xhc3MuY2FuY2VsIHx8IHN0YXR1cz8udGl0bGVDbGFzcyA9PT0gVGl0bGVDbGFzcy5jYW5jZWxVc2VyO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZpbmdTdWNjZXNzZnVsKGFjY291bnREYXRhOiBTYXZlZFBheW1lbnRBY2NvdW50Q2hhbmdlcywgc3RhdHVzPzogU3RhdHVzLCBjaGVja1N0YXR1cz86IENoZWNrU3RhdHVzUmVzcG9uc2UpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEoc3RhdHVzPy50aXRsZUNsYXNzID09PSBUaXRsZUNsYXNzLmRvbmUgJiYgKGFjY291bnREYXRhPy5uZXdfYWNjb3VudCB8fCBjaGVja1N0YXR1cz8uaXNQYXltZW50QWNjb3VudEF0dGFjaGVkKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFBheW1lbnRBY2NvdW50RGF0YShpbnZvaWNlOiBudW1iZXIpOiBQcm9taXNlPFNhdmVkUGF5bWVudEFjY291bnRDaGFuZ2VzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXNTZXJ2aWNlXG4gICAgICAucmVxdWVzdChpbnZvaWNlKVxuICAgICAgLy8gLnRoZW4oKGFjY291bnRDaGFuZ2VzOiBTYXZlZFBheW1lbnRBY2NvdW50Q2hhbmdlcykgPT4ge1xuICAgICAgLy8gICBpZiAoYWNjb3VudENoYW5nZXMpIHtcbiAgICAgIC8vICAgICB0aGlzLmhhbmRsZVNhdmluZ1N0YXR1cyhzdGF0dXMsIGFjY291bnRDaGFuZ2VzLm5ld19hY2NvdW50KTtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0V2FpdGluZ1N0YXR1c1VwZGF0ZXMoaW52b2ljZTogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGlzdGVuU3RhdHVzU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmxpc3RlblN0YXR1c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLnN0b3BMaXN0ZW5pbmcoKTtcbiAgICB9XG5cbiAgICAvLyBkZWJ1Z2dlclxuICAgIHRoaXMubGlzdGVuU3RhdHVzU2VydmljZS5saXN0ZW4oaW52b2ljZSk7XG5cbiAgICB0aGlzLmxpc3RlblN0YXR1c1N1YnNjcmlwdGlvbiA9IHRoaXMubGlzdGVuU3RhdHVzU2VydmljZS5zdGF0dXNVcGRhdGVkJFxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzU2V0dGluZ3MpID0+IHtcblxuICAgICAgICAvLyB0aGlzLmNoZWNrU3RhdHVzU2VydmljZS5yZXNwb25zZSQuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgLy8gICBpZiAocmVzLmZpbmFsKSB7XG4gICAgICAgIC8vICAgICBpZiAoc3RhdHVzU2V0dGluZ3M/LnN0YXR1c1Jlc3BvbnNlLnN0YXR1cykge1xuICAgICAgICAvLyAgICAgICB0aGlzLmxvYWROZXdQYXltZW50QWNjb3VudERhdGEoc3RhdHVzU2V0dGluZ3M/LnN0YXR1c1Jlc3BvbnNlLnN0YXR1cywgcmVzKVxuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyAgIH1cbiAgICAgICAgLy8gfSk7XG4gICAgICAgIHZvaWQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgdGhpcy5jaGVja1N0YXR1c1NlcnZpY2UucmVzcG9uc2UkXG4gICAgICAgICkudGhlbigoY2hlY2tTdGF0dXNSZXNwb25zZSkgPT4ge1xuICAgICAgICAgIGlmIChjaGVja1N0YXR1c1Jlc3BvbnNlLmZpbmFsICYmIHN0YXR1c1NldHRpbmdzPy5zdGF0dXNSZXNwb25zZS5zdGF0dXMpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZE5ld1BheW1lbnRBY2NvdW50RGF0YShzdGF0dXNTZXR0aW5ncz8uc3RhdHVzUmVzcG9uc2Uuc3RhdHVzLCBjaGVja1N0YXR1c1Jlc3BvbnNlKVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8vIHRoaXMuY2hlY2tTdGF0dXNTZXJ2aWNlLnJlcXVlc3QoKTtcblxuICAgICAgICAvLyBjb25zdCBjaGVja1N0YXR1c1Jlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgIC8vICAgdGhpcy5jaGVja1N0YXR1c1NlcnZpY2UucmVzcG9uc2UkXG4gICAgICAgIC8vICk7XG4gICAgICB9KTtcbiAgICAvLyB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnJlcXVlc3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZE5ld1BheW1lbnRBY2NvdW50RGF0YShzdGF0dXM6IFN0YXR1cywgY2hlY2tTdGF0dXM6IENoZWNrU3RhdHVzUmVzcG9uc2UpOiB2b2lkIHtcbiAgICBpZiAoIXN0YXR1cy5pbnZvaWNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHZvaWQgdGhpcy5zYXZlZFBheW1lbnRBY2NvdW50Q2hhbmdlc1NlcnZpY2VcbiAgICAgIC5yZXF1ZXN0KHN0YXR1cy5pbnZvaWNlKVxuICAgICAgLnRoZW4oKGFjY291bnRDaGFuZ2VzOiBTYXZlZFBheW1lbnRBY2NvdW50Q2hhbmdlcykgPT4ge1xuICAgICAgICBpZiAoYWNjb3VudENoYW5nZXMpIHtcblxuICAgICAgICAgIHRoaXMuaGFuZGxlU2F2aW5nU3RhdHVzKHN0YXR1cywgYWNjb3VudENoYW5nZXMsIGNoZWNrU3RhdHVzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNhdmluZ1N0YXR1cyhcbiAgICBzdGF0dXM6IFN0YXR1cyxcbiAgICBhY2NvdW50OiBTYXZlZFBheW1lbnRBY2NvdW50Q2hhbmdlcyxcbiAgICBjaGVja1N0YXR1czogQ2hlY2tTdGF0dXNSZXNwb25zZVxuICApOiB2b2lkIHtcblxuICAgIC8vIGNvbnN0IHNhdmluZ0ZhaWxlZE9yQ2FuY2VsID0gc3RhdHVzPy50aXRsZUNsYXNzID09PSBUaXRsZUNsYXNzLmNhbmNlbCB8fCBzdGF0dXM/LnRpdGxlQ2xhc3MgPT09IFRpdGxlQ2xhc3MuY2FuY2VsVXNlcjtcbiAgICAvL1xuICAgIC8vIGNvbnN0IHNhdmluZ1N1Y2Nlc3NmdWwgPSBzdGF0dXM/LnRpdGxlQ2xhc3MgPT09IFRpdGxlQ2xhc3MuZG9uZSAmJiBhY2NvdW50O1xuXG5cbiAgICBpZiAodGhpcy5zYXZpbmdTdWNjZXNzZnVsKGFjY291bnQsIHN0YXR1cywgY2hlY2tTdGF0dXMpKSB7XG4gICAgICB0aGlzLnNhdmVQYXltZW50TWV0aG9kU3RhdHVzID0gU2F2ZVBheW1lbnRNZXRob2RTdGF0dXMuc3VjY2VzcztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zYXZlUGF5bWVudE1ldGhvZFN0YXR1cyA9IFNhdmVQYXltZW50TWV0aG9kU3RhdHVzLmZhaWxlZDtcbiAgICB9XG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLnN0b3BMaXN0ZW5pbmcoKTtcbiAgICB0aGlzLmxpc3RlblN0YXR1c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuXG4gICAgLy8gY29uc3QgcGF5bWVudEFjY291bnRXYXNTYXZlZCA9IHN0YXR1cz8udGl0bGVDbGFzcyA9PT0gVGl0bGVDbGFzcy5kb25lICYmIGFjY291bnQgIT09IG51bGw7XG4gICAgY29uc3QgaXNTYXZlUGF5bWVudE1ldGhvZCA9IHRydWU7XG5cbiAgICAvLyB0aGlzLnNhdmVQYXltZW50TWV0aG9kU3RhdHVzID0gdGhpcy5zYXZpbmdGYWlsZWRPckNhbmNlbChzdGF0dXMpID8gU2F2ZVBheW1lbnRNZXRob2RTdGF0dXMuc3VjY2VzcyA6IFNhdmVQYXltZW50TWV0aG9kU3RhdHVzLmZhaWxlZDtcbiAgICBjb25zb2xlLmxvZyhzdGF0dXMsIGlzU2F2ZVBheW1lbnRNZXRob2QsIHRoaXMuc2F2ZVBheW1lbnRNZXRob2RTdGF0dXMpXG4gICAgdGhpcy5uZXh0QWN0aW9uU2VydmljZS5lbWl0Rmxvd1VwZGF0ZXMoXG4gICAgICBuZXcgU3RhdHVzVXBkYXRlZEFjdGlvbihzdGF0dXMsIGlzU2F2ZVBheW1lbnRNZXRob2QsIHRoaXMuc2F2ZVBheW1lbnRNZXRob2RTdGF0dXMpXG4gICAgKTtcbiAgfVxufVxuIl19
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1wYXltZW50LW1ldGhvZC1zdGF0dXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvc3RhdHVzL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsY0FBYyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUVwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwREFBMEQsQ0FBQztBQUkvRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7O0FBTzVFLE1BQU0sT0FBTyw4QkFBOEI7SUFPekMsWUFDbUIsb0JBQTBDLEVBQzFDLG1CQUF3QyxFQUN4QyxpQ0FBb0UsRUFDcEUsaUJBQW9DLEVBQ3BDLGtCQUFzQztRQUp0Qyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFtQztRQUNwRSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFUakQsa0JBQWEsR0FBRyxLQUFLLENBQUM7SUFVM0IsQ0FBQztJQUNHLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBMkI7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsTUFB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QUcsdUJBQXVCLENBQUMsTUFBTSxDQUFDO1NBQy9EO1FBRUQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU1QyxNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUVqQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUNwQyxJQUFJLG1CQUFtQixDQUNyQixNQUFNLEVBQ04sbUJBQW1CLEVBQ25CLElBQUksQ0FBQyx1QkFBdUIsQ0FDN0IsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7MkhBcEpVLDhCQUE4QjsrSEFBOUIsOEJBQThCLGNBRjdCLE1BQU07MkZBRVAsOEJBQThCO2tCQUgxQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0YXR1c1JlcXVlc3RQYXJhbXMgfSBmcm9tICcuLi9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RhdHVzUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1c1VwZGF0ZWRBY3Rpb24gfSBmcm9tICcuLi8uLi9hY3Rpb25zL3N0YXR1cy11cGRhdGVkL3N0YXR1cy11cGRhdGVkLmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBMaXN0ZW5TdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi4vbGlzdGVuLXN0YXR1cy9saXN0ZW4tc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXMgfSBmcm9tICcuL2FwaS9zYXZlZC1wYXltZW50LWFjY291bnQtY2hhbmdlcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXNTZXJ2aWNlIH0gZnJvbSAnLi9hcGkvc2F2ZWQtcGF5bWVudC1hY2NvdW50LWNoYW5nZXMuc2VydmljZSc7XG5pbXBvcnQgeyBUaXRsZUNsYXNzIH0gZnJvbSAnLi4vdGl0bGUtY2xhc3MuZW51bSc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNFbnVtIH0gZnJvbSAnLi4vc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgU2F2ZVBheW1lbnRNZXRob2RTdGF0dXMgfSBmcm9tICcuL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzLmVudW0nO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi4vY2hlY2stc3RhdHVzL2NoZWNrLXN0YXR1cy5zZXJ2aWNlJztcbmltcG9ydCB7IENoZWNrU3RhdHVzUmVzcG9uc2UgfSBmcm9tICcuLi9jaGVjay1zdGF0dXMvcmVzcG9uc2UvY2hlY2stc3RhdHVzLXJlc3BvbnNlLmNsYXNzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNhdmVQYXltZW50TWV0aG9kU3RhdHVzU2VydmljZSB7XG4gIHByaXZhdGUgc2F2ZVBheW1lbnRNZXRob2RTdGF0dXM/OiBTYXZlUGF5bWVudE1ldGhvZFN0YXR1cztcbiAgcHJpdmF0ZSBsaXN0ZW5TdGF0dXNTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgc3RhdHVzQ2hlY2tlZCA9IGZhbHNlO1xuICBwcml2YXRlIGFjY291bnREYXRhPzogU2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXM7XG4gIHByaXZhdGUgc3RhdHVzPzogU3RhdHVzIHwgbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNSZXF1ZXN0U2VydmljZTogU3RhdHVzUmVxdWVzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaXN0ZW5TdGF0dXNTZXJ2aWNlOiBMaXN0ZW5TdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXNTZXJ2aWNlOiBTYXZlZFBheW1lbnRBY2NvdW50Q2hhbmdlc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjaGVja1N0YXR1c1NlcnZpY2U6IENoZWNrU3RhdHVzU2VydmljZVxuICApIHt9XG4gIHB1YmxpYyBhc3luYyBnZXRTdGF0dXMocGFyYW1zOiBTdGF0dXNSZXF1ZXN0UGFyYW1zKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICBpZiAoIXRoaXMuYWNjb3VudERhdGEgfHwgIXRoaXMuc3RhdHVzKSB7XG4gICAgICB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnNldFJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVxdWVzdCgpO1xuXG4gICAgICBjb25zdCBzdGF0dXNSZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnJlc3BvbnNlJFxuICAgICAgKTtcblxuICAgICAgdGhpcy5zdGF0dXMgPSBzdGF0dXNSZXNwb25zZS5zdGF0dXM7XG4gICAgICB0aGlzLnN0YXR1cy5pc1NhdmVQYXltZW50QWNjb3VudCA9IHRydWU7XG5cbiAgICAgIHRoaXMuYWNjb3VudERhdGEgPSBhd2FpdCB0aGlzLmdldFBheW1lbnRBY2NvdW50RGF0YShwYXJhbXMuaW52b2ljZSk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgdGhpcy5zYXZpbmdGYWlsZWRPckNhbmNlbCh0aGlzLnN0YXR1cykgfHxcbiAgICAgICh0aGlzLmFjY291bnREYXRhICYmIHRoaXMuc2F2aW5nU3VjY2Vzc2Z1bCh0aGlzLmFjY291bnREYXRhLCB0aGlzLnN0YXR1cykpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdGF0dXM7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnN0YXR1c0NoZWNrZWQpIHtcbiAgICAgIHRoaXMuY2hlY2tTdGF0dXMocGFyYW1zKTtcbiAgICAgIHRoaXMuc3RhdHVzLnN0YXR1c1N0YXRlID0gU3RhdHVzRW51bS5wcm9jZXNzaW5nO1xuICAgICAgcmV0dXJuIHRoaXMuc3RhdHVzO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdHVzQ2hlY2tlZCA9IGZhbHNlO1xuICAgIHRoaXMuc3RhdHVzLnN0YXR1c1N0YXRlID0gU3RhdHVzRW51bS5lcnJvcjtcbiAgICBjb25zdCBvdXRTdGF0dXMgPSB7IC4uLnRoaXMuc3RhdHVzIH07XG4gICAgdGhpcy5zdGF0dXMgPSBudWxsO1xuICAgIHJldHVybiBvdXRTdGF0dXM7XG4gIH1cblxuICBwcml2YXRlIGNoZWNrU3RhdHVzKHBhcmFtczogU3RhdHVzUmVxdWVzdFBhcmFtcyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zdGF0dXNDaGVja2VkKSB7XG4gICAgICB0aGlzLnN0YXR1c0NoZWNrZWQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLnN0YXJ0V2FpdGluZ1N0YXR1c1VwZGF0ZXMocGFyYW1zLmludm9pY2UpO1xuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVxdWVzdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzYXZpbmdGYWlsZWRPckNhbmNlbChzdGF0dXM/OiBTdGF0dXMgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHN0YXR1cz8udGl0bGVDbGFzcyA9PT0gVGl0bGVDbGFzcy5jYW5jZWwgfHxcbiAgICAgIHN0YXR1cz8udGl0bGVDbGFzcyA9PT0gVGl0bGVDbGFzcy5jYW5jZWxVc2VyXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2F2aW5nU3VjY2Vzc2Z1bChcbiAgICBhY2NvdW50RGF0YTogU2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXMgfCBudWxsLFxuICAgIHN0YXR1cz86IFN0YXR1cyB8IG51bGwsXG4gICAgY2hlY2tTdGF0dXM/OiBDaGVja1N0YXR1c1Jlc3BvbnNlXG4gICk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIShcbiAgICAgIHN0YXR1cz8udGl0bGVDbGFzcyA9PT0gVGl0bGVDbGFzcy5kb25lICYmXG4gICAgICAoYWNjb3VudERhdGE/Lm5ld19hY2NvdW50IHx8IGNoZWNrU3RhdHVzPy5pc1BheW1lbnRBY2NvdW50QXR0YWNoZWQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGF5bWVudEFjY291bnREYXRhKFxuICAgIGludm9pY2U6IG51bWJlclxuICApOiBQcm9taXNlPFNhdmVkUGF5bWVudEFjY291bnRDaGFuZ2VzPiB7XG4gICAgcmV0dXJuIHRoaXMuc2F2ZWRQYXltZW50QWNjb3VudENoYW5nZXNTZXJ2aWNlLnJlcXVlc3QoaW52b2ljZSk7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0V2FpdGluZ1N0YXR1c1VwZGF0ZXMoaW52b2ljZTogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGlzdGVuU3RhdHVzU3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLmxpc3RlblN0YXR1c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLnN0b3BMaXN0ZW5pbmcoKTtcbiAgICB9XG5cbiAgICB0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2UubGlzdGVuKGludm9pY2UpO1xuXG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTdWJzY3JpcHRpb24gPVxuICAgICAgdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLnN0YXR1c1VwZGF0ZWQkLnN1YnNjcmliZShcbiAgICAgICAgKHsgc3RhdHVzUmVzcG9uc2UgfSkgPT4ge1xuICAgICAgICAgIHRoaXMuc3RhdHVzID0gc3RhdHVzUmVzcG9uc2Uuc3RhdHVzO1xuXG4gICAgICAgICAgdm9pZCBmaXJzdFZhbHVlRnJvbSh0aGlzLmNoZWNrU3RhdHVzU2VydmljZS5yZXNwb25zZSQpLnRoZW4oXG4gICAgICAgICAgICAoY2hlY2tTdGF0dXNSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICBpZiAoY2hlY2tTdGF0dXNSZXNwb25zZS5maW5hbCAmJiBzdGF0dXNSZXNwb25zZS5zdGF0dXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWROZXdQYXltZW50QWNjb3VudERhdGEoXG4gICAgICAgICAgICAgICAgICBzdGF0dXNSZXNwb25zZS5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICBjaGVja1N0YXR1c1Jlc3BvbnNlXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGxvYWROZXdQYXltZW50QWNjb3VudERhdGEoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgY2hlY2tTdGF0dXM6IENoZWNrU3RhdHVzUmVzcG9uc2VcbiAgKTogdm9pZCB7XG4gICAgaWYgKCFzdGF0dXMuaW52b2ljZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2b2lkIHRoaXMuZ2V0UGF5bWVudEFjY291bnREYXRhKHN0YXR1cy5pbnZvaWNlKS50aGVuKFxuICAgICAgKGFjY291bnRDaGFuZ2VzOiBTYXZlZFBheW1lbnRBY2NvdW50Q2hhbmdlcykgPT4ge1xuICAgICAgICBpZiAoYWNjb3VudENoYW5nZXMpIHtcbiAgICAgICAgICB0aGlzLmFjY291bnREYXRhID0gYWNjb3VudENoYW5nZXM7XG4gICAgICAgICAgdGhpcy5oYW5kbGVTYXZpbmdTdGF0dXMoc3RhdHVzLCBhY2NvdW50Q2hhbmdlcywgY2hlY2tTdGF0dXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU2F2aW5nU3RhdHVzKFxuICAgIHN0YXR1czogU3RhdHVzLFxuICAgIGFjY291bnQ6IFNhdmVkUGF5bWVudEFjY291bnRDaGFuZ2VzLFxuICAgIGNoZWNrU3RhdHVzOiBDaGVja1N0YXR1c1Jlc3BvbnNlXG4gICk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNhdmluZ1N1Y2Nlc3NmdWwoYWNjb3VudCwgc3RhdHVzLCBjaGVja1N0YXR1cykpIHtcbiAgICAgIHRoaXMuc2F2ZVBheW1lbnRNZXRob2RTdGF0dXMgPSBTYXZlUGF5bWVudE1ldGhvZFN0YXR1cy5zdWNjZXNzO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNhdmVQYXltZW50TWV0aG9kU3RhdHVzID0gU2F2ZVBheW1lbnRNZXRob2RTdGF0dXMuZmFpbGVkO1xuICAgIH1cblxuICAgIHRoaXMubGlzdGVuU3RhdHVzU2VydmljZS5zdG9wTGlzdGVuaW5nKCk7XG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcblxuICAgIGNvbnN0IGlzU2F2ZVBheW1lbnRNZXRob2QgPSB0cnVlO1xuXG4gICAgdGhpcy5uZXh0QWN0aW9uU2VydmljZS5lbWl0Rmxvd1VwZGF0ZXMoXG4gICAgICBuZXcgU3RhdHVzVXBkYXRlZEFjdGlvbihcbiAgICAgICAgc3RhdHVzLFxuICAgICAgICBpc1NhdmVQYXltZW50TWV0aG9kLFxuICAgICAgICB0aGlzLnNhdmVQYXltZW50TWV0aG9kU3RhdHVzXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -20,11 +20,9 @@ export class StatusService {
20
20
  this.savePaymentMethodStatusService = savePaymentMethodStatusService;
21
21
  }
22
22
  async getStatus(params) {
23
- // todo: если params.savePaymentMethod, то надо выполнить логику для
24
- // account status
25
23
  const isSavePaymentMethodMode = !!params?.isSavePaymentAccount;
26
24
  if (isSavePaymentMethodMode) {
27
- return this.savePaymentMethodStatusService.getStatus(params); // todo: saveMethodStatus.getStatus();
25
+ return this.savePaymentMethodStatusService.getStatus(params);
28
26
  }
29
27
  this.statusRequestService.setRequestParams(params);
30
28
  this.startWaitingStatusUpdates(params.invoice);
@@ -35,7 +33,6 @@ export class StatusService {
35
33
  }
36
34
  async getStatusWithUrlSearchParams(url) {
37
35
  const searchParams = this.getRequestParamsFromUrl(url);
38
- console.log('searchParams', searchParams);
39
36
  if (!searchParams) {
40
37
  throw new Error('No required search params to get status');
41
38
  }
@@ -71,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
71
68
  providedIn: 'root',
72
69
  }]
73
70
  }], ctorParameters: function () { return [{ type: i1.UrlService }, { type: i2.StatusRequestService }, { type: i3.FinanceDetailsService }, { type: i4.ListenStatusService }, { type: i5.NextActionService }, { type: i6.SavePaymentMethodStatusService }]; } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRTVGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7OztBQU9sRixNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUNtQixVQUFzQixFQUN0QixvQkFBMEMsRUFDMUMscUJBQTRDLEVBQzVDLG1CQUF3QyxFQUN4QyxpQkFBb0MsRUFDcEMsOEJBQThEO1FBTDlELGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxtQ0FBOEIsR0FBOUIsOEJBQThCLENBQWdDO0lBQzlFLENBQUM7SUFFRyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQTJCO1FBQ2hELG9FQUFvRTtRQUNwRSxpQkFBaUI7UUFDakIsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLG9CQUFvQixDQUFDO1FBQy9ELElBQUksdUJBQXVCLEVBQUU7WUFDM0IsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUEsc0NBQXNDO1NBQ3BHO1FBRUQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRW5ELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXBDLE1BQU0sY0FBYyxHQUFHLE1BQU0sY0FBYyxDQUN6QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUNwQyxDQUFDO1FBRUYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFakUsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDO0lBQy9CLENBQUM7SUFFTSxLQUFLLENBQUMsNEJBQTRCLENBQUMsR0FBWTtRQUNwRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7U0FDNUQ7UUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVPLHVCQUF1QixDQUFDLEdBQVk7UUFDMUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUVoRCxJQUNFLDBCQUEwQixDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ3hFO1lBQ0EsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE1BQU0sTUFBTSxHQUF1QyxFQUFFLENBQUM7UUFDdEQscUJBQXFCLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQzlDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBd0MsQ0FBQztJQUNsRCxDQUFDO0lBRU8seUJBQXlCLENBQUMsT0FBZTtRQUMvQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjO2FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FDcEMsSUFBSSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsQ0FDeEMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7MEdBeEVVLGFBQWE7OEdBQWIsYUFBYSxjQUZaLE1BQU07MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgc2tpcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RhdHVzUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuL3N0YXR1cy1yZXF1ZXN0L3N0YXR1cy1yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzUmVxdWVzdFBhcmFtcyB9IGZyb20gJy4vc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXJlcXVlc3QtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMaXN0ZW5TdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi9saXN0ZW4tc3RhdHVzL2xpc3Rlbi1zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvblNlcnZpY2UgfSBmcm9tICcuLi9hY3Rpb25zL25leHQtYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzVXBkYXRlZEFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvc3RhdHVzLXVwZGF0ZWQvc3RhdHVzLXVwZGF0ZWQuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IFVybFNlcnZpY2UgfSBmcm9tICcuLi8uLi91cmwvdXJsLnNlcnZpY2UnO1xuaW1wb3J0IHsgcmVxdWlyZWRTdGF0dXNTZWFyY2hQYXJhbXMgfSBmcm9tICcuL3N0YXR1cy1yZXF1ZXN0L3JlcXVpcmVkLXN0YXR1cy1zZWFyY2gtcGFyYW1zLmNvbnN0JztcbmltcG9ydCB7IHN0YXR1c1NlYXJjaFBhcmFtc01hcCB9IGZyb20gJy4vc3RhdHVzLXJlcXVlc3Qvc3RhdHVzLXNlYXJjaC1wYXJhbXMubWFwJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzU2VydmljZSB9IGZyb20gJy4uL2ZpbmFuY2UtZGV0YWlscy9maW5hbmNlLWRldGFpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBTYXZlUGF5bWVudE1ldGhvZFN0YXR1c1NlcnZpY2UgfSBmcm9tICcuL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzL3NhdmUtcGF5bWVudC1tZXRob2Qtc3RhdHVzLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU3RhdHVzU2VydmljZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVybFNlcnZpY2U6IFVybFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNSZXF1ZXN0U2VydmljZTogU3RhdHVzUmVxdWVzdFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmaW5hbmNlRGV0YWlsc1NlcnZpY2U6IEZpbmFuY2VEZXRhaWxzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpc3RlblN0YXR1c1NlcnZpY2U6IExpc3RlblN0YXR1c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZXh0QWN0aW9uU2VydmljZTogTmV4dEFjdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzYXZlUGF5bWVudE1ldGhvZFN0YXR1c1NlcnZpY2U6IFNhdmVQYXltZW50TWV0aG9kU3RhdHVzU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGF0dXMocGFyYW1zOiBTdGF0dXNSZXF1ZXN0UGFyYW1zKTogUHJvbWlzZTxTdGF0dXMgfCBudWxsPiB7XG4gICAgLy8gdG9kbzog0LXRgdC70LggcGFyYW1zLnNhdmVQYXltZW50TWV0aG9kLCDRgtC+INC90LDQtNC+INCy0YvQv9C+0LvQvdC40YLRjCDQu9C+0LPQuNC60YMg0LTQu9GPXG4gICAgLy8gYWNjb3VudCBzdGF0dXNcbiAgICBjb25zdCBpc1NhdmVQYXltZW50TWV0aG9kTW9kZSA9ICEhcGFyYW1zPy5pc1NhdmVQYXltZW50QWNjb3VudDtcbiAgICBpZiAoaXNTYXZlUGF5bWVudE1ldGhvZE1vZGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnNhdmVQYXltZW50TWV0aG9kU3RhdHVzU2VydmljZS5nZXRTdGF0dXMocGFyYW1zKTsvLyB0b2RvOiBzYXZlTWV0aG9kU3RhdHVzLmdldFN0YXR1cygpO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2Uuc2V0UmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuXG4gICAgdGhpcy5zdGFydFdhaXRpbmdTdGF0dXNVcGRhdGVzKHBhcmFtcy5pbnZvaWNlKTtcblxuICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVxdWVzdCgpO1xuXG4gICAgY29uc3Qgc3RhdHVzUmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuc3RhdHVzUmVxdWVzdFNlcnZpY2UucmVzcG9uc2UkXG4gICAgKTtcblxuICAgIHRoaXMuZmluYW5jZURldGFpbHNTZXJ2aWNlLmVtaXRXaXRoU3RhdHVzKHN0YXR1c1Jlc3BvbnNlLnN0YXR1cyk7XG5cbiAgICByZXR1cm4gc3RhdHVzUmVzcG9uc2Uuc3RhdHVzO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFN0YXR1c1dpdGhVcmxTZWFyY2hQYXJhbXModXJsPzogc3RyaW5nKTogUHJvbWlzZTxTdGF0dXMgfCBudWxsPiB7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gdGhpcy5nZXRSZXF1ZXN0UGFyYW1zRnJvbVVybCh1cmwpO1xuICAgIGNvbnNvbGUubG9nKCdzZWFyY2hQYXJhbXMnLCBzZWFyY2hQYXJhbXMpO1xuICAgIGlmICghc2VhcmNoUGFyYW1zKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHJlcXVpcmVkIHNlYXJjaCBwYXJhbXMgdG8gZ2V0IHN0YXR1cycpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmdldFN0YXR1cyhzZWFyY2hQYXJhbXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRSZXF1ZXN0UGFyYW1zRnJvbVVybCh1cmw/OiBzdHJpbmcpOiBTdGF0dXNSZXF1ZXN0UGFyYW1zIHwgbnVsbCB7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gdGhpcy51cmxTZXJ2aWNlLmdldFNlYXJjaFBhcmFtcyh1cmwgPz8gJycpO1xuICAgIGNvbnN0IGtleXMgPSBuZXcgU2V0KE9iamVjdC5rZXlzKHNlYXJjaFBhcmFtcykpO1xuXG4gICAgaWYgKFxuICAgICAgcmVxdWlyZWRTdGF0dXNTZWFyY2hQYXJhbXMuc29tZSgocmVxdWlyZWRLZXkpID0+ICFrZXlzLmhhcyhyZXF1aXJlZEtleSkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIH0gPSB7fTtcbiAgICBzdGF0dXNTZWFyY2hQYXJhbXNNYXAuZm9yRWFjaCgoc2V0dGluZ3MsIGtleSkgPT4ge1xuICAgICAgcGFyYW1zW3NldHRpbmdzLmtleV0gPSBzZXR0aW5ncy5jb252ZXJ0ZXIoc2VhcmNoUGFyYW1zW2tleV0pO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHBhcmFtcyBhcyB1bmtub3duIGFzIFN0YXR1c1JlcXVlc3RQYXJhbXM7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0V2FpdGluZ1N0YXR1c1VwZGF0ZXMoaW52b2ljZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLmxpc3RlbihpbnZvaWNlKTtcblxuICAgIHRoaXMubGlzdGVuU3RhdHVzU2VydmljZS5zdGF0dXNVcGRhdGVkJFxuICAgICAgLnBpcGUoc2tpcCgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKHsgc3RhdHVzUmVzcG9uc2UgfSkgPT4ge1xuICAgICAgICB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5lbWl0V2l0aFN0YXR1cyhzdGF0dXNSZXNwb25zZS5zdGF0dXMpO1xuICAgICAgICB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmVtaXRGbG93VXBkYXRlcyhcbiAgICAgICAgICBuZXcgU3RhdHVzVXBkYXRlZEFjdGlvbihzdGF0dXNSZXNwb25zZSlcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBTTVDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRTVGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7OztBQU9sRixNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUNtQixVQUFzQixFQUN0QixvQkFBMEMsRUFDMUMscUJBQTRDLEVBQzVDLG1CQUF3QyxFQUN4QyxpQkFBb0MsRUFDcEMsOEJBQThEO1FBTDlELGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQywwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxtQ0FBOEIsR0FBOUIsOEJBQThCLENBQWdDO0lBQzlFLENBQUM7SUFFRyxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQTJCO1FBQ2hELE1BQU0sdUJBQXVCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQztRQUMvRCxJQUFJLHVCQUF1QixFQUFFO1lBQzNCLE9BQU8sSUFBSSxDQUFDLDhCQUE4QixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM5RDtRQUVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVuRCxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRS9DLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVwQyxNQUFNLGNBQWMsR0FBRyxNQUFNLGNBQWMsQ0FDekMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FDcEMsQ0FBQztRQUVGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWpFLE9BQU8sY0FBYyxDQUFDLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRU0sS0FBSyxDQUFDLDRCQUE0QixDQUFDLEdBQVk7UUFDcEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRXZELElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO1NBQzVEO1FBRUQsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyx1QkFBdUIsQ0FBQyxHQUFZO1FBQzFDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNoRSxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7UUFFaEQsSUFDRSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUN4RTtZQUNBLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLE1BQU0sR0FBdUMsRUFBRSxDQUFDO1FBQ3RELHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUM5QyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDL0QsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQXdDLENBQUM7SUFDbEQsQ0FBQztJQUVPLHlCQUF5QixDQUFDLE9BQWU7UUFDL0MsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYzthQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ2IsU0FBUyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQ3BDLElBQUksbUJBQW1CLENBQUMsY0FBYyxDQUFDLENBQ3hDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OzBHQXRFVSxhQUFhOzhHQUFiLGFBQWEsY0FGWixNQUFNOzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIHNraXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0YXR1c1JlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi9zdGF0dXMtcmVxdWVzdC9zdGF0dXMtcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1c1JlcXVlc3RQYXJhbXMgfSBmcm9tICcuL3N0YXR1cy1yZXF1ZXN0L3N0YXR1cy1yZXF1ZXN0LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTGlzdGVuU3RhdHVzU2VydmljZSB9IGZyb20gJy4vbGlzdGVuLXN0YXR1cy9saXN0ZW4tc3RhdHVzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9zdGF0dXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5leHRBY3Rpb25TZXJ2aWNlIH0gZnJvbSAnLi4vYWN0aW9ucy9uZXh0LWFjdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFN0YXR1c1VwZGF0ZWRBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb25zL3N0YXR1cy11cGRhdGVkL3N0YXR1cy11cGRhdGVkLmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBVcmxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXJsL3VybC5zZXJ2aWNlJztcbmltcG9ydCB7IHJlcXVpcmVkU3RhdHVzU2VhcmNoUGFyYW1zIH0gZnJvbSAnLi9zdGF0dXMtcmVxdWVzdC9yZXF1aXJlZC1zdGF0dXMtc2VhcmNoLXBhcmFtcy5jb25zdCc7XG5pbXBvcnQgeyBzdGF0dXNTZWFyY2hQYXJhbXNNYXAgfSBmcm9tICcuL3N0YXR1cy1yZXF1ZXN0L3N0YXR1cy1zZWFyY2gtcGFyYW1zLm1hcCc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlsc1NlcnZpY2UgfSBmcm9tICcuLi9maW5hbmNlLWRldGFpbHMvZmluYW5jZS1kZXRhaWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2F2ZVBheW1lbnRNZXRob2RTdGF0dXNTZXJ2aWNlIH0gZnJvbSAnLi9zYXZlLXBheW1lbnQtbWV0aG9kLXN0YXR1cy9zYXZlLXBheW1lbnQtbWV0aG9kLXN0YXR1cy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFN0YXR1c1NlcnZpY2Uge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxTZXJ2aWNlOiBVcmxTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RhdHVzUmVxdWVzdFNlcnZpY2U6IFN0YXR1c1JlcXVlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmluYW5jZURldGFpbHNTZXJ2aWNlOiBGaW5hbmNlRGV0YWlsc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsaXN0ZW5TdGF0dXNTZXJ2aWNlOiBMaXN0ZW5TdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2F2ZVBheW1lbnRNZXRob2RTdGF0dXNTZXJ2aWNlOiBTYXZlUGF5bWVudE1ldGhvZFN0YXR1c1NlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGF0dXMocGFyYW1zOiBTdGF0dXNSZXF1ZXN0UGFyYW1zKTogUHJvbWlzZTxTdGF0dXM+IHtcbiAgICBjb25zdCBpc1NhdmVQYXltZW50TWV0aG9kTW9kZSA9ICEhcGFyYW1zPy5pc1NhdmVQYXltZW50QWNjb3VudDtcbiAgICBpZiAoaXNTYXZlUGF5bWVudE1ldGhvZE1vZGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnNhdmVQYXltZW50TWV0aG9kU3RhdHVzU2VydmljZS5nZXRTdGF0dXMocGFyYW1zKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnNldFJlcXVlc3RQYXJhbXMocGFyYW1zKTtcblxuICAgIHRoaXMuc3RhcnRXYWl0aW5nU3RhdHVzVXBkYXRlcyhwYXJhbXMuaW52b2ljZSk7XG5cbiAgICB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnJlcXVlc3QoKTtcblxuICAgIGNvbnN0IHN0YXR1c1Jlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLnN0YXR1c1JlcXVlc3RTZXJ2aWNlLnJlc3BvbnNlJFxuICAgICk7XG5cbiAgICB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5lbWl0V2l0aFN0YXR1cyhzdGF0dXNSZXNwb25zZS5zdGF0dXMpO1xuXG4gICAgcmV0dXJuIHN0YXR1c1Jlc3BvbnNlLnN0YXR1cztcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBnZXRTdGF0dXNXaXRoVXJsU2VhcmNoUGFyYW1zKHVybD86IHN0cmluZyk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gdGhpcy5nZXRSZXF1ZXN0UGFyYW1zRnJvbVVybCh1cmwpO1xuXG4gICAgaWYgKCFzZWFyY2hQYXJhbXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcmVxdWlyZWQgc2VhcmNoIHBhcmFtcyB0byBnZXQgc3RhdHVzJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RhdHVzKHNlYXJjaFBhcmFtcyk7XG4gIH1cblxuICBwcml2YXRlIGdldFJlcXVlc3RQYXJhbXNGcm9tVXJsKHVybD86IHN0cmluZyk6IFN0YXR1c1JlcXVlc3RQYXJhbXMgfCBudWxsIHtcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSB0aGlzLnVybFNlcnZpY2UuZ2V0U2VhcmNoUGFyYW1zKHVybCA/PyAnJyk7XG4gICAgY29uc3Qga2V5cyA9IG5ldyBTZXQoT2JqZWN0LmtleXMoc2VhcmNoUGFyYW1zKSk7XG5cbiAgICBpZiAoXG4gICAgICByZXF1aXJlZFN0YXR1c1NlYXJjaFBhcmFtcy5zb21lKChyZXF1aXJlZEtleSkgPT4gIWtleXMuaGFzKHJlcXVpcmVkS2V5KSlcbiAgICApIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmFtczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfSA9IHt9O1xuICAgIHN0YXR1c1NlYXJjaFBhcmFtc01hcC5mb3JFYWNoKChzZXR0aW5ncywga2V5KSA9PiB7XG4gICAgICBwYXJhbXNbc2V0dGluZ3Mua2V5XSA9IHNldHRpbmdzLmNvbnZlcnRlcihzZWFyY2hQYXJhbXNba2V5XSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcGFyYW1zIGFzIHVua25vd24gYXMgU3RhdHVzUmVxdWVzdFBhcmFtcztcbiAgfVxuXG4gIHByaXZhdGUgc3RhcnRXYWl0aW5nU3RhdHVzVXBkYXRlcyhpbnZvaWNlOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblN0YXR1c1NlcnZpY2UubGlzdGVuKGludm9pY2UpO1xuXG4gICAgdGhpcy5saXN0ZW5TdGF0dXNTZXJ2aWNlLnN0YXR1c1VwZGF0ZWQkXG4gICAgICAucGlwZShza2lwKDEpKVxuICAgICAgLnN1YnNjcmliZSgoeyBzdGF0dXNSZXNwb25zZSB9KSA9PiB7XG4gICAgICAgIHRoaXMuZmluYW5jZURldGFpbHNTZXJ2aWNlLmVtaXRXaXRoU3RhdHVzKHN0YXR1c1Jlc3BvbnNlLnN0YXR1cyk7XG4gICAgICAgIHRoaXMubmV4dEFjdGlvblNlcnZpY2UuZW1pdEZsb3dVcGRhdGVzKFxuICAgICAgICAgIG5ldyBTdGF0dXNVcGRhdGVkQWN0aW9uKHN0YXR1c1Jlc3BvbnNlKVxuICAgICAgICApO1xuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1tZXRob2RzLXJlcXVlc3QtcGFyYW1zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQtbWV0aG9kcy9wYXltZW50LW1ldGhvZHMtcmVxdWVzdC1wYXJhbXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1hwc0Jvb2xlYW59IGZyb20gXCIuLi94cHMtYm9vbGVhbi5lbnVtXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bWVudE1ldGhvZHNSZXF1ZXN0UGFyYW1zIHtcbiAgYWNjZXNzX3Rva2VuOiBzdHJpbmc7XG4gIGNvdW50cnk6IHN0cmluZztcbiAgLy8gdG9wUGF5bWVudE1ldGhvZHNDb3VudDogWHBzQm9vbGVhbjtcbiAgc2F2ZV9wYXltZW50X2FjY291bnRfb25seT86IFhwc0Jvb2xlYW47XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1tZXRob2RzLXJlcXVlc3QtcGFyYW1zLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQtbWV0aG9kcy9wYXltZW50LW1ldGhvZHMtcmVxdWVzdC1wYXJhbXMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBYcHNCb29sZWFuIH0gZnJvbSAnLi4veHBzLWJvb2xlYW4uZW51bSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF5bWVudE1ldGhvZHNSZXF1ZXN0UGFyYW1zIHtcbiAgYWNjZXNzX3Rva2VuOiBzdHJpbmc7XG4gIGNvdW50cnk6IHN0cmluZztcbiAgc2F2ZV9wYXltZW50X2FjY291bnRfb25seT86IFhwc0Jvb2xlYW47XG59XG4iXX0=
@@ -28,7 +28,9 @@ export class PaymentMethodsService {
28
28
  const requestParams = {
29
29
  access_token: this.settingsService.token,
30
30
  country: this.countryService.getCountry(),
31
- save_payment_account_only: isSaveMethodMode ? "1" /* XpsBoolean.true */ : "0" /* XpsBoolean.false */
31
+ save_payment_account_only: isSaveMethodMode
32
+ ? "1" /* XpsBoolean.true */
33
+ : "0" /* XpsBoolean.false */,
32
34
  };
33
35
  const cacheKey = JSON.stringify(requestParams);
34
36
  if (!this.cache.has(cacheKey)) {
@@ -56,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
56
58
  type: Inject,
57
59
  args: [paymentMethodsResponseFactoryToken]
58
60
  }] }, { type: i1.SettingsService }, { type: i2.CountryService }, { type: i3.SecureApiClient }]; } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1tZXRob2RzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50LW1ldGhvZHMvcGF5bWVudC1tZXRob2RzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBQyxNQUFNLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxhQUFhLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXhDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQU9qRixPQUFPLEVBQWdDLGtDQUFrQyxHQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBTXBILE1BQU0sT0FBTyxxQkFBcUI7SUFLaEMsWUFFbUIsZUFBOEMsRUFDOUMsZUFBZ0MsRUFDaEMsY0FBOEIsRUFDOUIsU0FBMEI7UUFIMUIsb0JBQWUsR0FBZixlQUFlLENBQStCO1FBQzlDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFUNUIsYUFBUSxHQUFHLDBCQUEwQixDQUFDO1FBRXRDLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBMkMsQ0FBQztJQVF6RSxDQUFDO0lBRUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBMEI7UUFDN0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDdEQsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZTtRQUMxQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QyxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVPLEtBQUssQ0FBQyxPQUFPLENBQUMsZ0JBQTBCO1FBQzlDLE1BQU0sYUFBYSxHQUFnQztZQUNqRCxZQUFZLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLO1lBQ3hDLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRTtZQUN6Qyx5QkFBeUIsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDLDJCQUFpQixDQUFDLDJCQUFpQjtTQUNqRixDQUFDO1FBR0YsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUUvQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQ1osUUFBUSxFQUNSLGFBQWEsQ0FDWCxJQUFJLENBQUMsU0FBUztpQkFDWCxJQUFJLENBQ0gsSUFBSSxDQUFDLFFBQVEsRUFDYixJQUFJLGVBQWUsQ0FBQyxFQUFFLEdBQUcsYUFBYSxFQUFFLENBQUMsRUFDekM7Z0JBQ0UsT0FBTyxFQUFFLElBQUksV0FBVyxFQUFFLENBQUMsR0FBRyxDQUM1QixjQUFjLEVBQ2Qsa0RBQWtELENBQ25EO2dCQUNELFlBQVksRUFBRSxNQUFNO2FBQ3JCLENBQ0Y7aUJBQ0EsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FDbEUsQ0FDSixDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO2dCQUN2QixNQUFNLElBQUksYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7UUFFRCwwREFBMEQ7UUFDMUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDOztrSEE1RFUscUJBQXFCLGtCQU10QixrQ0FBa0M7c0hBTmpDLHFCQUFxQixjQUZwQixNQUFNOzJGQUVQLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLE1BQU07MkJBQUMsa0NBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwSGVhZGVyc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtsYXN0VmFsdWVGcm9tLCBtYXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtDb3VudHJ5U2VydmljZX0gZnJvbSAnLi4vY291bnRyeS9jb3VudHJ5LnNlcnZpY2UnO1xuaW1wb3J0IHtSZXNwb25zZUVycm9yfSBmcm9tICcuLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9yZXNwb25zZS1lcnJvci5jbGFzcyc7XG5pbXBvcnQge1NlY3VyZUFwaUNsaWVudH0gZnJvbSAnLi4vaHR0cC9zZWN1cmUtYXBpL3NlY3VyZS1hcGkuc2VydmljZSc7XG5pbXBvcnQge1NldHRpbmdzU2VydmljZX0gZnJvbSAnLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQge1BheW1lbnRNZXRob2R9IGZyb20gJy4vcGF5bWVudC1tZXRob2QuaW50ZXJmYWNlJztcbmltcG9ydCB7UGF5bWVudE1ldGhvZHNSZXF1ZXN0UGFyYW1zfSBmcm9tICcuL3BheW1lbnQtbWV0aG9kcy1yZXF1ZXN0LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtQYXltZW50TWV0aG9kc1Jlc3BvbnNlfSBmcm9tICcuL3BheW1lbnQtbWV0aG9kcy1yZXNwb25zZS5jbGFzcyc7XG5pbXBvcnQge1BheW1lbnRNZXRob2RzUmVzcG9uc2VBcGl9IGZyb20gJy4vcGF5bWVudC1tZXRob2RzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQge1BheW1lbnRNZXRob2RzUmVzcG9uc2VGYWN0b3J5LCBwYXltZW50TWV0aG9kc1Jlc3BvbnNlRmFjdG9yeVRva2VuLH0gZnJvbSAnLi9wYXltZW50LW1ldGhvZHMtcmVzcG9uc2UudG9rZW4nO1xuaW1wb3J0IHtYcHNCb29sZWFufSBmcm9tIFwiLi4veHBzLWJvb2xlYW4uZW51bVwiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudE1ldGhvZHNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlSb3V0ZSA9ICdyZW1haW5lZF9wYXltZW50X21ldGhvZHMnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2FjaGUgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxQYXltZW50TWV0aG9kc1Jlc3BvbnNlPj4oKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChwYXltZW50TWV0aG9kc1Jlc3BvbnNlRmFjdG9yeVRva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2VGYWN0b3J5OiBQYXltZW50TWV0aG9kc1Jlc3BvbnNlRmFjdG9yeSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY291bnRyeVNlcnZpY2U6IENvdW50cnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJlQXBpOiBTZWN1cmVBcGlDbGllbnRcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBnZXRMaXN0KGlzU2F2ZU1ldGhvZE1vZGU/OiBib29sZWFuKTogUHJvbWlzZTxQYXltZW50TWV0aG9kW10+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdChpc1NhdmVNZXRob2RNb2RlKTtcbiAgICByZXR1cm4gcmVzcG9uc2UucmVtYWluZWQ7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0UXVpY2tNZXRob2RzKCk6IFByb21pc2U8UGF5bWVudE1ldGhvZFtdPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3QoKTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZXNwZWNpYWw7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlcXVlc3QoaXNTYXZlTWV0aG9kTW9kZT86IGJvb2xlYW4pOiBQcm9taXNlPFBheW1lbnRNZXRob2RzUmVzcG9uc2U+IHtcbiAgICBjb25zdCByZXF1ZXN0UGFyYW1zOiBQYXltZW50TWV0aG9kc1JlcXVlc3RQYXJhbXMgPSB7XG4gICAgICBhY2Nlc3NfdG9rZW46IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnRva2VuLFxuICAgICAgY291bnRyeTogdGhpcy5jb3VudHJ5U2VydmljZS5nZXRDb3VudHJ5KCksXG4gICAgICBzYXZlX3BheW1lbnRfYWNjb3VudF9vbmx5OiBpc1NhdmVNZXRob2RNb2RlID8gWHBzQm9vbGVhbi50cnVlIDogWHBzQm9vbGVhbi5mYWxzZVxuICAgIH07XG5cblxuICAgIGNvbnN0IGNhY2hlS2V5ID0gSlNPTi5zdHJpbmdpZnkocmVxdWVzdFBhcmFtcyk7XG5cbiAgICBpZiAoIXRoaXMuY2FjaGUuaGFzKGNhY2hlS2V5KSkge1xuICAgICAgdGhpcy5jYWNoZS5zZXQoXG4gICAgICAgIGNhY2hlS2V5LFxuICAgICAgICBsYXN0VmFsdWVGcm9tKFxuICAgICAgICAgIHRoaXMuc2VjdXJlQXBpXG4gICAgICAgICAgICAucG9zdDxQYXltZW50TWV0aG9kc1Jlc3BvbnNlQXBpPihcbiAgICAgICAgICAgICAgdGhpcy5hcGlSb3V0ZSxcbiAgICAgICAgICAgICAgbmV3IFVSTFNlYXJjaFBhcmFtcyh7IC4uLnJlcXVlc3RQYXJhbXMgfSksXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoKS5zZXQoXG4gICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJyxcbiAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9dXRmLTgnXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgIG1hcCgocmVzcG9uc2UpID0+IHRoaXMucmVzcG9uc2VGYWN0b3J5KHJlc3BvbnNlLnBheW1lbnRfbWV0aG9kcykpXG4gICAgICAgICAgICApXG4gICAgICAgICkuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgICAgICAgIHRocm93IG5ldyBSZXNwb25zZUVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGNhY2hlIHdpdGgga2V5XG4gICAgcmV0dXJuIHRoaXMuY2FjaGUuZ2V0KGNhY2hlS2V5KTtcbiAgfVxufVxuIl19
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC1tZXRob2RzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50LW1ldGhvZHMvcGF5bWVudC1tZXRob2RzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQU9uRixPQUFPLEVBRUwsa0NBQWtDLEdBQ25DLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBTTFDLE1BQU0sT0FBTyxxQkFBcUI7SUFLaEMsWUFFbUIsZUFBOEMsRUFDOUMsZUFBZ0MsRUFDaEMsY0FBOEIsRUFDOUIsU0FBMEI7UUFIMUIsb0JBQWUsR0FBZixlQUFlLENBQStCO1FBQzlDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBaUI7UUFUNUIsYUFBUSxHQUFHLDBCQUEwQixDQUFDO1FBRXRDLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBMkMsQ0FBQztJQVF6RSxDQUFDO0lBRUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxnQkFBMEI7UUFDN0MsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDdEQsT0FBTyxRQUFRLENBQUMsUUFBUSxDQUFDO0lBQzNCLENBQUM7SUFFTSxLQUFLLENBQUMsZUFBZTtRQUMxQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QyxPQUFPLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVPLEtBQUssQ0FBQyxPQUFPLENBQ25CLGdCQUEwQjtRQUUxQixNQUFNLGFBQWEsR0FBZ0M7WUFDakQsWUFBWSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSztZQUN4QyxPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUU7WUFDekMseUJBQXlCLEVBQUUsZ0JBQWdCO2dCQUN6QyxDQUFDO2dCQUNELENBQUMsMkJBQWlCO1NBQ3JCLENBQUM7UUFDRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRS9DLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FDWixRQUFRLEVBQ1IsYUFBYSxDQUNYLElBQUksQ0FBQyxTQUFTO2lCQUNYLElBQUksQ0FDSCxJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksZUFBZSxDQUFDLEVBQUUsR0FBRyxhQUFhLEVBQUUsQ0FBQyxFQUN6QztnQkFDRSxPQUFPLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQzVCLGNBQWMsRUFDZCxrREFBa0QsQ0FDbkQ7Z0JBQ0QsWUFBWSxFQUFFLE1BQU07YUFDckIsQ0FDRjtpQkFDQSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUNsRSxDQUNKLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUU7Z0JBQ3ZCLE1BQU0sSUFBSSxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxDQUNILENBQUM7U0FDSDtRQUVELDBEQUEwRDtRQUMxRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7O2tIQTlEVSxxQkFBcUIsa0JBTXRCLGtDQUFrQztzSEFOakMscUJBQXFCLGNBRnBCLE1BQU07MkZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBT0ksTUFBTTsyQkFBQyxrQ0FBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb3VudHJ5U2VydmljZSB9IGZyb20gJy4uL2NvdW50cnkvY291bnRyeS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc3BvbnNlRXJyb3IgfSBmcm9tICcuLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9yZXNwb25zZS1lcnJvci5jbGFzcyc7XG5pbXBvcnQgeyBTZWN1cmVBcGlDbGllbnQgfSBmcm9tICcuLi9odHRwL3NlY3VyZS1hcGkvc2VjdXJlLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vcGF5bWVudC1tZXRob2QuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBheW1lbnRNZXRob2RzUmVxdWVzdFBhcmFtcyB9IGZyb20gJy4vcGF5bWVudC1tZXRob2RzLXJlcXVlc3QtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBQYXltZW50TWV0aG9kc1Jlc3BvbnNlIH0gZnJvbSAnLi9wYXltZW50LW1ldGhvZHMtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZHNSZXNwb25zZUFwaSB9IGZyb20gJy4vcGF5bWVudC1tZXRob2RzLXJlc3BvbnNlLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBQYXltZW50TWV0aG9kc1Jlc3BvbnNlRmFjdG9yeSxcbiAgcGF5bWVudE1ldGhvZHNSZXNwb25zZUZhY3RvcnlUb2tlbixcbn0gZnJvbSAnLi9wYXltZW50LW1ldGhvZHMtcmVzcG9uc2UudG9rZW4nO1xuaW1wb3J0IHsgWHBzQm9vbGVhbiB9IGZyb20gJy4uL3hwcy1ib29sZWFuLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUGF5bWVudE1ldGhvZHNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhcGlSb3V0ZSA9ICdyZW1haW5lZF9wYXltZW50X21ldGhvZHMnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY2FjaGUgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxQYXltZW50TWV0aG9kc1Jlc3BvbnNlPj4oKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChwYXltZW50TWV0aG9kc1Jlc3BvbnNlRmFjdG9yeVRva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2VGYWN0b3J5OiBQYXltZW50TWV0aG9kc1Jlc3BvbnNlRmFjdG9yeSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY291bnRyeVNlcnZpY2U6IENvdW50cnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VjdXJlQXBpOiBTZWN1cmVBcGlDbGllbnRcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBnZXRMaXN0KGlzU2F2ZU1ldGhvZE1vZGU/OiBib29sZWFuKTogUHJvbWlzZTxQYXltZW50TWV0aG9kW10+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMucmVxdWVzdChpc1NhdmVNZXRob2RNb2RlKTtcbiAgICByZXR1cm4gcmVzcG9uc2UucmVtYWluZWQ7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0UXVpY2tNZXRob2RzKCk6IFByb21pc2U8UGF5bWVudE1ldGhvZFtdPiB7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLnJlcXVlc3QoKTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZXNwZWNpYWw7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlcXVlc3QoXG4gICAgaXNTYXZlTWV0aG9kTW9kZT86IGJvb2xlYW5cbiAgKTogUHJvbWlzZTxQYXltZW50TWV0aG9kc1Jlc3BvbnNlPiB7XG4gICAgY29uc3QgcmVxdWVzdFBhcmFtczogUGF5bWVudE1ldGhvZHNSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgYWNjZXNzX3Rva2VuOiB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbixcbiAgICAgIGNvdW50cnk6IHRoaXMuY291bnRyeVNlcnZpY2UuZ2V0Q291bnRyeSgpLFxuICAgICAgc2F2ZV9wYXltZW50X2FjY291bnRfb25seTogaXNTYXZlTWV0aG9kTW9kZVxuICAgICAgICA/IFhwc0Jvb2xlYW4udHJ1ZVxuICAgICAgICA6IFhwc0Jvb2xlYW4uZmFsc2UsXG4gICAgfTtcbiAgICBjb25zdCBjYWNoZUtleSA9IEpTT04uc3RyaW5naWZ5KHJlcXVlc3RQYXJhbXMpO1xuXG4gICAgaWYgKCF0aGlzLmNhY2hlLmhhcyhjYWNoZUtleSkpIHtcbiAgICAgIHRoaXMuY2FjaGUuc2V0KFxuICAgICAgICBjYWNoZUtleSxcbiAgICAgICAgbGFzdFZhbHVlRnJvbShcbiAgICAgICAgICB0aGlzLnNlY3VyZUFwaVxuICAgICAgICAgICAgLnBvc3Q8UGF5bWVudE1ldGhvZHNSZXNwb25zZUFwaT4oXG4gICAgICAgICAgICAgIHRoaXMuYXBpUm91dGUsXG4gICAgICAgICAgICAgIG5ldyBVUkxTZWFyY2hQYXJhbXMoeyAuLi5yZXF1ZXN0UGFyYW1zIH0pLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKCkuc2V0KFxuICAgICAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZScsXG4gICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PXV0Zi04J1xuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB0aGlzLnJlc3BvbnNlRmFjdG9yeShyZXNwb25zZS5wYXltZW50X21ldGhvZHMpKVxuICAgICAgICAgICAgKVxuICAgICAgICApLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgICB0aHJvdyBuZXcgUmVzcG9uc2VFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBjYWNoZSB3aXRoIGtleVxuICAgIHJldHVybiB0aGlzLmNhY2hlLmdldChjYWNoZUtleSk7XG4gIH1cbn1cbiJdfQ==
@@ -109,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImpor
109
109
  providedIn: 'root',
110
110
  }]
111
111
  }], ctorParameters: function () { return [{ type: i1.SettingsService }, { type: i2.CountryService }, { type: i3.PaymentMethodsService }, { type: i4.SavedMethodsService }, { type: i5.UserBalanceService }, { type: i6.PaymentConfigService }, { type: i7.PaymentService }, { type: i8.DeviceFingerPrintService }, { type: i9.FinanceDetailsService }, { type: i10.LegalService }, { type: i11.StatusService }, { type: i12.NextActionService }, { type: i13.CreditCardService }, { type: i14.CreditCardStateService }, { type: i15.FormMessagesService }]; } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1saWJyYXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS1saWJyYXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQW1CM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0I1RSxNQUFNLE9BQU8sa0JBQWtCO0lBYTdCLFlBQ21CLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLHFCQUE0QyxFQUM1QyxtQkFBd0MsRUFDeEMsa0JBQXNDLEVBQ3RDLG9CQUEwQyxFQUMxQyxjQUE4QixFQUM5Qix3QkFBa0QsRUFDbEQscUJBQTRDLEVBQzVDLFlBQTBCLEVBQzFCLGFBQTRCLEVBQzVCLGlCQUFvQyxFQUNwQyxpQkFBb0MsRUFDcEMsc0JBQThDLEVBQzlDLG1CQUF3QztRQWR4QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsMkJBQXNC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Q3ZELENBQUM7OytHQTVHVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZqQixNQUFNOzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbml0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4vY29yZS9zZXR0aW5ncy9jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBDb3VudHJ5U2VydmljZSB9IGZyb20gJy4vY29yZS9jb3VudHJ5L2NvdW50cnkuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50TWV0aG9kc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC1tZXRob2RzL3BheW1lbnQtbWV0aG9kcy5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRNZXRob2QgfSBmcm9tICcuL2NvcmUvcGF5bWVudC1tZXRob2RzL3BheW1lbnQtbWV0aG9kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTYXZlZE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3NhdmVkLW1ldGhvZHMvc2F2ZWQtbWV0aG9kcy5zZXJ2aWNlJztcbmltcG9ydCB7IFNhdmVkTWV0aG9kIH0gZnJvbSAnLi9jb3JlL3NhdmVkLW1ldGhvZHMvc2F2ZWQtbWV0aG9kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVc2VyQmFsYW5jZVJlc3BvbnNlIH0gZnJvbSAnLi9jb3JlL3VzZXItYmFsYW5jZS91c2VyLWJhbGFuY2UtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgVXNlckJhbGFuY2VTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3VzZXItYmFsYW5jZS91c2VyLWJhbGFuY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50Q29uZmlnIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcGF5bWVudC1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnQgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9wYXltZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vY29yZS9wYXltZW50L2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEZXZpY2VGaW5nZXJQcmludFNlcnZpY2UgfSBmcm9tICcuL2NvcmUvZGV2aWNlLWZpbmdlci1wcmludC9kZXZpY2UtZmluZ2VyLXByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTGVnYWxTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2xlZ2FsL2xlZ2FsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGVnYWxDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2NvcmUvbGVnYWwvbGVnYWwuY29tcG9uZW50LmNvbmZpZyc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlsc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9maW5hbmNlLWRldGFpbHMvZmluYW5jZS1kZXRhaWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgbWFza3NGdW5jdGlvbnNNYXAgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9mb3JtL21hc2tzLWZ1bmN0aW9ucy5tYXAnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvc3RhdHVzL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU2VydmljZSB9IGZyb20gJy4vY29yZS9jcmVkaXQtY2FyZC9jcmVkaXQtY2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IENyZWRpdENhcmRUeXBlcyB9IGZyb20gJy4vY29yZS9jcmVkaXQtY2FyZC9jcmVkaXQtY2FyZC10eXBlcy5lbnVtJztcbmltcG9ydCB7IENyZWRpdENhcmQgfSBmcm9tICcuL2NvcmUvY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElucHV0RXZlbnROYW1lIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZm9ybS9pbnB1dC1ldmVudC5lbnVtJztcbmltcG9ydCB7IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jcmVkaXQtY2FyZC1zdGF0ZS9jcmVkaXQtY2FyZC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENyZWRpdENhcmRTdGF0ZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2NyZWRpdC1jYXJkLXN0YXRlL2NyZWRpdC1jYXJkLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtU3RhdGUgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9mb3JtL2Zvcm0tc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4vY29yZS9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhbGFuY2UgfSBmcm9tICcuL2NvcmUvc2V0dGluZ3MvYmFsYW5jZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybU1lc3NhZ2VzU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Zvcm0tbWVzc2FnZXMvZm9ybS1tZXNzYWdlcy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENvcmVMaWJyYXJ5U2VydmljZSB7XG4gIHB1YmxpYyBwYXltZW50TWV0aG9kcyA9IHtcbiAgICBnZXRMaXN0OiBhc3luYyAoaXNTYXZlTWV0aG9kTW9kZT86IGJvb2xlYW4pOiBQcm9taXNlPFBheW1lbnRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHNTZXJ2aWNlLmdldExpc3QoaXNTYXZlTWV0aG9kTW9kZSksXG5cbiAgICBnZXRRdWlja01ldGhvZHM6IGFzeW5jICgpOiBQcm9taXNlPFBheW1lbnRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHNTZXJ2aWNlLmdldFF1aWNrTWV0aG9kcygpLFxuICAgIGdldFNhdmVkTWV0aG9kczogYXN5bmMgKCk6IFByb21pc2U8U2F2ZWRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMuc2F2ZWRNZXRob2RzU2VydmljZS5nZXRMaXN0KCksXG4gICAgZ2V0VXNlckJhbGFuY2U6IGFzeW5jICgpOiBQcm9taXNlPFVzZXJCYWxhbmNlUmVzcG9uc2U+ID0+XG4gICAgICB0aGlzLnVzZXJCYWxhbmNlU2VydmljZS5nZXRVc2VyQmFsYW5jZSgpLFxuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY291bnRyeVNlcnZpY2U6IENvdW50cnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudE1ldGhvZHNTZXJ2aWNlOiBQYXltZW50TWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzYXZlZE1ldGhvZHNTZXJ2aWNlOiBTYXZlZE1ldGhvZHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJhbGFuY2VTZXJ2aWNlOiBVc2VyQmFsYW5jZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50Q29uZmlnU2VydmljZTogUGF5bWVudENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50U2VydmljZTogUGF5bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXZpY2VGaW5nZXJQcmludFNlcnZpY2U6IERldmljZUZpbmdlclByaW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbmFuY2VEZXRhaWxzU2VydmljZTogRmluYW5jZURldGFpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGVnYWxTZXJ2aWNlOiBMZWdhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNTZXJ2aWNlOiBTdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlZGl0Q2FyZFNlcnZpY2U6IENyZWRpdENhcmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlZGl0Q2FyZFN0YXRlU2VydmljZTogQ3JlZGl0Q2FyZFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1NZXNzYWdlc1NlcnZpY2U6IEZvcm1NZXNzYWdlc1NlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBpbml0KGNvbmZpZ3VyYXRpb246IEluaXRDb25maWd1cmF0aW9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5zZXR0aW5nc1NlcnZpY2UuaW5pdChjb25maWd1cmF0aW9uKTtcbiAgICB0aGlzLmRldmljZUZpbmdlclByaW50U2VydmljZS5pbml0KCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0U3RhdHVzKHVybD86IHN0cmluZyk6IFByb21pc2U8U3RhdHVzIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnN0YXR1c1NlcnZpY2UuZ2V0U3RhdHVzV2l0aFVybFNlYXJjaFBhcmFtcyh1cmwpO1xuICB9XG5cbiAgcHVibGljIHNldENvdW50cnkoY291bnRyeTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb3VudHJ5U2VydmljZS5zZXRDb3VudHJ5KGNvdW50cnkpO1xuICB9XG5cbiAgcHVibGljIGdldENvdW50cnkoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb3VudHJ5U2VydmljZS5nZXRDb3VudHJ5KCk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlUGF5bWVudChjb25maWc6IFBheW1lbnRDb25maWcpOiBQYXltZW50IHtcbiAgICBjb25zdCBlbnJpY2hlZENvbmZpZyA9IHRoaXMucGF5bWVudENvbmZpZ1NlcnZpY2UuZW5yaWNoKGNvbmZpZyk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaW5pdGlhbGl6ZTogYXN5bmMgKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5pbml0aWFsaXplKGVucmljaGVkQ29uZmlnKSxcbiAgICAgIHN1Ym1pdDogYXN5bmMgKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5zdWJtaXQoKSxcbiAgICAgIGdldEZpZWxkczogKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRGaWVsZHMoKSxcbiAgICAgIHZhbGlkYXRlOiBhc3luYyAoZmllbGQ6IEZpZWxkKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLnZhbGlkYXRlKGZpZWxkKSxcbiAgICAgIGdldEZpbmFuY2VEZXRhaWxzOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKCksXG4gICAgICBydW5UaHJlZURzOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLnJ1blRocmVlRHMoKSxcbiAgICAgIGdldFN0YXR1czogYXN5bmMgKCkgPT4gdGhpcy5wYXltZW50U2VydmljZS5nZXRTdGF0dXMoKSxcbiAgICAgIGZpbmFuY2VEZXRhaWxzVXBkYXRlcyQ6IHRoaXMuZmluYW5jZURldGFpbHNTZXJ2aWNlLmRhdGEkLFxuICAgICAgZm9ybToge1xuICAgICAgICBmaWVsZHNTdGF0dXMkOiB0aGlzLnBheW1lbnRTZXJ2aWNlLmZvcm1GaWVsZHNTdGF0dXMkLFxuICAgICAgICBnZXRDb250cm9sQ29uZmlnOiAoZmllbGQ6IEZpZWxkKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0RmllbGRDb25maWcoZmllbGQpLFxuICAgICAgICBjaGFuZ2VGaWVsZFZhbHVlOiAobmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuY2hhbmdlRmllbGRWYWx1ZShuYW1lLCB2YWx1ZSksXG4gICAgICAgIGNoYW5nZUZpZWxkU3RhdGU6IChuYW1lOiBzdHJpbmcsIHN0YXRlOiBJbnB1dEV2ZW50TmFtZSkgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLmNoYW5nZUZpZWxkU3RhdGUobmFtZSwgc3RhdGUpLFxuICAgICAgICB1cGRhdGVGaWVsZEZvcm1TdGF0ZTogKGZpZWxkTmFtZTogc3RyaW5nLCBmb3JtU3RhdGU6IEZvcm1TdGF0ZSkgPT5cbiAgICAgICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlLnVwZGF0ZUZpZWxkRm9ybVN0YXRlKGZpZWxkTmFtZSwgZm9ybVN0YXRlKSxcbiAgICAgICAgZm9ybU1lc3NhZ2VzJDogdGhpcy5mb3JtTWVzc2FnZXNTZXJ2aWNlLmRhdGEkLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldENyZWRpdENhcmRTZXJ2aWNlKCk6IENyZWRpdENhcmQge1xuICAgIHJldHVybiB7XG4gICAgICBnZXRUeXBlQnlOdW1iZXI6IChjYXJkTnVtYmVyOiBzdHJpbmcpID0+XG4gICAgICAgIHRoaXMuY3JlZGl0Q2FyZFNlcnZpY2UuZ2V0VHlwZUJ5TnVtYmVyKGNhcmROdW1iZXIpLFxuICAgICAgZ2V0Q3JlZGl0Q2FyZFNldHRpbmdzOiAoY2FyZFR5cGU6IENyZWRpdENhcmRUeXBlcykgPT5cbiAgICAgICAgdGhpcy5jcmVkaXRDYXJkU2VydmljZS5nZXRDcmVkaXRDYXJkU2V0dGluZ3MoY2FyZFR5cGUpLFxuICAgICAgY2FyZFR5cGVVcGRhdGVzJDogdGhpcy5jcmVkaXRDYXJkU3RhdGVTZXJ2aWNlLmRhdGEkLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZsb3dVcGRhdGVzJCgpOiBPYnNlcnZhYmxlPE5leHRBY3Rpb24+IHtcbiAgICByZXR1cm4gdGhpcy5uZXh0QWN0aW9uU2VydmljZS5mbG93VXBkYXRlcyQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZpbmFuY2VEZXRhaWxzVXBkYXRlcyQoKTogT2JzZXJ2YWJsZTxGaW5hbmNlRGV0YWlscz4ge1xuICAgIHJldHVybiB0aGlzLmZpbmFuY2VEZXRhaWxzU2VydmljZS5kYXRhJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FyZFR5cGVVcGRhdGVzJCgpOiBPYnNlcnZhYmxlPENyZWRpdENhcmRTdGF0ZT4ge1xuICAgIHJldHVybiB0aGlzLmNyZWRpdENhcmRTdGF0ZVNlcnZpY2UuZGF0YSQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGVnYWxDb21wb25lbnRDb25maWcoKTogTGVnYWxDb21wb25lbnRDb25maWcge1xuICAgIHJldHVybiB0aGlzLmxlZ2FsU2VydmljZS5nZXRMZWdhbENvbXBvbmVudENvbmZpZygpO1xuICB9XG5cbiAgcHVibGljIGdldEZpZWxkTWFzayhmaWVsZDogRmllbGQpOiB1bmRlZmluZWQgfCAoKCkgPT4gc3RyaW5nKSB7XG4gICAgY29uc3Qgc2FuaXRpemVkTmFtZSA9IGZpZWxkLm5hbWUucmVwbGFjZSgvXmZpeF8vaSwgJycpO1xuICAgIHJldHVybiBtYXNrc0Z1bmN0aW9uc01hcFtzYW5pdGl6ZWROYW1lXTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRVc2VyQmFsYW5jZVZhbHVlKCk6IEJhbGFuY2UgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy51c2VyQmFsYW5jZVNlcnZpY2UuZ2V0VXNlckJhbGFuY2VWYWx1ZSgpO1xuICB9XG59XG4iXX0=
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1saWJyYXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS1saWJyYXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQW1CM0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0I1RSxNQUFNLE9BQU8sa0JBQWtCO0lBYTdCLFlBQ21CLGVBQWdDLEVBQ2hDLGNBQThCLEVBQzlCLHFCQUE0QyxFQUM1QyxtQkFBd0MsRUFDeEMsa0JBQXNDLEVBQ3RDLG9CQUEwQyxFQUMxQyxjQUE4QixFQUM5Qix3QkFBa0QsRUFDbEQscUJBQTRDLEVBQzVDLFlBQTBCLEVBQzFCLGFBQTRCLEVBQzVCLGlCQUFvQyxFQUNwQyxpQkFBb0MsRUFDcEMsc0JBQThDLEVBQzlDLG1CQUF3QztRQWR4QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4Qyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBMEI7UUFDbEQsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsMkJBQXNC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Q3ZELENBQUM7OytHQTVHVSxrQkFBa0I7bUhBQWxCLGtCQUFrQixjQUZqQixNQUFNOzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbml0Q29uZmlndXJhdGlvbiB9IGZyb20gJy4vY29yZS9zZXR0aW5ncy9jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBDb3VudHJ5U2VydmljZSB9IGZyb20gJy4vY29yZS9jb3VudHJ5L2NvdW50cnkuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50TWV0aG9kc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC1tZXRob2RzL3BheW1lbnQtbWV0aG9kcy5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnRNZXRob2QgfSBmcm9tICcuL2NvcmUvcGF5bWVudC1tZXRob2RzL3BheW1lbnQtbWV0aG9kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTYXZlZE1ldGhvZHNTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3NhdmVkLW1ldGhvZHMvc2F2ZWQtbWV0aG9kcy5zZXJ2aWNlJztcbmltcG9ydCB7IFNhdmVkTWV0aG9kIH0gZnJvbSAnLi9jb3JlL3NhdmVkLW1ldGhvZHMvc2F2ZWQtbWV0aG9kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVc2VyQmFsYW5jZVJlc3BvbnNlIH0gZnJvbSAnLi9jb3JlL3VzZXItYmFsYW5jZS91c2VyLWJhbGFuY2UtcmVzcG9uc2UuY2xhc3MnO1xuaW1wb3J0IHsgVXNlckJhbGFuY2VTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3VzZXItYmFsYW5jZS91c2VyLWJhbGFuY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBQYXltZW50Q29uZmlnIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcGF5bWVudC1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IFBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFBheW1lbnQgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9wYXltZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vY29yZS9wYXltZW50L2ZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBEZXZpY2VGaW5nZXJQcmludFNlcnZpY2UgfSBmcm9tICcuL2NvcmUvZGV2aWNlLWZpbmdlci1wcmludC9kZXZpY2UtZmluZ2VyLXByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTGVnYWxTZXJ2aWNlIH0gZnJvbSAnLi9jb3JlL2xlZ2FsL2xlZ2FsLnNlcnZpY2UnO1xuaW1wb3J0IHsgTGVnYWxDb21wb25lbnRDb25maWcgfSBmcm9tICcuL2NvcmUvbGVnYWwvbGVnYWwuY29tcG9uZW50LmNvbmZpZyc7XG5pbXBvcnQgeyBOZXh0QWN0aW9uU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlsc1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9maW5hbmNlLWRldGFpbHMvZmluYW5jZS1kZXRhaWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgbWFza3NGdW5jdGlvbnNNYXAgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9mb3JtL21hc2tzLWZ1bmN0aW9ucy5tYXAnO1xuaW1wb3J0IHsgUGF5bWVudENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jb25maWcvY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvc3RhdHVzL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L3N0YXR1cy9zdGF0dXMuc2VydmljZSc7XG5pbXBvcnQgeyBDcmVkaXRDYXJkU2VydmljZSB9IGZyb20gJy4vY29yZS9jcmVkaXQtY2FyZC9jcmVkaXQtY2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IENyZWRpdENhcmRUeXBlcyB9IGZyb20gJy4vY29yZS9jcmVkaXQtY2FyZC9jcmVkaXQtY2FyZC10eXBlcy5lbnVtJztcbmltcG9ydCB7IENyZWRpdENhcmQgfSBmcm9tICcuL2NvcmUvY3JlZGl0LWNhcmQvY3JlZGl0LWNhcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElucHV0RXZlbnROYW1lIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZm9ybS9pbnB1dC1ldmVudC5lbnVtJztcbmltcG9ydCB7IENyZWRpdENhcmRTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9jcmVkaXQtY2FyZC1zdGF0ZS9jcmVkaXQtY2FyZC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENyZWRpdENhcmRTdGF0ZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2NyZWRpdC1jYXJkLXN0YXRlL2NyZWRpdC1jYXJkLXN0YXRlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGb3JtU3RhdGUgfSBmcm9tICcuL2NvcmUvcGF5bWVudC9mb3JtL2Zvcm0tc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VEZXRhaWxzIH0gZnJvbSAnLi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2ZpbmFuY2UtZGV0YWlscy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4vY29yZS9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhbGFuY2UgfSBmcm9tICcuL2NvcmUvc2V0dGluZ3MvYmFsYW5jZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRm9ybU1lc3NhZ2VzU2VydmljZSB9IGZyb20gJy4vY29yZS9wYXltZW50L2Zvcm0tbWVzc2FnZXMvZm9ybS1tZXNzYWdlcy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENvcmVMaWJyYXJ5U2VydmljZSB7XG4gIHB1YmxpYyBwYXltZW50TWV0aG9kcyA9IHtcbiAgICBnZXRMaXN0OiBhc3luYyAoaXNTYXZlTWV0aG9kTW9kZT86IGJvb2xlYW4pOiBQcm9taXNlPFBheW1lbnRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHNTZXJ2aWNlLmdldExpc3QoaXNTYXZlTWV0aG9kTW9kZSksXG5cbiAgICBnZXRRdWlja01ldGhvZHM6IGFzeW5jICgpOiBQcm9taXNlPFBheW1lbnRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMucGF5bWVudE1ldGhvZHNTZXJ2aWNlLmdldFF1aWNrTWV0aG9kcygpLFxuICAgIGdldFNhdmVkTWV0aG9kczogYXN5bmMgKCk6IFByb21pc2U8U2F2ZWRNZXRob2RbXT4gPT5cbiAgICAgIHRoaXMuc2F2ZWRNZXRob2RzU2VydmljZS5nZXRMaXN0KCksXG4gICAgZ2V0VXNlckJhbGFuY2U6IGFzeW5jICgpOiBQcm9taXNlPFVzZXJCYWxhbmNlUmVzcG9uc2U+ID0+XG4gICAgICB0aGlzLnVzZXJCYWxhbmNlU2VydmljZS5nZXRVc2VyQmFsYW5jZSgpLFxuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY291bnRyeVNlcnZpY2U6IENvdW50cnlTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudE1ldGhvZHNTZXJ2aWNlOiBQYXltZW50TWV0aG9kc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzYXZlZE1ldGhvZHNTZXJ2aWNlOiBTYXZlZE1ldGhvZHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJhbGFuY2VTZXJ2aWNlOiBVc2VyQmFsYW5jZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50Q29uZmlnU2VydmljZTogUGF5bWVudENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50U2VydmljZTogUGF5bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXZpY2VGaW5nZXJQcmludFNlcnZpY2U6IERldmljZUZpbmdlclByaW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbmFuY2VEZXRhaWxzU2VydmljZTogRmluYW5jZURldGFpbHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGVnYWxTZXJ2aWNlOiBMZWdhbFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNTZXJ2aWNlOiBTdGF0dXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmV4dEFjdGlvblNlcnZpY2U6IE5leHRBY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlZGl0Q2FyZFNlcnZpY2U6IENyZWRpdENhcmRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3JlZGl0Q2FyZFN0YXRlU2VydmljZTogQ3JlZGl0Q2FyZFN0YXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1NZXNzYWdlc1NlcnZpY2U6IEZvcm1NZXNzYWdlc1NlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBhc3luYyBpbml0KGNvbmZpZ3VyYXRpb246IEluaXRDb25maWd1cmF0aW9uKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5zZXR0aW5nc1NlcnZpY2UuaW5pdChjb25maWd1cmF0aW9uKTtcbiAgICB0aGlzLmRldmljZUZpbmdlclByaW50U2VydmljZS5pbml0KCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0U3RhdHVzKHVybD86IHN0cmluZyk6IFByb21pc2U8U3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdHVzU2VydmljZS5nZXRTdGF0dXNXaXRoVXJsU2VhcmNoUGFyYW1zKHVybCk7XG4gIH1cblxuICBwdWJsaWMgc2V0Q291bnRyeShjb3VudHJ5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNvdW50cnlTZXJ2aWNlLnNldENvdW50cnkoY291bnRyeSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q291bnRyeSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvdW50cnlTZXJ2aWNlLmdldENvdW50cnkoKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVQYXltZW50KGNvbmZpZzogUGF5bWVudENvbmZpZyk6IFBheW1lbnQge1xuICAgIGNvbnN0IGVucmljaGVkQ29uZmlnID0gdGhpcy5wYXltZW50Q29uZmlnU2VydmljZS5lbnJpY2goY29uZmlnKTtcblxuICAgIHJldHVybiB7XG4gICAgICBpbml0aWFsaXplOiBhc3luYyAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmluaXRpYWxpemUoZW5yaWNoZWRDb25maWcpLFxuICAgICAgc3VibWl0OiBhc3luYyAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLnN1Ym1pdCgpLFxuICAgICAgZ2V0RmllbGRzOiAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldEZpZWxkcygpLFxuICAgICAgdmFsaWRhdGU6IGFzeW5jIChmaWVsZDogRmllbGQpID0+IHRoaXMucGF5bWVudFNlcnZpY2UudmFsaWRhdGUoZmllbGQpLFxuICAgICAgZ2V0RmluYW5jZURldGFpbHM6ICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0RmluYW5jZURldGFpbHMoKSxcbiAgICAgIHJ1blRocmVlRHM6ICgpID0+IHRoaXMucGF5bWVudFNlcnZpY2UucnVuVGhyZWVEcygpLFxuICAgICAgZ2V0U3RhdHVzOiBhc3luYyAoKSA9PiB0aGlzLnBheW1lbnRTZXJ2aWNlLmdldFN0YXR1cygpLFxuICAgICAgZmluYW5jZURldGFpbHNVcGRhdGVzJDogdGhpcy5maW5hbmNlRGV0YWlsc1NlcnZpY2UuZGF0YSQsXG4gICAgICBmb3JtOiB7XG4gICAgICAgIGZpZWxkc1N0YXR1cyQ6IHRoaXMucGF5bWVudFNlcnZpY2UuZm9ybUZpZWxkc1N0YXR1cyQsXG4gICAgICAgIGdldENvbnRyb2xDb25maWc6IChmaWVsZDogRmllbGQpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5nZXRGaWVsZENvbmZpZyhmaWVsZCksXG4gICAgICAgIGNoYW5nZUZpZWxkVmFsdWU6IChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+XG4gICAgICAgICAgdGhpcy5wYXltZW50U2VydmljZS5jaGFuZ2VGaWVsZFZhbHVlKG5hbWUsIHZhbHVlKSxcbiAgICAgICAgY2hhbmdlRmllbGRTdGF0ZTogKG5hbWU6IHN0cmluZywgc3RhdGU6IElucHV0RXZlbnROYW1lKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuY2hhbmdlRmllbGRTdGF0ZShuYW1lLCBzdGF0ZSksXG4gICAgICAgIHVwZGF0ZUZpZWxkRm9ybVN0YXRlOiAoZmllbGROYW1lOiBzdHJpbmcsIGZvcm1TdGF0ZTogRm9ybVN0YXRlKSA9PlxuICAgICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UudXBkYXRlRmllbGRGb3JtU3RhdGUoZmllbGROYW1lLCBmb3JtU3RhdGUpLFxuICAgICAgICBmb3JtTWVzc2FnZXMkOiB0aGlzLmZvcm1NZXNzYWdlc1NlcnZpY2UuZGF0YSQsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Q3JlZGl0Q2FyZFNlcnZpY2UoKTogQ3JlZGl0Q2FyZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGdldFR5cGVCeU51bWJlcjogKGNhcmROdW1iZXI6IHN0cmluZykgPT5cbiAgICAgICAgdGhpcy5jcmVkaXRDYXJkU2VydmljZS5nZXRUeXBlQnlOdW1iZXIoY2FyZE51bWJlciksXG4gICAgICBnZXRDcmVkaXRDYXJkU2V0dGluZ3M6IChjYXJkVHlwZTogQ3JlZGl0Q2FyZFR5cGVzKSA9PlxuICAgICAgICB0aGlzLmNyZWRpdENhcmRTZXJ2aWNlLmdldENyZWRpdENhcmRTZXR0aW5ncyhjYXJkVHlwZSksXG4gICAgICBjYXJkVHlwZVVwZGF0ZXMkOiB0aGlzLmNyZWRpdENhcmRTdGF0ZVNlcnZpY2UuZGF0YSQsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmxvd1VwZGF0ZXMkKCk6IE9ic2VydmFibGU8TmV4dEFjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLm5leHRBY3Rpb25TZXJ2aWNlLmZsb3dVcGRhdGVzJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZmluYW5jZURldGFpbHNVcGRhdGVzJCgpOiBPYnNlcnZhYmxlPEZpbmFuY2VEZXRhaWxzPiB7XG4gICAgcmV0dXJuIHRoaXMuZmluYW5jZURldGFpbHNTZXJ2aWNlLmRhdGEkO1xuICB9XG5cbiAgcHVibGljIGdldCBjYXJkVHlwZVVwZGF0ZXMkKCk6IE9ic2VydmFibGU8Q3JlZGl0Q2FyZFN0YXRlPiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlZGl0Q2FyZFN0YXRlU2VydmljZS5kYXRhJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRMZWdhbENvbXBvbmVudENvbmZpZygpOiBMZWdhbENvbXBvbmVudENvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMubGVnYWxTZXJ2aWNlLmdldExlZ2FsQ29tcG9uZW50Q29uZmlnKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0RmllbGRNYXNrKGZpZWxkOiBGaWVsZCk6IHVuZGVmaW5lZCB8ICgoKSA9PiBzdHJpbmcpIHtcbiAgICBjb25zdCBzYW5pdGl6ZWROYW1lID0gZmllbGQubmFtZS5yZXBsYWNlKC9eZml4Xy9pLCAnJyk7XG4gICAgcmV0dXJuIG1hc2tzRnVuY3Rpb25zTWFwW3Nhbml0aXplZE5hbWVdO1xuICB9XG5cbiAgcHVibGljIGdldFVzZXJCYWxhbmNlVmFsdWUoKTogQmFsYW5jZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnVzZXJCYWxhbmNlU2VydmljZS5nZXRVc2VyQmFsYW5jZVZhbHVlKCk7XG4gIH1cbn1cbiJdfQ==