@xsolla/payment-client-core 0.5.0 → 0.5.2

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 (26) 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/event-builder/event-builder.service.mjs +2 -1
  10. package/esm2022/lib/core/user-behaviour-analytics/event-builder/user-behaviour-event.interface.mjs +1 -1
  11. package/esm2022/lib/core/user-behaviour-analytics/user-behaviour-analytics.interface.mjs +1 -1
  12. package/esm2022/lib/version.mjs +2 -2
  13. package/fesm2022/xsolla-payment-client-core.mjs +154 -55
  14. package/fesm2022/xsolla-payment-client-core.mjs.map +1 -1
  15. package/lib/core/sdk-payment-systems/apple-pay/apple-pay-cart/apple-pay-cart.service.d.ts +4 -3
  16. package/lib/core/sdk-payment-systems/apple-pay/apple-pay.service.d.ts +4 -3
  17. package/lib/core/sdk-payment-systems/apple-pay/external-window-communication/external-window-communication.service.d.ts +4 -3
  18. package/lib/core/sdk-payment-systems/apple-pay/session-handlers/braintree.handler.d.ts +1 -3
  19. package/lib/core/sdk-payment-systems/apple-pay/session-handlers/checkout.handler.d.ts +1 -3
  20. package/lib/core/sdk-payment-systems/apple-pay/session-handlers/session-handler.abstract.d.ts +4 -0
  21. package/lib/core/sdk-payment-systems/google-pay/google-pay.service.d.ts +4 -3
  22. package/lib/core/sdk-payment-systems/google-pay/payment/google-pay-checkout-payment.service.d.ts +5 -3
  23. package/lib/core/user-behaviour-analytics/event-builder/user-behaviour-event.interface.d.ts +1 -0
  24. package/lib/core/user-behaviour-analytics/user-behaviour-analytics.interface.d.ts +12 -0
  25. package/lib/version.d.ts +1 -1
  26. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
- import { BehaviorSubject, filter, Subject, take } from 'rxjs';
2
+ import { BehaviorSubject, filter, merge, Subject, take, } from 'rxjs';
3
3
  import { AppError } from '../../exceptions-handling/errors/app-error.class';
4
4
  import { ErrorTags } from '../../exceptions-handling/errors/elk-error-types.enum';
5
5
  import { CheckStatusActionCreator } from '../../payment/actions/check-status/check-status.action.class';
@@ -13,7 +13,6 @@ import * as i1 from "../../exceptions-handling/logger/logger.service";
13
13
  import * as i2 from "../payment-systems/payment-system-processing.service";
14
14
  import * as i3 from "./payment/google-pay-checkout-payment.service";
15
15
  import * as i4 from "./payment/google-pay-instant-payment.service";
16
- import * as i5 from "../../user-behaviour-analytics/user-behaviour-analytics.service";
17
16
  export class GooglePayService {
18
17
  get libraryWasInitialized() {
19
18
  return !!this.window.google;
@@ -21,19 +20,19 @@ export class GooglePayService {
21
20
  get googlePaymentClientWasInitialized() {
22
21
  return !!this.googlePaymentClient;
23
22
  }
24
- constructor(window, loggerService, paymentSystemProcessingService, googlePayCheckoutPaymentService, googlePayInstantPaymentService, injector, userBehaviourAnalyticsService) {
23
+ constructor(window, loggerService, paymentSystemProcessingService, googlePayCheckoutPaymentService, googlePayInstantPaymentService, injector) {
25
24
  this.window = window;
26
25
  this.loggerService = loggerService;
27
26
  this.paymentSystemProcessingService = paymentSystemProcessingService;
28
27
  this.googlePayCheckoutPaymentService = googlePayCheckoutPaymentService;
29
28
  this.googlePayInstantPaymentService = googlePayInstantPaymentService;
30
29
  this.injector = injector;
31
- this.userBehaviourAnalyticsService = userBehaviourAnalyticsService;
32
30
  this.googlePayScriptUrl = 'https://pay.google.com/gp/p/js/pay.js';
33
31
  this.readyToPay = new BehaviorSubject(null);
34
32
  this.paymentWindowIsReady = new Subject();
35
33
  this.paymentWindowIsClose = new Subject();
36
34
  this.error = new Subject();
35
+ this.analyticsEvent = new Subject();
37
36
  this.paymentInProgress = false;
38
37
  this.googlePaymentClient = null;
39
38
  this.paymentService = null;
@@ -50,6 +49,9 @@ export class GooglePayService {
50
49
  get error$() {
51
50
  return this.error.asObservable();
52
51
  }
52
+ get analyticsEvent$() {
53
+ return merge(this.analyticsEvent.asObservable(), this.googlePayCheckoutPaymentService.analyticsEvent$);
54
+ }
53
55
  isReadyToPay() {
54
56
  return this.readyToPay.getValue();
55
57
  }
@@ -122,7 +124,11 @@ export class GooglePayService {
122
124
  return Promise.resolve(null);
123
125
  }
124
126
  if (this.initParams.isInstantPayFlow) {
125
- this.userBehaviourAnalyticsService.send(UserBehaviourEventName.sysInstantFlowOpen, userBehaviourEventTypes.open, { instanceId: googlePay });
127
+ this.analyticsEvent.next({
128
+ eventName: UserBehaviourEventName.sysInstantFlowOpen,
129
+ eventType: userBehaviourEventTypes.open,
130
+ instanceId: googlePay,
131
+ });
126
132
  }
127
133
  const paymentDataRequest = this.paymentService.getPaymentRequest();
128
134
  if (!paymentDataRequest) {
@@ -270,7 +276,7 @@ export class GooglePayService {
270
276
  }
271
277
  return allowedLocales.find((locale) => locale === userLocale) ?? 'en';
272
278
  }
273
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GooglePayService, deps: [{ token: windowToken }, { token: i1.LoggerService }, { token: i2.PaymentSystemProcessingService }, { token: i3.GooglePayCheckoutPaymentService }, { token: i4.GooglePayInstantPaymentService }, { token: i0.Injector }, { token: i5.UserBehaviourAnalyticsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
279
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GooglePayService, deps: [{ token: windowToken }, { token: i1.LoggerService }, { token: i2.PaymentSystemProcessingService }, { token: i3.GooglePayCheckoutPaymentService }, { token: i4.GooglePayInstantPaymentService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
274
280
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GooglePayService, providedIn: 'root' }); }
275
281
  }
276
282
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GooglePayService, decorators: [{
@@ -281,5 +287,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
281
287
  }], ctorParameters: () => [{ type: undefined, decorators: [{
282
288
  type: Inject,
283
289
  args: [windowToken]
284
- }] }, { type: i1.LoggerService }, { type: i2.PaymentSystemProcessingService }, { type: i3.GooglePayCheckoutPaymentService }, { type: i4.GooglePayInstantPaymentService }, { type: i0.Injector }, { type: i5.UserBehaviourAnalyticsService }] });
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXBheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvZ29vZ2xlLXBheS9nb29nbGUtcGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQWMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRWxGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBR3hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdkcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0ZBQWdGLENBQUM7QUFDekgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDOzs7Ozs7O0FBS3BHLE1BQU0sT0FBTyxnQkFBZ0I7SUFpQjNCLElBQVkscUJBQXFCO1FBQy9CLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFZLGlDQUFpQztRQUMzQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBRW1CLE1BQXNCLEVBQ3RCLGFBQTRCLEVBQzVCLDhCQUE4RCxFQUM5RCwrQkFBZ0UsRUFDaEUsOEJBQThE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QUFJLENBQUM7SUFDeEUsQ0FBQzsrR0FwWVUsZ0JBQWdCLGtCQTBCakIsV0FBVzttSEExQlYsZ0JBQWdCLGNBRmYsTUFBTTs7NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBMkJJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBcHBFcnJvciB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL2FwcC1lcnJvci5jbGFzcyc7XG5pbXBvcnQgeyBFcnJvclRhZ3MgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9lbGstZXJyb3ItdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBFeHRlbmRlZFdpbmRvdyB9IGZyb20gJy4uLy4uL2V4dGVuZGVkLXdpbmRvdy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2hlY2tTdGF0dXNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLmNsYXNzJztcbmltcG9ydCB7IENoZWNrU3RhdHVzQWN0aW9uIH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL2NoZWNrLXN0YXR1cy9jaGVjay1zdGF0dXMuYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHsgTmV4dEFjdGlvbiB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9uZXh0LWFjdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi8uLi93aW5kb3cudG9rZW4nO1xuaW1wb3J0IHsgUGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vcGF5bWVudC1zeXN0ZW1zL3BheW1lbnQtc3lzdGVtLXByb2Nlc3Npbmcuc2VydmljZSc7XG5pbXBvcnQgeyBDaGVja1BheW1lbnREZXZpY2VEYXRhIH0gZnJvbSAnLi9jaGVjay1wYXltZW50LWRldmljZS1kYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBHb29nbGVQYXlJbml0UGFyYW1zIH0gZnJvbSAnLi9nb29nbGUtcGF5LWluaXQtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBHb29nbGVQYXlDbGllbnQsXG4gIEdvb2dsZVBheUNsaWVudEluaXREYXRhLFxuICBQYXltZW50QXV0aG9yaXplZEhhbmRsZXIsXG4gIFBheW1lbnREYXRhQ2hhbmdlZEhhbmRsZXIsXG59IGZyb20gJy4vZ29vZ2xlLXBheS1saWJyYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBHb29nbGVQYXlDaGVja291dFBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9wYXltZW50L2dvb2dsZS1wYXktY2hlY2tvdXQtcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEdvb2dsZVBheUluc3RhbnRQYXltZW50U2VydmljZSB9IGZyb20gJy4vcGF5bWVudC9nb29nbGUtcGF5LWluc3RhbnQtcGF5bWVudC5zZXJ2aWNlJztcbmltcG9ydCB7IEdvb2dsZVBheVBheW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi9wYXltZW50L2dvb2dsZS1wYXktcGF5bWVudC1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFnZ2VkRXJyb3IgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycyc7XG5pbXBvcnQgeyBHb29nbGVQYXlCdXR0b25Db25maWd1cmF0aW9uIH0gZnJvbSAnLi9nb29nbGUtcGF5LWJ1dHRvbi1jb25maWd1cmF0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyQmVoYXZpb3VyRXZlbnROYW1lIH0gZnJvbSAnLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50LW5hbWUuZW51bSc7XG5pbXBvcnQgeyB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcyB9IGZyb20gJy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC10eXBlcyc7XG5pbXBvcnQgeyBnb29nbGVQYXkgfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvcmVkaXJlY3QvcHM0LXBhZ2VzL3BhZ2VzLXBheW1lbnQtbWV0aG9kcy1pZC5jb25zdCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBHb29nbGVQYXlTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBnb29nbGVQYXlTY3JpcHRVcmwgPSAnaHR0cHM6Ly9wYXkuZ29vZ2xlLmNvbS9ncC9wL2pzL3BheS5qcyc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZWFkeVRvUGF5ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuIHwgbnVsbD4obnVsbCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudFdpbmRvd0lzUmVhZHkgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRXaW5kb3dJc0Nsb3NlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBlcnJvciA9IG5ldyBTdWJqZWN0PHVua25vd24+KCk7XG5cbiAgcHJpdmF0ZSBwYXltZW50SW5Qcm9ncmVzcyA9IGZhbHNlO1xuXG4gIHByaXZhdGUgZ29vZ2xlUGF5bWVudENsaWVudDogR29vZ2xlUGF5Q2xpZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgaW5pdFBhcmFtcyE6IEdvb2dsZVBheUluaXRQYXJhbXM7XG4gIHByaXZhdGUgcGF5bWVudFNlcnZpY2U6IEdvb2dsZVBheVBheW1lbnRTZXJ2aWNlIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBvblBheW1lbnREYXRhQ2hhbmdlZCE6IFBheW1lbnREYXRhQ2hhbmdlZEhhbmRsZXI7XG4gIHByaXZhdGUgb25QYXltZW50QXV0aG9yaXplZCE6IFBheW1lbnRBdXRob3JpemVkSGFuZGxlcjtcblxuICBwcml2YXRlIGdldCBsaWJyYXJ5V2FzSW5pdGlhbGl6ZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy53aW5kb3cuZ29vZ2xlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgZ29vZ2xlUGF5bWVudENsaWVudFdhc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudDtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBFeHRlbmRlZFdpbmRvdyxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlclNlcnZpY2U6IExvZ2dlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2U6IFBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdvb2dsZVBheUNoZWNrb3V0UGF5bWVudFNlcnZpY2U6IEdvb2dsZVBheUNoZWNrb3V0UGF5bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBnb29nbGVQYXlJbnN0YW50UGF5bWVudFNlcnZpY2U6IEdvb2dsZVBheUluc3RhbnRQYXltZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlOiBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgcmVhZHlUb1BheSQoKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnJlYWR5VG9QYXkuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBheW1lbnRXaW5kb3dJc1JlYWR5JCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50V2luZG93SXNSZWFkeS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGF5bWVudFdpbmRvd0lzQ2xvc2UkKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnBheW1lbnRXaW5kb3dJc0Nsb3NlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBlcnJvciQoKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3IuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgaXNSZWFkeVRvUGF5KCk6IGJvb2xlYW4gfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5yZWFkeVRvUGF5LmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdEdvb2dsZVBheUxpYnJhcnkoZGF0YTogR29vZ2xlUGF5SW5pdFBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMuaW5pdFBhcmFtcyA9IGRhdGE7XG4gICAgdGhpcy5vblBheW1lbnREYXRhQ2hhbmdlZCA9IGRhdGEub25QYXltZW50RGF0YUNoYW5nZWQ7XG4gICAgdGhpcy5vblBheW1lbnRBdXRob3JpemVkID0gZGF0YS5vblBheW1lbnRBdXRob3JpemVkO1xuXG4gICAgaWYgKHRoaXMubGlicmFyeVdhc0luaXRpYWxpemVkICYmIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudFdhc0luaXRpYWxpemVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubGlicmFyeVdhc0luaXRpYWxpemVkICYmICF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRXYXNJbml0aWFsaXplZCkge1xuICAgICAgdGhpcy5zZXR1cEdvb2dsZVBheUNsaWVudCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmxvYWRTY3JpcHQoXG4gICAgICB0aGlzLmdvb2dsZVBheVNjcmlwdFVybCxcbiAgICAgIHRoaXMub25Mb2FkU2NyaXB0LmJpbmQodGhpcyksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGVja1BheW1lbnREZXZpY2UoZGF0YTogQ2hlY2tQYXltZW50RGV2aWNlRGF0YSk6IHZvaWQge1xuICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmluaXRpYWxpemUkXG4gICAgICAucGlwZShmaWx0ZXIoQm9vbGVhbiksIHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoJ0dvb2dsZSBwYXltZW50IGNsaWVudCBpcyBub3QgaW5pdGlhbGl6ZWQnLCBbXG4gICAgICAgICAgICAgIEVycm9yVGFncy5HT09HTEVQQVksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHRocm93IG5ldyBBcHBFcnJvcihcbiAgICAgICAgICAgIGBHb29nbGUgUGF5OiBHb29nbGUgcGF5bWVudCBjbGllbnQgaXMgbm90IGluaXRpYWxpemVkYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wYXltZW50U2VydmljZSA9IHRoaXMuZ2V0UGF5bWVudFNlcnZpY2UoKTtcbiAgICAgICAgY29uc3QgaW5pdERhdGEgPSB0aGlzLnBheW1lbnRTZXJ2aWNlLnByZXBhcmVQYXltZW50KHtcbiAgICAgICAgICBpbml0UGFyYW1zOiB0aGlzLmluaXRQYXJhbXMsXG4gICAgICAgICAgY2hlY2tEZXZpY2VEYXRhOiBkYXRhLFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIWluaXREYXRhKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgICAgbmV3IFRhZ2dlZEVycm9yKCdObyBpbml0aWFsaXphdGlvbiBkYXRhJywgW0Vycm9yVGFncy5HT09HTEVQQVldKSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHRocm93IG5ldyBBcHBFcnJvcignR29vZ2xlIFBheTogbm8gaW5pdGlhbGl6YXRpb24gZGF0YScpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50XG4gICAgICAgICAgLmlzUmVhZHlUb1BheShpbml0RGF0YS5pc1JlYWR5VG9QYXlSZXF1ZXN0KVxuICAgICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLnJlc3VsdCAmJiB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQpIHtcbiAgICAgICAgICAgICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50LnByZWZldGNoUGF5bWVudERhdGEoXG4gICAgICAgICAgICAgICAgaW5pdERhdGEucGF5bWVudERhdGFSZXF1ZXN0LFxuICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlYWR5VG9QYXkubmV4dCh0cnVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5yZWFkeVRvUGF5Lm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVzcG9uc2UucmVzdWx0Py50b1N0cmluZygpID8/ICcnO1xuICAgICAgICAgICAgY29uc3QgaXNIYXZlUGF5bWVudENsaWVudCA9IEJvb2xlYW4oXG4gICAgICAgICAgICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCxcbiAgICAgICAgICAgICkudG9TdHJpbmcoKTtcblxuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBHb29nbGUgUGF5OiBwb3NzaWJseSBubyByZXNwb25zZS5yZXN1bHQgb3IgZ29vZ2xlUGF5bWVudENsaWVudCBpcyBtaXNzaW5nLCByZXN1bHQgLSAke3Jlc3VsdH0sIGlzSGF2ZVBheW1lbnRDbGllbnQgLSAke2lzSGF2ZVBheW1lbnRDbGllbnR9YDtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgICAgICAgbmV3IFRhZ2dlZEVycm9yKG1lc3NhZ2UsIFtFcnJvclRhZ3MuR09PR0xFUEFZXSksXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWFkeVRvUGF5Lm5leHQoZmFsc2UpO1xuXG4gICAgICAgICAgICBsZXQgbWVzc2FnZSA9IChlcnJvciBhcyBzdHJpbmcpID8/ICcnO1xuXG4gICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgICBtZXNzYWdlID0gZXJyb3IubWVzc2FnZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoXG4gICAgICAgICAgICAgICAgYEdvb2dsZSBQYXk6IGRldmljZSBpcyBub3QgcmVhZHkgdG8gcGF5LCAke21lc3NhZ2V9YCxcbiAgICAgICAgICAgICAgICBbRXJyb3JUYWdzLkdPT0dMRVBBWV0sXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0pO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHJvY2VlZENoZWNrb3V0KCk6IFByb21pc2U8Q2hlY2tTdGF0dXNBY3Rpb24gfCBudWxsPiB7XG4gICAgaWYgKCF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQpIHtcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgbmV3IFRhZ2dlZEVycm9yKFxuICAgICAgICAgICdHb29nbGUgcGF5bWVudCBjbGllbnQgaXMgbm90IGluaXRpYWxpemVkIHRvIHByb2NlZWQgY2hlY2tvdXQnLFxuICAgICAgICAgIFtFcnJvclRhZ3MuR09PR0xFUEFZXSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoXG4gICAgICAgIGBHb29nbGUgUGF5LiBwcm9jZWVkQ2hlY2tvdXQ6IG5vIGdvb2dsZSBwYXltZW50IGNsaWVudGAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5wYXltZW50U2VydmljZSkge1xuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoXG4gICAgICAgICAgJ0dvb2dsZSBwYXltZW50IHNlcnZpY2UgaXMgbm90IGluaXRpYWxpemVkIHRvIHByb2NlZWQgY2hlY2tvdXQnLFxuICAgICAgICAgIFtFcnJvclRhZ3MuR09PR0xFUEFZXSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoXG4gICAgICAgIGBHb29nbGUgUGF5LiBwcm9jZWVkQ2hlY2tvdXQ6IG5vIGdvb2dsZSBwYXltZW50IHNlcnZpY2VgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBnb29nbGUgc3VwcG9ydCBvbmx5IG9uZSBwYXltZW50IGluIHRpbWVcbiAgICBpZiAodGhpcy5wYXltZW50SW5Qcm9ncmVzcykge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShudWxsKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbml0UGFyYW1zLmlzSW5zdGFudFBheUZsb3cpIHtcbiAgICAgIHRoaXMudXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2Uuc2VuZChcbiAgICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5zeXNJbnN0YW50Rmxvd09wZW4sXG4gICAgICAgIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm9wZW4sXG4gICAgICAgIHsgaW5zdGFuY2VJZDogZ29vZ2xlUGF5IH0sXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHBheW1lbnREYXRhUmVxdWVzdCA9IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0UGF5bWVudFJlcXVlc3QoKTtcblxuICAgIGlmICghcGF5bWVudERhdGFSZXF1ZXN0KSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcignTm8gZGF0YSBmb3IgcGF5bWVudCBkYXRhIHJlcXVlc3QnLCBbXG4gICAgICAgICAgRXJyb3JUYWdzLkdPT0dMRVBBWSxcbiAgICAgICAgXSksXG4gICAgICApO1xuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKGBHb29nbGUgUGF5OiBObyBkYXRhIGZvciBwYXltZW50IGRhdGEgcmVxdWVzdGApO1xuICAgIH1cblxuICAgIGNvbnN0IGNoZWNrU3RhdHVzQWN0aW9uOiBOZXh0QWN0aW9uID0gdGhpcy5pbmplY3RvclxuICAgICAgLmdldDxDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3I+KENoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvcilcbiAgICAgIC5nZXRBY3Rpb25EYXRhKCk7XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5wYXltZW50SW5Qcm9ncmVzcyA9IHRydWU7XG5cbiAgICAgIHRoaXMucGF5bWVudFdpbmRvd0lzUmVhZHkubmV4dCgpO1xuXG4gICAgICBjb25zdCBwYXltZW50RGF0YSA9XG4gICAgICAgIGF3YWl0IHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudC5sb2FkUGF5bWVudERhdGEocGF5bWVudERhdGFSZXF1ZXN0KTtcblxuICAgICAgaWYgKCFwYXltZW50RGF0YT8ucGF5bWVudE1ldGhvZERhdGE/LnRva2VuaXphdGlvbkRhdGE/LnRva2VuKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoJ1Rva2VuIGlzIG1pc3NpbmcnLCBbRXJyb3JUYWdzLkdPT0dMRVBBWV0pLFxuICAgICAgICApO1xuICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoJ0dvb2dsZSBQYXk6IHRva2VuIGlzIG1pc3NpbmcnKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5wYXltZW50U2VydmljZS5oYW5kbGVTdWNjZXNzZnVsUGF5bWVudD8uKHBheW1lbnREYXRhKTtcblxuICAgICAgdGhpcy5wYXltZW50V2luZG93SXNDbG9zZS5uZXh0KCk7XG5cbiAgICAgIHRoaXMucGF5bWVudEluUHJvZ3Jlc3MgPSBmYWxzZTtcblxuICAgICAgcmV0dXJuIGNoZWNrU3RhdHVzQWN0aW9uO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICB0aGlzLnBheW1lbnRJblByb2dyZXNzID0gZmFsc2U7XG5cbiAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuaGFuZGxlRmFpbGVkUGF5bWVudD8uKGVycm9yKTtcbiAgICAgIHRoaXMucGF5bWVudFdpbmRvd0lzQ2xvc2UubmV4dCgpO1xuICAgICAgdGhpcy5lcnJvci5uZXh0KGVycm9yKTtcblxuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gKGVycm9yIGFzIHsgbWVzc2FnZTogc3RyaW5nIH0pPy5tZXNzYWdlID8/ICcnO1xuICAgICAgY29uc3QgZXJyb3JTdGF0dXNDb2RlID1cbiAgICAgICAgKGVycm9yIGFzIHsgc3RhdHVzQ29kZTogc3RyaW5nIH0pPy5zdGF0dXNDb2RlID8/ICcnO1xuXG4gICAgICBjb25zdCBpc0Nsb3NlZEJ5VXNlciA9IHRoaXMuaXNDbG9zZWRCeVVzZXIoZXJyb3JNZXNzYWdlKTtcbiAgICAgIGNvbnN0IGlzQ2FuY2VsZWRTdGF0dXMgPSB0aGlzLmlzQ2FuY2VsZWRTdGF0dXMoZXJyb3JTdGF0dXNDb2RlKTtcblxuICAgICAgaWYgKGlzQ2xvc2VkQnlVc2VyIHx8IGlzQ2FuY2VsZWRTdGF0dXMpIHJldHVybiBudWxsO1xuXG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcihgR29vZ2xlIFBheTogcHJvY2VlZENoZWNrb3V0IGZhaWxlZCwgJHtlcnJvck1lc3NhZ2V9YCwgW1xuICAgICAgICAgIEVycm9yVGFncy5HT09HTEVQQVksXG4gICAgICAgIF0pLFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGNoZWNrU3RhdHVzQWN0aW9uO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVCdXR0b24oXG4gICAgb25DbGlja0hhbmRsZXI6ICgpID0+IHZvaWQsXG4gICAgY29uZmlndXJhdGlvbjogR29vZ2xlUGF5QnV0dG9uQ29uZmlndXJhdGlvbixcbiAgKTogSFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoXG4gICAgICAgICAgJ0dvb2dsZSBwYXltZW50IGNsaWVudCBpcyBub3QgaW5pdGlhbGl6ZWQgdG8gY3JlYXRlIGJ1dHRvbicsXG4gICAgICAgICAgW0Vycm9yVGFncy5HT09HTEVQQVldLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGFsbG93ZWRQYXltZW50TWV0aG9kcyA9XG4gICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlPy5nZXRBbGxvd2VkUGF5bWVudE1ldGhvZHMoKSB8fCBbXTtcblxuICAgIHJldHVybiB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQuY3JlYXRlQnV0dG9uKHtcbiAgICAgIG9uQ2xpY2s6IG9uQ2xpY2tIYW5kbGVyLFxuICAgICAgYWxsb3dlZFBheW1lbnRNZXRob2RzOiBhbGxvd2VkUGF5bWVudE1ldGhvZHMsXG4gICAgICBidXR0b25TaXplTW9kZTogJ2ZpbGwnLFxuICAgICAgYnV0dG9uVHlwZTogJ2J1eScsXG4gICAgICBidXR0b25Db2xvcjogY29uZmlndXJhdGlvbi5jb2xvciA/PyAnZGVmYXVsdCcsXG4gICAgICBidXR0b25Mb2NhbGU6IHRoaXMuZ2V0TG9jYWxlRm9yQnV0dG9uKGNvbmZpZ3VyYXRpb24ubG9jYWxlKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBHb29nbGVQYXlDbGllbnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLndpbmRvdy5nb29nbGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgbmV3IFRhZ2dlZEVycm9yKCdHb29nbGUgUGF5IGxpYnJhcnkgaXMgbm90IGF2YWlsYWJsZSBvbiB3aW5kb3cnLCBbXG4gICAgICAgICAgRXJyb3JUYWdzLkdPT0dMRVBBWSxcbiAgICAgICAgXSksXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVudmlyb25tZW50ID0gdGhpcy5pbml0UGFyYW1zLmlzU2FuZGJveCA/ICdURVNUJyA6ICdQUk9EVUNUSU9OJztcbiAgICBjb25zdCBnb29nbGVQYXltZW50Q2xpZW50RGF0YTogR29vZ2xlUGF5Q2xpZW50SW5pdERhdGEgPSB7XG4gICAgICBlbnZpcm9ubWVudCxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuaW5pdFBhcmFtcy5pc0luc3RhbnRQYXlGbG93KSB7XG4gICAgICBnb29nbGVQYXltZW50Q2xpZW50RGF0YS5wYXltZW50RGF0YUNhbGxiYWNrcyA9IHtcbiAgICAgICAgb25QYXltZW50RGF0YUNoYW5nZWQ6IHRoaXMub25QYXltZW50RGF0YUNoYW5nZWQsXG4gICAgICAgIG9uUGF5bWVudEF1dGhvcml6ZWQ6IHRoaXMub25QYXltZW50QXV0aG9yaXplZCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50ID1cbiAgICAgIG5ldyB0aGlzLndpbmRvdy5nb29nbGUucGF5bWVudHMuYXBpLlBheW1lbnRzQ2xpZW50KFxuICAgICAgICBnb29nbGVQYXltZW50Q2xpZW50RGF0YSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIG9uTG9hZFNjcmlwdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMud2luZG93Lmdvb2dsZSkge1xuICAgICAgY29uc3QgcmV0cnlUaW1lb3V0ID0gMTAwMDtcblxuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoXG4gICAgICAgICAgJ0dvb2dsZSBQYXk6IGxpYnJhcnkgbm90IGF2YWlsYWJsZSBhZnRlciBzY3JpcHQgbG9hZCwgcmV0cnlpbmcnLFxuICAgICAgICAgIFtFcnJvclRhZ3MuR09PR0xFUEFZXSxcbiAgICAgICAgKSxcbiAgICAgICk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zdCBpc0F2YWlsYWJsZUdvb2dsZUNsaWVudCA9ICEhdGhpcy53aW5kb3cuZ29vZ2xlO1xuXG4gICAgICAgIGlmIChpc0F2YWlsYWJsZUdvb2dsZUNsaWVudCkge1xuICAgICAgICAgIHRoaXMuc2V0dXBHb29nbGVQYXlDbGllbnQoKTtcblxuICAgICAgICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRJbml0aWFsaXplKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9LCByZXRyeVRpbWVvdXQpO1xuXG4gICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoJ0dvb2dsZSBQYXk6IGdvb2dsZSBsaWJyYXJ5IG5vdyBpcyBhdmFpbGFibGUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXR1cEdvb2dsZVBheUNsaWVudCgpO1xuXG4gICAgICB0aGlzLnBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZS5lbWl0SW5pdGlhbGl6ZSh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFBheW1lbnRTZXJ2aWNlKCk6IEdvb2dsZVBheVBheW1lbnRTZXJ2aWNlIHtcbiAgICBpZiAodGhpcy5pbml0UGFyYW1zLmlzSW5zdGFudFBheUZsb3cpXG4gICAgICByZXR1cm4gdGhpcy5nb29nbGVQYXlJbnN0YW50UGF5bWVudFNlcnZpY2U7XG4gICAgcmV0dXJuIHRoaXMuZ29vZ2xlUGF5Q2hlY2tvdXRQYXltZW50U2VydmljZTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDbG9zZWRCeVVzZXIobWVzc2FnZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG1lc3NhZ2UudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygndXNlciBjbG9zZWQgdGhlIHBheW1lbnQgcmVxdWVzdCB1aScpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NhbmNlbGVkU3RhdHVzKHN0YXR1c0NvZGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGF0dXNDb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdjYW5jZWxlZCc7XG4gIH1cblxuICBwcml2YXRlIGdldExvY2FsZUZvckJ1dHRvbih1c2VyTG9jYWxlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFsbG93ZWRMb2NhbGVzID0gW1xuICAgICAgJ2VuJyxcbiAgICAgICdhcicsXG4gICAgICAnYmcnLFxuICAgICAgJ2NhJyxcbiAgICAgICdjcycsXG4gICAgICAnZGEnLFxuICAgICAgJ2RlJyxcbiAgICAgICdlbCcsXG4gICAgICAnZXMnLFxuICAgICAgJ2V0JyxcbiAgICAgICdmaScsXG4gICAgICAnZnInLFxuICAgICAgJ2hyJyxcbiAgICAgICdpZCcsXG4gICAgICAnaXQnLFxuICAgICAgJ2phJyxcbiAgICAgICdrbycsXG4gICAgICAnbXMnLFxuICAgICAgJ25sJyxcbiAgICAgICdubycsXG4gICAgICAncGwnLFxuICAgICAgJ3B0JyxcbiAgICAgICdydScsXG4gICAgICAnc2snLFxuICAgICAgJ3NsJyxcbiAgICAgICdzcicsXG4gICAgICAnc3YnLFxuICAgICAgJ3RoJyxcbiAgICAgICd0cicsXG4gICAgICAndWsnLFxuICAgICAgJ3poJyxcbiAgICBdO1xuXG4gICAgaWYgKFsnY24nLCAnemhfSEFOVCddLmluY2x1ZGVzKHVzZXJMb2NhbGUpKSB7XG4gICAgICByZXR1cm4gJ3poJztcbiAgICB9XG5cbiAgICBpZiAoWyd6aF9IQU5TJ10uaW5jbHVkZXModXNlckxvY2FsZSkpIHtcbiAgICAgIHJldHVybiAndHcnO1xuICAgIH1cblxuICAgIHJldHVybiBhbGxvd2VkTG9jYWxlcy5maW5kKChsb2NhbGUpID0+IGxvY2FsZSA9PT0gdXNlckxvY2FsZSkgPz8gJ2VuJztcbiAgfVxufVxuIl19
290
+ }] }, { type: i1.LoggerService }, { type: i2.PaymentSystemProcessingService }, { type: i3.GooglePayCheckoutPaymentService }, { type: i4.GooglePayInstantPaymentService }, { type: i0.Injector }] });
291
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXBheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3Nkay1wYXltZW50LXN5c3RlbXMvZ29vZ2xlLXBheS9nb29nbGUtcGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUNMLGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUVMLE9BQU8sRUFDUCxJQUFJLEdBQ0wsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRWxGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBR3hHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWNqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFL0QsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0RBQStELENBQUM7QUFDdkcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0ZBQWdGLENBQUM7QUFFekgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlFQUF5RSxDQUFDOzs7Ozs7QUFLcEcsTUFBTSxPQUFPLGdCQUFnQjtJQWtCM0IsSUFBWSxxQkFBcUI7UUFDL0IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVksaUNBQWlDO1FBQzNDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFFbUIsTUFBc0IsRUFDdEIsYUFBNEIsRUFDNUIsOEJBQThELEVBQzlELCtCQUFnRSxFQUNo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UUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDckMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsT0FBTyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDO0lBQ3hFLENBQUM7K0dBM1lVLGdCQUFnQixrQkEyQmpCLFdBQVc7bUhBM0JWLGdCQUFnQixjQUZmLE1BQU07OzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQTRCSSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBCZWhhdmlvclN1YmplY3QsXG4gIGZpbHRlcixcbiAgbWVyZ2UsXG4gIE9ic2VydmFibGUsXG4gIFN1YmplY3QsXG4gIHRha2UsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBwRXJyb3IgfSBmcm9tICcuLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9hcHAtZXJyb3IuY2xhc3MnO1xuaW1wb3J0IHsgRXJyb3JUYWdzIH0gZnJvbSAnLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMvZWxrLWVycm9yLXR5cGVzLmVudW0nO1xuaW1wb3J0IHsgRXh0ZW5kZWRXaW5kb3cgfSBmcm9tICcuLi8uLi9leHRlbmRlZC13aW5kb3cuaW50ZXJmYWNlJztcbmltcG9ydCB7IENoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvciB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9jaGVjay1zdGF0dXMvY2hlY2stc3RhdHVzLmFjdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBDaGVja1N0YXR1c0FjdGlvbiB9IGZyb20gJy4uLy4uL3BheW1lbnQvYWN0aW9ucy9jaGVjay1zdGF0dXMvY2hlY2stc3RhdHVzLmFjdGlvbi50eXBlJztcbmltcG9ydCB7IE5leHRBY3Rpb24gfSBmcm9tICcuLi8uLi9wYXltZW50L2FjdGlvbnMvbmV4dC1hY3Rpb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IHdpbmRvd1Rva2VuIH0gZnJvbSAnLi4vLi4vd2luZG93LnRva2VuJztcbmltcG9ydCB7IFBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZSB9IGZyb20gJy4uL3BheW1lbnQtc3lzdGVtcy9wYXltZW50LXN5c3RlbS1wcm9jZXNzaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2hlY2tQYXltZW50RGV2aWNlRGF0YSB9IGZyb20gJy4vY2hlY2stcGF5bWVudC1kZXZpY2UtZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR29vZ2xlUGF5SW5pdFBhcmFtcyB9IGZyb20gJy4vZ29vZ2xlLXBheS1pbml0LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgR29vZ2xlUGF5Q2xpZW50LFxuICBHb29nbGVQYXlDbGllbnRJbml0RGF0YSxcbiAgUGF5bWVudEF1dGhvcml6ZWRIYW5kbGVyLFxuICBQYXltZW50RGF0YUNoYW5nZWRIYW5kbGVyLFxufSBmcm9tICcuL2dvb2dsZS1wYXktbGlicmFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR29vZ2xlUGF5Q2hlY2tvdXRQYXltZW50U2VydmljZSB9IGZyb20gJy4vcGF5bWVudC9nb29nbGUtcGF5LWNoZWNrb3V0LXBheW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBHb29nbGVQYXlJbnN0YW50UGF5bWVudFNlcnZpY2UgfSBmcm9tICcuL3BheW1lbnQvZ29vZ2xlLXBheS1pbnN0YW50LXBheW1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBHb29nbGVQYXlQYXltZW50U2VydmljZSB9IGZyb20gJy4vcGF5bWVudC9nb29nbGUtcGF5LXBheW1lbnQtc2VydmljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IFRhZ2dlZEVycm9yIH0gZnJvbSAnLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9lcnJvcnMnO1xuaW1wb3J0IHsgR29vZ2xlUGF5QnV0dG9uQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vZ29vZ2xlLXBheS1idXR0b24tY29uZmlndXJhdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVXNlckJlaGF2aW91ckV2ZW50TmFtZSB9IGZyb20gJy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1ldmVudC1uYW1lLmVudW0nO1xuaW1wb3J0IHsgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMgfSBmcm9tICcuLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQvdXNlci1iZWhhdmlvdXItZXZlbnQtdHlwZXMnO1xuaW1wb3J0IHsgQW5hbHl0aWNzRXZlbnRQYXlsb2FkIH0gZnJvbSAnLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZ29vZ2xlUGF5IH0gZnJvbSAnLi4vLi4vcGF5bWVudC9hY3Rpb25zL3JlZGlyZWN0L3BzNC1wYWdlcy9wYWdlcy1wYXltZW50LW1ldGhvZHMtaWQuY29uc3QnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR29vZ2xlUGF5U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZ29vZ2xlUGF5U2NyaXB0VXJsID0gJ2h0dHBzOi8vcGF5Lmdvb2dsZS5jb20vZ3AvcC9qcy9wYXkuanMnO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVhZHlUb1BheSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbiB8IG51bGw+KG51bGwpO1xuICBwcml2YXRlIHJlYWRvbmx5IHBheW1lbnRXaW5kb3dJc1JlYWR5ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwYXltZW50V2luZG93SXNDbG9zZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZXJyb3IgPSBuZXcgU3ViamVjdDx1bmtub3duPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IGFuYWx5dGljc0V2ZW50ID0gbmV3IFN1YmplY3Q8QW5hbHl0aWNzRXZlbnRQYXlsb2FkPigpO1xuXG4gIHByaXZhdGUgcGF5bWVudEluUHJvZ3Jlc3MgPSBmYWxzZTtcblxuICBwcml2YXRlIGdvb2dsZVBheW1lbnRDbGllbnQ6IEdvb2dsZVBheUNsaWVudCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIGluaXRQYXJhbXMhOiBHb29nbGVQYXlJbml0UGFyYW1zO1xuICBwcml2YXRlIHBheW1lbnRTZXJ2aWNlOiBHb29nbGVQYXlQYXltZW50U2VydmljZSB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgb25QYXltZW50RGF0YUNoYW5nZWQhOiBQYXltZW50RGF0YUNoYW5nZWRIYW5kbGVyO1xuICBwcml2YXRlIG9uUGF5bWVudEF1dGhvcml6ZWQhOiBQYXltZW50QXV0aG9yaXplZEhhbmRsZXI7XG5cbiAgcHJpdmF0ZSBnZXQgbGlicmFyeVdhc0luaXRpYWxpemVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMud2luZG93Lmdvb2dsZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGdvb2dsZVBheW1lbnRDbGllbnRXYXNJbml0aWFsaXplZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQ7XG4gIH1cblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXJTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlOiBQYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBnb29nbGVQYXlDaGVja291dFBheW1lbnRTZXJ2aWNlOiBHb29nbGVQYXlDaGVja291dFBheW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ29vZ2xlUGF5SW5zdGFudFBheW1lbnRTZXJ2aWNlOiBHb29nbGVQYXlJbnN0YW50UGF5bWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICkge31cblxuICBwdWJsaWMgZ2V0IHJlYWR5VG9QYXkkKCk6IE9ic2VydmFibGU8Ym9vbGVhbiB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy5yZWFkeVRvUGF5LmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXltZW50V2luZG93SXNSZWFkeSQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucGF5bWVudFdpbmRvd0lzUmVhZHkuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBheW1lbnRXaW5kb3dJc0Nsb3NlJCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5wYXltZW50V2luZG93SXNDbG9zZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZXJyb3IkKCk6IE9ic2VydmFibGU8dW5rbm93bj4ge1xuICAgIHJldHVybiB0aGlzLmVycm9yLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBhbmFseXRpY3NFdmVudCQoKTogT2JzZXJ2YWJsZTxBbmFseXRpY3NFdmVudFBheWxvYWQ+IHtcbiAgICByZXR1cm4gbWVyZ2UoXG4gICAgICB0aGlzLmFuYWx5dGljc0V2ZW50LmFzT2JzZXJ2YWJsZSgpLFxuICAgICAgdGhpcy5nb29nbGVQYXlDaGVja291dFBheW1lbnRTZXJ2aWNlLmFuYWx5dGljc0V2ZW50JCxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGlzUmVhZHlUb1BheSgpOiBib29sZWFuIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMucmVhZHlUb1BheS5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGluaXRHb29nbGVQYXlMaWJyYXJ5KGRhdGE6IEdvb2dsZVBheUluaXRQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRQYXJhbXMgPSBkYXRhO1xuICAgIHRoaXMub25QYXltZW50RGF0YUNoYW5nZWQgPSBkYXRhLm9uUGF5bWVudERhdGFDaGFuZ2VkO1xuICAgIHRoaXMub25QYXltZW50QXV0aG9yaXplZCA9IGRhdGEub25QYXltZW50QXV0aG9yaXplZDtcblxuICAgIGlmICh0aGlzLmxpYnJhcnlXYXNJbml0aWFsaXplZCAmJiB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnRXYXNJbml0aWFsaXplZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxpYnJhcnlXYXNJbml0aWFsaXplZCAmJiAhdGhpcy5nb29nbGVQYXltZW50Q2xpZW50V2FzSW5pdGlhbGl6ZWQpIHtcbiAgICAgIHRoaXMuc2V0dXBHb29nbGVQYXlDbGllbnQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZS5sb2FkU2NyaXB0KFxuICAgICAgdGhpcy5nb29nbGVQYXlTY3JpcHRVcmwsXG4gICAgICB0aGlzLm9uTG9hZFNjcmlwdC5iaW5kKHRoaXMpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgY2hlY2tQYXltZW50RGV2aWNlKGRhdGE6IENoZWNrUGF5bWVudERldmljZURhdGEpOiB2b2lkIHtcbiAgICB0aGlzLnBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZS5pbml0aWFsaXplJFxuICAgICAgLnBpcGUoZmlsdGVyKEJvb2xlYW4pLCB0YWtlKDEpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICghdGhpcy5nb29nbGVQYXltZW50Q2xpZW50KSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICAgICAgbmV3IFRhZ2dlZEVycm9yKCdHb29nbGUgcGF5bWVudCBjbGllbnQgaXMgbm90IGluaXRpYWxpemVkJywgW1xuICAgICAgICAgICAgICBFcnJvclRhZ3MuR09PR0xFUEFZLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoXG4gICAgICAgICAgICBgR29vZ2xlIFBheTogR29vZ2xlIHBheW1lbnQgY2xpZW50IGlzIG5vdCBpbml0aWFsaXplZGAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UgPSB0aGlzLmdldFBheW1lbnRTZXJ2aWNlKCk7XG4gICAgICAgIGNvbnN0IGluaXREYXRhID0gdGhpcy5wYXltZW50U2VydmljZS5wcmVwYXJlUGF5bWVudCh7XG4gICAgICAgICAgaW5pdFBhcmFtczogdGhpcy5pbml0UGFyYW1zLFxuICAgICAgICAgIGNoZWNrRGV2aWNlRGF0YTogZGF0YSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFpbml0RGF0YSkge1xuICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgICAgIG5ldyBUYWdnZWRFcnJvcignTm8gaW5pdGlhbGl6YXRpb24gZGF0YScsIFtFcnJvclRhZ3MuR09PR0xFUEFZXSksXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoJ0dvb2dsZSBQYXk6IG5vIGluaXRpYWxpemF0aW9uIGRhdGEnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudFxuICAgICAgICAgIC5pc1JlYWR5VG9QYXkoaW5pdERhdGEuaXNSZWFkeVRvUGF5UmVxdWVzdClcbiAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5yZXN1bHQgJiYgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50KSB7XG4gICAgICAgICAgICAgIHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudC5wcmVmZXRjaFBheW1lbnREYXRhKFxuICAgICAgICAgICAgICAgIGluaXREYXRhLnBheW1lbnREYXRhUmVxdWVzdCxcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZWFkeVRvUGF5Lm5leHQodHJ1ZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucmVhZHlUb1BheS5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHJlc3BvbnNlLnJlc3VsdD8udG9TdHJpbmcoKSA/PyAnJztcbiAgICAgICAgICAgIGNvbnN0IGlzSGF2ZVBheW1lbnRDbGllbnQgPSBCb29sZWFuKFxuICAgICAgICAgICAgICB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQsXG4gICAgICAgICAgICApLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgR29vZ2xlIFBheTogcG9zc2libHkgbm8gcmVzcG9uc2UucmVzdWx0IG9yIGdvb2dsZVBheW1lbnRDbGllbnQgaXMgbWlzc2luZywgcmVzdWx0IC0gJHtyZXN1bHR9LCBpc0hhdmVQYXltZW50Q2xpZW50IC0gJHtpc0hhdmVQYXltZW50Q2xpZW50fWA7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICAgICAgIG5ldyBUYWdnZWRFcnJvcihtZXNzYWdlLCBbRXJyb3JUYWdzLkdPT0dMRVBBWV0pLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVhZHlUb1BheS5uZXh0KGZhbHNlKTtcblxuICAgICAgICAgICAgbGV0IG1lc3NhZ2UgPSAoZXJyb3IgYXMgc3RyaW5nKSA/PyAnJztcblxuICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgICAgbWVzc2FnZSA9IGVycm9yLm1lc3NhZ2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgICAgICAgbmV3IFRhZ2dlZEVycm9yKFxuICAgICAgICAgICAgICAgIGBHb29nbGUgUGF5OiBkZXZpY2UgaXMgbm90IHJlYWR5IHRvIHBheSwgJHttZXNzYWdlfWAsXG4gICAgICAgICAgICAgICAgW0Vycm9yVGFncy5HT09HTEVQQVldLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHByb2NlZWRDaGVja291dCgpOiBQcm9taXNlPENoZWNrU3RhdHVzQWN0aW9uIHwgbnVsbD4ge1xuICAgIGlmICghdGhpcy5nb29nbGVQYXltZW50Q2xpZW50KSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcihcbiAgICAgICAgICAnR29vZ2xlIHBheW1lbnQgY2xpZW50IGlzIG5vdCBpbml0aWFsaXplZCB0byBwcm9jZWVkIGNoZWNrb3V0JyxcbiAgICAgICAgICBbRXJyb3JUYWdzLkdPT0dMRVBBWV0sXG4gICAgICAgICksXG4gICAgICApO1xuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKFxuICAgICAgICBgR29vZ2xlIFBheS4gcHJvY2VlZENoZWNrb3V0OiBubyBnb29nbGUgcGF5bWVudCBjbGllbnRgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMucGF5bWVudFNlcnZpY2UpIHtcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgbmV3IFRhZ2dlZEVycm9yKFxuICAgICAgICAgICdHb29nbGUgcGF5bWVudCBzZXJ2aWNlIGlzIG5vdCBpbml0aWFsaXplZCB0byBwcm9jZWVkIGNoZWNrb3V0JyxcbiAgICAgICAgICBbRXJyb3JUYWdzLkdPT0dMRVBBWV0sXG4gICAgICAgICksXG4gICAgICApO1xuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKFxuICAgICAgICBgR29vZ2xlIFBheS4gcHJvY2VlZENoZWNrb3V0OiBubyBnb29nbGUgcGF5bWVudCBzZXJ2aWNlYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gZ29vZ2xlIHN1cHBvcnQgb25seSBvbmUgcGF5bWVudCBpbiB0aW1lXG4gICAgaWYgKHRoaXMucGF5bWVudEluUHJvZ3Jlc3MpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUobnVsbCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaW5pdFBhcmFtcy5pc0luc3RhbnRQYXlGbG93KSB7XG4gICAgICB0aGlzLmFuYWx5dGljc0V2ZW50Lm5leHQoe1xuICAgICAgICBldmVudE5hbWU6IFVzZXJCZWhhdmlvdXJFdmVudE5hbWUuc3lzSW5zdGFudEZsb3dPcGVuLFxuICAgICAgICBldmVudFR5cGU6IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzLm9wZW4sXG4gICAgICAgIGluc3RhbmNlSWQ6IGdvb2dsZVBheSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHBheW1lbnREYXRhUmVxdWVzdCA9IHRoaXMucGF5bWVudFNlcnZpY2UuZ2V0UGF5bWVudFJlcXVlc3QoKTtcblxuICAgIGlmICghcGF5bWVudERhdGFSZXF1ZXN0KSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcignTm8gZGF0YSBmb3IgcGF5bWVudCBkYXRhIHJlcXVlc3QnLCBbXG4gICAgICAgICAgRXJyb3JUYWdzLkdPT0dMRVBBWSxcbiAgICAgICAgXSksXG4gICAgICApO1xuICAgICAgdGhyb3cgbmV3IEFwcEVycm9yKGBHb29nbGUgUGF5OiBObyBkYXRhIGZvciBwYXltZW50IGRhdGEgcmVxdWVzdGApO1xuICAgIH1cblxuICAgIGNvbnN0IGNoZWNrU3RhdHVzQWN0aW9uOiBOZXh0QWN0aW9uID0gdGhpcy5pbmplY3RvclxuICAgICAgLmdldDxDaGVja1N0YXR1c0FjdGlvbkNyZWF0b3I+KENoZWNrU3RhdHVzQWN0aW9uQ3JlYXRvcilcbiAgICAgIC5nZXRBY3Rpb25EYXRhKCk7XG5cbiAgICB0cnkge1xuICAgICAgdGhpcy5wYXltZW50SW5Qcm9ncmVzcyA9IHRydWU7XG5cbiAgICAgIHRoaXMucGF5bWVudFdpbmRvd0lzUmVhZHkubmV4dCgpO1xuXG4gICAgICBjb25zdCBwYXltZW50RGF0YSA9XG4gICAgICAgIGF3YWl0IHRoaXMuZ29vZ2xlUGF5bWVudENsaWVudC5sb2FkUGF5bWVudERhdGEocGF5bWVudERhdGFSZXF1ZXN0KTtcblxuICAgICAgaWYgKCFwYXltZW50RGF0YT8ucGF5bWVudE1ldGhvZERhdGE/LnRva2VuaXphdGlvbkRhdGE/LnRva2VuKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoJ1Rva2VuIGlzIG1pc3NpbmcnLCBbRXJyb3JUYWdzLkdPT0dMRVBBWV0pLFxuICAgICAgICApO1xuICAgICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoJ0dvb2dsZSBQYXk6IHRva2VuIGlzIG1pc3NpbmcnKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5wYXltZW50U2VydmljZS5oYW5kbGVTdWNjZXNzZnVsUGF5bWVudD8uKHBheW1lbnREYXRhKTtcblxuICAgICAgdGhpcy5wYXltZW50V2luZG93SXNDbG9zZS5uZXh0KCk7XG5cbiAgICAgIHRoaXMucGF5bWVudEluUHJvZ3Jlc3MgPSBmYWxzZTtcblxuICAgICAgcmV0dXJuIGNoZWNrU3RhdHVzQWN0aW9uO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICB0aGlzLnBheW1lbnRJblByb2dyZXNzID0gZmFsc2U7XG5cbiAgICAgIHRoaXMucGF5bWVudFNlcnZpY2UuaGFuZGxlRmFpbGVkUGF5bWVudD8uKGVycm9yKTtcbiAgICAgIHRoaXMucGF5bWVudFdpbmRvd0lzQ2xvc2UubmV4dCgpO1xuICAgICAgdGhpcy5lcnJvci5uZXh0KGVycm9yKTtcblxuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gKGVycm9yIGFzIHsgbWVzc2FnZTogc3RyaW5nIH0pPy5tZXNzYWdlID8/ICcnO1xuICAgICAgY29uc3QgZXJyb3JTdGF0dXNDb2RlID1cbiAgICAgICAgKGVycm9yIGFzIHsgc3RhdHVzQ29kZTogc3RyaW5nIH0pPy5zdGF0dXNDb2RlID8/ICcnO1xuXG4gICAgICBjb25zdCBpc0Nsb3NlZEJ5VXNlciA9IHRoaXMuaXNDbG9zZWRCeVVzZXIoZXJyb3JNZXNzYWdlKTtcbiAgICAgIGNvbnN0IGlzQ2FuY2VsZWRTdGF0dXMgPSB0aGlzLmlzQ2FuY2VsZWRTdGF0dXMoZXJyb3JTdGF0dXNDb2RlKTtcblxuICAgICAgaWYgKGlzQ2xvc2VkQnlVc2VyIHx8IGlzQ2FuY2VsZWRTdGF0dXMpIHJldHVybiBudWxsO1xuXG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcihgR29vZ2xlIFBheTogcHJvY2VlZENoZWNrb3V0IGZhaWxlZCwgJHtlcnJvck1lc3NhZ2V9YCwgW1xuICAgICAgICAgIEVycm9yVGFncy5HT09HTEVQQVksXG4gICAgICAgIF0pLFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGNoZWNrU3RhdHVzQWN0aW9uO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVCdXR0b24oXG4gICAgb25DbGlja0hhbmRsZXI6ICgpID0+IHZvaWQsXG4gICAgY29uZmlndXJhdGlvbjogR29vZ2xlUGF5QnV0dG9uQ29uZmlndXJhdGlvbixcbiAgKTogSFRNTEJ1dHRvbkVsZW1lbnQgfCBudWxsIHtcbiAgICBpZiAoIXRoaXMuZ29vZ2xlUGF5bWVudENsaWVudCkge1xuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoXG4gICAgICAgICAgJ0dvb2dsZSBwYXltZW50IGNsaWVudCBpcyBub3QgaW5pdGlhbGl6ZWQgdG8gY3JlYXRlIGJ1dHRvbicsXG4gICAgICAgICAgW0Vycm9yVGFncy5HT09HTEVQQVldLFxuICAgICAgICApLFxuICAgICAgKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGFsbG93ZWRQYXltZW50TWV0aG9kcyA9XG4gICAgICB0aGlzLnBheW1lbnRTZXJ2aWNlPy5nZXRBbGxvd2VkUGF5bWVudE1ldGhvZHMoKSB8fCBbXTtcblxuICAgIHJldHVybiB0aGlzLmdvb2dsZVBheW1lbnRDbGllbnQuY3JlYXRlQnV0dG9uKHtcbiAgICAgIG9uQ2xpY2s6IG9uQ2xpY2tIYW5kbGVyLFxuICAgICAgYWxsb3dlZFBheW1lbnRNZXRob2RzOiBhbGxvd2VkUGF5bWVudE1ldGhvZHMsXG4gICAgICBidXR0b25TaXplTW9kZTogJ2ZpbGwnLFxuICAgICAgYnV0dG9uVHlwZTogJ2J1eScsXG4gICAgICBidXR0b25Db2xvcjogY29uZmlndXJhdGlvbi5jb2xvciA/PyAnZGVmYXVsdCcsXG4gICAgICBidXR0b25Mb2NhbGU6IHRoaXMuZ2V0TG9jYWxlRm9yQnV0dG9uKGNvbmZpZ3VyYXRpb24ubG9jYWxlKSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBHb29nbGVQYXlDbGllbnQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLndpbmRvdy5nb29nbGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgbmV3IFRhZ2dlZEVycm9yKCdHb29nbGUgUGF5IGxpYnJhcnkgaXMgbm90IGF2YWlsYWJsZSBvbiB3aW5kb3cnLCBbXG4gICAgICAgICAgRXJyb3JUYWdzLkdPT0dMRVBBWSxcbiAgICAgICAgXSksXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGVudmlyb25tZW50ID0gdGhpcy5pbml0UGFyYW1zLmlzU2FuZGJveCA/ICdURVNUJyA6ICdQUk9EVUNUSU9OJztcbiAgICBjb25zdCBnb29nbGVQYXltZW50Q2xpZW50RGF0YTogR29vZ2xlUGF5Q2xpZW50SW5pdERhdGEgPSB7XG4gICAgICBlbnZpcm9ubWVudCxcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuaW5pdFBhcmFtcy5pc0luc3RhbnRQYXlGbG93KSB7XG4gICAgICBnb29nbGVQYXltZW50Q2xpZW50RGF0YS5wYXltZW50RGF0YUNhbGxiYWNrcyA9IHtcbiAgICAgICAgb25QYXltZW50RGF0YUNoYW5nZWQ6IHRoaXMub25QYXltZW50RGF0YUNoYW5nZWQsXG4gICAgICAgIG9uUGF5bWVudEF1dGhvcml6ZWQ6IHRoaXMub25QYXltZW50QXV0aG9yaXplZCxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhpcy5nb29nbGVQYXltZW50Q2xpZW50ID1cbiAgICAgIG5ldyB0aGlzLndpbmRvdy5nb29nbGUucGF5bWVudHMuYXBpLlBheW1lbnRzQ2xpZW50KFxuICAgICAgICBnb29nbGVQYXltZW50Q2xpZW50RGF0YSxcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIG9uTG9hZFNjcmlwdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMud2luZG93Lmdvb2dsZSkge1xuICAgICAgY29uc3QgcmV0cnlUaW1lb3V0ID0gMTAwMDtcblxuICAgICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmVycm9yKFxuICAgICAgICBuZXcgVGFnZ2VkRXJyb3IoXG4gICAgICAgICAgJ0dvb2dsZSBQYXk6IGxpYnJhcnkgbm90IGF2YWlsYWJsZSBhZnRlciBzY3JpcHQgbG9hZCwgcmV0cnlpbmcnLFxuICAgICAgICAgIFtFcnJvclRhZ3MuR09PR0xFUEFZXSxcbiAgICAgICAgKSxcbiAgICAgICk7XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBjb25zdCBpc0F2YWlsYWJsZUdvb2dsZUNsaWVudCA9ICEhdGhpcy53aW5kb3cuZ29vZ2xlO1xuXG4gICAgICAgIGlmIChpc0F2YWlsYWJsZUdvb2dsZUNsaWVudCkge1xuICAgICAgICAgIHRoaXMuc2V0dXBHb29nbGVQYXlDbGllbnQoKTtcblxuICAgICAgICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRJbml0aWFsaXplKHRydWUpO1xuICAgICAgICB9XG4gICAgICB9LCByZXRyeVRpbWVvdXQpO1xuXG4gICAgICB0aHJvdyBuZXcgQXBwRXJyb3IoJ0dvb2dsZSBQYXk6IGdvb2dsZSBsaWJyYXJ5IG5vdyBpcyBhdmFpbGFibGUnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXR1cEdvb2dsZVBheUNsaWVudCgpO1xuXG4gICAgICB0aGlzLnBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZS5lbWl0SW5pdGlhbGl6ZSh0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFBheW1lbnRTZXJ2aWNlKCk6IEdvb2dsZVBheVBheW1lbnRTZXJ2aWNlIHtcbiAgICBpZiAodGhpcy5pbml0UGFyYW1zLmlzSW5zdGFudFBheUZsb3cpXG4gICAgICByZXR1cm4gdGhpcy5nb29nbGVQYXlJbnN0YW50UGF5bWVudFNlcnZpY2U7XG4gICAgcmV0dXJuIHRoaXMuZ29vZ2xlUGF5Q2hlY2tvdXRQYXltZW50U2VydmljZTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDbG9zZWRCeVVzZXIobWVzc2FnZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG1lc3NhZ2UudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygndXNlciBjbG9zZWQgdGhlIHBheW1lbnQgcmVxdWVzdCB1aScpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NhbmNlbGVkU3RhdHVzKHN0YXR1c0NvZGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBzdGF0dXNDb2RlLnRvTG93ZXJDYXNlKCkgPT09ICdjYW5jZWxlZCc7XG4gIH1cblxuICBwcml2YXRlIGdldExvY2FsZUZvckJ1dHRvbih1c2VyTG9jYWxlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFsbG93ZWRMb2NhbGVzID0gW1xuICAgICAgJ2VuJyxcbiAgICAgICdhcicsXG4gICAgICAnYmcnLFxuICAgICAgJ2NhJyxcbiAgICAgICdjcycsXG4gICAgICAnZGEnLFxuICAgICAgJ2RlJyxcbiAgICAgICdlbCcsXG4gICAgICAnZXMnLFxuICAgICAgJ2V0JyxcbiAgICAgICdmaScsXG4gICAgICAnZnInLFxuICAgICAgJ2hyJyxcbiAgICAgICdpZCcsXG4gICAgICAnaXQnLFxuICAgICAgJ2phJyxcbiAgICAgICdrbycsXG4gICAgICAnbXMnLFxuICAgICAgJ25sJyxcbiAgICAgICdubycsXG4gICAgICAncGwnLFxuICAgICAgJ3B0JyxcbiAgICAgICdydScsXG4gICAgICAnc2snLFxuICAgICAgJ3NsJyxcbiAgICAgICdzcicsXG4gICAgICAnc3YnLFxuICAgICAgJ3RoJyxcbiAgICAgICd0cicsXG4gICAgICAndWsnLFxuICAgICAgJ3poJyxcbiAgICBdO1xuXG4gICAgaWYgKFsnY24nLCAnemhfSEFOVCddLmluY2x1ZGVzKHVzZXJMb2NhbGUpKSB7XG4gICAgICByZXR1cm4gJ3poJztcbiAgICB9XG5cbiAgICBpZiAoWyd6aF9IQU5TJ10uaW5jbHVkZXModXNlckxvY2FsZSkpIHtcbiAgICAgIHJldHVybiAndHcnO1xuICAgIH1cblxuICAgIHJldHVybiBhbGxvd2VkTG9jYWxlcy5maW5kKChsb2NhbGUpID0+IGxvY2FsZSA9PT0gdXNlckxvY2FsZSkgPz8gJ2VuJztcbiAgfVxufVxuIl19
@@ -1,17 +1,21 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { Subject } from 'rxjs';
2
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';
3
5
  import { TaggedError } from '../../../exceptions-handling/errors';
4
6
  import { ErrorTags } from '../../../exceptions-handling/errors/elk-error-types.enum';
5
7
  import * as i0 from "@angular/core";
6
8
  import * as i1 from "../../payment-systems/payment-system-processing.service";
7
- import * as i2 from "../../../user-behaviour-analytics/user-behaviour-analytics.service";
8
- import * as i3 from "../../../exceptions-handling/logger/logger.service";
9
+ import * as i2 from "../../../exceptions-handling/logger/logger.service";
9
10
  export class GooglePayCheckoutPaymentService {
10
- constructor(paymentSystemProcessingService, userBehaviourAnalyticsService, loggerService) {
11
+ constructor(paymentSystemProcessingService, loggerService) {
11
12
  this.paymentSystemProcessingService = paymentSystemProcessingService;
12
- this.userBehaviourAnalyticsService = userBehaviourAnalyticsService;
13
13
  this.loggerService = loggerService;
14
14
  this.checkout = null;
15
+ this.analyticsEvent = new Subject();
16
+ }
17
+ get analyticsEvent$() {
18
+ return this.analyticsEvent.asObservable();
15
19
  }
16
20
  preparePayment({ initParams, checkDeviceData, }) {
17
21
  if (!initParams || !checkDeviceData.base64checkoutData) {
@@ -56,7 +60,11 @@ export class GooglePayCheckoutPaymentService {
56
60
  return paymentDataRequest.allowedPaymentMethods;
57
61
  }
58
62
  handleSuccessfulPayment(response) {
59
- this.userBehaviourAnalyticsService.send(UserBehaviourEventName.googlePayHandleSuccessfulPayment, 'manual', { value: this.checkout?.request?.form?.fields?.returnSuccessUrl ?? '' });
63
+ this.analyticsEvent.next({
64
+ eventName: UserBehaviourEventName.googlePayHandleSuccessfulPayment,
65
+ eventType: userBehaviourEventTypes.manual,
66
+ value: this.checkout?.request?.form?.fields?.returnSuccessUrl ?? '',
67
+ });
60
68
  if (!this.checkout)
61
69
  return;
62
70
  let returnUrl = this.checkout.request.form.fields.returnSuccessUrl;
@@ -65,7 +73,11 @@ export class GooglePayCheckoutPaymentService {
65
73
  this.paymentSystemProcessingService.emitStatusUrl(returnUrl);
66
74
  }
67
75
  handleFailedPayment(error) {
68
- this.userBehaviourAnalyticsService.send(UserBehaviourEventName.googlePayHandleFailedPayment, 'manual', { value: this.checkout?.request?.form?.fields?.returnFailUrl ?? '' });
76
+ this.analyticsEvent.next({
77
+ eventName: UserBehaviourEventName.googlePayHandleFailedPayment,
78
+ eventType: userBehaviourEventTypes.manual,
79
+ value: this.checkout?.request?.form?.fields?.returnFailUrl ?? '',
80
+ });
69
81
  if (!this.checkout)
70
82
  return;
71
83
  const statusCode = error?.statusCode;
@@ -78,7 +90,7 @@ export class GooglePayCheckoutPaymentService {
78
90
  isCancelledStatus(statusCode) {
79
91
  return statusCode.toLowerCase() === 'canceled';
80
92
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GooglePayCheckoutPaymentService, deps: [{ token: i1.PaymentSystemProcessingService }, { token: i2.UserBehaviourAnalyticsService }, { token: i3.LoggerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GooglePayCheckoutPaymentService, deps: [{ token: i1.PaymentSystemProcessingService }, { token: i2.LoggerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
82
94
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GooglePayCheckoutPaymentService, providedIn: 'root' }); }
83
95
  }
84
96
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GooglePayCheckoutPaymentService, decorators: [{
@@ -86,5 +98,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
86
98
  args: [{
87
99
  providedIn: 'root',
88
100
  }]
89
- }], ctorParameters: () => [{ type: i1.PaymentSystemProcessingService }, { type: i2.UserBehaviourAnalyticsService }, { type: i3.LoggerService }] });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXBheS1jaGVja291dC1wYXltZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9nb29nbGUtcGF5L3BheW1lbnQvZ29vZ2xlLXBheS1jaGVja291dC1wYXltZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWUzQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUUxRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOzs7OztBQUtyRixNQUFNLE9BQU8sK0JBQStCO0lBTTFDLFlBQ2tCLDhCQUE4RCxFQUM3RCw2QkFBNEQsRUFDNUQsYUFBNEI7UUFGN0IsbUNBQThCLEdBQTlCLDhCQUE4QixDQUFnQztRQUM3RCxrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQStCO1FBQzVELGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBTHZDLGFBQVEsR0FBNkIsSUFBSSxDQUFDO0lBTS9DLENBQUM7SUFFRyxjQUFjLENBQUMsRUFDcEIsVUFBVSxFQUNWLGVBQWUsR0FDTTtRQUNyQixJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQ3RCLElBQUksV0FBVyxDQUNiLCtEQUErRCxFQUMvRCxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FDdEIsQ0FDRixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFFBQVE7WUFDWCxJQUFJLENB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QztRQUUzQyxJQUFJLENBQUMsOEJBQThCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxLQUFjO1FBQ3ZDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQ3JDLHNCQUFzQixDQUFDLDRCQUE0QixFQUNuRCxRQUFRLEVBQ1IsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxhQUFhLElBQUksRUFBRSxFQUFFLENBQ3JFLENBQUM7UUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRTNCLE1BQU0sVUFBVSxHQUFJLEtBQWlDLEVBQUUsVUFBVSxDQUFDO1FBQ2xFLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUUxRSxJQUFJLGdCQUFnQjtZQUFFLE9BQU87UUFFN0IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7UUFDbEUsSUFBSSxDQUFDLDhCQUE4QixDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU8saUJBQWlCLENBQUMsVUFBa0I7UUFDMUMsT0FBTyxVQUFVLENBQUMsV0FBVyxFQUFFLEtBQUssVUFBVSxDQUFDO0lBQ2pELENBQUM7K0dBM0hVLCtCQUErQjttSEFBL0IsK0JBQStCLGNBRjlCLE1BQU07OzRGQUVQLCtCQUErQjtrQkFIM0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9wYXltZW50LXN5c3RlbXMvcGF5bWVudC1zeXN0ZW0tcHJvY2Vzc2luZy5zZXJ2aWNlJztcbmltcG9ydCB7IEdvb2dsZVBheUNoZWNrb3V0IH0gZnJvbSAnLi4vZ29vZ2xlLXBheS1jaGVja291dC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgR29vZ2xlUGF5SW5pdFBhcmFtcyB9IGZyb20gJy4uL2dvb2dsZS1wYXktaW5pdC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEFsbG93ZWRQYXltZW50TWV0aG9kLFxuICBHb29nbGVJbml0RGF0YSxcbiAgR29vZ2xlUGF5UGF5bWVudFJlcXVlc3QsXG4gIFBheW1lbnREYXRhUmVzcG9uc2UsXG59IGZyb20gJy4uL2dvb2dsZS1wYXktbGlicmFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgR29vZ2xlUGF5UGF5bWVudFNlcnZpY2UsXG4gIFByZXBhcmVQYXltZW50UGFyYW1zLFxufSBmcm9tICcuL2dvb2dsZS1wYXktcGF5bWVudC1zZXJ2aWNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBVc2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3Muc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyQmVoYXZpb3VyRXZlbnROYW1lIH0gZnJvbSAnLi4vLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50LW5hbWUuZW51bSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vZXhjZXB0aW9ucy1oYW5kbGluZy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVGFnZ2VkRXJyb3IgfSBmcm9tICcuLi8uLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycyc7XG5pbXBvcnQgeyBFcnJvclRhZ3MgfSBmcm9tICcuLi8uLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2Vycm9ycy9lbGstZXJyb3ItdHlwZXMuZW51bSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBHb29nbGVQYXlDaGVja291dFBheW1lbnRTZXJ2aWNlXG4gIGltcGxlbWVudHMgR29vZ2xlUGF5UGF5bWVudFNlcnZpY2VcbntcbiAgcHJpdmF0ZSBpbml0UGFyYW1zITogR29vZ2xlUGF5SW5pdFBhcmFtcztcbiAgcHJpdmF0ZSBjaGVja291dDogR29vZ2xlUGF5Q2hlY2tvdXQgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZTogUGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckJlaGF2aW91ckFuYWx5dGljc1NlcnZpY2U6IFVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyU2VydmljZTogTG9nZ2VyU2VydmljZSxcbiAgKSB7fVxuXG4gIHB1YmxpYyBwcmVwYXJlUGF5bWVudCh7XG4gICAgaW5pdFBhcmFtcyxcbiAgICBjaGVja0RldmljZURhdGEsXG4gIH06IFByZXBhcmVQYXltZW50UGFyYW1zKTogR29vZ2xlSW5pdERhdGEgfCBudWxsIHtcbiAgICBpZiAoIWluaXRQYXJhbXMgfHwgIWNoZWNrRGV2aWNlRGF0YS5iYXNlNjRjaGVja291dERhdGEpIHtcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgbmV3IFRhZ2dlZEVycm9yKFxuICAgICAgICAgICdHb29nbGUgUGF5IGNoZWNrb3V0OiBtaXNzaW5nIGluaXRQYXJhbXMgb3IgYmFzZTY0Y2hlY2tvdXREYXRhJyxcbiAgICAgICAgICBbRXJyb3JUYWdzLkdPT0dMRVBBWV0sXG4gICAgICAgICksXG4gICAgICApO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0UGFyYW1zID0gaW5pdFBhcmFtcztcbiAgICB0aGlzLmNoZWNrb3V0ID1cbiAgICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmdldERlY29kZWRDaGVja291dDxHb29nbGVQYXlDaGVja291dD4oXG4gICAgICAgIGNoZWNrRGV2aWNlRGF0YS5iYXNlNjRjaGVja291dERhdGEsXG4gICAgICApO1xuXG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcignR29vZ2xlIFBheSBjaGVja291dDogZmFpbGVkIHRvIGRlY29kZSBjaGVja291dCBkYXRhJywgW1xuICAgICAgICAgIEVycm9yVGFncy5HT09HTEVQQVksXG4gICAgICAgIF0pLFxuICAgICAgKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGNoZWNrb3V0RGF0YSA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcztcbiAgICBjb25zdCBwYXltZW50RGF0YVJlcXVlc3QgPSBKU09OLnBhcnNlKGNoZWNrb3V0RGF0YS5wYXltZW50RGF0YVJlcXVlc3QpO1xuICAgIGNvbnN0IGlzUmVhZHlUb1BheVJlcXVlc3QgPSBKU09OLnBhcnNlKGNoZWNrb3V0RGF0YS5pc1JlYWR5VG9QYXlSZXF1ZXN0KTtcblxuICAgIGNvbnN0IHJlc3VsdDogR29vZ2xlSW5pdERhdGEgPSB7IHBheW1lbnREYXRhUmVxdWVzdCwgaXNSZWFkeVRvUGF5UmVxdWVzdCB9O1xuXG4gICAgaWYgKGNoZWNrb3V0RGF0YS5hbWV4Q2FyZE5vdGlmaWNhdGlvbikge1xuICAgICAgcmVzdWx0LmFtZXhDYXJkTm90aWZpY2F0aW9uID0gSlNPTi5wYXJzZShcbiAgICAgICAgY2hlY2tvdXREYXRhLmFtZXhDYXJkTm90aWZpY2F0aW9uLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGdldFBheW1lbnRSZXF1ZXN0KCk6IEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0IHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IGNoZWNrb3V0RGF0YSA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcztcbiAgICBjb25zdCBwYXltZW50RGF0YVJlcXVlc3QgPSBKU09OLnBhcnNlKFxuICAgICAgY2hlY2tvdXREYXRhLnBheW1lbnREYXRhUmVxdWVzdCxcbiAgICApIGFzIEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0O1xuXG4gICAgcGF5bWVudERhdGFSZXF1ZXN0LnRyYW5zYWN0aW9uSW5mbyA9IHtcbiAgICAgIGN1cnJlbmN5Q29kZTogY2hlY2tvdXREYXRhLmN1cnJlbmN5LFxuICAgICAgdG90YWxQcmljZVN0YXR1czogJ0ZJTkFMJyxcbiAgICAgIHRvdGFsUHJpY2U6IGNoZWNrb3V0RGF0YS5zdW0/LnRvU3RyaW5nKCksXG4gICAgICBjb3VudHJ5Q29kZTogdGhpcy5pbml0UGFyYW1zLmNvdW50cnkudG9VcHBlckNhc2UoKSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHBheW1lbnREYXRhUmVxdWVzdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbGxvd2VkUGF5bWVudE1ldGhvZHMoKTogQWxsb3dlZFBheW1lbnRNZXRob2RbXSB7XG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm4gW107XG5cbiAgICBjb25zdCBwYXltZW50RGF0YVJlcXVlc3QgPSBKU09OLnBhcnNlKFxuICAgICAgdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzLnBheW1lbnREYXRhUmVxdWVzdCxcbiAgICApIGFzIEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0O1xuXG4gICAgcmV0dXJuIHBheW1lbnREYXRhUmVxdWVzdC5hbGxvd2VkUGF5bWVudE1ldGhvZHM7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlU3VjY2Vzc2Z1bFBheW1lbnQocmVzcG9uc2U6IFBheW1lbnREYXRhUmVzcG9uc2UpOiB2b2lkIHtcbiAgICB0aGlzLnVzZXJCZWhhdmlvdXJBbmFseXRpY3NTZXJ2aWNlLnNlbmQoXG4gICAgICBVc2VyQmVoYXZpb3VyRXZlbnROYW1lLmdvb2dsZVBheUhhbmRsZVN1Y2Nlc3NmdWxQYXltZW50LFxuICAgICAgJ21hbnVhbCcsXG4gICAgICB7IHZhbHVlOiB0aGlzLmNoZWNrb3V0Py5yZXF1ZXN0Py5mb3JtPy5maWVsZHM/LnJldHVyblN1Y2Nlc3NVcmwgPz8gJycgfSxcbiAgICApO1xuXG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm47XG5cbiAgICBsZXQgcmV0dXJuVXJsID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzLnJldHVyblN1Y2Nlc3NVcmw7XG5cbiAgICBjb25zdCBkYXRhID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzO1xuICAgIHJldHVyblVybCArPSBgJmNwZl9udW1iZXI9JHtkYXRhLmNwZl9udW1iZXJ9JmRlc2NyaXB0b3I9JHtcbiAgICAgIGRhdGEuZGVzY3JpcHRvclxuICAgIH0mcGF5bWVudERhdGE9JHtKU09OLnN0cmluZ2lmeShyZXNwb25zZSl9YDtcblxuICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRTdGF0dXNVcmwocmV0dXJuVXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVGYWlsZWRQYXltZW50KGVycm9yOiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy51c2VyQmVoYXZpb3VyQW5hbHl0aWNzU2VydmljZS5zZW5kKFxuICAgICAgVXNlckJlaGF2aW91ckV2ZW50TmFtZS5nb29nbGVQYXlIYW5kbGVGYWlsZWRQYXltZW50LFxuICAgICAgJ21hbnVhbCcsXG4gICAgICB7IHZhbHVlOiB0aGlzLmNoZWNrb3V0Py5yZXF1ZXN0Py5mb3JtPy5maWVsZHM/LnJldHVybkZhaWxVcmwgPz8gJycgfSxcbiAgICApO1xuXG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm47XG5cbiAgICBjb25zdCBzdGF0dXNDb2RlID0gKGVycm9yIGFzIHsgc3RhdHVzQ29kZT86IHN0cmluZyB9KT8uc3RhdHVzQ29kZTtcbiAgICBjb25zdCBpc1N0YXR1c0NhbmNlbGVkID0gc3RhdHVzQ29kZSAmJiB0aGlzLmlzQ2FuY2VsbGVkU3RhdHVzKHN0YXR1c0NvZGUpO1xuXG4gICAgaWYgKGlzU3RhdHVzQ2FuY2VsZWQpIHJldHVybjtcblxuICAgIGNvbnN0IHJldHVyblVybCA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcy5yZXR1cm5GYWlsVXJsO1xuICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRTdGF0dXNVcmwocmV0dXJuVXJsKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDYW5jZWxsZWRTdGF0dXMoc3RhdHVzQ29kZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN0YXR1c0NvZGUudG9Mb3dlckNhc2UoKSA9PT0gJ2NhbmNlbGVkJztcbiAgfVxufVxuIl19
101
+ }], ctorParameters: () => [{ type: i1.PaymentSystemProcessingService }, { type: i2.LoggerService }] });
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLXBheS1jaGVja291dC1wYXltZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc2RrLXBheW1lbnQtc3lzdGVtcy9nb29nbGUtcGF5L3BheW1lbnQvZ29vZ2xlLXBheS1jaGVja291dC1wYXltZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBYzNDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtFQUFrRSxDQUFDO0FBQzFHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1GQUFtRixDQUFDO0FBRzVILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMERBQTBELENBQUM7Ozs7QUFLckYsTUFBTSxPQUFPLCtCQUErQjtJQU8xQyxZQUNrQiw4QkFBOEQsRUFDN0QsYUFBNEI7UUFEN0IsbUNBQThCLEdBQTlCLDhCQUE4QixDQUFnQztRQUM3RCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUx2QyxhQUFRLEdBQTZCLElBQUksQ0FBQztRQUNqQyxtQkFBYyxHQUFHLElBQUksT0FBTyxFQUF5QixDQUFDO0lBS3BFLENBQUM7SUFFSixJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFFTSxjQUFjLENBQUMsRUFDcEIsVUFBVSxFQUNWLGVBQWUsR0FDTTtRQUNyQixJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQ3RCLElBQUksV0FBVyxDQUNiLCtE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K0IsY0FGOUIsTUFBTTs7NEZBRVAsK0JBQStCO2tCQUgzQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBheW1lbnRTeXN0ZW1Qcm9jZXNzaW5nU2VydmljZSB9IGZyb20gJy4uLy4uL3BheW1lbnQtc3lzdGVtcy9wYXltZW50LXN5c3RlbS1wcm9jZXNzaW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgR29vZ2xlUGF5Q2hlY2tvdXQgfSBmcm9tICcuLi9nb29nbGUtcGF5LWNoZWNrb3V0LmludGVyZmFjZSc7XG5pbXBvcnQgeyBHb29nbGVQYXlJbml0UGFyYW1zIH0gZnJvbSAnLi4vZ29vZ2xlLXBheS1pbml0LXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgQWxsb3dlZFBheW1lbnRNZXRob2QsXG4gIEdvb2dsZUluaXREYXRhLFxuICBHb29nbGVQYXlQYXltZW50UmVxdWVzdCxcbiAgUGF5bWVudERhdGFSZXNwb25zZSxcbn0gZnJvbSAnLi4vZ29vZ2xlLXBheS1saWJyYXJ5LmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBHb29nbGVQYXlQYXltZW50U2VydmljZSxcbiAgUHJlcGFyZVBheW1lbnRQYXJhbXMsXG59IGZyb20gJy4vZ29vZ2xlLXBheS1wYXltZW50LXNlcnZpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJFdmVudE5hbWUgfSBmcm9tICcuLi8uLi8uLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItZXZlbnQtbmFtZS5lbnVtJztcbmltcG9ydCB7IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzL3VzZXItYmVoYXZpb3VyLWV2ZW50L3VzZXItYmVoYXZpb3VyLWV2ZW50LXR5cGVzJztcbmltcG9ydCB7IEFuYWx5dGljc0V2ZW50UGF5bG9hZCB9IGZyb20gJy4uLy4uLy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9leGNlcHRpb25zLWhhbmRsaW5nL2xvZ2dlci9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUYWdnZWRFcnJvciB9IGZyb20gJy4uLy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzJztcbmltcG9ydCB7IEVycm9yVGFncyB9IGZyb20gJy4uLy4uLy4uL2V4Y2VwdGlvbnMtaGFuZGxpbmcvZXJyb3JzL2Vsay1lcnJvci10eXBlcy5lbnVtJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEdvb2dsZVBheUNoZWNrb3V0UGF5bWVudFNlcnZpY2VcbiAgaW1wbGVtZW50cyBHb29nbGVQYXlQYXltZW50U2VydmljZVxue1xuICBwcml2YXRlIGluaXRQYXJhbXMhOiBHb29nbGVQYXlJbml0UGFyYW1zO1xuICBwcml2YXRlIGNoZWNrb3V0OiBHb29nbGVQYXlDaGVja291dCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHJlYWRvbmx5IGFuYWx5dGljc0V2ZW50ID0gbmV3IFN1YmplY3Q8QW5hbHl0aWNzRXZlbnRQYXlsb2FkPigpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgcGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlOiBQYXltZW50U3lzdGVtUHJvY2Vzc2luZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXJTZXJ2aWNlOiBMb2dnZXJTZXJ2aWNlLFxuICApIHt9XG5cbiAgcHVibGljIGdldCBhbmFseXRpY3NFdmVudCQoKTogT2JzZXJ2YWJsZTxBbmFseXRpY3NFdmVudFBheWxvYWQ+IHtcbiAgICByZXR1cm4gdGhpcy5hbmFseXRpY3NFdmVudC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBwcmVwYXJlUGF5bWVudCh7XG4gICAgaW5pdFBhcmFtcyxcbiAgICBjaGVja0RldmljZURhdGEsXG4gIH06IFByZXBhcmVQYXltZW50UGFyYW1zKTogR29vZ2xlSW5pdERhdGEgfCBudWxsIHtcbiAgICBpZiAoIWluaXRQYXJhbXMgfHwgIWNoZWNrRGV2aWNlRGF0YS5iYXNlNjRjaGVja291dERhdGEpIHtcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5lcnJvcihcbiAgICAgICAgbmV3IFRhZ2dlZEVycm9yKFxuICAgICAgICAgICdHb29nbGUgUGF5IGNoZWNrb3V0OiBtaXNzaW5nIGluaXRQYXJhbXMgb3IgYmFzZTY0Y2hlY2tvdXREYXRhJyxcbiAgICAgICAgICBbRXJyb3JUYWdzLkdPT0dMRVBBWV0sXG4gICAgICAgICksXG4gICAgICApO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0UGFyYW1zID0gaW5pdFBhcmFtcztcbiAgICB0aGlzLmNoZWNrb3V0ID1cbiAgICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmdldERlY29kZWRDaGVja291dDxHb29nbGVQYXlDaGVja291dD4oXG4gICAgICAgIGNoZWNrRGV2aWNlRGF0YS5iYXNlNjRjaGVja291dERhdGEsXG4gICAgICApO1xuXG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSB7XG4gICAgICB0aGlzLmxvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgIG5ldyBUYWdnZWRFcnJvcignR29vZ2xlIFBheSBjaGVja291dDogZmFpbGVkIHRvIGRlY29kZSBjaGVja291dCBkYXRhJywgW1xuICAgICAgICAgIEVycm9yVGFncy5HT09HTEVQQVksXG4gICAgICAgIF0pLFxuICAgICAgKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGNoZWNrb3V0RGF0YSA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcztcbiAgICBjb25zdCBwYXltZW50RGF0YVJlcXVlc3QgPSBKU09OLnBhcnNlKGNoZWNrb3V0RGF0YS5wYXltZW50RGF0YVJlcXVlc3QpO1xuICAgIGNvbnN0IGlzUmVhZHlUb1BheVJlcXVlc3QgPSBKU09OLnBhcnNlKGNoZWNrb3V0RGF0YS5pc1JlYWR5VG9QYXlSZXF1ZXN0KTtcblxuICAgIGNvbnN0IHJlc3VsdDogR29vZ2xlSW5pdERhdGEgPSB7IHBheW1lbnREYXRhUmVxdWVzdCwgaXNSZWFkeVRvUGF5UmVxdWVzdCB9O1xuXG4gICAgaWYgKGNoZWNrb3V0RGF0YS5hbWV4Q2FyZE5vdGlmaWNhdGlvbikge1xuICAgICAgcmVzdWx0LmFtZXhDYXJkTm90aWZpY2F0aW9uID0gSlNPTi5wYXJzZShcbiAgICAgICAgY2hlY2tvdXREYXRhLmFtZXhDYXJkTm90aWZpY2F0aW9uLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHVibGljIGdldFBheW1lbnRSZXF1ZXN0KCk6IEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0IHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IGNoZWNrb3V0RGF0YSA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcztcbiAgICBjb25zdCBwYXltZW50RGF0YVJlcXVlc3QgPSBKU09OLnBhcnNlKFxuICAgICAgY2hlY2tvdXREYXRhLnBheW1lbnREYXRhUmVxdWVzdCxcbiAgICApIGFzIEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0O1xuXG4gICAgcGF5bWVudERhdGFSZXF1ZXN0LnRyYW5zYWN0aW9uSW5mbyA9IHtcbiAgICAgIGN1cnJlbmN5Q29kZTogY2hlY2tvdXREYXRhLmN1cnJlbmN5LFxuICAgICAgdG90YWxQcmljZVN0YXR1czogJ0ZJTkFMJyxcbiAgICAgIHRvdGFsUHJpY2U6IGNoZWNrb3V0RGF0YS5zdW0/LnRvU3RyaW5nKCksXG4gICAgICBjb3VudHJ5Q29kZTogdGhpcy5pbml0UGFyYW1zLmNvdW50cnkudG9VcHBlckNhc2UoKSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIHBheW1lbnREYXRhUmVxdWVzdDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbGxvd2VkUGF5bWVudE1ldGhvZHMoKTogQWxsb3dlZFBheW1lbnRNZXRob2RbXSB7XG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm4gW107XG5cbiAgICBjb25zdCBwYXltZW50RGF0YVJlcXVlc3QgPSBKU09OLnBhcnNlKFxuICAgICAgdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzLnBheW1lbnREYXRhUmVxdWVzdCxcbiAgICApIGFzIEdvb2dsZVBheVBheW1lbnRSZXF1ZXN0O1xuXG4gICAgcmV0dXJuIHBheW1lbnREYXRhUmVxdWVzdC5hbGxvd2VkUGF5bWVudE1ldGhvZHM7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlU3VjY2Vzc2Z1bFBheW1lbnQocmVzcG9uc2U6IFBheW1lbnREYXRhUmVzcG9uc2UpOiB2b2lkIHtcbiAgICB0aGlzLmFuYWx5dGljc0V2ZW50Lm5leHQoe1xuICAgICAgZXZlbnROYW1lOiBVc2VyQmVoYXZpb3VyRXZlbnROYW1lLmdvb2dsZVBheUhhbmRsZVN1Y2Nlc3NmdWxQYXltZW50LFxuICAgICAgZXZlbnRUeXBlOiB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWwsXG4gICAgICB2YWx1ZTogdGhpcy5jaGVja291dD8ucmVxdWVzdD8uZm9ybT8uZmllbGRzPy5yZXR1cm5TdWNjZXNzVXJsID8/ICcnLFxuICAgIH0pO1xuXG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm47XG5cbiAgICBsZXQgcmV0dXJuVXJsID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzLnJldHVyblN1Y2Nlc3NVcmw7XG5cbiAgICBjb25zdCBkYXRhID0gdGhpcy5jaGVja291dC5yZXF1ZXN0LmZvcm0uZmllbGRzO1xuICAgIHJldHVyblVybCArPSBgJmNwZl9udW1iZXI9JHtkYXRhLmNwZl9udW1iZXJ9JmRlc2NyaXB0b3I9JHtcbiAgICAgIGRhdGEuZGVzY3JpcHRvclxuICAgIH0mcGF5bWVudERhdGE9JHtKU09OLnN0cmluZ2lmeShyZXNwb25zZSl9YDtcblxuICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRTdGF0dXNVcmwocmV0dXJuVXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVGYWlsZWRQYXltZW50KGVycm9yOiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5hbmFseXRpY3NFdmVudC5uZXh0KHtcbiAgICAgIGV2ZW50TmFtZTogVXNlckJlaGF2aW91ckV2ZW50TmFtZS5nb29nbGVQYXlIYW5kbGVGYWlsZWRQYXltZW50LFxuICAgICAgZXZlbnRUeXBlOiB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcy5tYW51YWwsXG4gICAgICB2YWx1ZTogdGhpcy5jaGVja291dD8ucmVxdWVzdD8uZm9ybT8uZmllbGRzPy5yZXR1cm5GYWlsVXJsID8/ICcnLFxuICAgIH0pO1xuXG4gICAgaWYgKCF0aGlzLmNoZWNrb3V0KSByZXR1cm47XG5cbiAgICBjb25zdCBzdGF0dXNDb2RlID0gKGVycm9yIGFzIHsgc3RhdHVzQ29kZT86IHN0cmluZyB9KT8uc3RhdHVzQ29kZTtcbiAgICBjb25zdCBpc1N0YXR1c0NhbmNlbGVkID0gc3RhdHVzQ29kZSAmJiB0aGlzLmlzQ2FuY2VsbGVkU3RhdHVzKHN0YXR1c0NvZGUpO1xuXG4gICAgaWYgKGlzU3RhdHVzQ2FuY2VsZWQpIHJldHVybjtcblxuICAgIGNvbnN0IHJldHVyblVybCA9IHRoaXMuY2hlY2tvdXQucmVxdWVzdC5mb3JtLmZpZWxkcy5yZXR1cm5GYWlsVXJsO1xuICAgIHRoaXMucGF5bWVudFN5c3RlbVByb2Nlc3NpbmdTZXJ2aWNlLmVtaXRTdGF0dXNVcmwocmV0dXJuVXJsKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNDYW5jZWxsZWRTdGF0dXMoc3RhdHVzQ29kZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN0YXR1c0NvZGUudG9Mb3dlckNhc2UoKSA9PT0gJ2NhbmNlbGVkJztcbiAgfVxufVxuIl19
@@ -22,6 +22,7 @@ export class EventBuilderService {
22
22
  timezone: this.getTimezone(options.date),
23
23
  session_id: this.settingsService.unsafeUtilsResponse?.user?.session_id ?? null,
24
24
  referrer_url: this.window?.document?.referrer,
25
+ ancestor_origins: this.convertToEventParameterType(Array.from(this.window?.location?.ancestorOrigins ?? []), EventParameterType.stringArray),
25
26
  project_id: this.convertToEventParameterType(this.settingsService.unsafeUtilsResponse?.project?.id, EventParameterType.int),
26
27
  payment_country: this.convertToEventParameterType(options.invoice?.payment_country ??
27
28
  this.settingsService.unsafeUtilsResponse?.user?.country?.value, EventParameterType.string),
@@ -141,4 +142,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
141
142
  type: Inject,
142
143
  args: [windowToken]
143
144
  }] }] });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy9ldmVudC1idWlsZGVyL2V2ZW50LWJ1aWxkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFPN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQU1qRCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ21CLGVBQWdDLEVBQ2hDLGdCQUFrQyxFQUVsQyxNQUFzQjtRQUh0QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUVsQyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtJQUN0QyxDQUFDO0lBRUcsV0FBVyxDQUNoQixPQUEwQyxFQUMxQyxrQkFBc0M7UUFFdEMsT0FBTztZQUNMLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtZQUN0QixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsS0FBSyxFQUFFLElBQUksQ0FBQywyQkFBMkIsQ0FDckMsT0FBTyxDQUFDLEtBQUssRUFDYixPQUFPLENBQUMsU0FBUyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sQ0FDL0M7WUFDRCxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7WUFDcEIsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNoQyxZQUFZLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDcEMs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QUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBS0ksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBpc0Rldk1vZGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEV2ZW50UGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vZXZlbnQtcGFyYW1ldGVyLXR5cGVzJztcbmltcG9ydCB7IFVzZXJCZWhhdmlvdXJFdmVudCB9IGZyb20gJy4vdXNlci1iZWhhdmlvdXItZXZlbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFB1cmNoYXNlIH0gZnJvbSAnLi9wdXJjaGFzZS50eXBlJztcbmltcG9ydCB7IENyZWF0ZUV2ZW50TWV0aG9kT3B0aW9uc0ludGVyZmFjZSB9IGZyb20gJy4uL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2V0dGluZ3Mvc2V0dGluZ3Muc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyQWdlbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXNlci1hZ2VudC91c2VyLWFnZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXh0ZW5kZWRXaW5kb3cgfSBmcm9tICcuLi8uLi9leHRlbmRlZC13aW5kb3cuaW50ZXJmYWNlJztcbmltcG9ydCB7IERldmljZSB9IGZyb20gJy4uLy4uL3VzZXItYWdlbnQvZGV2aWNlLmVudW0nO1xuaW1wb3J0IHsgd2luZG93VG9rZW4gfSBmcm9tICcuLi8uLi93aW5kb3cudG9rZW4nO1xuaW1wb3J0IHsgVXNlclNlc3Npb25PcHRpb25zIH0gZnJvbSAnLi4vdXNlci1zZXNzaW9uLW9wdGlvbnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXZlbnRCdWlsZGVyU2VydmljZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU2VydmljZTogU2V0dGluZ3NTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlckFnZW50U2VydmljZTogVXNlckFnZW50U2VydmljZSxcbiAgICBASW5qZWN0KHdpbmRvd1Rva2VuKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93OiBFeHRlbmRlZFdpbmRvdyxcbiAgKSB7fVxuXG4gIHB1YmxpYyBjcmVhdGVFdmVudChcbiAgICBvcHRpb25zOiBDcmVhdGVFdmVudE1ldGhvZE9wdGlvbnNJbnRlcmZhY2UsXG4gICAgdXNlclNlc3Npb25PcHRpb25zOiBVc2VyU2Vzc2lvbk9wdGlvbnMsXG4gICk6IFVzZXJCZWhhdmlvdXJFdmVudCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFjdGlvbjogb3B0aW9ucy5hY3Rpb24sXG4gICAgICB0eXBlOiBvcHRpb25zLnR5cGUsXG4gICAgICB2YWx1ZTogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnMudmFsdWUsXG4gICAgICAgIG9wdGlvbnMudmFsdWVUeXBlID8/IEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmcsXG4gICAgICApLFxuICAgICAgc3RhdGU6IG9wdGlvbnMuc3RhdGUsXG4gICAgICBkYXRlOiB0aGlzLmdldERhdGUob3B0aW9ucy5kYXRlKSxcbiAgICAgIG1pbGxpc2Vjb25kczogb3B0aW9ucy5kYXRlLmdldFRpbWUoKSxcbiAgICAgIHRpbWV6b25lOiB0aGlzLmdldFRpbWV6b25lKG9wdGlvbnMuZGF0ZSksXG4gICAgICBzZXNzaW9uX2lkOlxuICAgICAgICB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVVdGlsc1Jlc3BvbnNlPy51c2VyPy5zZXNzaW9uX2lkID8/IG51bGwsXG4gICAgICByZWZlcnJlcl91cmw6IHRoaXMud2luZG93Py5kb2N1bWVudD8ucmVmZXJyZXIsXG4gICAgICBwcm9qZWN0X2lkOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudW5zYWZlVXRpbHNSZXNwb25zZT8ucHJvamVjdD8uaWQsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5pbnQsXG4gICAgICApLFxuICAgICAgcGF5bWVudF9jb3VudHJ5OiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucy5pbnZvaWNlPy5wYXltZW50X2NvdW50cnkgPz9cbiAgICAgICAgICB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVVdGlsc1Jlc3BvbnNlPy51c2VyPy5jb3VudHJ5Py52YWx1ZSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZyxcbiAgICAgICksXG4gICAgICBnZW90eXBlX2lkOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucy5pbnZvaWNlPy5nZW90eXBlX2lkLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuaW50LFxuICAgICAgKSxcbiAgICAgIGluc3RhbmNlX2lkOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucy5pbnN0YW5jZUlkID8/XG4gICAgICAgICAgdGhpcy5nZXRQYXltZW50TWV0aG9kSWQodXNlclNlc3Npb25PcHRpb25zLmluc3RhbmNlSWQpLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuaW50LFxuICAgICAgKSxcbiAgICAgIHBheW1lbnRfbWV0aG9kX2NvbnRyX2lkOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucy5pbnZvaWNlPy5wYXltZW50X21ldGhvZF9jb250cl9pZCxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmludCxcbiAgICAgICksXG4gICAgICBwc190eXBlOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucy5pbnZvaWNlPy5wc190eXBlLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuaW50LFxuICAgICAgKSxcbiAgICAgIGlzX3BheV93aXRoX3NhdmVkX21ldGhvZDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHVzZXJTZXNzaW9uT3B0aW9ucy5pc1BheVdpdGhTYXZlZE1ldGhvZCxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmJvb2wsXG4gICAgICApLFxuICAgICAgcHVyY2hhc2VfaW52b2ljZV9pZDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnMuaW52b2ljZT8ucHVyY2hhc2VfaW52b2ljZV9pZCxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmludCxcbiAgICAgICksXG4gICAgICBwdXJjaGFzZV9leHRlcm5hbF9pZDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVV0aWxzUmVzcG9uc2U/LnB1cmNoYXNlX2V4dGVybmFsX2lkLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIHB1cmNoYXNlX3R5cGU6IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVV0aWxzUmVzcG9uc2U/LnB1cmNoYXNlXG4gICAgICAgID8ucHVyY2hhc2VfdHlwZSBhcyBQdXJjaGFzZSxcbiAgICAgIHB1cmNoYXNlX3N1bTogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnMuaW52b2ljZT8ucHVyY2hhc2Vfc3VtLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuZmxvYXQsXG4gICAgICApLFxuICAgICAgcHVyY2hhc2VfY3VycmVuY3k6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zLmludm9pY2U/LnB1cmNoYXNlX2N1cnJlbmN5LFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIHB1cmNoYXNlX3NrdTogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnMuaW52b2ljZT8ucHVyY2hhc2Vfc2t1LFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIHB1cmNoYXNlX2RpZ2l0YWxfY29udGVudF9za3U6IG51bGwsXG4gICAgICBwdXJjaGFzZV9kZXNjcmlwdGlvbjogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnMuaW52b2ljZT8ucHVyY2hhc2VfZGVzY3JpcHRpb24sXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmcsXG4gICAgICApLFxuICAgICAgdmlydHVhbF9jdXJyZW5jeV9hbW91bnQ6IG51bGwsIC8vIFRPRE86IGFkZCB2YWx1ZVxuICAgICAgZGlnaXRhbF9jb250ZW50X2NhcnRfaWQ6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zLmludm9pY2U/LmRpZ2l0YWxfY29udGVudF9jYXJ0X2lkLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuaW50LFxuICAgICAgKSxcbiAgICAgIGRpZ2l0YWxfZ29vZF9jYXJ0X2lkOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucy5pbnZvaWNlPy5kaWdpdGFsX2dvb2RfY2FydF9pZCxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmludCxcbiAgICAgICksXG4gICAgICBjb3Vwb25fY29kZTogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHVzZXJTZXNzaW9uT3B0aW9ucy5jb3Vwb25Db2RlLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIHRoZW1lX3ZlcnNpb246IHRoaXMudXNlckFnZW50U2VydmljZS5pc01vYmlsZURldmljZVxuICAgICAgICA/IERldmljZS5tb2JpbGVcbiAgICAgICAgOiBEZXZpY2UuZGVza3RvcCxcbiAgICAgIHN1YnNjcmlwdGlvbl9wYWNrYWdlX2lkOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgdXNlclNlc3Npb25PcHRpb25zLnN1YnNjcmlwdGlvblBhY2thZ2VJZCxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmludCxcbiAgICAgICksXG4gICAgICBzdWJzY3JpcHRpb25fcHJvZHVjdF9pZDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHVzZXJTZXNzaW9uT3B0aW9ucy5zdWJzY3JpcHRpb25Qcm9kdWN0SWQsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5pbnQsXG4gICAgICApLFxuICAgICAgc3Vic2NyaXB0aW9uX3JlY3VycmVudF9pZDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHVzZXJTZXNzaW9uT3B0aW9ucy5zdWJzY3JpcHRpb25SZWN1cnJlbnRJZCxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmludCxcbiAgICAgICksXG4gICAgICB1c2VyX2lkOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudW5zYWZlVXRpbHNSZXNwb25zZT8udXNlcj8ucmVxdWlzaXRlcz8uaWQsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmcsXG4gICAgICApLFxuICAgICAgdXNlcl9hY2Nlc3NfdG9rZW46IHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnRva2VuLFxuICAgICAgdXNlcl9uYW1lOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudW5zYWZlVXRpbHNSZXNwb25zZT8udXNlcj8ucmVxdWlzaXRlcz8udjIsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmcsXG4gICAgICApLFxuICAgICAgdXNlcl9lbWFpbDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVV0aWxzUmVzcG9uc2U/LnVzZXI/LmVtYWlsPy52YWx1ZSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZyxcbiAgICAgICksXG4gICAgICB1c2VyX2NvdW50cnk6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVVdGlsc1Jlc3BvbnNlPy51c2VyPy5jb3VudHJ5Py52YWx1ZSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZyxcbiAgICAgICksXG4gICAgICB1c2VyX2lwOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudW5zYWZlVXRpbHNSZXNwb25zZT8udXNlcj8uaXAsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmcsXG4gICAgICApLFxuICAgICAgdXNlcl9tb2JpbGVfb3BlcmF0b3JfbmFtZTogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHVzZXJTZXNzaW9uT3B0aW9ucy51c2VyTW9iaWxlT3BlcmF0b3JOYW1lLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIHVzZXJfb3BlcmF0aW9uX3N5c3RlbTogdGhpcy51c2VyQWdlbnRTZXJ2aWNlLnBsYXRmb3JtLFxuICAgICAgdXNlcl9icm93c2VyOiB0aGlzLnVzZXJBZ2VudFNlcnZpY2UuYnJvd3NlckRlc2NyaXB0aW9uLFxuICAgICAgdXNlcl9icm93c2VyX3ZlcnNpb246IHRoaXMudXNlckFnZW50U2VydmljZS5icm93c2VyVmVyc2lvbixcbiAgICAgIHVzZXJfYWdlbnQ6IHRoaXMudXNlckFnZW50U2VydmljZS51c2VyQWdlbnQsXG4gICAgICB1c2VyX2xvY2FsZTogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVV0aWxzUmVzcG9uc2U/LnVzZXI/LmxvY2FsLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIHVzZXJfdXRtOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudW5zYWZlVXRpbHNSZXNwb25zZT8udXNlcj8udXRtX3BhcmFtZXRlcnMsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmcsXG4gICAgICApLFxuICAgICAgeHNvbGxhX3Byb2R1Y3RfdGFnOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudW5zYWZlVXRpbHNSZXNwb25zZT8ueHNvbGxhX3Byb2R1Y3RfdGFnLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIGV4cGVyaW1lbnRfaWQ6IG51bGwsXG4gICAgICBpc190ZXN0X3Nlc3Npb246ICtpc0Rldk1vZGUoKSxcbiAgICAgIGJhYmthX3ZhbHVlOiBudWxsLFxuICAgICAgZXh0cmFfdmFsdWU6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zPy5leHRyYVZhbHVlLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIGlzX3N1YnNjcmlwdGlvbjogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHRoaXMuaXNTdWJzY3JpcHRpb24oKSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmJvb2wsXG4gICAgICApLFxuICAgICAgaXNfaWZyYW1lOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgdGhpcy53aW5kb3cucGFyZW50ICE9PSB0aGlzLndpbmRvdyxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmJvb2wsXG4gICAgICApLFxuICAgICAgd2ViM3dhbGxldDogbnVsbCwgLy8gVE9ETzogYWRkIHZhbHVlXG4gICAgICBkaW1lbnNpb25fMTogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnM/LmRpbWVuc2lvbjEsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmcsXG4gICAgICApLFxuICAgICAgZGltZW5zaW9uXzI6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zPy5kaW1lbnNpb24yLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIGRpbWVuc2lvbl8zOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucz8uZGltZW5zaW9uMyxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZyxcbiAgICAgICksXG4gICAgICBkaW1lbnNpb25fNDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnM/LmRpbWVuc2lvbjQsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmcsXG4gICAgICApLFxuICAgICAgZGltZW5zaW9uXzU6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zPy5kaW1lbnNpb241LFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIGNsaWVudF92ZXJzaW9uOiAnSGVhZGxlc3MgQ2hlY2tvdXQnLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldERhdGUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgY29uc3QgbnVsbEluZGV4ID0gMDtcbiAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpLnJlcGxhY2UoJ1QnLCAnICcpLnJlcGxhY2UoJ1onLCAnJykuc3BsaXQoJy4nKVtcbiAgICAgIG51bGxJbmRleFxuICAgIF07XG4gIH1cblxuICBwcml2YXRlIGdldFRpbWV6b25lKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IGhvdXIgPSA2MDtcbiAgICBjb25zdCBudWxsSG91ciA9IDA7XG4gICAgY29uc3QgaG91ck9mZnNldCA9IC1kYXRlLmdldFRpbWV6b25lT2Zmc2V0KCkgLyBob3VyO1xuXG4gICAgaWYgKGhvdXJPZmZzZXQgPT09IG51bGxIb3VyKSB7XG4gICAgICByZXR1cm4gJzAnO1xuICAgIH1cblxuICAgIHJldHVybiBob3VyT2Zmc2V0ID4gbnVsbEhvdXIgPyBgKyR7aG91ck9mZnNldH1gIDogaG91ck9mZnNldC50b1N0cmluZygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgdmFsdWU6IGJvb2xlYW4gfCBudW1iZXIgfCBudW1iZXJbXSB8IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICB0eXBlOiBFdmVudFBhcmFtZXRlclR5cGUsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgKTogYW55IHwgbnVsbCB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgdmFsdWUgPSB2YWx1ZSA/IDEgOiAwO1xuICAgIH1cblxuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nOlxuICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgICAgIGNhc2UgRXZlbnRQYXJhbWV0ZXJUeXBlLmludDpcbiAgICAgICAgdmFsdWUgPSBwYXJzZUludChTdHJpbmcodmFsdWUpLCAxMCk7XG4gICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyAwIDogdmFsdWU7XG4gICAgICBjYXNlIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmdBcnJheTpcbiAgICAgIGNhc2UgRXZlbnRQYXJhbWV0ZXJUeXBlLmludEFycmF5OlxuICAgICAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFtdO1xuICAgICAgY2FzZSBFdmVudFBhcmFtZXRlclR5cGUuZmxvYXQ6XG4gICAgICAgIHZhbHVlID0gcGFyc2VGbG9hdChTdHJpbmcodmFsdWUpKTtcbiAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSA/IDAgOiB2YWx1ZTtcbiAgICAgIGNhc2UgRXZlbnRQYXJhbWV0ZXJUeXBlLmJvb2w6XG4gICAgICAgIHJldHVybiB2YWx1ZSA/IDEgOiAwO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFZhbHVlRm9yUG9zdE1lc3NhZ2UoXG4gICAgdmFsdWU6IHN0cmluZyB8IG51bWJlcltdIHwgbnVsbCxcbiAgKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNTdWJzY3JpcHRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVV0aWxzUmVzcG9uc2U/LnB1cmNoYXNlPy5wdXJjaGFzZV90eXBlID09PVxuICAgICAgJ3N1YnNjcmlwdGlvbidcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQYXltZW50TWV0aG9kSWQoaW5zdGFuY2VJZDogbnVtYmVyIHwgbnVsbCk6IG51bWJlciB8IG51bGwge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVVdGlsc1Jlc3BvbnNlPy5zZXR0aW5ncz8ucGF5bWVudF9zeXN0ZW0gPz9cbiAgICAgIGluc3RhbmNlSWRcbiAgICApO1xuICB9XG59XG4iXX0=
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtYnVpbGRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy9ldmVudC1idWlsZGVyL2V2ZW50LWJ1aWxkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFPN0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQU1qRCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ21CLGVBQWdDLEVBQ2hDLGdCQUFrQyxFQUVsQyxNQUFzQjtRQUh0QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUVsQyxXQUFNLEdBQU4sTUFBTSxDQUFnQjtJQUN0QyxDQUFDO0lBRUcsV0FBVyxDQUNoQixPQUEwQyxFQUMxQyxrQkFBc0M7UUFFdEMsT0FBTztZQUNMLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtZQUN0QixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsS0FBSyxFQUFFLElBQUksQ0FBQywyQkFBMkIsQ0FDckMsT0FBTyxDQUFDLEtBQUssRUFDYixPQUFPLENBQUMsU0FBUyxJQUFJLGtCQUFrQixDQUFDLE1BQU0sQ0FDL0M7WUFDRCxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7WUFDcEIsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNoQyxZQUFZLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDcEMs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QUMsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLGNBQWM7WUFDbEUsVUFBVSxDQUNYLENBQUM7SUFDSixDQUFDOytHQTFRVSxtQkFBbUIsaUZBSXBCLFdBQVc7bUhBSlYsbUJBQW1CLGNBRmxCLE1BQU07OzRGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUtJLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgaXNEZXZNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFdmVudFBhcmFtZXRlclR5cGUgfSBmcm9tICcuL2V2ZW50LXBhcmFtZXRlci10eXBlcyc7XG5pbXBvcnQgeyBVc2VyQmVoYXZpb3VyRXZlbnQgfSBmcm9tICcuL3VzZXItYmVoYXZpb3VyLWV2ZW50LmludGVyZmFjZSc7XG5pbXBvcnQgeyBQdXJjaGFzZSB9IGZyb20gJy4vcHVyY2hhc2UudHlwZSc7XG5pbXBvcnQgeyBDcmVhdGVFdmVudE1ldGhvZE9wdGlvbnNJbnRlcmZhY2UgfSBmcm9tICcuLi91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MuaW50ZXJmYWNlJztcbmltcG9ydCB7IFNldHRpbmdzU2VydmljZSB9IGZyb20gJy4uLy4uL3NldHRpbmdzL3NldHRpbmdzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlckFnZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItYWdlbnQvdXNlci1hZ2VudC5zZXJ2aWNlJztcbmltcG9ydCB7IEV4dGVuZGVkV2luZG93IH0gZnJvbSAnLi4vLi4vZXh0ZW5kZWQtd2luZG93LmludGVyZmFjZSc7XG5pbXBvcnQgeyBEZXZpY2UgfSBmcm9tICcuLi8uLi91c2VyLWFnZW50L2RldmljZS5lbnVtJztcbmltcG9ydCB7IHdpbmRvd1Rva2VuIH0gZnJvbSAnLi4vLi4vd2luZG93LnRva2VuJztcbmltcG9ydCB7IFVzZXJTZXNzaW9uT3B0aW9ucyB9IGZyb20gJy4uL3VzZXItc2Vzc2lvbi1vcHRpb25zJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEV2ZW50QnVpbGRlclNlcnZpY2Uge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXR0aW5nc1NlcnZpY2U6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJBZ2VudFNlcnZpY2U6IFVzZXJBZ2VudFNlcnZpY2UsXG4gICAgQEluamVjdCh3aW5kb3dUb2tlbilcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvdzogRXh0ZW5kZWRXaW5kb3csXG4gICkge31cblxuICBwdWJsaWMgY3JlYXRlRXZlbnQoXG4gICAgb3B0aW9uczogQ3JlYXRlRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlLFxuICAgIHVzZXJTZXNzaW9uT3B0aW9uczogVXNlclNlc3Npb25PcHRpb25zLFxuICApOiBVc2VyQmVoYXZpb3VyRXZlbnQge1xuICAgIHJldHVybiB7XG4gICAgICBhY3Rpb246IG9wdGlvbnMuYWN0aW9uLFxuICAgICAgdHlwZTogb3B0aW9ucy50eXBlLFxuICAgICAgdmFsdWU6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zLnZhbHVlLFxuICAgICAgICBvcHRpb25zLnZhbHVlVHlwZSA/PyBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIHN0YXRlOiBvcHRpb25zLnN0YXRlLFxuICAgICAgZGF0ZTogdGhpcy5nZXREYXRlKG9wdGlvbnMuZGF0ZSksXG4gICAgICBtaWxsaXNlY29uZHM6IG9wdGlvbnMuZGF0ZS5nZXRUaW1lKCksXG4gICAgICB0aW1lem9uZTogdGhpcy5nZXRUaW1lem9uZShvcHRpb25zLmRhdGUpLFxuICAgICAgc2Vzc2lvbl9pZDpcbiAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudW5zYWZlVXRpbHNSZXNwb25zZT8udXNlcj8uc2Vzc2lvbl9pZCA/PyBudWxsLFxuICAgICAgcmVmZXJyZXJfdXJsOiB0aGlzLndpbmRvdz8uZG9jdW1lbnQ/LnJlZmVycmVyLFxuICAgICAgYW5jZXN0b3Jfb3JpZ2luczogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIEFycmF5LmZyb20odGhpcy53aW5kb3c/LmxvY2F0aW9uPy5hbmNlc3Rvck9yaWdpbnMgPz8gW10pLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nQXJyYXksXG4gICAgICApLFxuICAgICAgcHJvamVjdF9pZDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVV0aWxzUmVzcG9uc2U/LnByb2plY3Q/LmlkLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuaW50LFxuICAgICAgKSxcbiAgICAgIHBheW1lbnRfY291bnRyeTogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnMuaW52b2ljZT8ucGF5bWVudF9jb3VudHJ5ID8/XG4gICAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudW5zYWZlVXRpbHNSZXNwb25zZT8udXNlcj8uY291bnRyeT8udmFsdWUsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmcsXG4gICAgICApLFxuICAgICAgZ2VvdHlwZV9pZDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnMuaW52b2ljZT8uZ2VvdHlwZV9pZCxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmludCxcbiAgICAgICksXG4gICAgICBpbnN0YW5jZV9pZDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnMuaW5zdGFuY2VJZCA/P1xuICAgICAgICAgIHRoaXMuZ2V0UGF5bWVudE1ldGhvZElkKHVzZXJTZXNzaW9uT3B0aW9ucy5pbnN0YW5jZUlkKSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmludCxcbiAgICAgICksXG4gICAgICBwYXltZW50X21ldGhvZF9jb250cl9pZDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnMuaW52b2ljZT8ucGF5bWVudF9tZXRob2RfY29udHJfaWQsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5pbnQsXG4gICAgICApLFxuICAgICAgcHNfdHlwZTogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnMuaW52b2ljZT8ucHNfdHlwZSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmludCxcbiAgICAgICksXG4gICAgICBpc19wYXlfd2l0aF9zYXZlZF9tZXRob2Q6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB1c2VyU2Vzc2lvbk9wdGlvbnMuaXNQYXlXaXRoU2F2ZWRNZXRob2QsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5ib29sLFxuICAgICAgKSxcbiAgICAgIHB1cmNoYXNlX2ludm9pY2VfaWQ6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zLmludm9pY2U/LnB1cmNoYXNlX2ludm9pY2VfaWQsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5pbnQsXG4gICAgICApLFxuICAgICAgcHVyY2hhc2VfZXh0ZXJuYWxfaWQ6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVVdGlsc1Jlc3BvbnNlPy5wdXJjaGFzZV9leHRlcm5hbF9pZCxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZyxcbiAgICAgICksXG4gICAgICBwdXJjaGFzZV90eXBlOiB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVVdGlsc1Jlc3BvbnNlPy5wdXJjaGFzZVxuICAgICAgICA/LnB1cmNoYXNlX3R5cGUgYXMgUHVyY2hhc2UsXG4gICAgICBwdXJjaGFzZV9zdW06IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zLmludm9pY2U/LnB1cmNoYXNlX3N1bSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmZsb2F0LFxuICAgICAgKSxcbiAgICAgIHB1cmNoYXNlX2N1cnJlbmN5OiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucy5pbnZvaWNlPy5wdXJjaGFzZV9jdXJyZW5jeSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZyxcbiAgICAgICksXG4gICAgICBwdXJjaGFzZV9za3U6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zLmludm9pY2U/LnB1cmNoYXNlX3NrdSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZyxcbiAgICAgICksXG4gICAgICBwdXJjaGFzZV9kaWdpdGFsX2NvbnRlbnRfc2t1OiBudWxsLFxuICAgICAgcHVyY2hhc2VfZGVzY3JpcHRpb246IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zLmludm9pY2U/LnB1cmNoYXNlX2Rlc2NyaXB0aW9uLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIHZpcnR1YWxfY3VycmVuY3lfYW1vdW50OiBudWxsLCAvLyBUT0RPOiBhZGQgdmFsdWVcbiAgICAgIGRpZ2l0YWxfY29udGVudF9jYXJ0X2lkOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucy5pbnZvaWNlPy5kaWdpdGFsX2NvbnRlbnRfY2FydF9pZCxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLmludCxcbiAgICAgICksXG4gICAgICBkaWdpdGFsX2dvb2RfY2FydF9pZDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnMuaW52b2ljZT8uZGlnaXRhbF9nb29kX2NhcnRfaWQsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5pbnQsXG4gICAgICApLFxuICAgICAgY291cG9uX2NvZGU6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB1c2VyU2Vzc2lvbk9wdGlvbnMuY291cG9uQ29kZSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZyxcbiAgICAgICksXG4gICAgICB0aGVtZV92ZXJzaW9uOiB0aGlzLnVzZXJBZ2VudFNlcnZpY2UuaXNNb2JpbGVEZXZpY2VcbiAgICAgICAgPyBEZXZpY2UubW9iaWxlXG4gICAgICAgIDogRGV2aWNlLmRlc2t0b3AsXG4gICAgICBzdWJzY3JpcHRpb25fcGFja2FnZV9pZDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHVzZXJTZXNzaW9uT3B0aW9ucy5zdWJzY3JpcHRpb25QYWNrYWdlSWQsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5pbnQsXG4gICAgICApLFxuICAgICAgc3Vic2NyaXB0aW9uX3Byb2R1Y3RfaWQ6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB1c2VyU2Vzc2lvbk9wdGlvbnMuc3Vic2NyaXB0aW9uUHJvZHVjdElkLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuaW50LFxuICAgICAgKSxcbiAgICAgIHN1YnNjcmlwdGlvbl9yZWN1cnJlbnRfaWQ6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB1c2VyU2Vzc2lvbk9wdGlvbnMuc3Vic2NyaXB0aW9uUmVjdXJyZW50SWQsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5pbnQsXG4gICAgICApLFxuICAgICAgdXNlcl9pZDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVV0aWxzUmVzcG9uc2U/LnVzZXI/LnJlcXVpc2l0ZXM/LmlkLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIHVzZXJfYWNjZXNzX3Rva2VuOiB0aGlzLnNldHRpbmdzU2VydmljZS50b2tlbixcbiAgICAgIHVzZXJfbmFtZTogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVV0aWxzUmVzcG9uc2U/LnVzZXI/LnJlcXVpc2l0ZXM/LnYyLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIHVzZXJfZW1haWw6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVVdGlsc1Jlc3BvbnNlPy51c2VyPy5lbWFpbD8udmFsdWUsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmcsXG4gICAgICApLFxuICAgICAgdXNlcl9jb3VudHJ5OiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudW5zYWZlVXRpbHNSZXNwb25zZT8udXNlcj8uY291bnRyeT8udmFsdWUsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmcsXG4gICAgICApLFxuICAgICAgdXNlcl9pcDogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVV0aWxzUmVzcG9uc2U/LnVzZXI/LmlwLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIHVzZXJfbW9iaWxlX29wZXJhdG9yX25hbWU6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB1c2VyU2Vzc2lvbk9wdGlvbnMudXNlck1vYmlsZU9wZXJhdG9yTmFtZSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZyxcbiAgICAgICksXG4gICAgICB1c2VyX29wZXJhdGlvbl9zeXN0ZW06IHRoaXMudXNlckFnZW50U2VydmljZS5wbGF0Zm9ybSxcbiAgICAgIHVzZXJfYnJvd3NlcjogdGhpcy51c2VyQWdlbnRTZXJ2aWNlLmJyb3dzZXJEZXNjcmlwdGlvbixcbiAgICAgIHVzZXJfYnJvd3Nlcl92ZXJzaW9uOiB0aGlzLnVzZXJBZ2VudFNlcnZpY2UuYnJvd3NlclZlcnNpb24sXG4gICAgICB1c2VyX2FnZW50OiB0aGlzLnVzZXJBZ2VudFNlcnZpY2UudXNlckFnZW50LFxuICAgICAgdXNlcl9sb2NhbGU6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVVdGlsc1Jlc3BvbnNlPy51c2VyPy5sb2NhbCxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZyxcbiAgICAgICksXG4gICAgICB1c2VyX3V0bTogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVV0aWxzUmVzcG9uc2U/LnVzZXI/LnV0bV9wYXJhbWV0ZXJzLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIHhzb2xsYV9wcm9kdWN0X3RhZzogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHRoaXMuc2V0dGluZ3NTZXJ2aWNlLnVuc2FmZVV0aWxzUmVzcG9uc2U/Lnhzb2xsYV9wcm9kdWN0X3RhZyxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZyxcbiAgICAgICksXG4gICAgICBleHBlcmltZW50X2lkOiBudWxsLFxuICAgICAgaXNfdGVzdF9zZXNzaW9uOiAraXNEZXZNb2RlKCksXG4gICAgICBiYWJrYV92YWx1ZTogbnVsbCxcbiAgICAgIGV4dHJhX3ZhbHVlOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucz8uZXh0cmFWYWx1ZSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZyxcbiAgICAgICksXG4gICAgICBpc19zdWJzY3JpcHRpb246IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICB0aGlzLmlzU3Vic2NyaXB0aW9uKCksXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5ib29sLFxuICAgICAgKSxcbiAgICAgIGlzX2lmcmFtZTogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIHRoaXMud2luZG93LnBhcmVudCAhPT0gdGhpcy53aW5kb3csXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5ib29sLFxuICAgICAgKSxcbiAgICAgIHdlYjN3YWxsZXQ6IG51bGwsIC8vIFRPRE86IGFkZCB2YWx1ZVxuICAgICAgZGltZW5zaW9uXzE6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zPy5kaW1lbnNpb24xLFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIGRpbWVuc2lvbl8yOiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucz8uZGltZW5zaW9uMixcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZyxcbiAgICAgICksXG4gICAgICBkaW1lbnNpb25fMzogdGhpcy5jb252ZXJ0VG9FdmVudFBhcmFtZXRlclR5cGUoXG4gICAgICAgIG9wdGlvbnM/LmRpbWVuc2lvbjMsXG4gICAgICAgIEV2ZW50UGFyYW1ldGVyVHlwZS5zdHJpbmcsXG4gICAgICApLFxuICAgICAgZGltZW5zaW9uXzQ6IHRoaXMuY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgICAgICBvcHRpb25zPy5kaW1lbnNpb240LFxuICAgICAgICBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nLFxuICAgICAgKSxcbiAgICAgIGRpbWVuc2lvbl81OiB0aGlzLmNvbnZlcnRUb0V2ZW50UGFyYW1ldGVyVHlwZShcbiAgICAgICAgb3B0aW9ucz8uZGltZW5zaW9uNSxcbiAgICAgICAgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZyxcbiAgICAgICksXG4gICAgICBjbGllbnRfdmVyc2lvbjogJ0hlYWRsZXNzIENoZWNrb3V0JyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREYXRlKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgIGNvbnN0IG51bGxJbmRleCA9IDA7XG4gICAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKS5yZXBsYWNlKCdUJywgJyAnKS5yZXBsYWNlKCdaJywgJycpLnNwbGl0KCcuJylbXG4gICAgICBudWxsSW5kZXhcbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUaW1lem9uZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICBjb25zdCBob3VyID0gNjA7XG4gICAgY29uc3QgbnVsbEhvdXIgPSAwO1xuICAgIGNvbnN0IGhvdXJPZmZzZXQgPSAtZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpIC8gaG91cjtcblxuICAgIGlmIChob3VyT2Zmc2V0ID09PSBudWxsSG91cikge1xuICAgICAgcmV0dXJuICcwJztcbiAgICB9XG5cbiAgICByZXR1cm4gaG91ck9mZnNldCA+IG51bGxIb3VyID8gYCske2hvdXJPZmZzZXR9YCA6IGhvdXJPZmZzZXQudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFRvRXZlbnRQYXJhbWV0ZXJUeXBlKFxuICAgIHZhbHVlOiBib29sZWFuIHwgbnVtYmVyIHwgbnVtYmVyW10gfCBzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgdHlwZTogRXZlbnRQYXJhbWV0ZXJUeXBlLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICk6IGFueSB8IG51bGwge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUgPyAxIDogMDtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgRXZlbnRQYXJhbWV0ZXJUeXBlLnN0cmluZzpcbiAgICAgICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gICAgICBjYXNlIEV2ZW50UGFyYW1ldGVyVHlwZS5pbnQ6XG4gICAgICAgIHZhbHVlID0gcGFyc2VJbnQoU3RyaW5nKHZhbHVlKSwgMTApO1xuICAgICAgICByZXR1cm4gaXNOYU4odmFsdWUpID8gMCA6IHZhbHVlO1xuICAgICAgY2FzZSBFdmVudFBhcmFtZXRlclR5cGUuc3RyaW5nQXJyYXk6XG4gICAgICBjYXNlIEV2ZW50UGFyYW1ldGVyVHlwZS5pbnRBcnJheTpcbiAgICAgICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbXTtcbiAgICAgIGNhc2UgRXZlbnRQYXJhbWV0ZXJUeXBlLmZsb2F0OlxuICAgICAgICB2YWx1ZSA9IHBhcnNlRmxvYXQoU3RyaW5nKHZhbHVlKSk7XG4gICAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyAwIDogdmFsdWU7XG4gICAgICBjYXNlIEV2ZW50UGFyYW1ldGVyVHlwZS5ib29sOlxuICAgICAgICByZXR1cm4gdmFsdWUgPyAxIDogMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRWYWx1ZUZvclBvc3RNZXNzYWdlKFxuICAgIHZhbHVlOiBzdHJpbmcgfCBudW1iZXJbXSB8IG51bGwsXG4gICk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGlzU3Vic2NyaXB0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnNldHRpbmdzU2VydmljZS51bnNhZmVVdGlsc1Jlc3BvbnNlPy5wdXJjaGFzZT8ucHVyY2hhc2VfdHlwZSA9PT1cbiAgICAgICdzdWJzY3JpcHRpb24nXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UGF5bWVudE1ldGhvZElkKGluc3RhbmNlSWQ6IG51bWJlciB8IG51bGwpOiBudW1iZXIgfCBudWxsIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5zZXR0aW5nc1NlcnZpY2UudW5zYWZlVXRpbHNSZXNwb25zZT8uc2V0dGluZ3M/LnBheW1lbnRfc3lzdGVtID8/XG4gICAgICBpbnN0YW5jZUlkXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1iZWhhdmlvdXItZXZlbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy9ldmVudC1idWlsZGVyL3VzZXItYmVoYXZpb3VyLWV2ZW50LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHVyY2hhc2UgfSBmcm9tICcuL3B1cmNoYXNlLnR5cGUnO1xuaW1wb3J0IHsgSW52b2ljZSB9IGZyb20gJy4vaW52b2ljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMgfSBmcm9tICcuLi91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckJlaGF2aW91ckV2ZW50IGV4dGVuZHMgSW52b2ljZSB7XG4gIGFjdGlvbjogc3RyaW5nO1xuICB0eXBlOiBrZXlvZiB0eXBlb2YgdXNlckJlaGF2aW91ckV2ZW50VHlwZXM7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXJbXSB8IG51bGw7XG4gIHN0YXRlOiBzdHJpbmcgfCBudWxsO1xuICBkYXRlOiBzdHJpbmc7XG4gIG1pbGxpc2Vjb25kczogbnVtYmVyIHwgbnVsbDtcbiAgdGltZXpvbmU6IHN0cmluZztcbiAgc2Vzc2lvbl9pZDogc3RyaW5nIHwgbnVsbDtcbiAgcmVmZXJyZXJfdXJsOiBzdHJpbmcgfCBudWxsO1xuICBwcm9qZWN0X2lkOiBudW1iZXIgfCBudWxsO1xuICBwYXltZW50X2NvdW50cnk6IHN0cmluZyB8IG51bGw7XG4gIGluc3RhbmNlX2lkOiBudW1iZXIgfCBudWxsO1xuICBpc19wYXlfd2l0aF9zYXZlZF9tZXRob2Q6IG51bWJlciB8IG51bGw7XG4gIHB1cmNoYXNlX2V4dGVybmFsX2lkOiBzdHJpbmcgfCBudWxsO1xuICBwdXJjaGFzZV90eXBlOiBQdXJjaGFzZTtcbiAgdmlydHVhbF9jdXJyZW5jeV9hbW91bnQ6IG51bWJlciB8IG51bGw7XG4gIGNvdXBvbl9jb2RlOiBzdHJpbmcgfCBudWxsO1xuICB0aGVtZV92ZXJzaW9uOiBzdHJpbmcgfCBudWxsO1xuICBzdWJzY3JpcHRpb25fcGFja2FnZV9pZDogbnVtYmVyIHwgbnVsbDtcbiAgc3Vic2NyaXB0aW9uX3Byb2R1Y3RfaWQ6IG51bWJlciB8IG51bGw7XG4gIHN1YnNjcmlwdGlvbl9yZWN1cnJlbnRfaWQ6IG51bWJlciB8IG51bGw7XG4gIHVzZXJfaWQ6IHN0cmluZyB8IG51bGw7XG4gIHVzZXJfYWNjZXNzX3Rva2VuOiBzdHJpbmcgfCBudWxsO1xuICB1c2VyX25hbWU6IHN0cmluZyB8IG51bGw7XG4gIHVzZXJfZW1haWw6IHN0cmluZyB8IG51bGw7XG4gIHVzZXJfY291bnRyeTogc3RyaW5nIHwgbnVsbDtcbiAgdXNlcl9pcDogc3RyaW5nIHwgbnVsbDtcbiAgdXNlcl9tb2JpbGVfb3BlcmF0b3JfbmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgdXNlcl9vcGVyYXRpb25fc3lzdGVtOiBzdHJpbmcgfCBudWxsO1xuICB1c2VyX2Jyb3dzZXI6IHN0cmluZyB8IG51bGw7XG4gIHVzZXJfYnJvd3Nlcl92ZXJzaW9uOiBzdHJpbmcgfCBudWxsO1xuICB1c2VyX2FnZW50OiBzdHJpbmcgfCBudWxsO1xuICB1c2VyX2xvY2FsZTogc3RyaW5nIHwgbnVsbDtcbiAgdXNlcl91dG06IHN0cmluZyB8IG51bGw7XG4gIHhzb2xsYV9wcm9kdWN0X3RhZzogc3RyaW5nIHwgbnVsbDtcbiAgZXhwZXJpbWVudF9pZDogc3RyaW5nIHwgbnVsbDtcbiAgaXNfdGVzdF9zZXNzaW9uOiBudW1iZXIgfCBudWxsO1xuICBleHRyYV92YWx1ZTogc3RyaW5nIHwgbnVsbDtcbiAgYmFia2FfdmFsdWU6IHN0cmluZyB8IG51bGw7XG4gIGlzX3N1YnNjcmlwdGlvbjogbnVtYmVyIHwgbnVsbDtcbiAgaXNfaWZyYW1lOiBudW1iZXIgfCBudWxsO1xuICB3ZWIzd2FsbGV0OiBzdHJpbmcgfCBudWxsO1xuICBkaW1lbnNpb25fMTogc3RyaW5nIHwgbnVsbDtcbiAgZGltZW5zaW9uXzI6IHN0cmluZyB8IG51bGw7XG4gIGRpbWVuc2lvbl8zOiBzdHJpbmcgfCBudWxsO1xuICBkaW1lbnNpb25fNDogc3RyaW5nIHwgbnVsbDtcbiAgZGltZW5zaW9uXzU6IHN0cmluZyB8IG51bGw7XG4gIGNsaWVudF92ZXJzaW9uOiAnSGVhZGxlc3MgQ2hlY2tvdXQnO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1iZWhhdmlvdXItZXZlbnQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb3JlL3VzZXItYmVoYXZpb3VyLWFuYWx5dGljcy9ldmVudC1idWlsZGVyL3VzZXItYmVoYXZpb3VyLWV2ZW50LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHVyY2hhc2UgfSBmcm9tICcuL3B1cmNoYXNlLnR5cGUnO1xuaW1wb3J0IHsgSW52b2ljZSB9IGZyb20gJy4vaW52b2ljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdXNlckJlaGF2aW91ckV2ZW50VHlwZXMgfSBmcm9tICcuLi91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC10eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlckJlaGF2aW91ckV2ZW50IGV4dGVuZHMgSW52b2ljZSB7XG4gIGFjdGlvbjogc3RyaW5nO1xuICB0eXBlOiBrZXlvZiB0eXBlb2YgdXNlckJlaGF2aW91ckV2ZW50VHlwZXM7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXJbXSB8IG51bGw7XG4gIHN0YXRlOiBzdHJpbmcgfCBudWxsO1xuICBkYXRlOiBzdHJpbmc7XG4gIG1pbGxpc2Vjb25kczogbnVtYmVyIHwgbnVsbDtcbiAgdGltZXpvbmU6IHN0cmluZztcbiAgc2Vzc2lvbl9pZDogc3RyaW5nIHwgbnVsbDtcbiAgcmVmZXJyZXJfdXJsOiBzdHJpbmcgfCBudWxsO1xuICBhbmNlc3Rvcl9vcmlnaW5zOiBzdHJpbmdbXSB8IG51bGw7XG4gIHByb2plY3RfaWQ6IG51bWJlciB8IG51bGw7XG4gIHBheW1lbnRfY291bnRyeTogc3RyaW5nIHwgbnVsbDtcbiAgaW5zdGFuY2VfaWQ6IG51bWJlciB8IG51bGw7XG4gIGlzX3BheV93aXRoX3NhdmVkX21ldGhvZDogbnVtYmVyIHwgbnVsbDtcbiAgcHVyY2hhc2VfZXh0ZXJuYWxfaWQ6IHN0cmluZyB8IG51bGw7XG4gIHB1cmNoYXNlX3R5cGU6IFB1cmNoYXNlO1xuICB2aXJ0dWFsX2N1cnJlbmN5X2Ftb3VudDogbnVtYmVyIHwgbnVsbDtcbiAgY291cG9uX2NvZGU6IHN0cmluZyB8IG51bGw7XG4gIHRoZW1lX3ZlcnNpb246IHN0cmluZyB8IG51bGw7XG4gIHN1YnNjcmlwdGlvbl9wYWNrYWdlX2lkOiBudW1iZXIgfCBudWxsO1xuICBzdWJzY3JpcHRpb25fcHJvZHVjdF9pZDogbnVtYmVyIHwgbnVsbDtcbiAgc3Vic2NyaXB0aW9uX3JlY3VycmVudF9pZDogbnVtYmVyIHwgbnVsbDtcbiAgdXNlcl9pZDogc3RyaW5nIHwgbnVsbDtcbiAgdXNlcl9hY2Nlc3NfdG9rZW46IHN0cmluZyB8IG51bGw7XG4gIHVzZXJfbmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgdXNlcl9lbWFpbDogc3RyaW5nIHwgbnVsbDtcbiAgdXNlcl9jb3VudHJ5OiBzdHJpbmcgfCBudWxsO1xuICB1c2VyX2lwOiBzdHJpbmcgfCBudWxsO1xuICB1c2VyX21vYmlsZV9vcGVyYXRvcl9uYW1lOiBzdHJpbmcgfCBudWxsO1xuICB1c2VyX29wZXJhdGlvbl9zeXN0ZW06IHN0cmluZyB8IG51bGw7XG4gIHVzZXJfYnJvd3Nlcjogc3RyaW5nIHwgbnVsbDtcbiAgdXNlcl9icm93c2VyX3ZlcnNpb246IHN0cmluZyB8IG51bGw7XG4gIHVzZXJfYWdlbnQ6IHN0cmluZyB8IG51bGw7XG4gIHVzZXJfbG9jYWxlOiBzdHJpbmcgfCBudWxsO1xuICB1c2VyX3V0bTogc3RyaW5nIHwgbnVsbDtcbiAgeHNvbGxhX3Byb2R1Y3RfdGFnOiBzdHJpbmcgfCBudWxsO1xuICBleHBlcmltZW50X2lkOiBzdHJpbmcgfCBudWxsO1xuICBpc190ZXN0X3Nlc3Npb246IG51bWJlciB8IG51bGw7XG4gIGV4dHJhX3ZhbHVlOiBzdHJpbmcgfCBudWxsO1xuICBiYWJrYV92YWx1ZTogc3RyaW5nIHwgbnVsbDtcbiAgaXNfc3Vic2NyaXB0aW9uOiBudW1iZXIgfCBudWxsO1xuICBpc19pZnJhbWU6IG51bWJlciB8IG51bGw7XG4gIHdlYjN3YWxsZXQ6IHN0cmluZyB8IG51bGw7XG4gIGRpbWVuc2lvbl8xOiBzdHJpbmcgfCBudWxsO1xuICBkaW1lbnNpb25fMjogc3RyaW5nIHwgbnVsbDtcbiAgZGltZW5zaW9uXzM6IHN0cmluZyB8IG51bGw7XG4gIGRpbWVuc2lvbl80OiBzdHJpbmcgfCBudWxsO1xuICBkaW1lbnNpb25fNTogc3RyaW5nIHwgbnVsbDtcbiAgY2xpZW50X3ZlcnNpb246ICdIZWFkbGVzcyBDaGVja291dCc7XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXZlbnRDYXRlZ29yaWVzIH0gZnJvbSAnLi91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC1jYXRlZ29yaWVzJztcbmltcG9ydCB7IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzIH0gZnJvbSAnLi91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC10eXBlcyc7XG5pbXBvcnQgeyBJbnZvaWNlIH0gZnJvbSAnLi9ldmVudC1idWlsZGVyL2ludm9pY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEV2ZW50UGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vZXZlbnQtYnVpbGRlci9ldmVudC1wYXJhbWV0ZXItdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRFdmVudE1ldGhvZE9wdGlvbnNJbnRlcmZhY2Uge1xuICB2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCB8IGJvb2xlYW4gfCBudW1iZXIgfCBudW1iZXJbXTtcbiAgdmFsdWVUeXBlPzogRXZlbnRQYXJhbWV0ZXJUeXBlO1xuICBldmVudENhdGVnb3J5Pzoga2V5b2YgdHlwZW9mIGV2ZW50Q2F0ZWdvcmllcztcbiAgZXh0cmFWYWx1ZT86IHN0cmluZyB8IG51bGw7XG4gIHB1cmNoYXNlVHlwZT86IHN0cmluZyB8IG51bGw7XG4gIGluc3RhbmNlSWQ/OiBudW1iZXIgfCBudWxsO1xuICBkaW1lbnNpb24xPzogc3RyaW5nIHwgbnVsbDtcbiAgZGltZW5zaW9uMj86IHN0cmluZyB8IG51bGw7XG4gIGRpbWVuc2lvbjM/OiBzdHJpbmcgfCBudWxsO1xuICBkaW1lbnNpb240Pzogc3RyaW5nIHwgbnVsbDtcbiAgZGltZW5zaW9uNT86IHN0cmluZyB8IG51bGw7XG4gIHNraXBGb3JFeHRlcm5hbFBhZ2U/OiBib29sZWFuO1xuICBzeW5jUmVxdWVzdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlIHtcbiAgYWN0aW9uOiBzdHJpbmc7XG4gIHR5cGU6IGtleW9mIHR5cGVvZiB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcztcbiAgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCB8IGJvb2xlYW4gfCBudW1iZXIgfCBudW1iZXJbXTtcbiAgdmFsdWVUeXBlOiBFdmVudFBhcmFtZXRlclR5cGUgfCBudWxsO1xuICBkYXRlOiBEYXRlO1xuICBpbnZvaWNlOiBJbnZvaWNlIHwgbnVsbDtcbiAgc3RhdGU6IHN0cmluZztcbiAgZXh0cmFWYWx1ZTogc3RyaW5nIHwgbnVsbDtcbiAgcHVyY2hhc2VfdHlwZTogc3RyaW5nIHwgbnVsbDtcbiAgaW5zdGFuY2VJZD86IG51bWJlciB8IG51bGw7XG4gIGRpbWVuc2lvbjE6IHN0cmluZyB8IG51bGw7XG4gIGRpbWVuc2lvbjI6IHN0cmluZyB8IG51bGw7XG4gIGRpbWVuc2lvbjM6IHN0cmluZyB8IG51bGw7XG4gIGRpbWVuc2lvbjQ6IHN0cmluZyB8IG51bGw7XG4gIGRpbWVuc2lvbjU6IHN0cmluZyB8IG51bGw7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS91c2VyLWJlaGF2aW91ci1hbmFseXRpY3MvdXNlci1iZWhhdmlvdXItYW5hbHl0aWNzLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXZlbnRDYXRlZ29yaWVzIH0gZnJvbSAnLi91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC1jYXRlZ29yaWVzJztcbmltcG9ydCB7IHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzIH0gZnJvbSAnLi91c2VyLWJlaGF2aW91ci1ldmVudC91c2VyLWJlaGF2aW91ci1ldmVudC10eXBlcyc7XG5pbXBvcnQgeyBJbnZvaWNlIH0gZnJvbSAnLi9ldmVudC1idWlsZGVyL2ludm9pY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IEV2ZW50UGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vZXZlbnQtYnVpbGRlci9ldmVudC1wYXJhbWV0ZXItdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRFdmVudE1ldGhvZE9wdGlvbnNJbnRlcmZhY2Uge1xuICB2YWx1ZT86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCB8IGJvb2xlYW4gfCBudW1iZXIgfCBudW1iZXJbXTtcbiAgdmFsdWVUeXBlPzogRXZlbnRQYXJhbWV0ZXJUeXBlO1xuICBldmVudENhdGVnb3J5Pzoga2V5b2YgdHlwZW9mIGV2ZW50Q2F0ZWdvcmllcztcbiAgZXh0cmFWYWx1ZT86IHN0cmluZyB8IG51bGw7XG4gIHB1cmNoYXNlVHlwZT86IHN0cmluZyB8IG51bGw7XG4gIGluc3RhbmNlSWQ/OiBudW1iZXIgfCBudWxsO1xuICBkaW1lbnNpb24xPzogc3RyaW5nIHwgbnVsbDtcbiAgZGltZW5zaW9uMj86IHN0cmluZyB8IG51bGw7XG4gIGRpbWVuc2lvbjM/OiBzdHJpbmcgfCBudWxsO1xuICBkaW1lbnNpb240Pzogc3RyaW5nIHwgbnVsbDtcbiAgZGltZW5zaW9uNT86IHN0cmluZyB8IG51bGw7XG4gIHNraXBGb3JFeHRlcm5hbFBhZ2U/OiBib29sZWFuO1xuICBzeW5jUmVxdWVzdD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlIHtcbiAgYWN0aW9uOiBzdHJpbmc7XG4gIHR5cGU6IGtleW9mIHR5cGVvZiB1c2VyQmVoYXZpb3VyRXZlbnRUeXBlcztcbiAgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbCB8IGJvb2xlYW4gfCBudW1iZXIgfCBudW1iZXJbXTtcbiAgdmFsdWVUeXBlOiBFdmVudFBhcmFtZXRlclR5cGUgfCBudWxsO1xuICBkYXRlOiBEYXRlO1xuICBpbnZvaWNlOiBJbnZvaWNlIHwgbnVsbDtcbiAgc3RhdGU6IHN0cmluZztcbiAgZXh0cmFWYWx1ZTogc3RyaW5nIHwgbnVsbDtcbiAgcHVyY2hhc2VfdHlwZTogc3RyaW5nIHwgbnVsbDtcbiAgaW5zdGFuY2VJZD86IG51bWJlciB8IG51bGw7XG4gIGRpbWVuc2lvbjE6IHN0cmluZyB8IG51bGw7XG4gIGRpbWVuc2lvbjI6IHN0cmluZyB8IG51bGw7XG4gIGRpbWVuc2lvbjM6IHN0cmluZyB8IG51bGw7XG4gIGRpbWVuc2lvbjQ6IHN0cmluZyB8IG51bGw7XG4gIGRpbWVuc2lvbjU6IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5hbHl0aWNzRXZlbnRQYXlsb2FkIHtcbiAgZXZlbnROYW1lOiBzdHJpbmc7XG4gIGV2ZW50VHlwZToga2V5b2YgdHlwZW9mIHVzZXJCZWhhdmlvdXJFdmVudFR5cGVzO1xuICB2YWx1ZT86IFNlbmRFdmVudE1ldGhvZE9wdGlvbnNJbnRlcmZhY2VbJ3ZhbHVlJ107XG4gIGV4dHJhVmFsdWU/OiBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlWydleHRyYVZhbHVlJ107XG4gIGRpbWVuc2lvbjE/OiBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlWydkaW1lbnNpb24xJ107XG4gIGRpbWVuc2lvbjI/OiBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlWydkaW1lbnNpb24yJ107XG4gIGRpbWVuc2lvbjM/OiBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlWydkaW1lbnNpb24zJ107XG4gIGRpbWVuc2lvbjQ/OiBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlWydkaW1lbnNpb240J107XG4gIGRpbWVuc2lvbjU/OiBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlWydkaW1lbnNpb241J107XG4gIGluc3RhbmNlSWQ/OiBTZW5kRXZlbnRNZXRob2RPcHRpb25zSW50ZXJmYWNlWydpbnN0YW5jZUlkJ107XG59XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  // eslint-disable-next-line @typescript-eslint/naming-convention
2
- export const PAYMENT_CLIENT_CORE_VERSION = '0.5.0';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnRUFBZ0U7QUFDaEUsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFBBWU1FTlRfQ0xJRU5UX0NPUkVfVkVSU0lPTiA9ICcwLjUuMCc7XG4iXX0=
2
+ export const PAYMENT_CLIENT_CORE_VERSION = '0.5.2';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnRUFBZ0U7QUFDaEUsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuZXhwb3J0IGNvbnN0IFBBWU1FTlRfQ0xJRU5UX0NPUkVfVkVSU0lPTiA9ICcwLjUuMic7XG4iXX0=