@colijnit/transaction 12.1.100 → 12.1.101

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 (45) hide show
  1. package/bundles/colijnit-transaction.umd.js +167 -69
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.metadata.json +1 -1
  4. package/esm2015/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.js +7 -5
  5. package/esm2015/lib/component/deposit-payment/deposit-payment.component.js +6 -5
  6. package/esm2015/lib/component/payment/payment.component.js +62 -14
  7. package/esm2015/lib/component/transaction-card/transaction-card/transaction-card.component.js +2 -2
  8. package/esm2015/lib/component/transaction-card/transaction-card/transaction-card.module.js +9 -11
  9. package/esm2015/lib/component/transaction-header/transaction-header-order/transaction-header-order.component.js +3 -3
  10. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +10 -8
  11. package/esm2015/lib/component/transaction-header-fields/transaction-header-currency.component.js +9 -8
  12. package/esm2015/lib/component/transaction-header-fields/transaction-header-price-kind.component.js +9 -8
  13. package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.component.js +2 -2
  14. package/esm2015/lib/component/transaction-line/transaction-goods-allocation-line/transaction-goods-allocation-line.module.js +10 -11
  15. package/esm2015/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line.module.js +13 -14
  16. package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.component.js +2 -2
  17. package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.module.js +5 -7
  18. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.module.js +3 -4
  19. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.component.js +2 -2
  20. package/esm2015/lib/component/transaction-line/transaction-receive-goods-line/transaction-receive-goods-line.module.js +12 -13
  21. package/esm2015/lib/component/transaction-line-fields/transaction-line-delivery-method.component.js +3 -3
  22. package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +2 -2
  23. package/esm2015/lib/component/transaction-lines/transaction-lines.module.js +4 -3
  24. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +3 -3
  25. package/esm2015/lib/res/dictionary/dictionaries.js +2 -2
  26. package/esm2015/lib/service/payment.service.js +25 -11
  27. package/esm2015/lib/service/transaction-connector-adapter.service.js +28 -3
  28. package/esm2015/lib/service/transaction-connector.service.js +1 -9
  29. package/esm2015/lib/transaction-version.js +3 -3
  30. package/fesm2015/colijnit-transaction.js +143 -63
  31. package/fesm2015/colijnit-transaction.js.map +1 -1
  32. package/lib/component/checkout/checkout-overview-payment/checkout-overview-payment.component.d.ts +6 -6
  33. package/lib/component/deposit-payment/deposit-payment.component.d.ts +5 -4
  34. package/lib/component/payment/payment.component.d.ts +4 -0
  35. package/lib/component/payment/style/_layout.scss +6 -0
  36. package/lib/component/payment/style/_material-definition.scss +5 -0
  37. package/lib/component/payment/style/_theme.scss +3 -0
  38. package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.d.ts +7 -7
  39. package/lib/component/transaction-header-fields/transaction-header-currency.component.d.ts +5 -5
  40. package/lib/component/transaction-header-fields/transaction-header-price-kind.component.d.ts +5 -5
  41. package/lib/res/dictionary/dictionaries.d.ts +1 -0
  42. package/lib/service/payment.service.d.ts +8 -3
  43. package/lib/service/transaction-connector-adapter.service.d.ts +4 -1
  44. package/lib/service/transaction-connector.service.d.ts +0 -2
  45. package/package.json +2 -2
@@ -6,15 +6,18 @@ import { TransactionConnectorAdapterService } from './transaction-connector-adap
6
6
  import { SelectMultipleCacheService } from '../cache/service/select-multiple-cache.service';
7
7
  import { PaymentViewmodel } from '../model/payment.viewmodel';
8
8
  import { SharedService } from './shared.service';
9
+ import { SelectMultipleParameterizedCacheService } from '../cache/service/select-multiple-parameterized-cache.service';
9
10
  import * as i0 from "@angular/core";
10
11
  import * as i1 from "./transaction-connector-adapter.service";
11
12
  import * as i2 from "../cache/service/select-multiple-cache.service";
12
- import * as i3 from "./transaction.service";
13
- import * as i4 from "./shared.service";
13
+ import * as i3 from "../cache/service/select-multiple-parameterized-cache.service";
14
+ import * as i4 from "./transaction.service";
15
+ import * as i5 from "./shared.service";
14
16
  export class PaymentService {
15
- constructor(_adapterService, _selectMultipleCacheService, _transactionService, _sharedService) {
17
+ constructor(_adapterService, _selectMultipleCacheService, _selectMultipleParameterizedCacheService, _transactionService, _sharedService) {
16
18
  this._adapterService = _adapterService;
17
19
  this._selectMultipleCacheService = _selectMultipleCacheService;
20
+ this._selectMultipleParameterizedCacheService = _selectMultipleParameterizedCacheService;
18
21
  this._transactionService = _transactionService;
19
22
  this._sharedService = _sharedService;
20
23
  }
@@ -32,27 +35,37 @@ export class PaymentService {
32
35
  return this._adapterService.createIonePaymentLinkAndQRCode(uuid, amount, paymentMethodCode);
33
36
  });
34
37
  }
38
+ doPinPayment(transId, paymentMethodCode, cashRegisterNr, cashRegisterGroupId, amount) {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ return this._adapterService.doPinPayment(transId, paymentMethodCode, cashRegisterNr, cashRegisterGroupId, amount);
41
+ });
42
+ }
35
43
  getPaymentLinkStatus(paymentLinkUUID) {
36
44
  return __awaiter(this, void 0, void 0, function* () {
37
45
  return this._adapterService.getPaymentLinkStatus(paymentLinkUUID);
38
46
  });
39
47
  }
48
+ getPspTransactionStatus(pspTransactionUuid) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ return this._adapterService.getPspTransactionStatus(pspTransactionUuid);
51
+ });
52
+ }
40
53
  getDepositPaymentInfo(uuid) {
41
54
  return __awaiter(this, void 0, void 0, function* () {
42
55
  return this._adapterService.getDepositPaymentInfo(uuid);
43
56
  });
44
57
  }
45
- getPaymentMethods() {
58
+ getPaymentMethods(branchNr) {
46
59
  return __awaiter(this, void 0, void 0, function* () {
47
- return this._selectMultipleCacheService.requestCache(PaymentMethod, () => {
48
- return this._adapterService.getPaymentMethods();
49
- }).getValue();
60
+ return this._selectMultipleParameterizedCacheService.requestCache(PaymentMethod, (branchNr) => {
61
+ return this._adapterService.getPaymentMethods(branchNr);
62
+ }).getValue(branchNr);
50
63
  });
51
64
  }
52
- getPaymentMethodsViewModels() {
65
+ getPaymentMethodsViewModels(branchNr) {
53
66
  return __awaiter(this, void 0, void 0, function* () {
54
67
  const result = [];
55
- const methods = yield this.getPaymentMethods();
68
+ const methods = yield this.getPaymentMethods(branchNr);
56
69
  for (let i = 0; i < methods.length; i++) {
57
70
  const m = methods[i];
58
71
  const paymentViewModel = new PaymentViewmodel(m);
@@ -76,7 +89,7 @@ export class PaymentService {
76
89
  });
77
90
  }
78
91
  }
79
- PaymentService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PaymentService_Factory() { return new PaymentService(i0.ɵɵinject(i1.TransactionConnectorAdapterService), i0.ɵɵinject(i2.SelectMultipleCacheService), i0.ɵɵinject(i3.TransactionService), i0.ɵɵinject(i4.SharedService)); }, token: PaymentService, providedIn: "root" });
92
+ PaymentService.ɵprov = i0.ɵɵdefineInjectable({ factory: function PaymentService_Factory() { return new PaymentService(i0.ɵɵinject(i1.TransactionConnectorAdapterService), i0.ɵɵinject(i2.SelectMultipleCacheService), i0.ɵɵinject(i3.SelectMultipleParameterizedCacheService), i0.ɵɵinject(i4.TransactionService), i0.ɵɵinject(i5.SharedService)); }, token: PaymentService, providedIn: "root" });
80
93
  PaymentService.decorators = [
81
94
  { type: Injectable, args: [{
82
95
  providedIn: "root"
@@ -85,7 +98,8 @@ PaymentService.decorators = [
85
98
  PaymentService.ctorParameters = () => [
86
99
  { type: TransactionConnectorAdapterService },
87
100
  { type: SelectMultipleCacheService },
101
+ { type: SelectMultipleParameterizedCacheService },
88
102
  { type: TransactionService },
89
103
  { type: SharedService }
90
104
  ];
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9zZXJ2aWNlL3BheW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFFckYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDM0YsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDMUYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7QUFRL0MsTUFBTSxPQUFPLGNBQWM7SUFFekIsWUFDVSxlQUFtRCxFQUNuRCwyQkFBdUQsRUFDdkQsbUJBQXVDLEVBQ3ZDLGNBQTZCO1FBSDdCLG9CQUFlLEdBQWYsZUFBZSxDQUFvQztRQUNuRCxnQ0FBMkIsR0FBM0IsMkJBQTJCLENBQTRCO1FBQ3ZELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdkMsbUJBQWMsR0FBZCxjQUFjLENBQWU7SUFFdkMsQ0FBQztJQUVZLHlCQUF5QixDQUNwQyxJQUFZLEVBQUUsTUFBYyxFQUFFLFVBQWtCLEVBQUUsYUFBcUIsRUFBRSxtQkFBMkI7O1lBRXBHLE1BQU0sUUFBUSxHQUNaLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztZQUNySCxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3JDLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7S0FBQTtJQUVZLDhCQUE4QixDQUFDLElBQVksRUFBRSxNQUFjLEVBQUUsaUJBQXlCOztZQUNqRyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsOEJBQThCLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBQzlGLENBQUM7S0FBQTtJQUVZLG9CQUFvQixDQUFDLGVBQXVCOztZQUN2RCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDcEUsQ0FBQztLQUFBO0lBRVkscUJBQXFCLENBQUMsSUFBWTs7WUFDN0MsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFELENBQUM7S0FBQTtJQUVZLGlCQUFpQjs7WUFDNUIsT0FBTyxJQUFJLENBQUMsMkJBQTJCLENBQUMsWUFBWSxDQUFnQixhQUFhLEVBQUUsR0FBRyxFQUFFO2dCQUN0RixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtZQUNqRCxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixDQUFDO0tBQUE7SUFFWSwyQkFBMkI7O1lBQ3RDLE1BQU0sTUFBTSxHQUF1QixFQUFFLENBQUM7WUFDdEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMvQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDdkMsTUFBTSxDQUFDLEdBQWtCLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEMsTUFBTSxnQkFBZ0IsR0FBcUIsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbkUsTUFBTSxTQUFTLEdBQWlCLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7Z0JBQzdFLElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUU7b0JBQ2pDLE1BQU0sS0FBSyxHQUFlLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDdkMsSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO3dCQUNsQixnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztxQkFDekM7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUU7NEJBQ3hCLE1BQU0sT0FBTyxHQUFXLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7NEJBQ3ZGLEtBQUssQ0FBQyxhQUFhLEdBQUcsT0FBTyxDQUFDO3lCQUMvQjt3QkFDRCxnQkFBZ0IsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLHNCQUFzQixDQUFDO3FCQUN2RDtpQkFDRjtnQkFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDL0I7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO0tBQUE7Ozs7WUFoRUYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFWTyxrQ0FBa0M7WUFDbEMsMEJBQTBCO1lBSDFCLGtCQUFrQjtZQUtsQixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtQYXltZW50TWV0aG9kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGF5bWVudC1tZXRob2QuYm8nO1xyXG5pbXBvcnQge0NyZWF0ZVBheW1lbnRMaW5rUmVzdWx0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3JlYXRlLXBheW1lbnQtbGluay1yZXN1bHQuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtQYXltZW50TGlua1N0YXR1c30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BheW1lbnQtbGluay1zdGF0dXMuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ29ubmVjdG9yQWRhcHRlclNlcnZpY2V9IGZyb20gJy4vdHJhbnNhY3Rpb24tY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7U2VsZWN0TXVsdGlwbGVDYWNoZVNlcnZpY2V9IGZyb20gJy4uL2NhY2hlL3NlcnZpY2Uvc2VsZWN0LW11bHRpcGxlLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1BheW1lbnRWaWV3bW9kZWx9IGZyb20gJy4uL21vZGVsL3BheW1lbnQudmlld21vZGVsJztcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tICcuL3NoYXJlZC5zZXJ2aWNlJztcclxuaW1wb3J0IHtEYXRhU2VydmljZVJlc3BvbnNlRGF0YX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvZGF0YS1zZXJ2aWNlLXJlc3BvbnNlLWRhdGEnO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkRlcG9zaXRQYXltZW50SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWRlcG9zaXQtcGF5bWVudC1pbmZvLmJvJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGF5bWVudFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2FkYXB0ZXJTZXJ2aWNlOiBUcmFuc2FjdGlvbkNvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VsZWN0TXVsdGlwbGVDYWNoZVNlcnZpY2U6IFNlbGVjdE11bHRpcGxlQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcmVnaXN0ZXJTYWxlc09yZGVyUGF5bWVudChcclxuICAgIHV1aWQ6IHN0cmluZywgYW1vdW50OiBudW1iZXIsIGN1cnJlbmN5SWQ6IG51bWJlciwgcGF5bWVudE1ldGhvZDogc3RyaW5nLCBjYXNoUmVnaXN0ZXJHcm91cElkOiBudW1iZXJcclxuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9XHJcbiAgICAgIGF3YWl0IHRoaXMuX2FkYXB0ZXJTZXJ2aWNlLnJlZ2lzdGVyU2FsZXNPcmRlclBheW1lbnQodXVpZCwgYW1vdW50LCBjdXJyZW5jeUlkLCBwYXltZW50TWV0aG9kLCBjYXNoUmVnaXN0ZXJHcm91cElkKTtcclxuICAgIGlmIChyZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlSW9uZVBheW1lbnRMaW5rQW5kUVJDb2RlKHV1aWQ6IHN0cmluZywgYW1vdW50OiBudW1iZXIsIHBheW1lbnRNZXRob2RDb2RlOiBzdHJpbmcpOiBQcm9taXNlPENyZWF0ZVBheW1lbnRMaW5rUmVzdWx0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWRhcHRlclNlcnZpY2UuY3JlYXRlSW9uZVBheW1lbnRMaW5rQW5kUVJDb2RlKHV1aWQsIGFtb3VudCwgcGF5bWVudE1ldGhvZENvZGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFBheW1lbnRMaW5rU3RhdHVzKHBheW1lbnRMaW5rVVVJRDogc3RyaW5nKTogUHJvbWlzZTxQYXltZW50TGlua1N0YXR1cz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FkYXB0ZXJTZXJ2aWNlLmdldFBheW1lbnRMaW5rU3RhdHVzKHBheW1lbnRMaW5rVVVJRCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0RGVwb3NpdFBheW1lbnRJbmZvKHV1aWQ6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25EZXBvc2l0UGF5bWVudEluZm8+IHtcclxuICAgIHJldHVybiB0aGlzLl9hZGFwdGVyU2VydmljZS5nZXREZXBvc2l0UGF5bWVudEluZm8odXVpZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UGF5bWVudE1ldGhvZHMoKTogUHJvbWlzZTxQYXltZW50TWV0aG9kW10+IHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RNdWx0aXBsZUNhY2hlU2VydmljZS5yZXF1ZXN0Q2FjaGU8UGF5bWVudE1ldGhvZD4oUGF5bWVudE1ldGhvZCwgKCkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYWRhcHRlclNlcnZpY2UuZ2V0UGF5bWVudE1ldGhvZHMoKVxyXG4gICAgfSkuZ2V0VmFsdWUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRQYXltZW50TWV0aG9kc1ZpZXdNb2RlbHMoKTogUHJvbWlzZTxQYXltZW50Vmlld21vZGVsW10+IHtcclxuICAgIGNvbnN0IHJlc3VsdDogUGF5bWVudFZpZXdtb2RlbFtdID0gW107XHJcbiAgICBjb25zdCBtZXRob2RzID0gYXdhaXQgdGhpcy5nZXRQYXltZW50TWV0aG9kcygpO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtZXRob2RzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IG06IFBheW1lbnRNZXRob2QgPSBtZXRob2RzW2ldO1xyXG4gICAgICBjb25zdCBwYXltZW50Vmlld01vZGVsOiBQYXltZW50Vmlld21vZGVsID0gbmV3IFBheW1lbnRWaWV3bW9kZWwobSk7XHJcbiAgICAgIGNvbnN0IGltYWdlRG9jczogQ29Eb2N1bWVudFtdID0gbS5kb2N1bWVudHMuZmlsdGVyKGQgPT4gZC5pc0ltYWdlRG9jdW1lbnQoKSk7XHJcbiAgICAgIGlmIChpbWFnZURvY3MgJiYgaW1hZ2VEb2NzLmxlbmd0aCkge1xyXG4gICAgICAgIGNvbnN0IGltYWdlOiBDb0RvY3VtZW50ID0gaW1hZ2VEb2NzWzBdO1xyXG4gICAgICAgIGlmIChpbWFnZS5maWxlUGF0aCkge1xyXG4gICAgICAgICAgcGF5bWVudFZpZXdNb2RlbC5pbWFnZSA9IGltYWdlLmZpbGVQYXRoO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoIWltYWdlLnRodW1ibmFpbEJvZHkpIHtcclxuICAgICAgICAgICAgY29uc3QgY29udGVudDogc3RyaW5nID0gYXdhaXQgdGhpcy5fc2hhcmVkU2VydmljZS5nZXREb2N1bWVudENvbnRlbnQoaW1hZ2UuZG9jdW1lbnRJZCk7XHJcbiAgICAgICAgICAgIGltYWdlLnRodW1ibmFpbEJvZHkgPSBjb250ZW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcGF5bWVudFZpZXdNb2RlbC5pbWFnZSA9IGltYWdlLnRodW1ibmFpbEJvZHlBc0RhdGFVcmk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJlc3VsdC5wdXNoKHBheW1lbnRWaWV3TW9kZWwpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuIl19
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5bWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9zZXJ2aWNlL3BheW1lbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFFckYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDM0YsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDMUYsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDNUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBSy9DLE9BQU8sRUFBQyx1Q0FBdUMsRUFBQyxNQUFNLDhEQUE4RCxDQUFDOzs7Ozs7O0FBS3JILE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQ1UsZUFBbUQsRUFDbkQsMkJBQXVELEVBQ3ZELHdDQUFpRixFQUNqRixtQkFBdUMsRUFDdkMsY0FBNkI7UUFKN0Isb0JBQWUsR0FBZixlQUFlLENBQW9DO1FBQ25ELGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBNEI7UUFDdkQsNkNBQXdDLEdBQXhDLHdDQUF3QyxDQUF5QztRQUNqRix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBQ3ZDLG1CQUFjLEdBQWQsY0FBYyxDQUFlO0lBRXZDLENBQUM7SUFFWSx5QkFBeUIsQ0FDcEMsSUFBWSxFQUFFLE1BQWMsRUFBRSxVQUFrQixFQUFFLGFBQXFCLEVBQUUsbUJBQTJCOztZQUVwRyxNQUFNLFFBQVEsR0FDWixNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMseUJBQXlCLENBQUMs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LENBQUM7cUJBQ3ZEO2lCQUNGO2dCQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzthQUMvQjtZQUNELE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7S0FBQTs7OztZQXpFRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQVpPLGtDQUFrQztZQUNsQywwQkFBMEI7WUFPMUIsdUNBQXVDO1lBVnZDLGtCQUFrQjtZQUtsQixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtQYXltZW50TWV0aG9kfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGF5bWVudC1tZXRob2QuYm8nO1xyXG5pbXBvcnQge0NyZWF0ZVBheW1lbnRMaW5rUmVzdWx0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvY3JlYXRlLXBheW1lbnQtbGluay1yZXN1bHQuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtQYXltZW50TGlua1N0YXR1c30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BheW1lbnQtbGluay1zdGF0dXMuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ29ubmVjdG9yQWRhcHRlclNlcnZpY2V9IGZyb20gJy4vdHJhbnNhY3Rpb24tY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7U2VsZWN0TXVsdGlwbGVDYWNoZVNlcnZpY2V9IGZyb20gJy4uL2NhY2hlL3NlcnZpY2Uvc2VsZWN0LW11bHRpcGxlLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1BheW1lbnRWaWV3bW9kZWx9IGZyb20gJy4uL21vZGVsL3BheW1lbnQudmlld21vZGVsJztcclxuaW1wb3J0IHtTaGFyZWRTZXJ2aWNlfSBmcm9tICcuL3NoYXJlZC5zZXJ2aWNlJztcclxuaW1wb3J0IHtEYXRhU2VydmljZVJlc3BvbnNlRGF0YX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvZGF0YS1zZXJ2aWNlLXJlc3BvbnNlLWRhdGEnO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkRlcG9zaXRQYXltZW50SW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWRlcG9zaXQtcGF5bWVudC1pbmZvLmJvJztcclxuaW1wb3J0IHtQc3BUcmFuc2FjdGlvblN0YXR1c30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BzcC10cmFuc2FjdGlvbi1zdGF0dXMuYm8nO1xyXG5pbXBvcnQge1NlbGVjdE11bHRpcGxlUGFyYW1ldGVyaXplZENhY2hlU2VydmljZX0gZnJvbSAnLi4vY2FjaGUvc2VydmljZS9zZWxlY3QtbXVsdGlwbGUtcGFyYW1ldGVyaXplZC1jYWNoZS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGF5bWVudFNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2FkYXB0ZXJTZXJ2aWNlOiBUcmFuc2FjdGlvbkNvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VsZWN0TXVsdGlwbGVDYWNoZVNlcnZpY2U6IFNlbGVjdE11bHRpcGxlQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2VsZWN0TXVsdGlwbGVQYXJhbWV0ZXJpemVkQ2FjaGVTZXJ2aWNlOiBTZWxlY3RNdWx0aXBsZVBhcmFtZXRlcml6ZWRDYWNoZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX3NoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyByZWdpc3RlclNhbGVzT3JkZXJQYXltZW50KFxyXG4gICAgdXVpZDogc3RyaW5nLCBhbW91bnQ6IG51bWJlciwgY3VycmVuY3lJZDogbnVtYmVyLCBwYXltZW50TWV0aG9kOiBzdHJpbmcsIGNhc2hSZWdpc3Rlckdyb3VwSWQ6IG51bWJlclxyXG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID1cclxuICAgICAgYXdhaXQgdGhpcy5fYWRhcHRlclNlcnZpY2UucmVnaXN0ZXJTYWxlc09yZGVyUGF5bWVudCh1dWlkLCBhbW91bnQsIGN1cnJlbmN5SWQsIHBheW1lbnRNZXRob2QsIGNhc2hSZWdpc3Rlckdyb3VwSWQpO1xyXG4gICAgaWYgKHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVJb25lUGF5bWVudExpbmtBbmRRUkNvZGUodXVpZDogc3RyaW5nLCBhbW91bnQ6IG51bWJlciwgcGF5bWVudE1ldGhvZENvZGU6IHN0cmluZyk6IFByb21pc2U8Q3JlYXRlUGF5bWVudExpbmtSZXN1bHQ+IHtcclxuICAgIHJldHVybiB0aGlzLl9hZGFwdGVyU2VydmljZS5jcmVhdGVJb25lUGF5bWVudExpbmtBbmRRUkNvZGUodXVpZCwgYW1vdW50LCBwYXltZW50TWV0aG9kQ29kZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZG9QaW5QYXltZW50KHRyYW5zSWQ6IG51bWJlciwgcGF5bWVudE1ldGhvZENvZGU6IHN0cmluZywgY2FzaFJlZ2lzdGVyTnI6IG51bWJlciwgY2FzaFJlZ2lzdGVyR3JvdXBJZDogbnVtYmVyLCBhbW91bnQ6IG51bWJlcik6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWRhcHRlclNlcnZpY2UuZG9QaW5QYXltZW50KHRyYW5zSWQsIHBheW1lbnRNZXRob2RDb2RlLCBjYXNoUmVnaXN0ZXJOciwgY2FzaFJlZ2lzdGVyR3JvdXBJZCwgYW1vdW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRQYXltZW50TGlua1N0YXR1cyhwYXltZW50TGlua1VVSUQ6IHN0cmluZyk6IFByb21pc2U8UGF5bWVudExpbmtTdGF0dXM+IHtcclxuICAgIHJldHVybiB0aGlzLl9hZGFwdGVyU2VydmljZS5nZXRQYXltZW50TGlua1N0YXR1cyhwYXltZW50TGlua1VVSUQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFBzcFRyYW5zYWN0aW9uU3RhdHVzKHBzcFRyYW5zYWN0aW9uVXVpZDogc3RyaW5nKTogUHJvbWlzZTxQc3BUcmFuc2FjdGlvblN0YXR1cz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FkYXB0ZXJTZXJ2aWNlLmdldFBzcFRyYW5zYWN0aW9uU3RhdHVzKHBzcFRyYW5zYWN0aW9uVXVpZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0RGVwb3NpdFBheW1lbnRJbmZvKHV1aWQ6IHN0cmluZyk6IFByb21pc2U8VHJhbnNhY3Rpb25EZXBvc2l0UGF5bWVudEluZm8+IHtcclxuICAgIHJldHVybiB0aGlzLl9hZGFwdGVyU2VydmljZS5nZXREZXBvc2l0UGF5bWVudEluZm8odXVpZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UGF5bWVudE1ldGhvZHMoYnJhbmNoTnI6IHN0cmluZyk6IFByb21pc2U8UGF5bWVudE1ldGhvZFtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0TXVsdGlwbGVQYXJhbWV0ZXJpemVkQ2FjaGVTZXJ2aWNlLnJlcXVlc3RDYWNoZTxQYXltZW50TWV0aG9kPihQYXltZW50TWV0aG9kLCAoYnJhbmNoTnI6IHN0cmluZykgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5fYWRhcHRlclNlcnZpY2UuZ2V0UGF5bWVudE1ldGhvZHMoYnJhbmNoTnIpXHJcbiAgICB9KS5nZXRWYWx1ZShicmFuY2hOcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0UGF5bWVudE1ldGhvZHNWaWV3TW9kZWxzKGJyYW5jaE5yOiBzdHJpbmcpOiBQcm9taXNlPFBheW1lbnRWaWV3bW9kZWxbXT4ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBQYXltZW50Vmlld21vZGVsW10gPSBbXTtcclxuICAgIGNvbnN0IG1ldGhvZHMgPSBhd2FpdCB0aGlzLmdldFBheW1lbnRNZXRob2RzKGJyYW5jaE5yKTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWV0aG9kcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBtOiBQYXltZW50TWV0aG9kID0gbWV0aG9kc1tpXTtcclxuICAgICAgY29uc3QgcGF5bWVudFZpZXdNb2RlbDogUGF5bWVudFZpZXdtb2RlbCA9IG5ldyBQYXltZW50Vmlld21vZGVsKG0pO1xyXG4gICAgICBjb25zdCBpbWFnZURvY3M6IENvRG9jdW1lbnRbXSA9IG0uZG9jdW1lbnRzLmZpbHRlcihkID0+IGQuaXNJbWFnZURvY3VtZW50KCkpO1xyXG4gICAgICBpZiAoaW1hZ2VEb2NzICYmIGltYWdlRG9jcy5sZW5ndGgpIHtcclxuICAgICAgICBjb25zdCBpbWFnZTogQ29Eb2N1bWVudCA9IGltYWdlRG9jc1swXTtcclxuICAgICAgICBpZiAoaW1hZ2UuZmlsZVBhdGgpIHtcclxuICAgICAgICAgIHBheW1lbnRWaWV3TW9kZWwuaW1hZ2UgPSBpbWFnZS5maWxlUGF0aDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKCFpbWFnZS50aHVtYm5haWxCb2R5KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbnRlbnQ6IHN0cmluZyA9IGF3YWl0IHRoaXMuX3NoYXJlZFNlcnZpY2UuZ2V0RG9jdW1lbnRDb250ZW50KGltYWdlLmRvY3VtZW50SWQpO1xyXG4gICAgICAgICAgICBpbWFnZS50aHVtYm5haWxCb2R5ID0gY29udGVudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHBheW1lbnRWaWV3TW9kZWwuaW1hZ2UgPSBpbWFnZS50aHVtYm5haWxCb2R5QXNEYXRhVXJpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICByZXN1bHQucHVzaChwYXltZW50Vmlld01vZGVsKTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==