@xsolla/payment-client-core 0.5.0 → 0.5.1

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 (23) hide show
  1. package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay-cart/apple-pay-cart.service.mjs +17 -9
  2. package/esm2022/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.mjs +20 -10
  3. package/esm2022/lib/core/sdk-payment-systems/apple-pay/external-window-communication/external-window-communication.service.mjs +19 -8
  4. package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/braintree.handler.mjs +40 -15
  5. package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/checkout.handler.mjs +32 -13
  6. package/esm2022/lib/core/sdk-payment-systems/apple-pay/session-handlers/session-handler.abstract.mjs +8 -1
  7. package/esm2022/lib/core/sdk-payment-systems/google-pay/google-pay.service.mjs +14 -8
  8. package/esm2022/lib/core/sdk-payment-systems/google-pay/payment/google-pay-checkout-payment.service.mjs +21 -9
  9. package/esm2022/lib/core/user-behaviour-analytics/user-behaviour-analytics.interface.mjs +1 -1
  10. package/esm2022/lib/version.mjs +2 -2
  11. package/fesm2022/xsolla-payment-client-core.mjs +153 -55
  12. package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
  13. package/lib/core/sdk-payment-systems/apple-pay/apple-pay-cart/apple-pay-cart.service.d.ts +4 -3
  14. package/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.d.ts +4 -3
  15. package/lib/core/sdk-payment-systems/apple-pay/external-window-communication/external-window-communication.service.d.ts +4 -3
  16. package/lib/core/sdk-payment-systems/apple-pay/session-handlers/braintree.handler.d.ts +1 -3
  17. package/lib/core/sdk-payment-systems/apple-pay/session-handlers/checkout.handler.d.ts +1 -3
  18. package/lib/core/sdk-payment-systems/apple-pay/session-handlers/session-handler.abstract.d.ts +4 -0
  19. package/lib/core/sdk-payment-systems/google-pay/google-pay.service.d.ts +4 -3
  20. package/lib/core/sdk-payment-systems/google-pay/payment/google-pay-checkout-payment.service.d.ts +5 -3
  21. package/lib/core/user-behaviour-analytics/user-behaviour-analytics.interface.d.ts +12 -0
  22. package/lib/version.d.ts +1 -1
  23. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { share, Subject } from 'rxjs';
3
3
  import { UserBehaviourEventName } from '../../../user-behaviour-analytics/user-behaviour-event-name.enum';
4
+ import { userBehaviourEventTypes } from '../../../user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types';
4
5
  import * as i0 from "@angular/core";
5
- import * as i1 from "../../../user-behaviour-analytics/user-behaviour-analytics.service";
6
- import * as i2 from "../../../payment/finance-details/summary/summary-finance-details-adapter.service";
6
+ import * as i1 from "../../../payment/finance-details/summary/summary-finance-details-adapter.service";
7
7
  export class ApplePayCartService {
8
8
  get cartSuccessfulRecalculated$() {
9
9
  return this.cartSuccessfulRecalculated.asObservable().pipe(share());
@@ -14,12 +14,15 @@ export class ApplePayCartService {
14
14
  get cartRecalculationRequest$() {
15
15
  return this.cartRecalculationRequest.asObservable();
16
16
  }
17
- constructor(userBehaviourAnalyticsService, summaryFinanceDetailsAdapterService) {
18
- this.userBehaviourAnalyticsService = userBehaviourAnalyticsService;
17
+ get analyticsEvent$() {
18
+ return this.analyticsEvent.asObservable();
19
+ }
20
+ constructor(summaryFinanceDetailsAdapterService) {
19
21
  this.summaryFinanceDetailsAdapterService = summaryFinanceDetailsAdapterService;
20
22
  this.cartSuccessfulRecalculated = new Subject();
21
23
  this.cartErrorRecalculated = new Subject();
22
24
  this.cartRecalculationRequest = new Subject();
25
+ this.analyticsEvent = new Subject();
23
26
  }
24
27
  recalculateCartTaxes(shippingContact) {
25
28
  const zip = shippingContact.postalCode;
@@ -33,7 +36,9 @@ export class ApplePayCartService {
33
36
  zip: parsedZip,
34
37
  country,
35
38
  });
36
- this.userBehaviourAnalyticsService.send(UserBehaviourEventName.applePayRecalculateCartTaxes, 'manual', {
39
+ this.analyticsEvent.next({
40
+ eventName: UserBehaviourEventName.applePayRecalculateCartTaxes,
41
+ eventType: userBehaviourEventTypes.manual,
37
42
  dimension1: country,
38
43
  dimension2: parsedZip || '',
39
44
  });
@@ -60,7 +65,10 @@ export class ApplePayCartService {
60
65
  this.cartSuccessfulRecalculated.next(updatedPrice);
61
66
  }
62
67
  sendErrorRecalculatedCart(error) {
63
- this.userBehaviourAnalyticsService.send(UserBehaviourEventName.applePayRecalculateCartError, 'manual');
68
+ this.analyticsEvent.next({
69
+ eventName: UserBehaviourEventName.applePayRecalculateCartError,
70
+ eventType: userBehaviourEventTypes.manual,
71
+ });
64
72
  this.cartErrorRecalculated.next(error);
65
73
  }
66
74
  isZipCountry(country) {
@@ -95,7 +103,7 @@ export class ApplePayCartService {
95
103
  getTotalAmount(finance) {
96
104
  return finance?.grand_total?.amount ?? finance?.total?.amount;
97
105
  }
98
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplePayCartService, deps: [{ token: i1.UserBehaviourAnalyticsService }, { token: i2.SummaryFinanceDetailsAdapterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplePayCartService, deps: [{ token: i1.SummaryFinanceDetailsAdapterService }], target: i0.ɵɵFactoryTarget.Injectable }); }
99
107
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplePayCartService, providedIn: 'root' }); }
100
108
  }
101
109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplePayCartService, decorators: [{
@@ -103,5 +111,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
103
111
  args: [{
104
112
  providedIn: 'root',
105
113
  }]
106
- }], ctorParameters: () => [{ type: i1.UserBehaviourAnalyticsService }, { type: i2.SummaryFinanceDetailsAdapterService }] });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LWNhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXktY2FydC9hcHBsZS1wYXktY2FydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFlbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7Ozs7QUFLMUcsTUFBTSxPQUFPLG1CQUFtQjtJQU05QixJQUFXLDJCQUEyQjtRQUNwQyxPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsSUFBVyxzQkFBc0I7UUFDL0IsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELElBQVcseUJBQXlCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RELENBQUM7SUFFRCxZQUNtQiw2QkFBNEQsRUFDNUQsbUNBQXdFO1FBRHhFLGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FBK0I7UUFDNUQsd0NBQW1DLEdBQW5DLG1DQUFtQyxDQUFxQztRQW5CMUUsK0JBQTBCLEdBQUcsSUFBSSxPQUFPLEVBQWdCLENBQUM7UUFDekQsMEJBQXFCLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7UUFFckQsNkJBQXdCLEdBQUcsSUFBSSxPQUFPLEVBQW1CLENBQUM7SUFpQnhFLENBQUM7SUFFRyxvQkFBb0IsQ0FBQyxlQUF3QztRQUNsRSxNQUFNLEdBQUcsR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDO1FBQ3ZDLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLElBQUksT0FBTyxHQUFHLGVBQWUsQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO1FBRS9ELG9EQUFvRDtRQUNwRCxJQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNyQixPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLENBQUM7UUFFRCxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDO1lBQ2pDLEdBQUcsRUFBRSxTQUFTO1lBQ2QsT0FBTztTQUNSLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQ3JDLHNCQUFzQixDQUFDLDRCQUE0QixFQUNuRCxRQUFRLEVBQ1I7WUFDRSxVQUFVLEVBQUUsT0FBTztZQUNuQixVQUFVLEVBQUUsU0FBUyxJQUFJLEVBQUU7U0FDNUIsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLDBCQUEwQixDQUMvQixhQUE2QixFQUM3QixZQUEwQjtRQUUxQixPQUFPO1lBQ0wsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixRQUFRLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLGFBQWEsQ0FBQyxVQUFVO2dCQUMvQixNQUFNLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUU7YUFDdEM7WUFDRCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUM7U0FDOUMsQ0FBQztJQUNKLENBQUM7SUFFTSw4QkFBOEIsQ0FBQyxXQUF3QjtRQUM1RCxNQUFNLGNBQWMsR0FDbEIsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLGlCQUFpQixDQUN4RCxXQUFXLENBQUMsT0FBTyxDQUNwQixDQUFDO1FBRUosTUFBTSxZQUFZLEdBQWlCO1lBQ2pDLGlDQUFpQztZQUNqQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUN2RCxlQUFlLEVBQUUsY0FBYyxDQUFDLFdBQVcsQ0FBQyxlQUFlO1lBQzNELFlBQVksRUFBRSxjQUFjLENBQUMsV0FBVyxDQUFDLFlBQVk7WUFDckQsZUFBZSxFQUFFLGNBQWMsQ0FBQyxXQUFXLENBQUMsZUFBZTtTQUM1RCxDQUFDO1FBRUYsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRU0seUJBQXlCLENBQUMsS0FBb0I7UUFDbkQsSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FDckMsc0JBQXNCLENBQUMsNEJBQTRCLEVBQ25ELFFBQVEsQ0FDVCxDQUFDO1FBRUYsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sWUFBWSxDQUFDLE9BQWU7UUFDakMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVPLFlBQVksQ0FBQyxZQUEwQjtRQUM3QyxNQUFNLFlBQVksR0FBdUIsRUFBRSxDQUFDO1FBRTVDLElBQUksWUFBWSxDQUFDLGVBQWUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDaEQsWUFBWSxDQUFDLElBQUksQ0FBQztnQkFDaEIsS0FBSyxFQUFFLFlBQVksQ0FBQyxlQUFlLENBQUMsS0FBSyxJQUFJLFVBQVU7Z0JBQ3ZELE1BQU0sRUFBRSxZQUFZLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFO2FBQzlELENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLGVBQWUsR0FBZSxFQUFFLENBQUM7UUFFckMsSUFBSSxZQUFZLENBQUMsZUFBZSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3pDLGVBQWUsR0FBRyxZQUFZLENBQUMsZUFBZSxDQUFDO1FBQ2pELENBQUM7UUFFRCxJQUFJLFlBQVksQ0FBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUM7WUFDdEMsZUFBZSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3RFLENBQUM7UUFFRCxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO2dCQUMvQyxPQUFPO1lBQ1QsQ0FBQztZQUVELFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLEtBQUssRUFBRSxRQUFRLENBQUMsS0FBSztnQkFDckIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTthQUN6QyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxjQUFjLENBQUMsT0FBbUI7UUFDeEMsT0FBTyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztJQUNoRSxDQUFDOytHQWhJVSxtQkFBbUI7bUhBQW5CLG1CQUFtQixjQUZsQixNQUFNOzs0RkFFUCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgc2hhcmUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIEFwcGxlUGF5RXJyb3IsXG4gIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0LFxuICBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZSxcbn0gZnJvbSAnLi4vc2Vzc2lvbi1oYW5kbGVycy9hcHBsZS1wYXktc2Vzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlQYXJhbXMgfSBmcm9tICcuLi9hcHBsZS1wYXktcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVcGRhdGVkUHJpY2UgfSBmcm9tICcuLi91cGRhdGVkLXByaWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTaGlwcGluZ0FkZHJlc3MgfSBmcm9tICcuLi9zaGlwcGluZy1hZGRyZXNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBsZVBheUxpbmVJdGVtIH0gZnJvbSAnYnJhaW50cmVlLXdlYic7XG5pbXBvcnQgeyBDYXJ0TGluZSB9IGZyb20gJy4uLy4uLy4uL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2NhcnQtbGluZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi8uLi9wYXltZW50L3hwcy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9zdW1tYXJ5L3N1bW1hcnktZmluYW5jZS1kZXRhaWxzLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBYcHNGaW5hbmNlIH0gZnJvbSAnLi4vLi4vLi4vcGF5bWVudC94cHMtZmluYW5jZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckV2ZW50TmFtZSB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC1uYW1lLmVudW0nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXBwbGVQYXlDYXJ0U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FydFN1Y2Nlc3NmdWxSZWNhbGN1bGF0ZWQgPSBuZXcgU3ViamVjdDxVcGRhdGVkUHJpY2U+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FydEVycm9yUmVjYWxjdWxhdGVkID0gbmV3IFN1YmplY3Q8QXBwbGVQYXlFcnJvcj4oKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNhcnRSZWNhbGN1bGF0aW9uUmVxdWVzdCA9IG5ldyBTdWJqZWN0PFNoaXBwaW5nQWRkcmVzcz4oKTtcblxuICBwdWJsaWMgZ2V0IGNhcnRTdWNjZXNzZnVsUmVjYWxjdWxhdGVkJCgpOiBPYnNlcnZhYmxlPFVwZGF0ZWRQcmljZT4ge1xuICAgIHJldHVybiB0aGlzLmNhcnRTdWNjZXNzZnVsUmVjYWxjdWxhdGVkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2hhcmUoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNhcnRFcnJvclJlY2FsY3VsYXRlZCQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheUVycm9yPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FydEVycm9yUmVjYWxjdWxhdGVkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjYXJ0UmVjYWxjdWxhdGlvblJlcXVlc3QkKCk6IE9ic2VydmFibGU8U2hpcHBpbmdBZGRyZXNzPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FydFJlY2FsY3VsYXRpb25SZXF1ZXN0LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2U6IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIHJlY2FsY3VsYXRlQ2FydFRheGVzKHNoaXBwaW5nQ29udGFjdDogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3QpOiB2b2lkIHtcbiAgICBjb25zdCB6aXAgPSBzaGlwcGluZ0NvbnRhY3QucG9zdGFsQ29kZTtcbiAgICBjb25zdCBwYXJzZWRaaXAgPSB6aXA/LnJlcGxhY2UoL1xccy9nLCAnJyk7XG4gICAgbGV0IGNvdW50cnkgPSBzaGlwcGluZ0NvbnRhY3QuY291bnRyeUNvZGU/LnRvVXBwZXJDYXNlKCkgPz8gJyc7XG5cbiAgICAvLyBDb252ZXJ0aW5nIGFsbCBVbml0ZWQgS2luZ2RvbSBjb3VudHJ5IGNvZGVzIHRvIEdCXG4gICAgaWYgKGNvdW50cnkgPT09ICdVSycpIHtcbiAgICAgIGNvdW50cnkgPSAnR0InO1xuICAgIH1cblxuICAgIHRoaXMuY2FydFJlY2FsY3VsYXRpb25SZXF1ZXN0Lm5leHQoe1xuICAgICAgemlwOiBwYXJzZWRaaXAsXG4gICAgICBjb3VudHJ5LFxuICAgIH0pO1xuXG4gICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5hcHBsZVBheVJlY2FsY3VsYXRlQ2FydFRheGVzLFxuICAgICAgJ21hbnVhbCcsXG4gICAgICB7XG4gICAgICAgIGRpbWVuc2lvbjE6IGNvdW50cnksXG4gICAgICAgIGRpbWVuc2lvbjI6IHBhcnNlZFppcCB8fCAnJyxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBidWlsZFNoaXBwaW5nQ29udGFjdFVwZGF0ZShcbiAgICBwYXltZW50UGFyYW1zOiBBcHBsZVBheVBhcmFtcyxcbiAgICB1cGRhdGVkUHJpY2U6IFVwZGF0ZWRQcmljZSxcbiAgKTogQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUge1xuICAgIHJldHVybiB7XG4gICAgICBzdGF0dXM6ICdTVEFUVVNfU1VDQ0VTUycsXG4gICAgICBuZXdUb3RhbDoge1xuICAgICAgICBsYWJlbDogcGF5bWVudFBhcmFtcy50b3RhbExhYmVsLFxuICAgICAgICBhbW91bnQ6IHVwZGF0ZWRQcmljZS50b3RhbC50b1N0cmluZygpLFxuICAgICAgfSxcbiAgICAgIG5ld0xpbmVJdGVtczogdGhpcy5nZXRMaW5lSXRlbXModXBkYXRlZFByaWNlKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHNlbmRTdWNjZXNzZnVsUmVjYWxjdWxhdGVkQ2FydCh4cHNSZXNwb25zZTogWHBzUmVzcG9uc2UpOiB2b2lkIHtcbiAgICBjb25zdCBmaW5hbmNlRGV0YWlscyA9XG4gICAgICB0aGlzLnN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKFxuICAgICAgICB4cHNSZXNwb25zZS5zdW1tYXJ5LFxuICAgICAgKTtcblxuICAgIGNvbnN0IHVwZGF0ZWRQcmljZTogVXBkYXRlZFByaWNlID0ge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBmaW5hbmNlIGV4aXN0XG4gICAgICB0b3RhbDogdGhpcy5nZXRUb3RhbEFtb3VudCh4cHNSZXNwb25zZS5zdW1tYXJ5LmZpbmFuY2UpLFxuICAgICAgc3VidG90YWxEZXRhaWxzOiBmaW5hbmNlRGV0YWlscy5jYXJ0U3VtbWFyeS5zdWJ0b3RhbERldGFpbHMsXG4gICAgICB0b3RhbERldGFpbHM6IGZpbmFuY2VEZXRhaWxzLmNhcnRTdW1tYXJ5LnRvdGFsRGV0YWlscyxcbiAgICAgIHN1YnRvdGFsUGF5bWVudDogZmluYW5jZURldGFpbHMuY2FydFN1bW1hcnkuc3VidG90YWxQYXltZW50LFxuICAgIH07XG5cbiAgICB0aGlzLmNhcnRTdWNjZXNzZnVsUmVjYWxjdWxhdGVkLm5leHQodXBkYXRlZFByaWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kRXJyb3JSZWNhbGN1bGF0ZWRDYXJ0KGVycm9yOiBBcHBsZVBheUVycm9yKTogdm9pZCB7XG4gICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5hcHBsZVBheVJlY2FsY3VsYXRlQ2FydEVycm9yLFxuICAgICAgJ21hbnVhbCcsXG4gICAgKTtcblxuICAgIHRoaXMuY2FydEVycm9yUmVjYWxjdWxhdGVkLm5leHQoZXJyb3IpO1xuICB9XG5cbiAgcHVibGljIGlzWmlwQ291bnRyeShjb3VudHJ5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gWydVUycsICdDQSddLmluY2x1ZGVzKGNvdW50cnkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRMaW5lSXRlbXModXBkYXRlZFByaWNlOiBVcGRhdGVkUHJpY2UpOiBBcHBsZVBheUxpbmVJdGVtW10ge1xuICAgIGNvbnN0IG5ld0xpbmVJdGVtczogQXBwbGVQYXlMaW5lSXRlbVtdID0gW107XG5cbiAgICBpZiAodXBkYXRlZFByaWNlLnN1YnRvdGFsUGF5bWVudD8ubW9uZXk/LmFtb3VudCkge1xuICAgICAgbmV3TGluZUl0ZW1zLnB1c2goe1xuICAgICAgICBsYWJlbDogdXBkYXRlZFByaWNlLnN1YnRvdGFsUGF5bWVudC50aXRsZSA/PyAnU3VidG90YWwnLFxuICAgICAgICBhbW91bnQ6IHVwZGF0ZWRQcmljZS5zdWJ0b3RhbFBheW1lbnQubW9uZXk/LmFtb3VudC50b1N0cmluZygpLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbGV0IHBheW1lbnRzRGV0YWlsczogQ2FydExpbmVbXSA9IFtdO1xuXG4gICAgaWYgKHVwZGF0ZWRQcmljZS5zdWJ0b3RhbERldGFpbHM/Lmxlbmd0aCkge1xuICAgICAgcGF5bWVudHNEZXRhaWxzID0gdXBkYXRlZFByaWNlLnN1YnRvdGFsRGV0YWlscztcbiAgICB9XG5cbiAgICBpZiAodXBkYXRlZFByaWNlLnRvdGFsRGV0YWlscz8ubGVuZ3RoKSB7XG4gICAgICBwYXltZW50c0RldGFpbHMgPSBwYXltZW50c0RldGFpbHMuY29uY2F0KHVwZGF0ZWRQcmljZS50b3RhbERldGFpbHMpO1xuICAgIH1cblxuICAgIHBheW1lbnRzRGV0YWlscy5mb3JFYWNoKChjYXJ0SXRlbSkgPT4ge1xuICAgICAgaWYgKCFjYXJ0SXRlbS50aXRsZSB8fCAhY2FydEl0ZW0ubW9uZXk/LmFtb3VudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5ld0xpbmVJdGVtcy5wdXNoKHtcbiAgICAgICAgbGFiZWw6IGNhcnRJdGVtLnRpdGxlLFxuICAgICAgICBhbW91bnQ6IGNhcnRJdGVtLm1vbmV5LmFtb3VudC50b1N0cmluZygpLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbmV3TGluZUl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUb3RhbEFtb3VudChmaW5hbmNlOiBYcHNGaW5hbmNlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZmluYW5jZT8uZ3JhbmRfdG90YWw/LmFtb3VudCA/PyBmaW5hbmNlPy50b3RhbD8uYW1vdW50O1xuICB9XG59XG4iXX0=
114
+ }], ctorParameters: () => [{ type: i1.SummaryFinanceDetailsAdapterService }] });
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LWNhcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9hcHBsZS1wYXktY2FydC9hcHBsZS1wYXktY2FydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFjLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFjbEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDMUcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUZBQW1GLENBQUM7OztBQU01SCxNQUFNLE9BQU8sbUJBQW1CO0lBTzlCLElBQVcsMkJBQTJCO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFXLHNCQUFzQjtRQUMvQixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBVyx5QkFBeUI7UUFDbEMsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELFlBQ21CLG1DQUF3RTtRQUF4RSx3Q0FBbUMsR0FBbkMsbUNBQW1DLENBQXFDO1FBdkIxRSwrQkFBMEIsR0FBRyxJQUFJLE9BQU8sRUFBZ0IsQ0FBQztRQUN6RCwwQkFBcUIsR0FBRyxJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUVyRCw2QkFBd0IsR0FBRyxJQUFJLE9BQU8s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RTthQUM5RCxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxlQUFlLEdBQWUsRUFBRSxDQUFDO1FBRXJDLElBQUksWUFBWSxDQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUN6QyxlQUFlLEdBQUcsWUFBWSxDQUFDLGVBQWUsQ0FBQztRQUNqRCxDQUFDO1FBRUQsSUFBSSxZQUFZLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3RDLGVBQWUsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN0RSxDQUFDO1FBRUQsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ25DLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztnQkFDL0MsT0FBTztZQUNULENBQUM7WUFFRCxZQUFZLENBQUMsSUFBSSxDQUFDO2dCQUNoQixLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7Z0JBQ3JCLE1BQU0sRUFBRSxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7YUFDekMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQW1CO1FBQ3hDLE9BQU8sT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLElBQUksT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7SUFDaEUsQ0FBQzsrR0FsSVUsbUJBQW1CO21IQUFuQixtQkFBbUIsY0FGbEIsTUFBTTs7NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHNoYXJlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBBcHBsZVBheUVycm9yLFxuICBBcHBsZVBheVNoaXBwaW5nQ29udGFjdCxcbiAgQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUsXG59IGZyb20gJy4uL3Nlc3Npb24taGFuZGxlcnMvYXBwbGUtcGF5LXNlc3Npb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5UGFyYW1zIH0gZnJvbSAnLi4vYXBwbGUtcGF5LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXBkYXRlZFByaWNlIH0gZnJvbSAnLi4vdXBkYXRlZC1wcmljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2hpcHBpbmdBZGRyZXNzIH0gZnJvbSAnLi4vc2hpcHBpbmctYWRkcmVzcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlMaW5lSXRlbSB9IGZyb20gJ2JyYWludHJlZS13ZWInO1xuaW1wb3J0IHsgQ2FydExpbmUgfSBmcm9tICcuLi8uLi8uLi9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9jYXJ0LWxpbmUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4vLi4vcGF5bWVudC94cHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcGF5bWVudC9maW5hbmNlLWRldGFpbHMvc3VtbWFyeS9zdW1tYXJ5LWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzRmluYW5jZSB9IGZyb20gJy4uLy4uLy4uL3BheW1lbnQveHBzLWZpbmFuY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJFdmVudE5hbWUgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQtbmFtZS5lbnVtJztcbmltcG9ydCB7IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50L3VzZXItYmVoYXZpb3VyLWV2ZW50LXR5cGVzJztcbmltcG9ydCB7IEFuYWx5dGljc0V2ZW50UGF5bG9hZCB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxlUGF5Q2FydFNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGNhcnRTdWNjZXNzZnVsUmVjYWxjdWxhdGVkID0gbmV3IFN1YmplY3Q8VXBkYXRlZFByaWNlPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhcnRFcnJvclJlY2FsY3VsYXRlZCA9IG5ldyBTdWJqZWN0PEFwcGxlUGF5RXJyb3I+KCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjYXJ0UmVjYWxjdWxhdGlvblJlcXVlc3QgPSBuZXcgU3ViamVjdDxTaGlwcGluZ0FkZHJlc3M+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYW5hbHl0aWNzRXZlbnQgPSBuZXcgU3ViamVjdDxBbmFseXRpY3NFdmVudFBheWxvYWQ+KCk7XG5cbiAgcHVibGljIGdldCBjYXJ0U3VjY2Vzc2Z1bFJlY2FsY3VsYXRlZCQoKTogT2JzZXJ2YWJsZTxVcGRhdGVkUHJpY2U+IHtcbiAgICByZXR1cm4gdGhpcy5jYXJ0U3VjY2Vzc2Z1bFJlY2FsY3VsYXRlZC5hc09ic2VydmFibGUoKS5waXBlKHNoYXJlKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBjYXJ0RXJyb3JSZWNhbGN1bGF0ZWQkKCk6IE9ic2VydmFibGU8QXBwbGVQYXlFcnJvcj4ge1xuICAgIHJldHVybiB0aGlzLmNhcnRFcnJvclJlY2FsY3VsYXRlZC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY2FydFJlY2FsY3VsYXRpb25SZXF1ZXN0JCgpOiBPYnNlcnZhYmxlPFNoaXBwaW5nQWRkcmVzcz4ge1xuICAgIHJldHVybiB0aGlzLmNhcnRSZWNhbGN1bGF0aW9uUmVxdWVzdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYW5hbHl0aWNzRXZlbnQkKCk6IE9ic2VydmFibGU8QW5hbHl0aWNzRXZlbnRQYXlsb2FkPiB7XG4gICAgcmV0dXJuIHRoaXMuYW5hbHl0aWNzRXZlbnQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZTogU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UsXG4gICkge31cblxuICBwdWJsaWMgcmVjYWxjdWxhdGVDYXJ0VGF4ZXMoc2hpcHBpbmdDb250YWN0OiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdCk6IHZvaWQge1xuICAgIGNvbnN0IHppcCA9IHNoaXBwaW5nQ29udGFjdC5wb3N0YWxDb2RlO1xuICAgIGNvbnN0IHBhcnNlZFppcCA9IHppcD8ucmVwbGFjZSgvXFxzL2csICcnKTtcbiAgICBsZXQgY291bnRyeSA9IHNoaXBwaW5nQ29udGFjdC5jb3VudHJ5Q29kZT8udG9VcHBlckNhc2UoKSA/PyAnJztcblxuICAgIC8vIENvbnZlcnRpbmcgYWxsIFVuaXRlZCBLaW5nZG9tIGNvdW50cnkgY29kZXMgdG8gR0JcbiAgICBpZiAoY291bnRyeSA9PT0gJ1VLJykge1xuICAgICAgY291bnRyeSA9ICdHQic7XG4gICAgfVxuXG4gICAgdGhpcy5jYXJ0UmVjYWxjdWxhdGlvblJlcXVlc3QubmV4dCh7XG4gICAgICB6aXA6IHBhcnNlZFppcCxcbiAgICAgIGNvdW50cnksXG4gICAgfSk7XG5cbiAgICB0aGlzLmFuYWx5dGljc0V2ZW50Lm5leHQoe1xuICAgICAgZXZlbnROYW1lOiBVc2VyQmVoYXZpb3VyRXZlbnROYW1lLmFwcGxlUGF5UmVjYWxjdWxhdGVDYXJ0VGF4ZXMsXG4gICAgICBldmVudFR5cGU6IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm1hbnVhbCxcbiAgICAgIGRpbWVuc2lvbjE6IGNvdW50cnksXG4gICAgICBkaW1lbnNpb24yOiBwYXJzZWRaaXAgfHwgJycsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYnVpbGRTaGlwcGluZ0NvbnRhY3RVcGRhdGUoXG4gICAgcGF5bWVudFBhcmFtczogQXBwbGVQYXlQYXJhbXMsXG4gICAgdXBkYXRlZFByaWNlOiBVcGRhdGVkUHJpY2UsXG4gICk6IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhdHVzOiAnU1RBVFVTX1NVQ0NFU1MnLFxuICAgICAgbmV3VG90YWw6IHtcbiAgICAgICAgbGFiZWw6IHBheW1lbnRQYXJhbXMudG90YWxMYWJlbCxcbiAgICAgICAgYW1vdW50OiB1cGRhdGVkUHJpY2UudG90YWwudG9TdHJpbmcoKSxcbiAgICAgIH0sXG4gICAgICBuZXdMaW5lSXRlbXM6IHRoaXMuZ2V0TGluZUl0ZW1zKHVwZGF0ZWRQcmljZSksXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kU3VjY2Vzc2Z1bFJlY2FsY3VsYXRlZENhcnQoeHBzUmVzcG9uc2U6IFhwc1Jlc3BvbnNlKTogdm9pZCB7XG4gICAgY29uc3QgZmluYW5jZURldGFpbHMgPVxuICAgICAgdGhpcy5zdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZS5nZXRGaW5hbmNlRGV0YWlscyhcbiAgICAgICAgeHBzUmVzcG9uc2Uuc3VtbWFyeSxcbiAgICAgICk7XG5cbiAgICBjb25zdCB1cGRhdGVkUHJpY2U6IFVwZGF0ZWRQcmljZSA9IHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZmluYW5jZSBleGlzdFxuICAgICAgdG90YWw6IHRoaXMuZ2V0VG90YWxBbW91bnQoeHBzUmVzcG9uc2Uuc3VtbWFyeS5maW5hbmNlKSxcbiAgICAgIHN1YnRvdGFsRGV0YWlsczogZmluYW5jZURldGFpbHMuY2FydFN1bW1hcnkuc3VidG90YWxEZXRhaWxzLFxuICAgICAgdG90YWxEZXRhaWxzOiBmaW5hbmNlRGV0YWlscy5jYXJ0U3VtbWFyeS50b3RhbERldGFpbHMsXG4gICAgICBzdWJ0b3RhbFBheW1lbnQ6IGZpbmFuY2VEZXRhaWxzLmNhcnRTdW1tYXJ5LnN1YnRvdGFsUGF5bWVudCxcbiAgICB9O1xuXG4gICAgdGhpcy5jYXJ0U3VjY2Vzc2Z1bFJlY2FsY3VsYXRlZC5uZXh0KHVwZGF0ZWRQcmljZSk7XG4gIH1cblxuICBwdWJsaWMgc2VuZEVycm9yUmVjYWxjdWxhdGVkQ2FydChlcnJvcjogQXBwbGVQYXlFcnJvcik6IHZvaWQge1xuICAgIHRoaXMuYW5hbHl0aWNzRXZlbnQubmV4dCh7XG4gICAgICBldmVudE5hbWU6IFVzZXJCZWhhdmlvdXJFdmVudE5hbWUuYXBwbGVQYXlSZWNhbGN1bGF0ZUNhcnRFcnJvcixcbiAgICAgIGV2ZW50VHlwZTogdXNlckJlaGF2aW91ckV2ZW50VHlwZXMubWFudWFsLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jYXJ0RXJyb3JSZWNhbGN1bGF0ZWQubmV4dChlcnJvcik7XG4gIH1cblxuICBwdWJsaWMgaXNaaXBDb3VudHJ5KGNvdW50cnk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBbJ1VTJywgJ0NBJ10uaW5jbHVkZXMoY291bnRyeSk7XG4gIH1cblxuICBwcml2YXRlIGdldExpbmVJdGVtcyh1cGRhdGVkUHJpY2U6IFVwZGF0ZWRQcmljZSk6IEFwcGxlUGF5TGluZUl0ZW1bXSB7XG4gICAgY29uc3QgbmV3TGluZUl0ZW1zOiBBcHBsZVBheUxpbmVJdGVtW10gPSBbXTtcblxuICAgIGlmICh1cGRhdGVkUHJpY2Uuc3VidG90YWxQYXltZW50Py5tb25leT8uYW1vdW50KSB7XG4gICAgICBuZXdMaW5lSXRlbXMucHVzaCh7XG4gICAgICAgIGxhYmVsOiB1cGRhdGVkUHJpY2Uuc3VidG90YWxQYXltZW50LnRpdGxlID8/ICdTdWJ0b3RhbCcsXG4gICAgICAgIGFtb3VudDogdXBkYXRlZFByaWNlLnN1YnRvdGFsUGF5bWVudC5tb25leT8uYW1vdW50LnRvU3RyaW5nKCksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBsZXQgcGF5bWVudHNEZXRhaWxzOiBDYXJ0TGluZVtdID0gW107XG5cbiAgICBpZiAodXBkYXRlZFByaWNlLnN1YnRvdGFsRGV0YWlscz8ubGVuZ3RoKSB7XG4gICAgICBwYXltZW50c0RldGFpbHMgPSB1cGRhdGVkUHJpY2Uuc3VidG90YWxEZXRhaWxzO1xuICAgIH1cblxuICAgIGlmICh1cGRhdGVkUHJpY2UudG90YWxEZXRhaWxzPy5sZW5ndGgpIHtcbiAgICAgIHBheW1lbnRzRGV0YWlscyA9IHBheW1lbnRzRGV0YWlscy5jb25jYXQodXBkYXRlZFByaWNlLnRvdGFsRGV0YWlscyk7XG4gICAgfVxuXG4gICAgcGF5bWVudHNEZXRhaWxzLmZvckVhY2goKGNhcnRJdGVtKSA9PiB7XG4gICAgICBpZiAoIWNhcnRJdGVtLnRpdGxlIHx8ICFjYXJ0SXRlbS5tb25leT8uYW1vdW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbmV3TGluZUl0ZW1zLnB1c2goe1xuICAgICAgICBsYWJlbDogY2FydEl0ZW0udGl0bGUsXG4gICAgICAgIGFtb3VudDogY2FydEl0ZW0ubW9uZXkuYW1vdW50LnRvU3RyaW5nKCksXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIHJldHVybiBuZXdMaW5lSXRlbXM7XG4gIH1cblxuICBwcml2YXRlIGdldFRvdGFsQW1vdW50KGZpbmFuY2U6IFhwc0ZpbmFuY2UpOiBudW1iZXIge1xuICAgIHJldHVybiBmaW5hbmNlPy5ncmFuZF90b3RhbD8uYW1vdW50ID8/IGZpbmFuY2U/LnRvdGFsPy5hbW91bnQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
- import { Subject, takeUntil } from 'rxjs';
2
+ import { merge, Subject, takeUntil } from 'rxjs';
3
3
  import { payStation4Url, sandboxPayStationUrl, } from '../../payment/actions/redirect/pay-station4-url.const';
4
4
  import { applePayId } from '../../payment/actions/redirect/ps4-pages/pages-payment-methods-id.const';
5
5
  import { pagesRoutes } from '../../payment/actions/redirect/ps4-pages/pages-routes.const';
@@ -21,8 +21,7 @@ import * as i4 from "./params-builder/apple-pay-params-builder.service";
21
21
  import * as i5 from "../../exceptions-handling/logger/logger.service";
22
22
  import * as i6 from "./apple-pay-sdk.service";
23
23
  import * as i7 from "./external-window-communication/external-window-communication.service";
24
- import * as i8 from "../../user-behaviour-analytics/user-behaviour-analytics.service";
25
- import * as i9 from "../../settings/settings.service";
24
+ import * as i8 from "../../settings/settings.service";
26
25
  export class ApplePayService {
27
26
  get paymentParameters() {
28
27
  return this.applePayParams;
@@ -37,6 +36,9 @@ export class ApplePayService {
37
36
  get applePayQrOpened$() {
38
37
  return this.applePayQrOpened.asObservable();
39
38
  }
39
+ get analyticsEvent$() {
40
+ return merge(this.analyticsEvent.asObservable(), this.braintreeHandler.analyticsEvent$, this.checkoutHandler.analyticsEvent$, this.externalWindowCommunicationService.analyticsEvent$);
41
+ }
40
42
  /* istanbul ignore next */
41
43
  get windowClosing$() {
42
44
  return this.applePaySdkService.windowClosing$;
@@ -64,7 +66,7 @@ export class ApplePayService {
64
66
  .getWindowReturnMessage$()
65
67
  .pipe(takeUntil(this.destroy$));
66
68
  }
67
- constructor(window, summaryFinanceDetailsAdapterService, braintreeHandler, checkoutHandler, appleParamsBuilder, loggerService, applePaySdkService, externalWindowCommunicationService, userBehaviourAnalyticsService, settingsService) {
69
+ constructor(window, summaryFinanceDetailsAdapterService, braintreeHandler, checkoutHandler, appleParamsBuilder, loggerService, applePaySdkService, externalWindowCommunicationService, settingsService) {
68
70
  this.window = window;
69
71
  this.summaryFinanceDetailsAdapterService = summaryFinanceDetailsAdapterService;
70
72
  this.braintreeHandler = braintreeHandler;
@@ -73,12 +75,12 @@ export class ApplePayService {
73
75
  this.loggerService = loggerService;
74
76
  this.applePaySdkService = applePaySdkService;
75
77
  this.externalWindowCommunicationService = externalWindowCommunicationService;
76
- this.userBehaviourAnalyticsService = userBehaviourAnalyticsService;
77
78
  this.settingsService = settingsService;
78
79
  this.payment = new Subject();
79
80
  this.error = new Subject();
80
81
  this.integrationType = new Subject();
81
82
  this.applePayQrOpened = new Subject();
83
+ this.analyticsEvent = new Subject();
82
84
  this.destroy$ = new Subject();
83
85
  this.paymentClient = null;
84
86
  this.applePayParams = null;
@@ -201,9 +203,17 @@ export class ApplePayService {
201
203
  this.applePayParams = this.appleParamsBuilder.updateParams(this.applePayParams, summary);
202
204
  }
203
205
  proceedCheckout(parameters, additionalParams) {
204
- this.userBehaviourAnalyticsService.send(UserBehaviourEventName.applePayAcquirer, 'manual', { value: parameters.acquirer });
206
+ this.analyticsEvent.next({
207
+ eventName: UserBehaviourEventName.applePayAcquirer,
208
+ eventType: userBehaviourEventTypes.manual,
209
+ value: parameters.acquirer,
210
+ });
205
211
  if (additionalParams.isApplePayInstantFlowEnabled) {
206
- this.userBehaviourAnalyticsService.send(UserBehaviourEventName.sysInstantFlowOpen, userBehaviourEventTypes.open, { instanceId: applePayId });
212
+ this.analyticsEvent.next({
213
+ eventName: UserBehaviourEventName.sysInstantFlowOpen,
214
+ eventType: userBehaviourEventTypes.open,
215
+ instanceId: applePayId,
216
+ });
207
217
  }
208
218
  const sessionHandler = this.getSessionHandler(parameters.acquirer);
209
219
  if (!sessionHandler) {
@@ -262,7 +272,7 @@ export class ApplePayService {
262
272
  this.applePayQrOpened.next();
263
273
  }
264
274
  }
265
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplePayService, deps: [{ token: windowToken }, { token: i1.SummaryFinanceDetailsAdapterService }, { token: i2.BraintreeHandler }, { token: i3.CheckoutHandler }, { token: i4.ApplePayParamsBuilderService }, { token: i5.LoggerService }, { token: i6.ApplePaySdkService }, { token: i7.ApplePayExternalWindowCommunicationService }, { token: i8.UserBehaviourAnalyticsService }, { token: i9.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
275
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplePayService, deps: [{ token: windowToken }, { token: i1.SummaryFinanceDetailsAdapterService }, { token: i2.BraintreeHandler }, { token: i3.CheckoutHandler }, { token: i4.ApplePayParamsBuilderService }, { token: i5.LoggerService }, { token: i6.ApplePaySdkService }, { token: i7.ApplePayExternalWindowCommunicationService }, { token: i8.SettingsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
266
276
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplePayService, providedIn: 'root' }); }
267
277
  }
268
278
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplePayService, decorators: [{
@@ -273,5 +283,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
273
283
  }], ctorParameters: () => [{ type: undefined, decorators: [{
274
284
  type: Inject,
275
285
  args: [windowToken]
276
- }] }, { type: i1.SummaryFinanceDetailsAdapterService }, { type: i2.BraintreeHandler }, { type: i3.CheckoutHandler }, { type: i4.ApplePayParamsBuilderService }, { type: i5.LoggerService }, { type: i6.ApplePaySdkService }, { type: i7.ApplePayExternalWindowCommunicationService }, { type: i8.UserBehaviourAnalyticsService }, { type: i9.SettingsService }] });
277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9hcHBsZS1wYXkvYXBwbGUtcGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEQsT0FBTyxFQUNMLGNBQWMsRUFDZCxvQkFBb0IsR0FDckIsTUFBTSx1REFBdUQsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUVBQXlFLENBQUM7QUFDckcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzFGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUc1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUVMLHVCQUF1QixHQUN4QixNQUFNLDhCQUE4QixDQUFDO0FBRXRDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFNekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBSWxGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBWXpGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUVsRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN2RyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQzs7Ozs7Ozs7Ozs7QUFLekgsTUFBTSxPQUFPLGVBQWU7SUFpQjFCLElB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QUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGtCQUFrQixDQUN4Qiw0QkFBcUM7UUFFckMsMEJBQTBCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGVBQWUsSUFBSSw0QkFBNEI7WUFDekQsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLE1BQU07WUFDaEMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQztJQUN2QyxDQUFDO0lBRU8sa0JBQWtCLENBQUMsNEJBQXFDO1FBQzlELDBCQUEwQjtRQUMxQixJQUNFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyw0QkFBNEIsQ0FBQztZQUNuRCx1QkFBdUIsQ0FBQyxNQUFNO1lBQ2hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsRUFDM0MsQ0FBQztZQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMvQixDQUFDO0lBQ0gsQ0FBQzsrR0FoV1UsZUFBZSxrQkFvRWhCLFdBQVc7bUhBcEVWLGVBQWUsY0FGZCxNQUFNOzs0RkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBcUVJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcHBsZVBheSwgYXBwbGVQYXksIGNsaWVudCB9IGZyb20gJ2JyYWludHJlZS13ZWInO1xuaW1wb3J0IHsgRXh0ZW5kZWRXaW5kb3cgfSBmcm9tICcuLi8uLi9leHRlbmRlZC13aW5kb3cuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIHBheVN0YXRpb240VXJsLFxuICBzYW5kYm94UGF5U3RhdGlvblVybCxcbn0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL3JlZGlyZWN0L3BheS1zdGF0aW9uNC11cmwuY29uc3QnO1xuaW1wb3J0IHsgYXBwbGVQYXlJZCB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9yZWRpcmVjdC9wczQtcGFnZXMvcGFnZXMtcGF5bWVudC1tZXRob2RzLWlkLmNvbnN0JztcbmltcG9ydCB7IHBhZ2VzUm91dGVzIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL3JlZGlyZWN0L3BzNC1wYWdlcy9wYWdlcy1yb3V0ZXMuY29uc3QnO1xuaW1wb3J0IHsgRmllbGROYW1lcyB9IGZyb20gJy4uLy4uL3BheW1lbnQvZmllbGQtbmFtZXMuZW51bSc7XG5pbXBvcnQgeyBTdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL3N1bW1hcnkvc3VtbWFyeS1maW5hbmNlLWRldGFpbHMtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFhwc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4vcGF5bWVudC94cHMtcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IHdpbmRvd1Rva2VuIH0gZnJvbSAnLi4vLi4vd2luZG93LnRva2VuJztcbmltcG9ydCB7XG4gIEFwcGxlUGF5SW50ZWdyYXRpb24sXG4gIEFwcGxlUGF5SW50ZWdyYXRpb25UeXBlLFxufSBmcm9tICcuL2FwcGxlLXBheS1pbnRlZ3JhdGlvbi50eXBlJztcbmltcG9ydCB7IEFwcGxlUGF5UGFyYW1zIH0gZnJvbSAnLi9hcHBsZS1wYXktcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBhcHBsZVBheVZlcnNpb24gfSBmcm9tICcuL2FwcGxlLXBheS5jb25zdCc7XG5pbXBvcnQgeyBBcHBsZVBheUVycm9ycyB9IGZyb20gJy4vYXBwbGUtcGF5LmVycm9ycy5lbnVtJztcbmltcG9ydCB7IEJyYWludHJlZUhhbmRsZXIgfSBmcm9tICcuL3Nlc3Npb24taGFuZGxlcnMvYnJhaW50cmVlLmhhbmRsZXInO1xuaW1wb3J0IHsgQ2hlY2tvdXRIYW5kbGVyIH0gZnJvbSAnLi9zZXNzaW9uLWhhbmRsZXJzL2NoZWNrb3V0LmhhbmRsZXInO1xuaW1wb3J0IHsgQXBwbGVQYXlTZXNzaW9uSGFuZGxlciB9IGZyb20gJy4vc2Vzc2lvbi1oYW5kbGVycy9zZXNzaW9uLWhhbmRsZXIudHlwZSc7XG5pbXBvcnQgeyBQYXltZW50Rm9ybSB9IGZyb20gJy4uLy4uL3BheW1lbnQvcGF5bWVudC1mb3JtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBsZVBheVBhcmFtc0J1aWxkZXJTZXJ2aWNlIH0gZnJvbSAnLi9wYXJhbXMtYnVpbGRlci9hcHBsZS1wYXktcGFyYW1zLWJ1aWxkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFcnJvclRhZ3MgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9lbGstZXJyb3ItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBTdGFydFNlc3Npb25QYXJhbXMgfSBmcm9tICcuL3Nlc3Npb24taGFuZGxlcnMvc3RhcnQtc2Vzc2lvbi1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5U2RrU2VydmljZSB9IGZyb20gJy4vYXBwbGUtcGF5LXNkay5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxlUGF5RXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZSB9IGZyb20gJy4vZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24vZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBtYXBTaGlwcGluZ0FkZHJlc3NUb0NvbnRhY3QgfSBmcm9tICcuL21hcC1zaGlwcGluZy1hZGRyZXNzLXRvLWNvbnRhY3QuZnVuY3Rpb24nO1xuaW1wb3J0IHsgUmVjYWxjdWxhdGVDYXJ0TWVzc2FnZSB9IGZyb20gJy4vc29ja2V0LW1lc3NhZ2VzL3JlY2FsY3VsYXRlLWNhcnQtbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlTZW5kVG9rZW5NZXNzYWdlIH0gZnJvbSAnLi9zb2NrZXQtbWVzc2FnZXMvc2VuZC10b2tlbi1tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXaW5kb3dDbG9zZU1lc3NhZ2UgfSBmcm9tICcuL3NvY2tldC1tZXNzYWdlcy93aW5kb3ctY2xvc2UtbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmV0dXJuTWVzc2FnZSB9IGZyb20gJy4vc29ja2V0LW1lc3NhZ2VzL3JldHVybi1tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7IFNoaXBwaW5nQWRkcmVzcyB9IGZyb20gJy4vc2hpcHBpbmctYWRkcmVzcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3QgfSBmcm9tICcuL3Nlc3Npb24taGFuZGxlcnMvYXBwbGUtcGF5LXNlc3Npb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IFVwZGF0ZWRQcmljZSB9IGZyb20gJy4vdXBkYXRlZC1wcmljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXBkYXRlUHJpY2VNZXNzYWdlIH0gZnJvbSAnLi9zb2NrZXQtbWVzc2FnZXMvdXBkYXRlLXByaWNlLW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbW1hbmRzRm9yUGFnZXMgfSBmcm9tICcuL2NvbW1hbmRzLWZvci1wYWdlcy5lbnVtJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUYWdnZWRFcnJvciB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL3RhZ2dlZC1lcnJvci5jbGFzcyc7XG5pbXBvcnQgeyBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyQmVoYXZpb3VyRXZlbnROYW1lIH0gZnJvbSAnLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50LW5hbWUuZW51bSc7XG5pbXBvcnQgeyB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcyB9IGZyb20gJy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC10eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBsZVBheVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3I6IFN1YmplY3Q8QXBwbGVQYXlFcnJvcnM+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpbnRlZ3JhdGlvblR5cGU6IFN1YmplY3Q8QXBwbGVQYXlJbnRlZ3JhdGlvbj4gPVxuICAgIG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXBwbGVQYXlRck9wZW5lZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgcGF5bWVudENsaWVudDogQXBwbGVQYXkgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGFwaTogUHJvbWlzZTx7XG4gICAgYXBwbGVQYXk6IHR5cGVvZiBhcHBsZVBheTtcbiAgICBjbGllbnQ6IHR5cGVvZiBjbGllbnQ7XG4gIH0+O1xuICBwcml2YXRlIGFwcGxlUGF5UGFyYW1zOiBBcHBsZVBheVBhcmFtcyB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIG9yZGVyPzogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHVibGljIGdldCBwYXltZW50UGFyYW1ldGVycygpOiBBcHBsZVBheVBhcmFtcyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5UGFyYW1zO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXltZW50JCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVycm9yJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5RXJyb3JzPiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3IuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgZ2V0IGFwcGxlUGF5UXJPcGVuZWQkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5UXJPcGVuZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgZ2V0IHdpbmRvd0Nsb3NpbmckKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5U2RrU2VydmljZS53aW5kb3dDbG9zaW5nJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW50ZWdyYXRpb25UeXBlJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5SW50ZWdyYXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5pbnRlZ3JhdGlvblR5cGUuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGdldENhcnRSZWNhbGN1bGF0aW9uTWVzc2FnZSQoKTogT2JzZXJ2YWJsZTxSZWNhbGN1bGF0ZUNhcnRNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZVxuICAgICAgLmdldENhcnRSZWNhbGN1bGF0aW9uTWVzc2FnZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZ2V0V2luZG93U2VuZFRva2VuTWVzc2FnZSQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheVNlbmRUb2tlbk1lc3NhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5leHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlXG4gICAgICAuZ2V0V2luZG93U2VuZFRva2VuTWVzc2FnZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZ2V0V2luZG93Q2xvc2UkKCk6IE9ic2VydmFibGU8V2luZG93Q2xvc2VNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZVxuICAgICAgLmdldFdpbmRvd0Nsb3NlJCgpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBnZXRXaW5kb3dSZXR1cm5NZXNzYWdlJCgpOiBPYnNlcnZhYmxlPFJldHVybk1lc3NhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5leHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlXG4gICAgICAuZ2V0V2luZG93UmV0dXJuTWVzc2FnZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZTogU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBicmFpbnRyZWVIYW5kbGVyOiBCcmFpbnRyZWVIYW5kbGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tvdXRIYW5kbGVyOiBDaGVja291dEhhbmRsZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBsZVBhcmFtc0J1aWxkZXI6IEFwcGxlUGF5UGFyYW1zQnVpbGRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXJTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwbGVQYXlTZGtTZXJ2aWNlOiBBcHBsZVBheVNka1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBleHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlOiBBcHBsZVBheUV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZTogVXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5hcGkgPSB0aGlzLmxvYWRCcmFpbnRyZWUoKTtcblxuICAgIHRoaXMuc3Vic2NyaWJlVG9IYW5kbGVycygpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHVibGljIGFkZEFwcGxlUGF5U2RrSnMoKTogdm9pZCB7XG4gICAgdGhpcy5hcHBsZVBheVNka1NlcnZpY2UuYWRkQXBwbGVQYXlTZGtKcygpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHVibGljIHJlbW92ZUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5hcHBsZVBheVNka1NlcnZpY2UucmVtb3ZlTGlzdGVuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0QXBwbGVQYXlQYXJhbXMoZGF0YTogeyBwYXltZW50Rm9ybTogUGF5bWVudEZvcm0gfSk6IHZvaWQge1xuICAgIGNvbnN0IHBheW1lbnRGb3JtID0gZGF0YT8ucGF5bWVudEZvcm07XG4gICAgY29uc3QgZm9ybUZpZWxkcyA9IHBheW1lbnRGb3JtPy5maWVsZHM7XG4gICAgY29uc3Qgc3VtbWFyeSA9IHBheW1lbnRGb3JtPy5zdW1tYXJ5O1xuXG4gICAgaWYgKCFmb3JtRmllbGRzIHx8ICFzdW1tYXJ5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hcHBsZVBheVBhcmFtcyA9IHRoaXMuYXBwbGVQYXJhbXNCdWlsZGVyLmJ1aWxkUGFyYW1zKHBheW1lbnRGb3JtKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0QnJhaW50cmVlTGlicmFyeSh0b2tlbktleTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFwaSA9IGF3YWl0IHRoaXMuYXBpO1xuICAgICAgY29uc3QgY2xpZW50SW5zdGFuY2UgPSBhd2FpdCBhcGkuY2xpZW50LmNyZWF0ZSh7XG4gICAgICAgIGF1dGhvcml6YXRpb246IHRva2VuS2V5LFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucGF5bWVudENsaWVudCA9IGF3YWl0IGFwaS5hcHBsZVBheS5jcmVhdGUoe1xuICAgICAgICBjbGllbnQ6IGNsaWVudEluc3RhbmNlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmJyYWludHJlZUhhbmRsZXIuc2V0Q2xpZW50KHRoaXMucGF5bWVudENsaWVudCk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoQXBwbGVQYXlFcnJvcnMuYnJhaW50cmVlSW5pdGlhbGl6ZUVycm9yLCBlcnJvcik7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcihBcHBsZVBheUVycm9ycy5icmFpbnRyZWVJbml0aWFsaXplRXJyb3IsIFtcbiAgICAgICAgICBFcnJvclRhZ3MuQVBQTEVQQVksXG4gICAgICAgIF0pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMucGF5bWVudENsaWVudCB8fCAhdGhpcy5pc0RldmljZUNhcGFibGUpIHtcbiAgICAgIHRoaXMuZW1pdEVycm9yKEFwcGxlUGF5RXJyb3JzLmRldmljZUlzTm90Q2FwYWJsZUVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaW5pdEFwcGxlUGF5KFxuICAgIHRva2VuS2V5OiBzdHJpbmcsXG4gICAgaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZDogYm9vbGVhbixcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuYXBwbGVQYXlQYXJhbXM/LmFjcXVpcmVyID09PSAnYnJhaW50cmVlJykge1xuICAgICAgYXdhaXQgdGhpcy5pbml0QnJhaW50cmVlTGlicmFyeSh0b2tlbktleSk7XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0SW50ZWdyYXRpb25UeXBlKGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHN0YXJ0V2luZG93Q29tbXVuaWNhdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2Uub3BlbldlYlNvY2tldENvbm5lY3Rpb24oXG4gICAgICB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbixcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNlbmRVcGRhdGVkUHJpY2VWaWFXaW5kb3dDb21tdW5pY2F0aW9uKFxuICAgIHVwZGF0ZWRQcmljZTogVXBkYXRlZFByaWNlLFxuICApOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZS5zZW5kTWVzc2FnZVRvQW5vdGhlcldpbmRvdzxcbiAgICAgIFVwZGF0ZVByaWNlTWVzc2FnZVsnZGF0YSddXG4gICAgPihDb21tYW5kc0ZvclBhZ2VzLkFQUExFX1BBWV9VUERBVEVfUFJJQ0UsIHtcbiAgICAgIG5ld0NhcnRQcmljaW5nOiB1cGRhdGVkUHJpY2UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVkaXJlY3RUb1BheW1lbnRQYWdlKFxuICAgIHBhcmFtZXRlcnM6IEFwcGxlUGF5UGFyYW1zLFxuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgaXNTYW5kYm94PzogYm9vbGVhbixcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCByb3V0ZSA9IHBhZ2VzUm91dGVzLmdldChhcHBsZVBheUlkKTtcbiAgICBpZiAoIXJvdXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnkgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICAgIC4uLnBhcmFtZXRlcnMsXG4gICAgICBtZXJjaGFudENhcGFiaWxpdGllczogSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycy5tZXJjaGFudENhcGFiaWxpdGllcyksXG4gICAgICBzdXBwb3J0ZWROZXR3b3JrczogSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycy5zdXBwb3J0ZWROZXR3b3JrcyksXG4gICAgICByZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzOiBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgcGFyYW1ldGVycz8ucmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcyxcbiAgICAgICksXG4gICAgICByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkczogSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHBhcmFtZXRlcnM/LnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLFxuICAgICAgKSxcbiAgICAgIGFncmVlbWVudHM6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMuYWdyZWVtZW50cyksXG4gICAgICB0b2tlbixcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLm9yZGVyKSB7XG4gICAgICBxdWVyeS5hcHBlbmQoJ29yZGVyJywgdGhpcy5vcmRlcik7XG4gICAgfVxuXG4gICAgY29uc3QgcGF5U3RhdGlvblVybCA9IGlzU2FuZGJveCA/IHNhbmRib3hQYXlTdGF0aW9uVXJsIDogcGF5U3RhdGlvbjRVcmw7XG4gICAgcmV0dXJuIGAke3BheVN0YXRpb25Vcmx9L2VuJHtyb3V0ZX0/JHtxdWVyeS50b1N0cmluZygpfWA7XG4gIH1cblxuICBwdWJsaWMgc2V0T3JkZXIoZGF0YTogeyBwYXltZW50Rm9ybTogUGF5bWVudEZvcm0gfSk6IHZvaWQge1xuICAgIGNvbnN0IHN1bW1hcnkgPSBkYXRhPy5wYXltZW50Rm9ybT8uc3VtbWFyeTtcbiAgICBpZiAoIXN1bW1hcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaW5hbmNlRGV0YWlscyA9XG4gICAgICB0aGlzLnN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKHN1bW1hcnkpO1xuXG4gICAgaWYgKGZpbmFuY2VEZXRhaWxzPy5wdXJjaGFzZSAmJiBmaW5hbmNlRGV0YWlscz8uZmluYW5jZSkge1xuICAgICAgY29uc3QgY2FydEl0ZW1zID0gZmluYW5jZURldGFpbHMuY2FydEl0ZW1zO1xuICAgICAgdGhpcy5vcmRlciA9IGNhcnRJdGVtcz8ucmVkdWNlKChjdXJyLCBpdGVtKSA9PiB7XG4gICAgICAgIGlmIChjdXJyKSB7XG4gICAgICAgICAgcmV0dXJuIGN1cnIgKyBgOyAke2l0ZW0udGl0bGV9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjdXJyICsgaXRlbS50aXRsZTtcbiAgICAgIH0sICcnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRGV2aWNlQ2FwYWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hcHBsZVBheVNka1NlcnZpY2UubmVlZFRvQWRkQXBwbGVQYXlKcykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBCb29sZWFuKFxuICAgICAgICB0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24/LnN1cHBvcnRzVmVyc2lvbihhcHBsZVBheVZlcnNpb24pICYmXG4gICAgICAgICAgdGhpcy53aW5kb3cuQXBwbGVQYXlTZXNzaW9uPy5jYW5NYWtlUGF5bWVudHMoKSxcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0VG9rZW5Ob25jZUZpZWxkRGF0YSh0b2tlbk5vbmNlOiBzdHJpbmcpOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gIH0ge1xuICAgIGNvbnN0IG5hbWUgPSBGaWVsZE5hbWVzLnRva2VuQXBwbGVQYXk7XG4gICAgY29uc3QgdmFsdWUgPSBidG9hKHRva2VuTm9uY2UpO1xuICAgIHJldHVybiB7IG5hbWUsIHZhbHVlIH07XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQXBwbGVQYXlQYXJhbXMoZGF0YTogdW5rbm93bik6IHZvaWQge1xuICAgIGNvbnN0IHN1bW1hcnkgPSAoZGF0YSBhcyBYcHNSZXNwb25zZSk/LnN1bW1hcnk7XG4gICAgaWYgKCF0aGlzLmFwcGxlUGF5UGFyYW1zIHx8ICFzdW1tYXJ5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hcHBsZVBheVBhcmFtcyA9IHRoaXMuYXBwbGVQYXJhbXNCdWlsZGVyLnVwZGF0ZVBhcmFtcyhcbiAgICAgIHRoaXMuYXBwbGVQYXlQYXJhbXMsXG4gICAgICBzdW1tYXJ5LFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcHJvY2VlZENoZWNrb3V0KFxuICAgIHBhcmFtZXRlcnM6IEFwcGxlUGF5UGFyYW1zLFxuICAgIGFkZGl0aW9uYWxQYXJhbXM6IFN0YXJ0U2Vzc2lvblBhcmFtcyxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5hcHBsZVBheUFjcXVpcmVyLFxuICAgICAgJ21hbnVhbCcsXG4gICAgICB7IHZhbHVlOiBwYXJhbWV0ZXJzLmFjcXVpcmVyIH0sXG4gICAgKTtcblxuICAgIGlmIChhZGRpdGlvbmFsUGFyYW1zLmlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQpIHtcbiAgICAgIHRoaXMudXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2Uuc2VuZChcbiAgICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5zeXNJbnN0YW50Rmxvd09wZW4sXG4gICAgICAgIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm9wZW4sXG4gICAgICAgIHsgaW5zdGFuY2VJZDogYXBwbGVQYXlJZCB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBzZXNzaW9uSGFuZGxlciA9IHRoaXMuZ2V0U2Vzc2lvbkhhbmRsZXIocGFyYW1ldGVycy5hY3F1aXJlcik7XG5cbiAgICBpZiAoIXNlc3Npb25IYW5kbGVyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdBcHBsZSBQYXk6IFVuc3VwcG9ydGVkIGFjcXVpcmVyOicsIHBhcmFtZXRlcnMuYWNxdWlyZXIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHNlc3Npb25IYW5kbGVyLnN0YXJ0U2Vzc2lvbihwYXJhbWV0ZXJzLCBhZGRpdGlvbmFsUGFyYW1zLCAoKSA9PlxuICAgICAgdGhpcy5hcHBsZVBheVNka1NlcnZpY2UuZW1pdFdpbmRvd0Nsb3NpbmcoKSxcbiAgICApO1xuICAgIHRoaXMuZW1pdEFwcGxlUGF5T3BlbmVkKFxuICAgICAgYWRkaXRpb25hbFBhcmFtcy5pc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkID8/IGZhbHNlLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgbWFwU2hpcHBpbmdBZGRyZXNzVG9Db250YWN0KFxuICAgIHNoaXBwaW5nQWRkcmVzczogU2hpcHBpbmdBZGRyZXNzLFxuICApOiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdCB7XG4gICAgcmV0dXJuIG1hcFNoaXBwaW5nQWRkcmVzc1RvQ29udGFjdChzaGlwcGluZ0FkZHJlc3MpO1xuICB9XG5cbiAgcHVibGljIHNldFRva2VuKHRva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnBheW1lbnQubmV4dCh0b2tlbik7XG4gIH1cblxuICBwcml2YXRlIGdldFNlc3Npb25IYW5kbGVyKFxuICAgIGFjcXVpcmVyOiBzdHJpbmcsXG4gICk6IEFwcGxlUGF5U2Vzc2lvbkhhbmRsZXIgfCB1bmRlZmluZWQge1xuICAgIHN3aXRjaCAoYWNxdWlyZXIpIHtcbiAgICAgIGNhc2UgJ2JyYWludHJlZSc6XG4gICAgICAgIHJldHVybiB0aGlzLmJyYWludHJlZUhhbmRsZXI7XG4gICAgICBjYXNlICdjaGVja291dCc6XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrb3V0SGFuZGxlcjtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkQnJhaW50cmVlKCk6IFByb21pc2U8e1xuICAgIGFwcGxlUGF5OiB0eXBlb2YgYXBwbGVQYXk7XG4gICAgY2xpZW50OiB0eXBlb2YgY2xpZW50O1xuICB9PiB7XG4gICAgY29uc3QgYXBpID0gYXdhaXQgaW1wb3J0KCdicmFpbnRyZWUtd2ViJyk7XG4gICAgcmV0dXJuIGFwaTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEVycm9yKGVycm9yOiBBcHBsZVBheUVycm9ycyk6IHZvaWQge1xuICAgIHRoaXMuZXJyb3IubmV4dChlcnJvcik7XG4gIH1cblxuICBwcml2YXRlIGVtaXRJbnRlZ3JhdGlvblR5cGUoaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaW50ZWdyYXRpb25UeXBlLm5leHQoXG4gICAgICB0aGlzLmdldEludGVncmF0aW9uVHlwZShpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkKSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0hhbmRsZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IGhhbmRsZXJzID0gW3RoaXMuYnJhaW50cmVlSGFuZGxlciwgdGhpcy5jaGVja291dEhhbmRsZXJdO1xuXG4gICAgaGFuZGxlcnMuZm9yRWFjaCgoaGFuZGxlcikgPT4ge1xuICAgICAgaGFuZGxlci5lcnJvciQuc3Vic2NyaWJlKChlcnJvcikgPT4gdGhpcy5lbWl0RXJyb3IoZXJyb3IpKTtcbiAgICAgIGhhbmRsZXIucGF5bWVudCQuc3Vic2NyaWJlKCh0b2tlbikgPT4ge1xuICAgICAgICB0aGlzLnBheW1lbnQubmV4dCh0b2tlbik7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW50ZWdyYXRpb25UeXBlKFxuICAgIGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQ6IGJvb2xlYW4sXG4gICk6IEFwcGxlUGF5SW50ZWdyYXRpb25UeXBlIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiB0aGlzLmlzRGV2aWNlQ2FwYWJsZSAmJiBpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkXG4gICAgICA/IEFwcGxlUGF5SW50ZWdyYXRpb25UeXBlLm5hdGl2ZVxuICAgICAgOiBBcHBsZVBheUludGVncmF0aW9uVHlwZS5yZWRpcmVjdDtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEFwcGxlUGF5T3BlbmVkKGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmIChcbiAgICAgIHRoaXMuZ2V0SW50ZWdyYXRpb25UeXBlKGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQpID09PVxuICAgICAgICBBcHBsZVBheUludGVncmF0aW9uVHlwZS5uYXRpdmUgJiZcbiAgICAgIHRoaXMuYXBwbGVQYXlTZGtTZXJ2aWNlLm5lZWRUb0FkZEFwcGxlUGF5SnNcbiAgICApIHtcbiAgICAgIHRoaXMuYXBwbGVQYXlRck9wZW5lZC5uZXh0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=
286
+ }] }, { type: i1.SummaryFinanceDetailsAdapterService }, { type: i2.BraintreeHandler }, { type: i3.CheckoutHandler }, { type: i4.ApplePayParamsBuilderService }, { type: i5.LoggerService }, { type: i6.ApplePaySdkService }, { type: i7.ApplePayExternalWindowCommunicationService }, { type: i8.SettingsService }] });
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGUtcGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9hcHBsZS1wYXkvYXBwbGUtcGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRzdELE9BQU8sRUFDTCxjQUFjLEVBQ2Qsb0JBQW9CLEdBQ3JCLE1BQU0sdURBQXVELENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlFQUF5RSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUMxRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHNUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFFTCx1QkFBdUIsR0FDeEIsTUFBTSw4QkFBOEIsQ0FBQztBQUV0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBTXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUlsRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQVl6RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scURBQXFELENBQUM7QUFDbEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdkcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0ZBQWdGLENBQUM7Ozs7Ozs7Ozs7QUFNekgsTUFBTSxPQUFPLGVBQWU7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LE9BQU8sRUFBRSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDM0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxrQkFBa0IsQ0FDeEIsNEJBQXFDO1FBRXJDLDBCQUEwQjtRQUMxQixPQUFPLElBQUksQ0FBQyxlQUFlLElBQUksNEJBQTRCO1lBQ3pELENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNO1lBQ2hDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUM7SUFDdkMsQ0FBQztJQUVPLGtCQUFrQixDQUFDLDRCQUFxQztRQUM5RCwwQkFBMEI7UUFDMUIsSUFDRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsNEJBQTRCLENBQUM7WUFDbkQsdUJBQXVCLENBQUMsTUFBTTtZQUNoQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLEVBQzNDLENBQUM7WUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0IsQ0FBQztJQUNILENBQUM7K0dBeldVLGVBQWUsa0JBOEVoQixXQUFXO21IQTlFVixlQUFlLGNBRmQsTUFBTTs7NEZBRVAsZUFBZTtrQkFIM0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQStFSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwcGxlUGF5LCBhcHBsZVBheSwgY2xpZW50IH0gZnJvbSAnYnJhaW50cmVlLXdlYic7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uLy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgcGF5U3RhdGlvbjRVcmwsXG4gIHNhbmRib3hQYXlTdGF0aW9uVXJsLFxufSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvcmVkaXJlY3QvcGF5LXN0YXRpb240LXVybC5jb25zdCc7XG5pbXBvcnQgeyBhcHBsZVBheUlkIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL3JlZGlyZWN0L3BzNC1wYWdlcy9wYWdlcy1wYXltZW50LW1ldGhvZHMtaWQuY29uc3QnO1xuaW1wb3J0IHsgcGFnZXNSb3V0ZXMgfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvcmVkaXJlY3QvcHM0LXBhZ2VzL3BhZ2VzLXJvdXRlcy5jb25zdCc7XG5pbXBvcnQgeyBGaWVsZE5hbWVzIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9maWVsZC1uYW1lcy5lbnVtJztcbmltcG9ydCB7IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9maW5hbmNlLWRldGFpbHMvc3VtbWFyeS9zdW1tYXJ5LWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgWHBzUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9wYXltZW50L3hwcy1yZXNwb25zZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi8uLi93aW5kb3cudG9rZW4nO1xuaW1wb3J0IHtcbiAgQXBwbGVQYXlJbnRlZ3JhdGlvbixcbiAgQXBwbGVQYXlJbnRlZ3JhdGlvblR5cGUsXG59IGZyb20gJy4vYXBwbGUtcGF5LWludGVncmF0aW9uLnR5cGUnO1xuaW1wb3J0IHsgQXBwbGVQYXlQYXJhbXMgfSBmcm9tICcuL2FwcGxlLXBheS1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7IGFwcGxlUGF5VmVyc2lvbiB9IGZyb20gJy4vYXBwbGUtcGF5LmNvbnN0JztcbmltcG9ydCB7IEFwcGxlUGF5RXJyb3JzIH0gZnJvbSAnLi9hcHBsZS1wYXkuZXJyb3JzLmVudW0nO1xuaW1wb3J0IHsgQnJhaW50cmVlSGFuZGxlciB9IGZyb20gJy4vc2Vzc2lvbi1oYW5kbGVycy9icmFpbnRyZWUuaGFuZGxlcic7XG5pbXBvcnQgeyBDaGVja291dEhhbmRsZXIgfSBmcm9tICcuL3Nlc3Npb24taGFuZGxlcnMvY2hlY2tvdXQuaGFuZGxlcic7XG5pbXBvcnQgeyBBcHBsZVBheVNlc3Npb25IYW5kbGVyIH0gZnJvbSAnLi9zZXNzaW9uLWhhbmRsZXJzL3Nlc3Npb24taGFuZGxlci50eXBlJztcbmltcG9ydCB7IFBheW1lbnRGb3JtIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9wYXltZW50LWZvcm0uaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5UGFyYW1zQnVpbGRlclNlcnZpY2UgfSBmcm9tICcuL3BhcmFtcy1idWlsZGVyL2FwcGxlLXBheS1wYXJhbXMtYnVpbGRlci5zZXJ2aWNlJztcbmltcG9ydCB7IEVycm9yVGFncyB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL2Vsay1lcnJvci10eXBlcy5lbnVtJztcbmltcG9ydCB7IFN0YXJ0U2Vzc2lvblBhcmFtcyB9IGZyb20gJy4vc2Vzc2lvbi1oYW5kbGVycy9zdGFydC1zZXNzaW9uLXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlTZGtTZXJ2aWNlIH0gZnJvbSAnLi9hcHBsZS1wYXktc2RrLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlFeHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi9leHRlcm5hbC13aW5kb3ctY29tbXVuaWNhdGlvbi9leHRlcm5hbC13aW5kb3ctY29tbXVuaWNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IG1hcFNoaXBwaW5nQWRkcmVzc1RvQ29udGFjdCB9IGZyb20gJy4vbWFwLXNoaXBwaW5nLWFkZHJlc3MtdG8tY29udGFjdC5mdW5jdGlvbic7XG5pbXBvcnQgeyBSZWNhbGN1bGF0ZUNhcnRNZXNzYWdlIH0gZnJvbSAnLi9zb2NrZXQtbWVzc2FnZXMvcmVjYWxjdWxhdGUtY2FydC1tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBsZVBheVNlbmRUb2tlbk1lc3NhZ2UgfSBmcm9tICcuL3NvY2tldC1tZXNzYWdlcy9zZW5kLXRva2VuLW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFdpbmRvd0Nsb3NlTWVzc2FnZSB9IGZyb20gJy4vc29ja2V0LW1lc3NhZ2VzL3dpbmRvdy1jbG9zZS1tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZXR1cm5NZXNzYWdlIH0gZnJvbSAnLi9zb2NrZXQtbWVzc2FnZXMvcmV0dXJuLW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2hpcHBpbmdBZGRyZXNzIH0gZnJvbSAnLi9zaGlwcGluZy1hZGRyZXNzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBBcHBsZVBheVNoaXBwaW5nQ29udGFjdCB9IGZyb20gJy4vc2Vzc2lvbi1oYW5kbGVycy9hcHBsZS1wYXktc2Vzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXBkYXRlZFByaWNlIH0gZnJvbSAnLi91cGRhdGVkLXByaWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVcGRhdGVQcmljZU1lc3NhZ2UgfSBmcm9tICcuL3NvY2tldC1tZXNzYWdlcy91cGRhdGUtcHJpY2UtbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29tbWFuZHNGb3JQYWdlcyB9IGZyb20gJy4vY29tbWFuZHMtZm9yLXBhZ2VzLmVudW0nO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhZ2dlZEVycm9yIH0gZnJvbSAnLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvdGFnZ2VkLWVycm9yLmNsYXNzJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJFdmVudE5hbWUgfSBmcm9tICcuLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQtbmFtZS5lbnVtJztcbmltcG9ydCB7IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50L3VzZXItYmVoYXZpb3VyLWV2ZW50LXR5cGVzJztcbmltcG9ydCB7IEFuYWx5dGljc0V2ZW50UGF5bG9hZCB9IGZyb20gJy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxlUGF5U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlcnJvcjogU3ViamVjdDxBcHBsZVBheUVycm9ycz4gPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIHJlYWRvbmx5IGludGVncmF0aW9uVHlwZTogU3ViamVjdDxBcHBsZVBheUludGVncmF0aW9uPiA9XG4gICAgbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhcHBsZVBheVFyT3BlbmVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBhbmFseXRpY3NFdmVudCA9IG5ldyBTdWJqZWN0PEFuYWx5dGljc0V2ZW50UGF5bG9hZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBwYXltZW50Q2xpZW50OiBBcHBsZVBheSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYXBpOiBQcm9taXNlPHtcbiAgICBhcHBsZVBheTogdHlwZW9mIGFwcGxlUGF5O1xuICAgIGNsaWVudDogdHlwZW9mIGNsaWVudDtcbiAgfT47XG4gIHByaXZhdGUgYXBwbGVQYXlQYXJhbXM6IEFwcGxlUGF5UGFyYW1zIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgb3JkZXI/OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IHBheW1lbnRQYXJhbWV0ZXJzKCk6IEFwcGxlUGF5UGFyYW1zIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuYXBwbGVQYXlQYXJhbXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBheW1lbnQkKCk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXJyb3IkKCk6IE9ic2VydmFibGU8QXBwbGVQYXlFcnJvcnM+IHtcbiAgICByZXR1cm4gdGhpcy5lcnJvci5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHB1YmxpYyBnZXQgYXBwbGVQYXlRck9wZW5lZCQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuYXBwbGVQYXlRck9wZW5lZC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYW5hbHl0aWNzRXZlbnQkKCk6IE9ic2VydmFibGU8QW5hbHl0aWNzRXZlbnRQYXlsb2FkPiB7XG4gICAgcmV0dXJuIG1lcmdlKFxuICAgICAgdGhpcy5hbmFseXRpY3NFdmVudC5hc09ic2VydmFibGUoKSxcbiAgICAgIHRoaXMuYnJhaW50cmVlSGFuZGxlci5hbmFseXRpY3NFdmVudCQsXG4gICAgICB0aGlzLmNoZWNrb3V0SGFuZGxlci5hbmFseXRpY3NFdmVudCQsXG4gICAgICB0aGlzLmV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2UuYW5hbHl0aWNzRXZlbnQkLFxuICAgICk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwdWJsaWMgZ2V0IHdpbmRvd0Nsb3NpbmckKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmFwcGxlUGF5U2RrU2VydmljZS53aW5kb3dDbG9zaW5nJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaW50ZWdyYXRpb25UeXBlJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5SW50ZWdyYXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5pbnRlZ3JhdGlvblR5cGUuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGdldENhcnRSZWNhbGN1bGF0aW9uTWVzc2FnZSQoKTogT2JzZXJ2YWJsZTxSZWNhbGN1bGF0ZUNhcnRNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZVxuICAgICAgLmdldENhcnRSZWNhbGN1bGF0aW9uTWVzc2FnZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZ2V0V2luZG93U2VuZFRva2VuTWVzc2FnZSQoKTogT2JzZXJ2YWJsZTxBcHBsZVBheVNlbmRUb2tlbk1lc3NhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5leHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlXG4gICAgICAuZ2V0V2luZG93U2VuZFRva2VuTWVzc2FnZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZ2V0V2luZG93Q2xvc2UkKCk6IE9ic2VydmFibGU8V2luZG93Q2xvc2VNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZVxuICAgICAgLmdldFdpbmRvd0Nsb3NlJCgpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBnZXRXaW5kb3dSZXR1cm5NZXNzYWdlJCgpOiBPYnNlcnZhYmxlPFJldHVybk1lc3NhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5leHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlXG4gICAgICAuZ2V0V2luZG93UmV0dXJuTWVzc2FnZSQoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKTtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdW1tYXJ5RmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZTogU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBicmFpbnRyZWVIYW5kbGVyOiBCcmFpbnRyZWVIYW5kbGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2hlY2tvdXRIYW5kbGVyOiBDaGVja291dEhhbmRsZXIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHBsZVBhcmFtc0J1aWxkZXI6IEFwcGxlUGF5UGFyYW1zQnVpbGRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXJTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwbGVQYXlTZGtTZXJ2aWNlOiBBcHBsZVBheVNka1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBleHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlOiBBcHBsZVBheUV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5hcGkgPSB0aGlzLmxvYWRCcmFpbnRyZWUoKTtcblxuICAgIHRoaXMuc3Vic2NyaWJlVG9IYW5kbGVycygpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHVibGljIGFkZEFwcGxlUGF5U2RrSnMoKTogdm9pZCB7XG4gICAgdGhpcy5hcHBsZVBheVNka1NlcnZpY2UuYWRkQXBwbGVQYXlTZGtKcygpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHVibGljIHJlbW92ZUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5hcHBsZVBheVNka1NlcnZpY2UucmVtb3ZlTGlzdGVuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0QXBwbGVQYXlQYXJhbXMoZGF0YTogeyBwYXltZW50Rm9ybTogUGF5bWVudEZvcm0gfSk6IHZvaWQge1xuICAgIGNvbnN0IHBheW1lbnRGb3JtID0gZGF0YT8ucGF5bWVudEZvcm07XG4gICAgY29uc3QgZm9ybUZpZWxkcyA9IHBheW1lbnRGb3JtPy5maWVsZHM7XG4gICAgY29uc3Qgc3VtbWFyeSA9IHBheW1lbnRGb3JtPy5zdW1tYXJ5O1xuXG4gICAgaWYgKCFmb3JtRmllbGRzIHx8ICFzdW1tYXJ5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hcHBsZVBheVBhcmFtcyA9IHRoaXMuYXBwbGVQYXJhbXNCdWlsZGVyLmJ1aWxkUGFyYW1zKHBheW1lbnRGb3JtKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0QnJhaW50cmVlTGlicmFyeSh0b2tlbktleTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGFwaSA9IGF3YWl0IHRoaXMuYXBpO1xuICAgICAgY29uc3QgY2xpZW50SW5zdGFuY2UgPSBhd2FpdCBhcGkuY2xpZW50LmNyZWF0ZSh7XG4gICAgICAgIGF1dGhvcml6YXRpb246IHRva2VuS2V5LFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucGF5bWVudENsaWVudCA9IGF3YWl0IGFwaS5hcHBsZVBheS5jcmVhdGUoe1xuICAgICAgICBjbGllbnQ6IGNsaWVudEluc3RhbmNlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmJyYWludHJlZUhhbmRsZXIuc2V0Q2xpZW50KHRoaXMucGF5bWVudENsaWVudCk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoQXBwbGVQYXlFcnJvcnMuYnJhaW50cmVlSW5pdGlhbGl6ZUVycm9yLCBlcnJvcik7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcihBcHBsZVBheUVycm9ycy5icmFpbnRyZWVJbml0aWFsaXplRXJyb3IsIFtcbiAgICAgICAgICBFcnJvclRhZ3MuQVBQTEVQQVksXG4gICAgICAgIF0pLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMucGF5bWVudENsaWVudCB8fCAhdGhpcy5pc0RldmljZUNhcGFibGUpIHtcbiAgICAgIHRoaXMuZW1pdEVycm9yKEFwcGxlUGF5RXJyb3JzLmRldmljZUlzTm90Q2FwYWJsZUVycm9yKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaW5pdEFwcGxlUGF5KFxuICAgIHRva2VuS2V5OiBzdHJpbmcsXG4gICAgaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZDogYm9vbGVhbixcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuYXBwbGVQYXlQYXJhbXM/LmFjcXVpcmVyID09PSAnYnJhaW50cmVlJykge1xuICAgICAgYXdhaXQgdGhpcy5pbml0QnJhaW50cmVlTGlicmFyeSh0b2tlbktleSk7XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0SW50ZWdyYXRpb25UeXBlKGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHN0YXJ0V2luZG93Q29tbXVuaWNhdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmV4dGVybmFsV2luZG93Q29tbXVuaWNhdGlvblNlcnZpY2Uub3BlbldlYlNvY2tldENvbm5lY3Rpb24oXG4gICAgICB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbixcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHNlbmRVcGRhdGVkUHJpY2VWaWFXaW5kb3dDb21tdW5pY2F0aW9uKFxuICAgIHVwZGF0ZWRQcmljZTogVXBkYXRlZFByaWNlLFxuICApOiB2b2lkIHtcbiAgICB2b2lkIHRoaXMuZXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZS5zZW5kTWVzc2FnZVRvQW5vdGhlcldpbmRvdzxcbiAgICAgIFVwZGF0ZVByaWNlTWVzc2FnZVsnZGF0YSddXG4gICAgPihDb21tYW5kc0ZvclBhZ2VzLkFQUExFX1BBWV9VUERBVEVfUFJJQ0UsIHtcbiAgICAgIG5ld0NhcnRQcmljaW5nOiB1cGRhdGVkUHJpY2UsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcmVkaXJlY3RUb1BheW1lbnRQYWdlKFxuICAgIHBhcmFtZXRlcnM6IEFwcGxlUGF5UGFyYW1zLFxuICAgIHRva2VuOiBzdHJpbmcsXG4gICAgaXNTYW5kYm94PzogYm9vbGVhbixcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCByb3V0ZSA9IHBhZ2VzUm91dGVzLmdldChhcHBsZVBheUlkKTtcbiAgICBpZiAoIXJvdXRlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcXVlcnkgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcbiAgICAgIC4uLnBhcmFtZXRlcnMsXG4gICAgICBtZXJjaGFudENhcGFiaWxpdGllczogSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycy5tZXJjaGFudENhcGFiaWxpdGllcyksXG4gICAgICBzdXBwb3J0ZWROZXR3b3JrczogSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycy5zdXBwb3J0ZWROZXR3b3JrcyksXG4gICAgICByZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzOiBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgcGFyYW1ldGVycz8ucmVxdWlyZWRCaWxsaW5nQ29udGFjdEZpZWxkcyxcbiAgICAgICksXG4gICAgICByZXF1aXJlZFNoaXBwaW5nQ29udGFjdEZpZWxkczogSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHBhcmFtZXRlcnM/LnJlcXVpcmVkU2hpcHBpbmdDb250YWN0RmllbGRzLFxuICAgICAgKSxcbiAgICAgIGFncmVlbWVudHM6IEpTT04uc3RyaW5naWZ5KHBhcmFtZXRlcnMuYWdyZWVtZW50cyksXG4gICAgICB0b2tlbixcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLm9yZGVyKSB7XG4gICAgICBxdWVyeS5hcHBlbmQoJ29yZGVyJywgdGhpcy5vcmRlcik7XG4gICAgfVxuXG4gICAgY29uc3QgcGF5U3RhdGlvblVybCA9IGlzU2FuZGJveCA/IHNhbmRib3hQYXlTdGF0aW9uVXJsIDogcGF5U3RhdGlvbjRVcmw7XG4gICAgcmV0dXJuIGAke3BheVN0YXRpb25Vcmx9L2VuJHtyb3V0ZX0/JHtxdWVyeS50b1N0cmluZygpfWA7XG4gIH1cblxuICBwdWJsaWMgc2V0T3JkZXIoZGF0YTogeyBwYXltZW50Rm9ybTogUGF5bWVudEZvcm0gfSk6IHZvaWQge1xuICAgIGNvbnN0IHN1bW1hcnkgPSBkYXRhPy5wYXltZW50Rm9ybT8uc3VtbWFyeTtcbiAgICBpZiAoIXN1bW1hcnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaW5hbmNlRGV0YWlscyA9XG4gICAgICB0aGlzLnN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKHN1bW1hcnkpO1xuXG4gICAgaWYgKGZpbmFuY2VEZXRhaWxzPy5wdXJjaGFzZSAmJiBmaW5hbmNlRGV0YWlscz8uZmluYW5jZSkge1xuICAgICAgY29uc3QgY2FydEl0ZW1zID0gZmluYW5jZURldGFpbHMuY2FydEl0ZW1zO1xuICAgICAgdGhpcy5vcmRlciA9IGNhcnRJdGVtcz8ucmVkdWNlKChjdXJyLCBpdGVtKSA9PiB7XG4gICAgICAgIGlmIChjdXJyKSB7XG4gICAgICAgICAgcmV0dXJuIGN1cnIgKyBgOyAke2l0ZW0udGl0bGV9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjdXJyICsgaXRlbS50aXRsZTtcbiAgICAgIH0sICcnKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRGV2aWNlQ2FwYWJsZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5hcHBsZVBheVNka1NlcnZpY2UubmVlZFRvQWRkQXBwbGVQYXlKcykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBCb29sZWFuKFxuICAgICAgICB0aGlzLndpbmRvdy5BcHBsZVBheVNlc3Npb24/LnN1cHBvcnRzVmVyc2lvbihhcHBsZVBheVZlcnNpb24pICYmXG4gICAgICAgICAgdGhpcy53aW5kb3cuQXBwbGVQYXlTZXNzaW9uPy5jYW5NYWtlUGF5bWVudHMoKSxcbiAgICAgICk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0VG9rZW5Ob25jZUZpZWxkRGF0YSh0b2tlbk5vbmNlOiBzdHJpbmcpOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gIH0ge1xuICAgIGNvbnN0IG5hbWUgPSBGaWVsZE5hbWVzLnRva2VuQXBwbGVQYXk7XG4gICAgY29uc3QgdmFsdWUgPSBidG9hKHRva2VuTm9uY2UpO1xuICAgIHJldHVybiB7IG5hbWUsIHZhbHVlIH07XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlQXBwbGVQYXlQYXJhbXMoZGF0YTogdW5rbm93bik6IHZvaWQge1xuICAgIGNvbnN0IHN1bW1hcnkgPSAoZGF0YSBhcyBYcHNSZXNwb25zZSk/LnN1bW1hcnk7XG4gICAgaWYgKCF0aGlzLmFwcGxlUGF5UGFyYW1zIHx8ICFzdW1tYXJ5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hcHBsZVBheVBhcmFtcyA9IHRoaXMuYXBwbGVQYXJhbXNCdWlsZGVyLnVwZGF0ZVBhcmFtcyhcbiAgICAgIHRoaXMuYXBwbGVQYXlQYXJhbXMsXG4gICAgICBzdW1tYXJ5LFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgcHJvY2VlZENoZWNrb3V0KFxuICAgIHBhcmFtZXRlcnM6IEFwcGxlUGF5UGFyYW1zLFxuICAgIGFkZGl0aW9uYWxQYXJhbXM6IFN0YXJ0U2Vzc2lvblBhcmFtcyxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5hbmFseXRpY3NFdmVudC5uZXh0KHtcbiAgICAgIGV2ZW50TmFtZTogVXNlckJlaGF2aW91ckV2ZW50TmFtZS5hcHBsZVBheUFjcXVpcmVyLFxuICAgICAgZXZlbnRUeXBlOiB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWwsXG4gICAgICB2YWx1ZTogcGFyYW1ldGVycy5hY3F1aXJlcixcbiAgICB9KTtcblxuICAgIGlmIChhZGRpdGlvbmFsUGFyYW1zLmlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQpIHtcbiAgICAgIHRoaXMuYW5hbHl0aWNzRXZlbnQubmV4dCh7XG4gICAgICAgIGV2ZW50TmFtZTogVXNlckJlaGF2aW91ckV2ZW50TmFtZS5zeXNJbnN0YW50Rmxvd09wZW4sXG4gICAgICAgIGV2ZW50VHlwZTogdXNlckJlaGF2aW91ckV2ZW50VHlwZXMub3BlbixcbiAgICAgICAgaW5zdGFuY2VJZDogYXBwbGVQYXlJZCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHNlc3Npb25IYW5kbGVyID0gdGhpcy5nZXRTZXNzaW9uSGFuZGxlcihwYXJhbWV0ZXJzLmFjcXVpcmVyKTtcblxuICAgIGlmICghc2Vzc2lvbkhhbmRsZXIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0FwcGxlIFBheTogVW5zdXBwb3J0ZWQgYWNxdWlyZXI6JywgcGFyYW1ldGVycy5hY3F1aXJlcik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc2Vzc2lvbkhhbmRsZXIuc3RhcnRTZXNzaW9uKHBhcmFtZXRlcnMsIGFkZGl0aW9uYWxQYXJhbXMsICgpID0+XG4gICAgICB0aGlzLmFwcGxlUGF5U2RrU2VydmljZS5lbWl0V2luZG93Q2xvc2luZygpLFxuICAgICk7XG4gICAgdGhpcy5lbWl0QXBwbGVQYXlPcGVuZWQoXG4gICAgICBhZGRpdGlvbmFsUGFyYW1zLmlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQgPz8gZmFsc2UsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBtYXBTaGlwcGluZ0FkZHJlc3NUb0NvbnRhY3QoXG4gICAgc2hpcHBpbmdBZGRyZXNzOiBTaGlwcGluZ0FkZHJlc3MsXG4gICk6IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0IHtcbiAgICByZXR1cm4gbWFwU2hpcHBpbmdBZGRyZXNzVG9Db250YWN0KHNoaXBwaW5nQWRkcmVzcyk7XG4gIH1cblxuICBwdWJsaWMgc2V0VG9rZW4odG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucGF5bWVudC5uZXh0KHRva2VuKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2Vzc2lvbkhhbmRsZXIoXG4gICAgYWNxdWlyZXI6IHN0cmluZyxcbiAgKTogQXBwbGVQYXlTZXNzaW9uSGFuZGxlciB8IHVuZGVmaW5lZCB7XG4gICAgc3dpdGNoIChhY3F1aXJlcikge1xuICAgICAgY2FzZSAnYnJhaW50cmVlJzpcbiAgICAgICAgcmV0dXJuIHRoaXMuYnJhaW50cmVlSGFuZGxlcjtcbiAgICAgIGNhc2UgJ2NoZWNrb3V0JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tvdXRIYW5kbGVyO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxvYWRCcmFpbnRyZWUoKTogUHJvbWlzZTx7XG4gICAgYXBwbGVQYXk6IHR5cGVvZiBhcHBsZVBheTtcbiAgICBjbGllbnQ6IHR5cGVvZiBjbGllbnQ7XG4gIH0+IHtcbiAgICBjb25zdCBhcGkgPSBhd2FpdCBpbXBvcnQoJ2JyYWludHJlZS13ZWInKTtcbiAgICByZXR1cm4gYXBpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RXJyb3IoZXJyb3I6IEFwcGxlUGF5RXJyb3JzKTogdm9pZCB7XG4gICAgdGhpcy5lcnJvci5uZXh0KGVycm9yKTtcbiAgfVxuXG4gIHByaXZhdGUgZW1pdEludGVncmF0aW9uVHlwZShpc0FwcGxlUGF5SW5zdGFudEZsb3dFbmFibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pbnRlZ3JhdGlvblR5cGUubmV4dChcbiAgICAgIHRoaXMuZ2V0SW50ZWdyYXRpb25UeXBlKGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWQpLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvSGFuZGxlcnMoKTogdm9pZCB7XG4gICAgY29uc3QgaGFuZGxlcnMgPSBbdGhpcy5icmFpbnRyZWVIYW5kbGVyLCB0aGlzLmNoZWNrb3V0SGFuZGxlcl07XG5cbiAgICBoYW5kbGVycy5mb3JFYWNoKChoYW5kbGVyKSA9PiB7XG4gICAgICBoYW5kbGVyLmVycm9yJC5zdWJzY3JpYmUoKGVycm9yKSA9PiB0aGlzLmVtaXRFcnJvcihlcnJvcikpO1xuICAgICAgaGFuZGxlci5wYXltZW50JC5zdWJzY3JpYmUoKHRva2VuKSA9PiB7XG4gICAgICAgIHRoaXMucGF5bWVudC5uZXh0KHRva2VuKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbnRlZ3JhdGlvblR5cGUoXG4gICAgaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZDogYm9vbGVhbixcbiAgKTogQXBwbGVQYXlJbnRlZ3JhdGlvblR5cGUge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHRoaXMuaXNEZXZpY2VDYXBhYmxlICYmIGlzQXBwbGVQYXlJbnN0YW50Rmxvd0VuYWJsZWRcbiAgICAgID8gQXBwbGVQYXlJbnRlZ3JhdGlvblR5cGUubmF0aXZlXG4gICAgICA6IEFwcGxlUGF5SW50ZWdyYXRpb25UeXBlLnJlZGlyZWN0O1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0QXBwbGVQYXlPcGVuZWQoaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgaWYgKFxuICAgICAgdGhpcy5nZXRJbnRlZ3JhdGlvblR5cGUoaXNBcHBsZVBheUluc3RhbnRGbG93RW5hYmxlZCkgPT09XG4gICAgICAgIEFwcGxlUGF5SW50ZWdyYXRpb25UeXBlLm5hdGl2ZSAmJlxuICAgICAgdGhpcy5hcHBsZVBheVNka1NlcnZpY2UubmVlZFRvQWRkQXBwbGVQYXlKc1xuICAgICkge1xuICAgICAgdGhpcy5hcHBsZVBheVFyT3BlbmVkLm5leHQoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,17 +1,21 @@
1
+ import { Subject } from 'rxjs';
1
2
  import { filter, map, tap } from 'rxjs/operators';
2
3
  import { Inject, Injectable } from '@angular/core';
3
4
  import { windowToken } from '../../../window.token';
4
5
  import { UserBehaviourEventName } from '../../../user-behaviour-analytics/user-behaviour-event-name.enum';
6
+ import { userBehaviourEventTypes } from '../../../user-behaviour-analytics/user-behaviour-event/user-behaviour-event-types';
5
7
  import * as i0 from "@angular/core";
6
8
  import * as i1 from "../../../web-socket/web-socket.factory";
7
9
  import * as i2 from "../../../web-socket/socket-bridge/socket-bridge.service";
8
- import * as i3 from "../../../user-behaviour-analytics/user-behaviour-analytics.service";
9
10
  export class ApplePayExternalWindowCommunicationService {
10
- constructor(window, webSocketFactory, socketBridgeService, userBehaviourAnalyticsService) {
11
+ constructor(window, webSocketFactory, socketBridgeService) {
11
12
  this.window = window;
12
13
  this.webSocketFactory = webSocketFactory;
13
14
  this.socketBridgeService = socketBridgeService;
14
- this.userBehaviourAnalyticsService = userBehaviourAnalyticsService;
15
+ this.analyticsEvent = new Subject();
16
+ }
17
+ get analyticsEvent$() {
18
+ return this.analyticsEvent.asObservable();
15
19
  }
16
20
  getWindowClose$() {
17
21
  const isWindowCloseMessage = (message) => message.command === "apple-pay-window-close" /* CommandsForPages.APPLE_PAY_WINDOW_CLOSE */;
@@ -36,7 +40,10 @@ export class ApplePayExternalWindowCommunicationService {
36
40
  return this.getEventSource(isRecalculateCartMessage);
37
41
  }
38
42
  async openWebSocketConnection(token) {
39
- this.userBehaviourAnalyticsService.send(UserBehaviourEventName.applePayOpenWebSocketConnection, 'manual');
43
+ this.analyticsEvent.next({
44
+ eventName: UserBehaviourEventName.applePayOpenWebSocketConnection,
45
+ eventType: userBehaviourEventTypes.manual,
46
+ });
40
47
  const bridgeInfo = await this.socketBridgeService.getBridgeConnectionChannel(token);
41
48
  if (this.websocketClient) {
42
49
  this.websocketClient.close();
@@ -45,7 +52,11 @@ export class ApplePayExternalWindowCommunicationService {
45
52
  await this.websocketClient.open(bridgeInfo.subscribeUrl, bridgeInfo.channelName);
46
53
  }
47
54
  async sendMessageToAnotherWindow(command, payload) {
48
- this.userBehaviourAnalyticsService.send(UserBehaviourEventName.applePaySendMessageToAnotherWindow, 'manual', { value: command });
55
+ this.analyticsEvent.next({
56
+ eventName: UserBehaviourEventName.applePaySendMessageToAnotherWindow,
57
+ eventType: userBehaviourEventTypes.manual,
58
+ value: command,
59
+ });
49
60
  await this.socketBridgeService.publishMessage(command, payload);
50
61
  }
51
62
  getEventSource(eventHandler) {
@@ -54,7 +65,7 @@ export class ApplePayExternalWindowCommunicationService {
54
65
  return JSON.parse(message);
55
66
  }), filter(eventHandler));
56
67
  }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplePayExternalWindowCommunicationService, deps: [{ token: windowToken }, { token: i1.WebSocketFactory }, { token: i2.SocketBridgeService }, { token: i3.UserBehaviourAnalyticsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplePayExternalWindowCommunicationService, deps: [{ token: windowToken }, { token: i1.WebSocketFactory }, { token: i2.SocketBridgeService }], target: i0.ɵɵFactoryTarget.Injectable }); }
58
69
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplePayExternalWindowCommunicationService, providedIn: 'root' }); }
59
70
  }
60
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ApplePayExternalWindowCommunicationService, decorators: [{
@@ -65,5 +76,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
65
76
  }], ctorParameters: () => [{ type: undefined, decorators: [{
66
77
  type: Inject,
67
78
  args: [windowToken]
68
- }] }, { type: i1.WebSocketFactory }, { type: i2.SocketBridgeService }, { type: i3.UserBehaviourAnalyticsService }] });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9leHRlcm5hbC13aW5kb3ctY29tbXVuaWNhdGlvbi9leHRlcm5hbC13aW5kb3ctY29tbXVuaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVdwRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQzs7Ozs7QUFLMUcsTUFBTSxPQUFPLDBDQUEwQztJQUdyRCxZQUN3QyxNQUFzQixFQUMzQyxnQkFBa0MsRUFDbEMsbUJBQXdDLEVBQ3hDLDZCQUE0RDtRQUh2QyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUMzQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUErQjtJQUM1RSxDQUFDO0lBRUcsZUFBZTtRQUNwQixNQUFNLG9CQUFvQixHQUFHLENBQzNCLE9BQXNCLEVBQ1MsRUFBRSxDQUNqQyxPQUFPLENBQUMsT0FBTywyRUFBNEMsQ0FBQztRQUU5RCxNQUFNLFlBQVksR0FDaEIsSUFBSSxDQUFDLGNBQWMsQ0FBcUIsb0JBQW9CLENBQUMsQ0FBQztRQUVoRSxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQ3RCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU0sdUJBQXVCO1FBQzVCLE1BQU0sZUFBZSxHQUFHLENBQ3RCLE9BQXNCLEVBQ0ksRUFBRSxDQUM1QixPQUFPLENBQUMsT0FBTywrREFBc0MsQ0FBQztRQUV4RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFnQixlQUFlLENBQUMsQ0FBQztRQUV6RSxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQ3RCLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDUCxnQ0FBZ0M7UUFDbEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFTSwwQkFBMEI7UUFDL0IsTUFBTSxrQkFBa0IsR0FBRyxDQUN6QixPQUFzQixFQUNlLEVBQUUsQ0FDdkMsT0FBTyxDQUFDLE9BQU8sdUVBQTBDLENBQUM7UUFFNUQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUEyQixrQkFBa0IsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTSw0QkFBNEI7UUFDakMsTUFBTSx3QkFBd0IsR0FBRyxDQUMvQixPQUFzQixFQUNhLEVBQUUsQ0FDckMsT0FBTyxDQUFDLE9BQU8sbUZBQWdELENBQUM7UUFFbEUsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUN4Qix3QkFBd0IsQ0FDekIsQ0FBQztJQUNKLENBQUM7SUFFTSxLQUFLLENBQUMsdUJBQXVCLENBQUMsS0FBYTtRQUNoRCxJQUFJLENBQUMsNkJBQTZCLENBQUMsSUFBSSxDQUNyQyxzQkFBc0IsQ0FBQywrQkFBK0IsRUFDdEQsUUFBUSxDQUNULENBQUM7UUFFRixNQUFNLFVBQVUsR0FDZCxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVuRSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQy9CLENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FDaEUsVUFBVSxDQUFDLFlBQVksRUFDdkIsVUFBVSxDQUFDLFVBQVUsQ0FDdEIsQ0FBQztRQUVGLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQzdCLFVBQVUsQ0FBQyxZQUFZLEVBQ3ZCLFVBQVUsQ0FBQyxXQUFXLENBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLDBCQUEwQixDQUNyQyxPQUF5QixFQUN6QixPQUFXO1FBRVgsSUFBSSxDQUFDLDZCQUE2QixDQUFDLElBQUksQ0FDckMsc0JBQXNCLENBQUMsa0NBQWtDLEVBQ3pELFFBQVEsRUFDUixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FDbkIsQ0FBQztRQUVGLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBSSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVPLGNBQWMsQ0FDcEIsWUFBc0Q7UUFFdEQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ3hDLEdBQUcsQ0FBd0IsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNyQyxPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzNDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQWtCLENBQUM7UUFDOUMsQ0FBQyxDQUFDLEVBQ0YsTUFBTSxDQUFtQixZQUFZLENBQUMsQ0FDdkMsQ0FBQztJQUNKLENBQUM7K0dBNUdVLDBDQUEwQyxrQkFJM0MsV0FBVzttSEFKViwwQ0FBMEMsY0FGekMsTUFBTTs7NEZBRVAsMENBQTBDO2tCQUh0RCxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgV2ViU29ja2V0RmFjdG9yeSB9IGZyb20gJy4uLy4uLy4uL3dlYi1zb2NrZXQvd2ViLXNvY2tldC5mYWN0b3J5JztcbmltcG9ydCB7IFdlYlNvY2tldENsaWVudCB9IGZyb20gJy4uLy4uLy4uL3dlYi1zb2NrZXQvd2ViLXNvY2tldC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi8uLi8uLi93aW5kb3cudG9rZW4nO1xuaW1wb3J0IHsgRXh0ZW5kZWRXaW5kb3cgfSBmcm9tICcuLi8uLi8uLi9leHRlbmRlZC13aW5kb3cuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNvY2tldEJyaWRnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi93ZWItc29ja2V0L3NvY2tldC1icmlkZ2Uvc29ja2V0LWJyaWRnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFdpbmRvd0Nsb3NlTWVzc2FnZSB9IGZyb20gJy4uL3NvY2tldC1tZXNzYWdlcy93aW5kb3ctY2xvc2UtbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgV2luZG93Q29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL3dpbmRvdy1jb21tYW5kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb21tYW5kc0ZvclBhZ2VzIH0gZnJvbSAnLi4vY29tbWFuZHMtZm9yLXBhZ2VzLmVudW0nO1xuaW1wb3J0IHsgQnJpZGdlQ29tbWFuZCB9IGZyb20gJy4uLy4uLy4uL3dlYi1zb2NrZXQvc29ja2V0LWJyaWRnZS9icmlkZ2UtY29tbWFuZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmVjYWxjdWxhdGVDYXJ0TWVzc2FnZSB9IGZyb20gJy4uL3NvY2tldC1tZXNzYWdlcy9yZWNhbGN1bGF0ZS1jYXJ0LW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEFwcGxlUGF5U2VuZFRva2VuTWVzc2FnZSB9IGZyb20gJy4uL3NvY2tldC1tZXNzYWdlcy9zZW5kLXRva2VuLW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFJldHVybk1lc3NhZ2UgfSBmcm9tICcuLi9zb2NrZXQtbWVzc2FnZXMvcmV0dXJuLW1lc3NhZ2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJFdmVudE5hbWUgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQtbmFtZS5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcGxlUGF5RXh0ZXJuYWxXaW5kb3dDb21tdW5pY2F0aW9uU2VydmljZSB7XG4gIHByaXZhdGUgd2Vic29ja2V0Q2xpZW50ITogV2ViU29ja2V0Q2xpZW50O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKSBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSB3ZWJTb2NrZXRGYWN0b3J5OiBXZWJTb2NrZXRGYWN0b3J5LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc29ja2V0QnJpZGdlU2VydmljZTogU29ja2V0QnJpZGdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlOiBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXRXaW5kb3dDbG9zZSQoKTogT2JzZXJ2YWJsZTxXaW5kb3dDbG9zZU1lc3NhZ2U+IHtcbiAgICBjb25zdCBpc1dpbmRvd0Nsb3NlTWVzc2FnZSA9IChcbiAgICAgIG1lc3NhZ2U6IFdpbmRvd0NvbW1hbmQsXG4gICAgKTogbWVzc2FnZSBpcyBXaW5kb3dDbG9zZU1lc3NhZ2UgPT5cbiAgICAgIG1lc3NhZ2UuY29tbWFuZCA9PT0gQ29tbWFuZHNGb3JQYWdlcy5BUFBMRV9QQVlfV0lORE9XX0NMT1NFO1xuXG4gICAgY29uc3QgZXZlbnRTb3VyY2UkID1cbiAgICAgIHRoaXMuZ2V0RXZlbnRTb3VyY2U8V2luZG93Q2xvc2VNZXNzYWdlPihpc1dpbmRvd0Nsb3NlTWVzc2FnZSk7XG5cbiAgICByZXR1cm4gZXZlbnRTb3VyY2UkLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICB0aGlzLndpbmRvdy5mb2N1cygpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRXaW5kb3dSZXR1cm5NZXNzYWdlJCgpOiBPYnNlcnZhYmxlPFJldHVybk1lc3NhZ2U+IHtcbiAgICBjb25zdCBpc1JldHVybk1lc3NhZ2UgPSAoXG4gICAgICBtZXNzYWdlOiBXaW5kb3dDb21tYW5kLFxuICAgICk6IG1lc3NhZ2UgaXMgUmV0dXJuTWVzc2FnZSA9PlxuICAgICAgbWVzc2FnZS5jb21tYW5kID09PSBDb21tYW5kc0ZvclBhZ2VzLkFQUExFX1BBWV9SRVRVUk47XG5cbiAgICBjb25zdCBldmVudFNvdXJjZSQgPSB0aGlzLmdldEV2ZW50U291cmNlPFJldHVybk1lc3NhZ2U+KGlzUmV0dXJuTWVzc2FnZSk7XG5cbiAgICByZXR1cm4gZXZlbnRTb3VyY2UkLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAvLyBUT0RPOiBzZW5kIGNsb3NlIGV2ZW50IHRvIHNka1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRXaW5kb3dTZW5kVG9rZW5NZXNzYWdlJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5U2VuZFRva2VuTWVzc2FnZT4ge1xuICAgIGNvbnN0IGlzU2VuZFRva2VuTWVzc2FnZSA9IChcbiAgICAgIG1lc3NhZ2U6IFdpbmRvd0NvbW1hbmQsXG4gICAgKTogbWVzc2FnZSBpcyBBcHBsZVBheVNlbmRUb2tlbk1lc3NhZ2UgPT5cbiAgICAgIG1lc3NhZ2UuY29tbWFuZCA9PT0gQ29tbWFuZHNGb3JQYWdlcy5BUFBMRV9QQVlfU0VORF9UT0tFTjtcblxuICAgIHJldHVybiB0aGlzLmdldEV2ZW50U291cmNlPEFwcGxlUGF5U2VuZFRva2VuTWVzc2FnZT4oaXNTZW5kVG9rZW5NZXNzYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXJ0UmVjYWxjdWxhdGlvbk1lc3NhZ2UkKCk6IE9ic2VydmFibGU8UmVjYWxjdWxhdGVDYXJ0TWVzc2FnZT4ge1xuICAgIGNvbnN0IGlzUmVjYWxjdWxhdGVDYXJ0TWVzc2FnZSA9IChcbiAgICAgIG1lc3NhZ2U6IFdpbmRvd0NvbW1hbmQsXG4gICAgKTogbWVzc2FnZSBpcyBSZWNhbGN1bGF0ZUNhcnRNZXNzYWdlID0+XG4gICAgICBtZXNzYWdlLmNvbW1hbmQgPT09IENvbW1hbmRzRm9yUGFnZXMuQVBQTEVfUEFZX1JFQ0FMQ1VMQVRFX0NBUlQ7XG5cbiAgICByZXR1cm4gdGhpcy5nZXRFdmVudFNvdXJjZTxSZWNhbGN1bGF0ZUNhcnRNZXNzYWdlPihcbiAgICAgIGlzUmVjYWxjdWxhdGVDYXJ0TWVzc2FnZSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIG9wZW5XZWJTb2NrZXRDb25uZWN0aW9uKHRva2VuOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICBVc2VyQmVoYXZpb3VyRXZlbnROYW1lLmFwcGxlUGF5T3BlbldlYlNvY2tldENvbm5lY3Rpb24sXG4gICAgICAnbWFudWFsJyxcbiAgICApO1xuXG4gICAgY29uc3QgYnJpZGdlSW5mbyA9XG4gICAgICBhd2FpdCB0aGlzLnNvY2tldEJyaWRnZVNlcnZpY2UuZ2V0QnJpZGdlQ29ubmVjdGlvbkNoYW5uZWwodG9rZW4pO1xuXG4gICAgaWYgKHRoaXMud2Vic29ja2V0Q2xpZW50KSB7XG4gICAgICB0aGlzLndlYnNvY2tldENsaWVudC5jbG9zZSgpO1xuICAgIH1cblxuICAgIHRoaXMud2Vic29ja2V0Q2xpZW50ID0gdGhpcy53ZWJTb2NrZXRGYWN0b3J5LmNyZWF0ZVdlYlNvY2tldENsaWVudChcbiAgICAgIGJyaWRnZUluZm8uc3Vic2NyaWJlVXJsLFxuICAgICAgYnJpZGdlSW5mby5jbGllbnRUeXBlLFxuICAgICk7XG5cbiAgICBhd2FpdCB0aGlzLndlYnNvY2tldENsaWVudC5vcGVuKFxuICAgICAgYnJpZGdlSW5mby5zdWJzY3JpYmVVcmwsXG4gICAgICBicmlkZ2VJbmZvLmNoYW5uZWxOYW1lLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc2VuZE1lc3NhZ2VUb0Fub3RoZXJXaW5kb3c8UCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9PihcbiAgICBjb21tYW5kOiBDb21tYW5kc0ZvclBhZ2VzLFxuICAgIHBheWxvYWQ/OiBQLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICBVc2VyQmVoYXZpb3VyRXZlbnROYW1lLmFwcGxlUGF5U2VuZE1lc3NhZ2VUb0Fub3RoZXJXaW5kb3csXG4gICAgICAnbWFudWFsJyxcbiAgICAgIHsgdmFsdWU6IGNvbW1hbmQgfSxcbiAgICApO1xuXG4gICAgYXdhaXQgdGhpcy5zb2NrZXRCcmlkZ2VTZXJ2aWNlLnB1Ymxpc2hNZXNzYWdlPFA+KGNvbW1hbmQsIHBheWxvYWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRFdmVudFNvdXJjZTxUIGV4dGVuZHMgV2luZG93Q29tbWFuZD4oXG4gICAgZXZlbnRIYW5kbGVyOiAobWVzc2FnZTogV2luZG93Q29tbWFuZCkgPT4gbWVzc2FnZSBpcyBULFxuICApOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy53ZWJzb2NrZXRDbGllbnQubWVzc2FnZXMkLnBpcGUoXG4gICAgICBtYXA8c3RyaW5nLCBCcmlkZ2VDb21tYW5kPigobWVzc2FnZSkgPT4ge1xuICAgICAgICBjb25zb2xlLmluZm8oJ3dlYnNvY2tldCBtZXNzYWdlJywgbWVzc2FnZSk7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKG1lc3NhZ2UpIGFzIEJyaWRnZUNvbW1hbmQ7XG4gICAgICB9KSxcbiAgICAgIGZpbHRlcjxCcmlkZ2VDb21tYW5kLCBUPihldmVudEhhbmRsZXIpLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
79
+ }] }, { type: i1.WebSocketFactory }, { type: i2.SocketBridgeService }] });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZXJuYWwtd2luZG93LWNvbW11bmljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zZGstcGF5bWVudC1zeXN0ZW1zL2FwcGxlLXBheS9leHRlcm5hbC13aW5kb3ctY29tbXVuaWNhdGlvbi9leHRlcm5hbC13aW5kb3ctY29tbXVuaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBVXBELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQzFHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1GQUFtRixDQUFDOzs7O0FBTTVILE1BQU0sT0FBTywwQ0FBMEM7SUFJckQsWUFDd0MsTUFBc0IsRUFDM0MsZ0JBQWtDLEVBQ2xDLG1CQUF3QztRQUZuQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUMzQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFMMUMsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBeUIsQ0FBQztJQU1wRSxDQUFDO0lBRUosSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRU0sZUFBZTtRQUNwQixNQUFNLG9CQUFvQixHQUFHLENBQzNCLE9BQXNCLEVBQ1MsRUFBRSxDQUNqQyxPQUFPLENBQUMsT0FBTywyRUFB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QTBDLGtCQUszQyxXQUFXO21IQUxWLDBDQUEwQyxjQUZ6QyxNQUFNOzs0RkFFUCwwQ0FBMEM7a0JBSHRELFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFNSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBXZWJTb2NrZXRGYWN0b3J5IH0gZnJvbSAnLi4vLi4vLi4vd2ViLXNvY2tldC93ZWItc29ja2V0LmZhY3RvcnknO1xuaW1wb3J0IHsgV2ViU29ja2V0Q2xpZW50IH0gZnJvbSAnLi4vLi4vLi4vd2ViLXNvY2tldC93ZWItc29ja2V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyB3aW5kb3dUb2tlbiB9IGZyb20gJy4uLy4uLy4uL3dpbmRvdy50b2tlbic7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uLy4uLy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU29ja2V0QnJpZGdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3dlYi1zb2NrZXQvc29ja2V0LWJyaWRnZS9zb2NrZXQtYnJpZGdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2luZG93Q2xvc2VNZXNzYWdlIH0gZnJvbSAnLi4vc29ja2V0LW1lc3NhZ2VzL3dpbmRvdy1jbG9zZS1tZXNzYWdlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBXaW5kb3dDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vd2luZG93LWNvbW1hbmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvbW1hbmRzRm9yUGFnZXMgfSBmcm9tICcuLi9jb21tYW5kcy1mb3ItcGFnZXMuZW51bSc7XG5pbXBvcnQgeyBCcmlkZ2VDb21tYW5kIH0gZnJvbSAnLi4vLi4vLi4vd2ViLXNvY2tldC9zb2NrZXQtYnJpZGdlL2JyaWRnZS1jb21tYW5kLmludGVyZmFjZSc7XG5pbXBvcnQgeyBSZWNhbGN1bGF0ZUNhcnRNZXNzYWdlIH0gZnJvbSAnLi4vc29ja2V0LW1lc3NhZ2VzL3JlY2FsY3VsYXRlLWNhcnQtbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQXBwbGVQYXlTZW5kVG9rZW5NZXNzYWdlIH0gZnJvbSAnLi4vc29ja2V0LW1lc3NhZ2VzL3NlbmQtdG9rZW4tbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgUmV0dXJuTWVzc2FnZSB9IGZyb20gJy4uL3NvY2tldC1tZXNzYWdlcy9yZXR1cm4tbWVzc2FnZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckV2ZW50TmFtZSB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC1uYW1lLmVudW0nO1xuaW1wb3J0IHsgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQvdXNlci1iZWhhdmlvdXItZXZlbnQtdHlwZXMnO1xuaW1wb3J0IHsgQW5hbHl0aWNzRXZlbnRQYXlsb2FkIH0gZnJvbSAnLi4vLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5pbnRlcmZhY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQXBwbGVQYXlFeHRlcm5hbFdpbmRvd0NvbW11bmljYXRpb25TZXJ2aWNlIHtcbiAgcHJpdmF0ZSB3ZWJzb2NrZXRDbGllbnQhOiBXZWJTb2NrZXRDbGllbnQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgYW5hbHl0aWNzRXZlbnQgPSBuZXcgU3ViamVjdDxBbmFseXRpY3NFdmVudFBheWxvYWQ+KCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3Qod2luZG93VG9rZW4pIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBFeHRlbmRlZFdpbmRvdyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdlYlNvY2tldEZhY3Rvcnk6IFdlYlNvY2tldEZhY3RvcnksXG4gICAgcHJpdmF0ZSByZWFkb25seSBzb2NrZXRCcmlkZ2VTZXJ2aWNlOiBTb2NrZXRCcmlkZ2VTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGdldCBhbmFseXRpY3NFdmVudCQoKTogT2JzZXJ2YWJsZTxBbmFseXRpY3NFdmVudFBheWxvYWQ+IHtcbiAgICByZXR1cm4gdGhpcy5hbmFseXRpY3NFdmVudC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRXaW5kb3dDbG9zZSQoKTogT2JzZXJ2YWJsZTxXaW5kb3dDbG9zZU1lc3NhZ2U+IHtcbiAgICBjb25zdCBpc1dpbmRvd0Nsb3NlTWVzc2FnZSA9IChcbiAgICAgIG1lc3NhZ2U6IFdpbmRvd0NvbW1hbmQsXG4gICAgKTogbWVzc2FnZSBpcyBXaW5kb3dDbG9zZU1lc3NhZ2UgPT5cbiAgICAgIG1lc3NhZ2UuY29tbWFuZCA9PT0gQ29tbWFuZHNGb3JQYWdlcy5BUFBMRV9QQVlfV0lORE9XX0NMT1NFO1xuXG4gICAgY29uc3QgZXZlbnRTb3VyY2UkID1cbiAgICAgIHRoaXMuZ2V0RXZlbnRTb3VyY2U8V2luZG93Q2xvc2VNZXNzYWdlPihpc1dpbmRvd0Nsb3NlTWVzc2FnZSk7XG5cbiAgICByZXR1cm4gZXZlbnRTb3VyY2UkLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICB0aGlzLndpbmRvdy5mb2N1cygpO1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRXaW5kb3dSZXR1cm5NZXNzYWdlJCgpOiBPYnNlcnZhYmxlPFJldHVybk1lc3NhZ2U+IHtcbiAgICBjb25zdCBpc1JldHVybk1lc3NhZ2UgPSAoXG4gICAgICBtZXNzYWdlOiBXaW5kb3dDb21tYW5kLFxuICAgICk6IG1lc3NhZ2UgaXMgUmV0dXJuTWVzc2FnZSA9PlxuICAgICAgbWVzc2FnZS5jb21tYW5kID09PSBDb21tYW5kc0ZvclBhZ2VzLkFQUExFX1BBWV9SRVRVUk47XG5cbiAgICBjb25zdCBldmVudFNvdXJjZSQgPSB0aGlzLmdldEV2ZW50U291cmNlPFJldHVybk1lc3NhZ2U+KGlzUmV0dXJuTWVzc2FnZSk7XG5cbiAgICByZXR1cm4gZXZlbnRTb3VyY2UkLnBpcGUoXG4gICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAvLyBUT0RPOiBzZW5kIGNsb3NlIGV2ZW50IHRvIHNka1xuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRXaW5kb3dTZW5kVG9rZW5NZXNzYWdlJCgpOiBPYnNlcnZhYmxlPEFwcGxlUGF5U2VuZFRva2VuTWVzc2FnZT4ge1xuICAgIGNvbnN0IGlzU2VuZFRva2VuTWVzc2FnZSA9IChcbiAgICAgIG1lc3NhZ2U6IFdpbmRvd0NvbW1hbmQsXG4gICAgKTogbWVzc2FnZSBpcyBBcHBsZVBheVNlbmRUb2tlbk1lc3NhZ2UgPT5cbiAgICAgIG1lc3NhZ2UuY29tbWFuZCA9PT0gQ29tbWFuZHNGb3JQYWdlcy5BUFBMRV9QQVlfU0VORF9UT0tFTjtcblxuICAgIHJldHVybiB0aGlzLmdldEV2ZW50U291cmNlPEFwcGxlUGF5U2VuZFRva2VuTWVzc2FnZT4oaXNTZW5kVG9rZW5NZXNzYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXJ0UmVjYWxjdWxhdGlvbk1lc3NhZ2UkKCk6IE9ic2VydmFibGU8UmVjYWxjdWxhdGVDYXJ0TWVzc2FnZT4ge1xuICAgIGNvbnN0IGlzUmVjYWxjdWxhdGVDYXJ0TWVzc2FnZSA9IChcbiAgICAgIG1lc3NhZ2U6IFdpbmRvd0NvbW1hbmQsXG4gICAgKTogbWVzc2FnZSBpcyBSZWNhbGN1bGF0ZUNhcnRNZXNzYWdlID0+XG4gICAgICBtZXNzYWdlLmNvbW1hbmQgPT09IENvbW1hbmRzRm9yUGFnZXMuQVBQTEVfUEFZX1JFQ0FMQ1VMQVRFX0NBUlQ7XG5cbiAgICByZXR1cm4gdGhpcy5nZXRFdmVudFNvdXJjZTxSZWNhbGN1bGF0ZUNhcnRNZXNzYWdlPihcbiAgICAgIGlzUmVjYWxjdWxhdGVDYXJ0TWVzc2FnZSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIG9wZW5XZWJTb2NrZXRDb25uZWN0aW9uKHRva2VuOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmFuYWx5dGljc0V2ZW50Lm5leHQoe1xuICAgICAgZXZlbnROYW1lOiBVc2VyQmVoYXZpb3VyRXZlbnROYW1lLmFwcGxlUGF5T3BlbldlYlNvY2tldENvbm5lY3Rpb24sXG4gICAgICBldmVudFR5cGU6IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm1hbnVhbCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGJyaWRnZUluZm8gPVxuICAgICAgYXdhaXQgdGhpcy5zb2NrZXRCcmlkZ2VTZXJ2aWNlLmdldEJyaWRnZUNvbm5lY3Rpb25DaGFubmVsKHRva2VuKTtcblxuICAgIGlmICh0aGlzLndlYnNvY2tldENsaWVudCkge1xuICAgICAgdGhpcy53ZWJzb2NrZXRDbGllbnQuY2xvc2UoKTtcbiAgICB9XG5cbiAgICB0aGlzLndlYnNvY2tldENsaWVudCA9IHRoaXMud2ViU29ja2V0RmFjdG9yeS5jcmVhdGVXZWJTb2NrZXRDbGllbnQoXG4gICAgICBicmlkZ2VJbmZvLnN1YnNjcmliZVVybCxcbiAgICAgIGJyaWRnZUluZm8uY2xpZW50VHlwZSxcbiAgICApO1xuXG4gICAgYXdhaXQgdGhpcy53ZWJzb2NrZXRDbGllbnQub3BlbihcbiAgICAgIGJyaWRnZUluZm8uc3Vic2NyaWJlVXJsLFxuICAgICAgYnJpZGdlSW5mby5jaGFubmVsTmFtZSxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHNlbmRNZXNzYWdlVG9Bbm90aGVyV2luZG93PFAgZXh0ZW5kcyB7IFtrZXk6IHN0cmluZ106IHVua25vd24gfT4oXG4gICAgY29tbWFuZDogQ29tbWFuZHNGb3JQYWdlcyxcbiAgICBwYXlsb2FkPzogUCxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5hbmFseXRpY3NFdmVudC5uZXh0KHtcbiAgICAgIGV2ZW50TmFtZTogVXNlckJlaGF2aW91ckV2ZW50TmFtZS5hcHBsZVBheVNlbmRNZXNzYWdlVG9Bbm90aGVyV2luZG93LFxuICAgICAgZXZlbnRUeXBlOiB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWwsXG4gICAgICB2YWx1ZTogY29tbWFuZCxcbiAgICB9KTtcblxuICAgIGF3YWl0IHRoaXMuc29ja2V0QnJpZGdlU2VydmljZS5wdWJsaXNoTWVzc2FnZTxQPihjb21tYW5kLCBwYXlsb2FkKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RXZlbnRTb3VyY2U8VCBleHRlbmRzIFdpbmRvd0NvbW1hbmQ+KFxuICAgIGV2ZW50SGFuZGxlcjogKG1lc3NhZ2U6IFdpbmRvd0NvbW1hbmQpID0+IG1lc3NhZ2UgaXMgVCxcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMud2Vic29ja2V0Q2xpZW50Lm1lc3NhZ2VzJC5waXBlKFxuICAgICAgbWFwPHN0cmluZywgQnJpZGdlQ29tbWFuZD4oKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgY29uc29sZS5pbmZvKCd3ZWJzb2NrZXQgbWVzc2FnZScsIG1lc3NhZ2UpO1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShtZXNzYWdlKSBhcyBCcmlkZ2VDb21tYW5kO1xuICAgICAgfSksXG4gICAgICBmaWx0ZXI8QnJpZGdlQ29tbWFuZCwgVD4oZXZlbnRIYW5kbGVyKSxcbiAgICApO1xuICB9XG59XG4iXX0=