@colijnit/transaction 12.1.144 → 12.1.146

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 (104) hide show
  1. package/bundles/colijnit-transaction.umd.js +1091 -459
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +270 -265
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +271 -266
  6. package/esm2015/lib/component/add-product/add-product.component.js +1 -2
  7. package/esm2015/lib/component/add-product/add-product.module.js +11 -9
  8. package/esm2015/lib/component/animated-checkbox/animated-checkbox.component.js +5 -3
  9. package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +7 -1
  10. package/esm2015/lib/component/checkout/checkout.component.js +10 -2
  11. package/esm2015/lib/component/core/base/transaction-base.component.js +16 -5
  12. package/esm2015/lib/component/core/base/transaction-filter-popup-base.component.js +4 -3
  13. package/esm2015/lib/component/deposit-payment/deposit-payment.component.js +3 -3
  14. package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.js +2 -1
  15. package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.js +1 -1
  16. package/esm2015/lib/component/payment/payment.component.js +5 -5
  17. package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +1 -2
  18. package/esm2015/lib/component/transaction/transaction.component.js +6 -3
  19. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.js +14 -3
  20. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.js +6 -5
  21. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-allocation-button-bar-button.component.js +6 -6
  22. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-picking-button-bar-button.component.js +30 -14
  23. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-order.component.js +16 -13
  24. package/esm2015/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/transaction-cash-register-payment-dialog.component.js +9 -7
  25. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.js +42 -11
  26. package/esm2015/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.module.js +4 -2
  27. package/esm2015/lib/component/transaction-header-fields/transaction-header-remaining-amount.component.js +50 -0
  28. package/esm2015/lib/component/transaction-header-fields/transaction-header-remaining-amount.module.js +24 -0
  29. package/esm2015/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line-base.component.js +19 -2
  30. package/esm2015/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line.component.js +17 -7
  31. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line-base.component.js +26 -3
  32. package/esm2015/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line.component.js +17 -8
  33. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line-base.component.js +3 -2
  34. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.component.js +2 -1
  35. package/esm2015/lib/component/transaction-line/transaction-purchase-line/transaction-purchase-line.module.js +4 -2
  36. package/esm2015/lib/component/transaction-line-fields/transaction-line-confirmed-delivery-date-button.component.js +108 -0
  37. package/esm2015/lib/component/transaction-line-fields/transaction-line-confirmed-delivery-date-button.module.js +21 -0
  38. package/esm2015/lib/component/transaction-line-fields/transaction-line-supplier.component.js +19 -8
  39. package/esm2015/lib/component/transaction-line-statusbar/transaction-line-statusbar.component.js +2 -2
  40. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.js +17 -9
  41. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-invoice/transaction-quick-access-invoice.component.js +28 -17
  42. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.js +16 -2
  43. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.js +15 -8
  44. package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.component.js +5 -5
  45. package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
  46. package/esm2015/lib/service/line-selection.service.js +70 -0
  47. package/esm2015/lib/service/payment.service.js +18 -13
  48. package/esm2015/lib/service/pending-reason.service.js +5 -3
  49. package/esm2015/lib/service/relation.service.js +18 -10
  50. package/esm2015/lib/service/transaction-base.service.js +37 -31
  51. package/esm2015/lib/service/transaction-connector-adapter.service.js +47 -4
  52. package/esm2015/lib/service/transaction-connector.service.js +11 -1
  53. package/esm2015/lib/service/transaction-event.service.js +12 -2
  54. package/esm2015/lib/service/transaction-screen-configuration.service.js +4 -5
  55. package/esm2015/lib/service/transaction.service.js +52 -23
  56. package/esm2015/lib/transaction-version.js +3 -3
  57. package/fesm2015/colijnit-transaction.js +702 -147
  58. package/fesm2015/colijnit-transaction.js.map +1 -1
  59. package/lib/component/animated-checkbox/animated-checkbox.component.d.ts +1 -0
  60. package/lib/component/animated-checkbox/style/_layout.scss +4 -0
  61. package/lib/component/animated-checkbox/style/_material-definition.scss +1 -0
  62. package/lib/component/checkout/checkout.component.d.ts +6 -3
  63. package/lib/component/core/base/transaction-base.component.d.ts +4 -0
  64. package/lib/component/core/base/transaction-filter-popup-base.component.d.ts +1 -1
  65. package/lib/component/deposit-payment/deposit-payment.component.d.ts +1 -1
  66. package/lib/component/payment/payment.component.d.ts +1 -1
  67. package/lib/component/transaction/transaction.component.d.ts +3 -1
  68. package/lib/component/transaction-button-bar/style/_layout.scss +1 -0
  69. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button-base.component.d.ts +9 -5
  70. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-button-bar-button.component.d.ts +4 -4
  71. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-allocation-button-bar-button.component.d.ts +4 -4
  72. package/lib/component/transaction-button-bar/transaction-button-bar-button/transaction-sales-picking-button-bar-button.component.d.ts +12 -10
  73. package/lib/component/transaction-cash-register-order/transaction-cash-register-order.component.d.ts +17 -15
  74. package/lib/component/transaction-cash-register-order/transaction-cash-register-payment-dialog/transaction-cash-register-payment-dialog.component.d.ts +8 -6
  75. package/lib/component/transaction-header/transaction-header-payment/style/_layout.scss +12 -1
  76. package/lib/component/transaction-header/transaction-header-payment/transaction-header-payment.component.d.ts +2 -0
  77. package/lib/component/transaction-header-fields/transaction-header-remaining-amount.component.d.ts +17 -0
  78. package/lib/component/transaction-header-fields/transaction-header-remaining-amount.module.d.ts +2 -0
  79. package/lib/component/transaction-line/transaction-invoice-line/transaction-invoice-line-base.component.d.ts +2 -0
  80. package/lib/component/transaction-line/transaction-order-delivery-line/transaction-order-delivery-line-base.component.d.ts +3 -0
  81. package/lib/component/transaction-line-fields/transaction-line-confirmed-delivery-date-button.component.d.ts +34 -0
  82. package/lib/component/transaction-line-fields/transaction-line-confirmed-delivery-date-button.module.d.ts +2 -0
  83. package/lib/component/transaction-line-fields/transaction-line-supplier.component.d.ts +4 -1
  84. package/lib/component/transaction-quick-access/transaction-quick-access-goods-allocation/transaction-quick-access-goods-allocation.component.d.ts +8 -5
  85. package/lib/component/transaction-quick-access/transaction-quick-access-invoice/style/_layout.scss +1 -1
  86. package/lib/component/transaction-quick-access/transaction-quick-access-invoice/transaction-quick-access-invoice.component.d.ts +15 -12
  87. package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/style/_layout.scss +1 -1
  88. package/lib/component/transaction-quick-access/transaction-quick-access-order-delivery/transaction-quick-access-order-delivery.component.d.ts +6 -2
  89. package/lib/component/transaction-quick-access/transaction-quick-access-received-goods/transaction-quick-access-received-goods.component.d.ts +11 -9
  90. package/lib/component/transaction-search/transaction-search-tile/transaction-statusbar/transaction-statusbar.component.d.ts +5 -5
  91. package/lib/res/dictionary/dictionaries.d.ts +24 -2
  92. package/lib/service/line-selection.service.d.ts +14 -0
  93. package/lib/service/payment.service.d.ts +10 -9
  94. package/lib/service/pending-reason.service.d.ts +1 -1
  95. package/lib/service/relation.service.d.ts +1 -0
  96. package/lib/service/transaction-base.service.d.ts +12 -3
  97. package/lib/service/transaction-connector-adapter.service.d.ts +4 -0
  98. package/lib/service/transaction-connector.service.d.ts +3 -0
  99. package/lib/service/transaction-event.service.d.ts +17 -1
  100. package/lib/service/transaction-screen-configuration.service.d.ts +3 -3
  101. package/lib/service/transaction.service.d.ts +8 -5
  102. package/lib/style/_variables.scss +2 -1
  103. package/lib/style/transaction-globals.scss +4 -0
  104. package/package.json +4 -3
@@ -43,6 +43,9 @@ export class TransactionBaseComponent {
43
43
  this.visible = false;
44
44
  this.headerReadonly = false;
45
45
  this.committing = false;
46
+ this.hasMultipleLines = false;
47
+ this.hasLinesToDeliver = false;
48
+ this.hasLinesToInvoice = false;
46
49
  this.lineHasLogisticalState = false;
47
50
  this.lineIsOrdered = false;
48
51
  this.lineIsDelivered = false;
@@ -62,6 +65,7 @@ export class TransactionBaseComponent {
62
65
  this.lineQuantityToBePicked = 0;
63
66
  this.lineQuantityPicked = 0;
64
67
  this.lineQuantityPlanningFinal = 0;
68
+ this.lineQuantityReceivedUnprocessed = 0;
65
69
  this.lineQuantityPurchaseConfirmed = 0;
66
70
  this.lineQuantityTransportNotification = 0;
67
71
  this.lineQuantityInvoiceControl = 0;
@@ -96,6 +100,9 @@ export class TransactionBaseComponent {
96
100
  if (this._transaction.transactionInfo && this._transaction.transactionInfo.uuid) {
97
101
  this.transactionSet();
98
102
  }
103
+ this.hasMultipleLines = this.transactionLines.length + this.deliveryCostLines.length > 1;
104
+ this.hasLinesToDeliver = this.transactionLines.filter(l => l.articleLineStatus ? l.articleLineStatus.quantityToDeliver !== 0 : false).length > 0;
105
+ this.hasLinesToInvoice = this.transactionLines.filter(l => l.articleLineStatus ? l.articleLineStatus.quantityToInvoice !== 0 : false).length > 0;
99
106
  }
100
107
  }
101
108
  get transaction() {
@@ -113,10 +120,10 @@ export class TransactionBaseComponent {
113
120
  (this._transactionLine.articleLineStatus.hasOwnProperty('quantityPicked') && this._transactionLine.articleLineStatus.quantityPicked !== 0) ||
114
121
  (this._transactionLine.articleLineStatus.hasOwnProperty('quantityToBePicked') && this._transactionLine.articleLineStatus.quantityToBePicked !== 0) ||
115
122
  (this._transactionLine.articleLineStatus.hasOwnProperty('quantityAllocated') && this._transactionLine.articleLineStatus.quantityAllocated < 0));
116
- this.lineIsOrdered = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('quantityOrdered') && this._transactionLine.articleLineStatus.quantityOrdered !== 0;
117
- this.lineIsDelivered = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('quantityDelivered') && this._transactionLine.articleLineStatus.quantityDelivered !== 0;
118
- this.lineIsInvoiced = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('quantityInvoiced') && this._transactionLine.articleLineStatus.quantityInvoiced !== 0;
119
- this.lineIsReceived = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('quantityReceived') && this._transactionLine.articleLineStatus.quantityReceived !== 0;
123
+ this.lineIsOrdered = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('isFullyOrdered') && this._transactionLine.articleLineStatus.isFullyOrdered;
124
+ this.lineIsDelivered = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('isFullyDelivered') && this._transactionLine.articleLineStatus.isFullyDelivered;
125
+ this.lineIsInvoiced = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('isFullyInvoiced') && this._transactionLine.articleLineStatus.isFullyInvoiced;
126
+ this.lineIsReceived = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('isFullyReceived') && this._transactionLine.articleLineStatus.isFullyReceived;
120
127
  this.lineQuantityToInvoice = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('quantityToInvoice') ? this._transactionLine.articleLineStatus.quantityToInvoice : 0;
121
128
  this.lineQuantityInvoiced = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('quantityInvoiced') ? this._transactionLine.articleLineStatus.quantityInvoiced : 0;
122
129
  this.lineQuantityToReceive = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('quantityToReceive') ? this._transactionLine.articleLineStatus.quantityToReceive : 0;
@@ -131,6 +138,7 @@ export class TransactionBaseComponent {
131
138
  this.lineQuantityToBePicked = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('quantityToBePicked') ? this._transactionLine.articleLineStatus.quantityToBePicked : 0;
132
139
  this.lineQuantityPicked = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('quantityPicked') ? this._transactionLine.articleLineStatus.quantityPicked : 0;
133
140
  this.lineQuantityPlanningFinal = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('quantityPlanningFinal') ? this._transactionLine.articleLineStatus.quantityPlanningFinal : 0;
141
+ this.lineQuantityReceivedUnprocessed = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('quantityReceivedUnprocessed') ? this._transactionLine.articleLineStatus.quantityReceivedUnprocessed : 0;
134
142
  this.lineQuantityPurchaseConfirmed = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('quantityPurchaseConfirmed') ? this._transactionLine.articleLineStatus.quantityPurchaseConfirmed : 0;
135
143
  this.lineQuantityTransportNotification = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('quantityTransportNotification') ? this._transactionLine.articleLineStatus.quantityTransportNotification : 0;
136
144
  this.lineQuantityInvoiceControl = this._transactionLine.articleLineStatus && this._transactionLine.articleLineStatus.hasOwnProperty('quantityInvoiceControl') ? this._transactionLine.articleLineStatus.quantityInvoiceControl : 0;
@@ -142,6 +150,8 @@ export class TransactionBaseComponent {
142
150
  }
143
151
  set transactionInfo(value) {
144
152
  if (value) {
153
+ this.headerReadonly = false;
154
+ this.tooltipMessage = "";
145
155
  this._transactionInfo = value;
146
156
  this.transactionKind = this._transactionInfo.transactionKind;
147
157
  this.fullyInvoiced =
@@ -286,6 +296,7 @@ export class TransactionBaseComponent {
286
296
  });
287
297
  }
288
298
  _checkHeaderReadonly() {
299
+ this.headerTooltipMessages.length = 0;
289
300
  this.headerReadonly = this.headerReadonly || this.fullyInvoiced || this.fullyDelivered;
290
301
  if (this.fullyInvoiced) {
291
302
  this.addHeaderTooltipMessage(this.dictionaryService.get('COMPLETELY_INVOICED'));
@@ -322,4 +333,4 @@ TransactionBaseComponent.propDecorators = {
322
333
  isText: [{ type: HostBinding, args: ['class.is-text',] }],
323
334
  isArticle: [{ type: HostBinding, args: ['class.is-article',] }]
324
335
  };
325
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDekYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBRzNGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVuRixPQUFPLEVBQUMsWUFBWSxF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S0FBSzt1QkFHTCxXQUFXLFNBQUMsbUJBQW1CLGNBQy9CLEtBQUs7dUJBWUwsV0FBVyxTQUFDLGlCQUFpQixjQUM3QixLQUFLOzZCQUdMLE1BQU07cUJBR04sV0FBVyxTQUFDLGVBQWU7d0JBRzNCLFdBQVcsU0FBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbktpbmR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RyYW5zYWN0aW9uLWtpbmQuZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Ub3RhbH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLXRvdGFsLmJvJztcclxuaW1wb3J0IHtMaW5lT3BlcmF0aW9uU3RhdHVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbGluZS1vcGVyYXRpb24tc3RhdHVzLmJvJztcclxuaW1wb3J0IHtSZWxhdGlvbkFueVR5cGV9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1hbnktdHlwZSc7XHJcbmltcG9ydCB7TlVMTF9DVVNUT01FUl9GVUxMX09CSkVDVH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL251bC1yZWxhdGlvbi1vYmplY3QnO1xyXG5pbXBvcnQge1JlbGF0aW9uTmFtZUtpbmR9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL3JlbGF0aW9uLW5hbWUta2luZC5lbnVtJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gZnJvbSAnLi4vLi4vLi4vZW51bS90cmFuc2FjdGlvbi10eXBlLWNhdGVnb3J5LmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1pbWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1JlbGF0aW9uS2luZH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vcmVsYXRpb24ta2luZC5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRGVsaXZlcnlDb3N0TGluZUluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1kZWxpdmVyeS1jb3N0LWxpbmUtaW5mby5ibyc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IHJlbEtpbmQ6IHR5cGVvZiBSZWxhdGlvbktpbmQgPSBSZWxhdGlvbktpbmQ7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNLaW5kOiB0eXBlb2YgVHJhbnNhY3Rpb25LaW5kID0gVHJhbnNhY3Rpb25LaW5kO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGNhdGVnb3J5OiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB0cmFuc2FjdGlvbih2YWx1ZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpIHtcclxuICAgICAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHZhbHVlO1xyXG4gICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbikge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uSW5mbyA9IHRoaXMuX3RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mbztcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25LaW5kID0gdGhpcy50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc1NlcnZpY2UgPSB0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kID09PSBUcmFuc2FjdGlvbktpbmQuU2VydmljZU9yZGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZXMgPSB0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi5kZWxpdmVyeUNvc3RMaW5lcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kZWxpdmVyeUNvc3RMaW5lcyA9IHRoaXMuX3RyYW5zYWN0aW9uLmRlbGl2ZXJ5Q29zdExpbmVzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvblRvdGFsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uVG90YWwgPSB0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvblRvdGFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi5saW5lT3BlcmF0aW9uU3RhdHVzZXMpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGluZU9wZXJhdGlvblN0YXR1c2VzID0gdGhpcy5fdHJhbnNhY3Rpb24ubGluZU9wZXJhdGlvblN0YXR1c2VzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8gJiYgdGhpcy5fdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRyYW5zYWN0aW9uKCk6IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb247XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgdHJhbnNhY3Rpb25MaW5lKHZhbHVlOiBUcmFuc2FjdGlvbkxpbmVJbmZvKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uTGluZSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkxpbmUuc2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3RlZDtcclxuICAgICAgICAgICAgdGhpcy5pc1RleHQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuaXNUZXh0O1xyXG4gICAgICAgICAgICB0aGlzLmlzQXJ0aWNsZSA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5pc0FydGljbGU7XHJcbiAgICAgICAgICAgIHRoaXMubGluZUhhc0xvZ2lzdGljYWxTdGF0ZSA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJlxyXG4gICAgICAgICAgICAgICAgKCh0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5RGVsaXZlcmVkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5RGVsaXZlcmVkICE9PSAwKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICh0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5SW52b2ljZWQnKSAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlJbnZvaWNlZCAhPT0gMCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAodGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVBpY2tlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVBpY2tlZCAhPT0gMCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAodGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVRvQmVQaWNrZWQnKSAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0JlUGlja2VkICE9PSAwKSB8fFxyXG4gICAgICAgICAgICAgICAgICAgICh0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5QWxsb2NhdGVkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5QWxsb2NhdGVkIDwgMCkpO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVJc09yZGVyZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eU9yZGVyZWQnKSAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlPcmRlcmVkICE9PSAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVJc0RlbGl2ZXJlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5RGVsaXZlcmVkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5RGVsaXZlcmVkICE9PSAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVJc0ludm9pY2VkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlJbnZvaWNlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eUludm9pY2VkICE9PSAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVJc1JlY2VpdmVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlSZWNlaXZlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVJlY2VpdmVkICE9PSAwO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlUb0ludm9pY2UgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVRvSW52b2ljZScpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9JbnZvaWNlIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlJbnZvaWNlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5SW52b2ljZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eUludm9pY2VkIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlUb1JlY2VpdmUgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVRvUmVjZWl2ZScpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9SZWNlaXZlIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlSZWNlaXZlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5UmVjZWl2ZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVJlY2VpdmVkIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlUb0RlbGl2ZXIgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVRvRGVsaXZlcicpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9EZWxpdmVyIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlEZWxpdmVyZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eURlbGl2ZXJlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5RGVsaXZlcmVkIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlUb0FsbG9jYXRlID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlUb0FsbG9jYXRlJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0FsbG9jYXRlIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlBbGxvY2F0ZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eUFsbG9jYXRlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5QWxsb2NhdGVkIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlPcmRlcmVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlPcmRlcmVkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlPcmRlcmVkIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlQbGFubmluZ1JlcXVlc3RlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5UGxhbm5pbmdSZXF1ZXN0ZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVBsYW5uaW5nUmVxdWVzdGVkIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlQbGFubmluZ1ByZWZlcnJlZERhdGVFbnRlcmVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlQbGFubmluZ1ByZWZlcnJlZERhdGVFbnRlcmVkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlQbGFubmluZ1ByZWZlcnJlZERhdGVFbnRlcmVkIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlUb0JlUGlja2VkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlUb0JlUGlja2VkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0JlUGlja2VkIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlQaWNrZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVBpY2tlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UGlja2VkIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlQbGFubmluZ0ZpbmFsID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlQbGFubmluZ0ZpbmFsJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlQbGFubmluZ0ZpbmFsIDogMDtcclxuXHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5UHVyY2hhc2VDb25maXJtZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVB1cmNoYXNlQ29uZmlybWVkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlQdXJjaGFzZUNvbmZpcm1lZCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5VHJhbnNwb3J0Tm90aWZpY2F0aW9uID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlUcmFuc3BvcnROb3RpZmljYXRpb24nKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRyYW5zcG9ydE5vdGlmaWNhdGlvbiA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMubGluZVF1YW50aXR5SW52b2ljZUNvbnRyb2wgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eUludm9pY2VDb250cm9sJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlJbnZvaWNlQ29udHJvbCA6IDA7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lU2V0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgdHJhbnNhY3Rpb25MaW5lKCk6IFRyYW5zYWN0aW9uTGluZUluZm8ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbkxpbmU7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgdHJhbnNhY3Rpb25JbmZvKHZhbHVlOiBUcmFuc2FjdGlvbkluZm8pIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25LaW5kID0gdGhpcy5fdHJhbnNhY3Rpb25JbmZvLnRyYW5zYWN0aW9uS2luZDtcclxuICAgICAgICAgICAgdGhpcy5mdWxseUludm9pY2VkID1cclxuICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uSW5mbyAmJlxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMgJiZcclxuICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uSW5mby5oZWFkZXJJbmZvU3RhdHVzLmhhc093blByb3BlcnR5KCdpc0Z1bGx5SW52b2ljZWQnKSAmJlxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaXNGdWxseUludm9pY2VkO1xyXG4gICAgICAgICAgICB0aGlzLmZ1bGx5RGVsaXZlcmVkID1cclxuICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uSW5mbyAmJlxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMgJiZcclxuICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uSW5mby5oZWFkZXJJbmZvU3RhdHVzLmhhc093blByb3BlcnR5KCdpc0Z1bGx5RGVsaXZlcmVkJykgJiZcclxuICAgICAgICAgICAgICAgIHRoaXMuX3RyYW5zYWN0aW9uSW5mby5oZWFkZXJJbmZvU3RhdHVzLmlzRnVsbHlEZWxpdmVyZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuX2NoZWNrSGVhZGVyUmVhZG9ubHkoKTtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkluZm9TZXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB0cmFuc2FjdGlvbkluZm8oKTogVHJhbnNhY3Rpb25JbmZvIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb25JbmZvO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHRyYW5zYWN0aW9uVG90YWwodmFsdWU6IFRyYW5zYWN0aW9uVG90YWwpIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25Ub3RhbCA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uVG90YWxTZXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB0cmFuc2FjdGlvblRvdGFsKCk6IFRyYW5zYWN0aW9uVG90YWwge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvblRvdGFsO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHJlbGF0aW9uKHZhbHVlOiBSZWxhdGlvbkFueVR5cGUpIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fcmVsYXRpb24gPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5yZWxhdGlvbktpbmQgPSB0aGlzLl9yZWxhdGlvbi5yZWxhdGlvblR5cGU7XHJcbiAgICAgICAgICAgIHRoaXMucmVsYXRpb25UeXBlID0gdGhpcy5fcmVsYXRpb24udHlwZTtcclxuICAgICAgICAgICAgdGhpcy5yZWxhdGlvblNldCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHJlbGF0aW9uKCk6IFJlbGF0aW9uQW55VHlwZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlbGF0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgbG9ja0FuZFNhdmU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZXhwYW5kZWQ6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MucHJldmlldycpXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHByZXZpZXc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXNlbGVjdGVkJylcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHNlbGVjdGVkKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQgPSB2YWx1ZTtcclxuICAgICAgICBpZiAodGhpcy50cmFuc2FjdGlvbkxpbmUpIHtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUuc2VsZWN0ZWQgPSB0aGlzLl9zZWxlY3RlZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBzZWxlY3RlZCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5yZWFkLW9ubHknKVxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBPdXRwdXQoKVxyXG4gICAgcHVibGljIHJlbGF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPigpO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtdGV4dCcpXHJcbiAgICBwdWJsaWMgaXNUZXh0OiBib29sZWFuO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtYXJ0aWNsZScpXHJcbiAgICBwdWJsaWMgaXNBcnRpY2xlOiBib29sZWFuO1xyXG5cclxuICAgIHB1YmxpYyBnZXQgbW9kZWwoKTogVHJhbnNhY3Rpb25MaW5lSW5mbyB8IFRyYW5zYWN0aW9uSW5mbyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5oYXNPd25Qcm9wZXJ0eSgnbGluZU5yJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUgOiB0aGlzLl90cmFuc2FjdGlvbkluZm87XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGlzU2VydmljZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGxpbmVPcGVyYXRpb25TdGF0dXNlczogTGluZU9wZXJhdGlvblN0YXR1c1tdID0gW107XHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25MaW5lczogVHJhbnNhY3Rpb25MaW5lSW5mb1tdID0gW107XHJcbiAgICBwdWJsaWMgZGVsaXZlcnlDb3N0TGluZXM6IFRyYW5zYWN0aW9uRGVsaXZlcnlDb3N0TGluZUluZm9bXSA9IFtdO1xyXG4gICAgcHVibGljIHJlbGF0aW9uS2luZDogUmVsYXRpb25LaW5kID0gUmVsYXRpb25LaW5kLkN1c3RvbWVyO1xyXG4gICAgcHVibGljIHJlbGF0aW9uVHlwZTogUmVsYXRpb25OYW1lS2luZCA9IFJlbGF0aW9uTmFtZUtpbmQuUHJpdmF0ZTtcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbktpbmQ6IFRyYW5zYWN0aW9uS2luZCA9IFRyYW5zYWN0aW9uS2luZC5TYWxlc09yZGVyO1xyXG4gICAgcHVibGljIHZpc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBoZWFkZXJSZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGNvbW1pdHRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyB0b29sdGlwTWVzc2FnZTogc3RyaW5nO1xyXG4gICAgcHVibGljIGZ1bGx5SW52b2ljZWQ6IGJvb2xlYW47XHJcbiAgICBwdWJsaWMgZnVsbHlEZWxpdmVyZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgcHVibGljIGxpbmVIYXNMb2dpc3RpY2FsU3RhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBsaW5lSXNPcmRlcmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgbGluZUlzRGVsaXZlcmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgbGluZUlzSW52b2ljZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBsaW5lSXNSZWNlaXZlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVRvSW52b2ljZTogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlJbnZvaWNlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlUb1JlY2VpdmU6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5UmVjZWl2ZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5VG9EZWxpdmVyOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eURlbGl2ZXJlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlUb0FsbG9jYXRlOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eUFsbG9jYXRlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlPcmRlcmVkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVBsYW5uaW5nUmVxdWVzdGVkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVBsYW5uaW5nUHJlZmVycmVkRGF0ZUVudGVyZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5VG9CZVBpY2tlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlQaWNrZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5UGxhbm5pbmdGaW5hbDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlQdXJjaGFzZUNvbmZpcm1lZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlUcmFuc3BvcnROb3RpZmljYXRpb246IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5SW52b2ljZUNvbnRyb2w6IG51bWJlciA9IDA7XHJcblxyXG4gICAgcHJvdGVjdGVkIGhlYWRlclRvb2x0aXBNZXNzYWdlczogc3RyaW5nW10gPSBbXTtcclxuICAgIHByb3RlY3RlZCBsaW5lVG9vbHRpcE1lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgX3JlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUgPSBOVUxMX0NVU1RPTUVSX0ZVTExfT0JKRUNUO1xyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25MaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvID0gbmV3IFRyYW5zYWN0aW9uTGluZUluZm8oKTtcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uSW5mbzogVHJhbnNhY3Rpb25JbmZvID0gbmV3IFRyYW5zYWN0aW9uSW5mbygpO1xyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25Ub3RhbDogVHJhbnNhY3Rpb25Ub3RhbCA9IG5ldyBUcmFuc2FjdGlvblRvdGFsKCk7XHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZDogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgX2Jhc2VTdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2Jhc2VTdWJzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lVmlzaWJpbGl0eUNoYW5nZS5zdWJzY3JpYmUoKGRhdGE6IHsgbGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbywgdmlzaWJsZTogYm9vbGVhbiB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YSAmJiB0aGlzLnRyYW5zYWN0aW9uTGluZSAmJiBkYXRhLmxpbmUubGluZU5yID09PSB0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5lTnIpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2liaWxpdHlTZXQoZGF0YS52aXNpYmxlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2Jhc2VTdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVDb21taXQodmFsdWU6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmIChhd2FpdCB0aGlzLmxvY2tUcmFuc2FjdGlvbigpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29tbWl0dGluZyA9IHRydWU7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlOiBib29sZWFuID0gYXdhaXQgdGhpcy5jb21taXQodmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1pdHRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZGVsZXRlVHJhbnNhY3Rpb25MaW5lQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIGlmIChhd2FpdCB0aGlzLmxvY2tUcmFuc2FjdGlvbigpKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmRlbGV0ZVRyYW5zYWN0aW9uTGluZSh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkLCB0aGlzLnRyYW5zYWN0aW9uTGluZS51dWlkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZVZpc2liaWxpdHlDaGFuZ2UobGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbywgdmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lVmlzaWJpbGl0eUNoYW5nZS5uZXh0KHtsaW5lLCB2aXNpYmxlfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGNvbW1pdCh2YWx1ZTogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdmlzaWJpbGl0eVNldCh2aXNpYmxlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlID0gdmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gb3ZlcnJpZGRlbiBieSBkZXNjZW5kZW50c1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCByZWxhdGlvblNldCgpOiB2b2lkIHtcclxuICAgICAgICAvLyBvdmVycmlkZGVuIGJ5IGRlc2NlbmRlbnRzXHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uTGluZVNldCgpOiB2b2lkIHtcclxuICAgIH1cclxuXHJcbiAgICAvLyBvdmVycmlkZGVuIGJ5IGRlc2NlbmRlbnRzXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25JbmZvU2V0KCk6IHZvaWQge1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhZGRMaW5lVG9vbHRpcE1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMubGluZVRvb2x0aXBNZXNzYWdlcy5pbmRleE9mKG1lc3NhZ2UpIDwgMCkge1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVUb29sdGlwTWVzc2FnZXMucHVzaChgPGk+JHttZXNzYWdlfTwvaT5gKTtcclxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlVG9vbHRpcE1lc3NhZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFkZEhlYWRlclRvb2x0aXBNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmhlYWRlclRvb2x0aXBNZXNzYWdlcy5pbmRleE9mKG1lc3NhZ2UpIDwgMCkge1xyXG4gICAgICAgICAgICB0aGlzLmhlYWRlclRvb2x0aXBNZXNzYWdlcy5wdXNoKGA8aT4ke21lc3NhZ2V9PC9pPmApO1xyXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVUb29sdGlwTWVzc2FnZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgcHJlcGFyZVRvb2x0aXBNZXNzYWdlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudG9vbHRpcE1lc3NhZ2UgPSAnJztcclxuICAgICAgICBsZXQgdG9vbHRpcHM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgaWYgKHRoaXMuaGVhZGVyVG9vbHRpcE1lc3NhZ2VzLmxlbmd0aCA+IDAgfHwgdGhpcy5saW5lVG9vbHRpcE1lc3NhZ2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdG9vbHRpcHMgPSB0aGlzLmhlYWRlclRvb2x0aXBNZXNzYWdlcy5jb25jYXQodGhpcy5saW5lVG9vbHRpcE1lc3NhZ2VzKTtcclxuICAgICAgICAgICAgdGhpcy50b29sdGlwTWVzc2FnZSA9IGAke3RoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdGSUVMRF9JU19SRUFET05MWV9CRUNBVVNFJyl9PC9icj48L2JyPiR7dG9vbHRpcHMuam9pbignPC9icj4nKX1gO1xyXG4gICAgICAgICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gb3ZlcnJpZGRlbiBieSBkZXNjZW5kZW50c1xyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uVG90YWxTZXQoKTogdm9pZCB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhc3luYyBsb2NrVHJhbnNhY3Rpb24oKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKHRoaXMubG9ja0FuZFNhdmUgJiYgdGhpcy50cmFuc2FjdGlvbkluZm8uaWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnRyeVRvTG9ja1RyYW5zYWN0aW9uKHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkLCB0aGlzLnRyYW5zYWN0aW9uSW5mby52ZXJzaW9uKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFzeW5jIHJvbGxiYWNrKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIC8vIHRvZG86IHNob3VsZCBiZSBhbiB1bmxvY2sgZnVuY3Rpb24gaW4gdGhlIGJhY2tlbmQsIGJ1dCB0aGF0IGRvZXNuJ3QgZXhpc3QgeWV0XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnJvbGxiYWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIF9jaGVja0hlYWRlclJlYWRvbmx5KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyUmVhZG9ubHkgPSB0aGlzLmhlYWRlclJlYWRvbmx5IHx8IHRoaXMuZnVsbHlJbnZvaWNlZCB8fCB0aGlzLmZ1bGx5RGVsaXZlcmVkO1xyXG4gICAgICAgIGlmICh0aGlzLmZ1bGx5SW52b2ljZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRIZWFkZXJUb29sdGlwTWVzc2FnZSh0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnQ09NUExFVEVMWV9JTlZPSUNFRCcpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMuZnVsbHlEZWxpdmVyZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5hZGRIZWFkZXJUb29sdGlwTWVzc2FnZSh0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldCgnQ09NUExFVEVMWV9ERUxJVkVSRUQnKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG4iXX0=
336
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMERBQTBELENBQUM7QUFDekYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ2xHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJEQUEyRCxDQUFDO0FBRzNGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQzFGLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUVuRixPQUFPLEVBQUMsWUFBWSxF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TCxXQUFXLFNBQUMsbUJBQW1CLGNBQy9CLEtBQUs7dUJBWUwsV0FBVyxTQUFDLGlCQUFpQixjQUM3QixLQUFLOzZCQUdMLE1BQU07cUJBR04sV0FBVyxTQUFDLGVBQWU7d0JBRzNCLFdBQVcsU0FBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbktpbmR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RyYW5zYWN0aW9uLWtpbmQuZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25Ub3RhbH0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLXRvdGFsLmJvJztcclxuaW1wb3J0IHtMaW5lT3BlcmF0aW9uU3RhdHVzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvbGluZS1vcGVyYXRpb24tc3RhdHVzLmJvJztcclxuaW1wb3J0IHtSZWxhdGlvbkFueVR5cGV9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1hbnktdHlwZSc7XHJcbmltcG9ydCB7TlVMTF9DVVNUT01FUl9GVUxMX09CSkVDVH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL251bC1yZWxhdGlvbi1vYmplY3QnO1xyXG5pbXBvcnQge1JlbGF0aW9uTmFtZUtpbmR9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL3JlbGF0aW9uLW5hbWUta2luZC5lbnVtJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gZnJvbSAnLi4vLi4vLi4vZW51bS90cmFuc2FjdGlvbi10eXBlLWNhdGVnb3J5LmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWV2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1pbWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1JlbGF0aW9uS2luZH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vcmVsYXRpb24ta2luZC5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRGVsaXZlcnlDb3N0TGluZUluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1kZWxpdmVyeS1jb3N0LWxpbmUtaW5mby5ibyc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IHJlbEtpbmQ6IHR5cGVvZiBSZWxhdGlvbktpbmQgPSBSZWxhdGlvbktpbmQ7XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNLaW5kOiB0eXBlb2YgVHJhbnNhY3Rpb25LaW5kID0gVHJhbnNhY3Rpb25LaW5kO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGNhdGVnb3J5OiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB0cmFuc2FjdGlvbih2YWx1ZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UpIHtcclxuICAgICAgICB0aGlzLl90cmFuc2FjdGlvbiA9IHZhbHVlO1xyXG4gICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbikge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uSW5mbyA9IHRoaXMuX3RyYW5zYWN0aW9uLnRyYW5zYWN0aW9uSW5mbztcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25LaW5kID0gdGhpcy50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc1NlcnZpY2UgPSB0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kID09PSBUcmFuc2FjdGlvbktpbmQuU2VydmljZU9yZGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZXMgPSB0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkxpbmVzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi5kZWxpdmVyeUNvc3RMaW5lcykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5kZWxpdmVyeUNvc3RMaW5lcyA9IHRoaXMuX3RyYW5zYWN0aW9uLmRlbGl2ZXJ5Q29zdExpbmVzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvblRvdGFsKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uVG90YWwgPSB0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvblRvdGFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi5saW5lT3BlcmF0aW9uU3RhdHVzZXMpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGluZU9wZXJhdGlvblN0YXR1c2VzID0gdGhpcy5fdHJhbnNhY3Rpb24ubGluZU9wZXJhdGlvblN0YXR1c2VzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl90cmFuc2FjdGlvbi50cmFuc2FjdGlvbkluZm8gJiYgdGhpcy5fdHJhbnNhY3Rpb24udHJhbnNhY3Rpb25JbmZvLnV1aWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmhhc011bHRpcGxlTGluZXMgPSB0aGlzLnRyYW5zYWN0aW9uTGluZXMubGVuZ3RoICsgdGhpcy5kZWxpdmVyeUNvc3RMaW5lcy5sZW5ndGggPiAxO1xyXG4gICAgICAgICAgICB0aGlzLmhhc0xpbmVzVG9EZWxpdmVyID0gdGhpcy50cmFuc2FjdGlvbkxpbmVzLmZpbHRlcihsID0+IGwuYXJ0aWNsZUxpbmVTdGF0dXMgPyBsLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9EZWxpdmVyICE9PSAwIDogZmFsc2UpLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgICAgIHRoaXMuaGFzTGluZXNUb0ludm9pY2UgPSB0aGlzLnRyYW5zYWN0aW9uTGluZXMuZmlsdGVyKGwgPT4gbC5hcnRpY2xlTGluZVN0YXR1cyA/IGwuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0ludm9pY2UgIT09IDAgOiBmYWxzZSkubGVuZ3RoID4gMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB0cmFuc2FjdGlvbigpOiBUcmFuc2FjdGlvbkluZm9SZXNwb25zZSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IHRyYW5zYWN0aW9uTGluZSh2YWx1ZTogVHJhbnNhY3Rpb25MaW5lSW5mbykge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkxpbmUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkID0gdGhpcy5fc2VsZWN0ZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuaXNUZXh0ID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmlzVGV4dDtcclxuICAgICAgICAgICAgdGhpcy5pc0FydGljbGUgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuaXNBcnRpY2xlO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVIYXNMb2dpc3RpY2FsU3RhdGUgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiZcclxuICAgICAgICAgICAgICAgICgodGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eURlbGl2ZXJlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eURlbGl2ZXJlZCAhPT0gMCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAodGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eUludm9pY2VkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5SW52b2ljZWQgIT09IDApIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlQaWNrZWQnKSAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlQaWNrZWQgIT09IDApIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlUb0JlUGlja2VkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VG9CZVBpY2tlZCAhPT0gMCkgfHxcclxuICAgICAgICAgICAgICAgICAgICAodGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eUFsbG9jYXRlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eUFsbG9jYXRlZCA8IDApKTtcclxuICAgICAgICAgICAgdGhpcy5saW5lSXNPcmRlcmVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgnaXNGdWxseU9yZGVyZWQnKSAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaXNGdWxseU9yZGVyZWQ7XHJcbiAgICAgICAgICAgIHRoaXMubGluZUlzRGVsaXZlcmVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgnaXNGdWxseURlbGl2ZXJlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5pc0Z1bGx5RGVsaXZlcmVkO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVJc0ludm9pY2VkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgnaXNGdWxseUludm9pY2VkJykgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmlzRnVsbHlJbnZvaWNlZDtcclxuICAgICAgICAgICAgdGhpcy5saW5lSXNSZWNlaXZlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ2lzRnVsbHlSZWNlaXZlZCcpICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5pc0Z1bGx5UmVjZWl2ZWQ7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRvSW52b2ljZSA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5VG9JbnZvaWNlJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0ludm9pY2UgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eUludm9pY2VkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlJbnZvaWNlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5SW52b2ljZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRvUmVjZWl2ZSA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5VG9SZWNlaXZlJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb1JlY2VpdmUgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVJlY2VpdmVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlSZWNlaXZlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UmVjZWl2ZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRvRGVsaXZlciA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5VG9EZWxpdmVyJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlUb0RlbGl2ZXIgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eURlbGl2ZXJlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5RGVsaXZlcmVkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlEZWxpdmVyZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRvQWxsb2NhdGUgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVRvQWxsb2NhdGUnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvQWxsb2NhdGUgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eUFsbG9jYXRlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5QWxsb2NhdGVkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlBbGxvY2F0ZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eU9yZGVyZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eU9yZGVyZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eU9yZGVyZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVBsYW5uaW5nUmVxdWVzdGVkID0gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzICYmIHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5oYXNPd25Qcm9wZXJ0eSgncXVhbnRpdHlQbGFubmluZ1JlcXVlc3RlZCcpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UGxhbm5pbmdSZXF1ZXN0ZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVBsYW5uaW5nUHJlZmVycmVkRGF0ZUVudGVyZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVBsYW5uaW5nUHJlZmVycmVkRGF0ZUVudGVyZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVBsYW5uaW5nUHJlZmVycmVkRGF0ZUVudGVyZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVRvQmVQaWNrZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVRvQmVQaWNrZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVRvQmVQaWNrZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVBpY2tlZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5UGlja2VkJykgPyB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMucXVhbnRpdHlQaWNrZWQgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVBsYW5uaW5nRmluYWwgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVBsYW5uaW5nRmluYWwnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVBsYW5uaW5nRmluYWwgOiAwO1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVRdWFudGl0eVJlY2VpdmVkVW5wcm9jZXNzZWQgPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVJlY2VpdmVkVW5wcm9jZXNzZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVJlY2VpdmVkVW5wcm9jZXNzZWQgOiAwO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlQdXJjaGFzZUNvbmZpcm1lZCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5UHVyY2hhc2VDb25maXJtZWQnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVB1cmNoYXNlQ29uZmlybWVkIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlUcmFuc3BvcnROb3RpZmljYXRpb24gPSB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiYgdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLmhhc093blByb3BlcnR5KCdxdWFudGl0eVRyYW5zcG9ydE5vdGlmaWNhdGlvbicpID8gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5VHJhbnNwb3J0Tm90aWZpY2F0aW9uIDogMDtcclxuICAgICAgICAgICAgdGhpcy5saW5lUXVhbnRpdHlJbnZvaWNlQ29udHJvbCA9IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJiB0aGlzLl90cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMuaGFzT3duUHJvcGVydHkoJ3F1YW50aXR5SW52b2ljZUNvbnRyb2wnKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eUludm9pY2VDb250cm9sIDogMDtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmVTZXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCB0cmFuc2FjdGlvbkxpbmUoKTogVHJhbnNhY3Rpb25MaW5lSW5mbyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uTGluZTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCB0cmFuc2FjdGlvbkluZm8odmFsdWU6IFRyYW5zYWN0aW9uSW5mbykge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmhlYWRlclJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMudG9vbHRpcE1lc3NhZ2UgPSBcIlwiO1xyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8gPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy50cmFuc2FjdGlvbktpbmQgPSB0aGlzLl90cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25LaW5kO1xyXG4gICAgICAgICAgICB0aGlzLmZ1bGx5SW52b2ljZWQgPVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8uaGVhZGVySW5mb1N0YXR1cyAmJlxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaGFzT3duUHJvcGVydHkoJ2lzRnVsbHlJbnZvaWNlZCcpICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8uaGVhZGVySW5mb1N0YXR1cy5pc0Z1bGx5SW52b2ljZWQ7XHJcbiAgICAgICAgICAgIHRoaXMuZnVsbHlEZWxpdmVyZWQgPVxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvICYmXHJcbiAgICAgICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkluZm8uaGVhZGVySW5mb1N0YXR1cyAmJlxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaGFzT3duUHJvcGVydHkoJ2lzRnVsbHlEZWxpdmVyZWQnKSAmJlxyXG4gICAgICAgICAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25JbmZvLmhlYWRlckluZm9TdGF0dXMuaXNGdWxseURlbGl2ZXJlZDtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tIZWFkZXJSZWFkb25seSgpO1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uSW5mb1NldCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRyYW5zYWN0aW9uSW5mbygpOiBUcmFuc2FjdGlvbkluZm8ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90cmFuc2FjdGlvbkluZm87XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgdHJhbnNhY3Rpb25Ub3RhbCh2YWx1ZTogVHJhbnNhY3Rpb25Ub3RhbCkge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl90cmFuc2FjdGlvblRvdGFsID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25Ub3RhbFNldCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHRyYW5zYWN0aW9uVG90YWwoKTogVHJhbnNhY3Rpb25Ub3RhbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zYWN0aW9uVG90YWw7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgcmVsYXRpb24odmFsdWU6IFJlbGF0aW9uQW55VHlwZSkge1xyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9yZWxhdGlvbiA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLnJlbGF0aW9uS2luZCA9IHRoaXMuX3JlbGF0aW9uLnJlbGF0aW9uVHlwZTtcclxuICAgICAgICAgICAgdGhpcy5yZWxhdGlvblR5cGUgPSB0aGlzLl9yZWxhdGlvbi50eXBlO1xyXG4gICAgICAgICAgICB0aGlzLnJlbGF0aW9uU2V0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgcmVsYXRpb24oKTogUmVsYXRpb25BbnlUeXBlIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcmVsYXRpb247XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBsb2NrQW5kU2F2ZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBleHBhbmRlZDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5wcmV2aWV3JylcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgcHJldmlldzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBzZXQgc2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHZhbHVlO1xyXG4gICAgICAgIGlmICh0aGlzLnRyYW5zYWN0aW9uTGluZSkge1xyXG4gICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5zZWxlY3RlZCA9IHRoaXMuX3NlbGVjdGVkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcclxuICAgIH1cclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnJlYWQtb25seScpXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQE91dHB1dCgpXHJcbiAgICBwdWJsaWMgcmVsYXRpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxSZWxhdGlvbkFueVR5cGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxSZWxhdGlvbkFueVR5cGU+KCk7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy10ZXh0JylcclxuICAgIHB1YmxpYyBpc1RleHQ6IGJvb2xlYW47XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1hcnRpY2xlJylcclxuICAgIHB1YmxpYyBpc0FydGljbGU6IGJvb2xlYW47XHJcblxyXG4gICAgcHVibGljIGdldCBtb2RlbCgpOiBUcmFuc2FjdGlvbkxpbmVJbmZvIHwgVHJhbnNhY3Rpb25JbmZvIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdHJhbnNhY3Rpb25MaW5lLmhhc093blByb3BlcnR5KCdsaW5lTnInKSA/IHRoaXMuX3RyYW5zYWN0aW9uTGluZSA6IHRoaXMuX3RyYW5zYWN0aW9uSW5mbztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaXNTZXJ2aWNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgbGluZU9wZXJhdGlvblN0YXR1c2VzOiBMaW5lT3BlcmF0aW9uU3RhdHVzW10gPSBbXTtcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkxpbmVzOiBUcmFuc2FjdGlvbkxpbmVJbmZvW10gPSBbXTtcclxuICAgIHB1YmxpYyBkZWxpdmVyeUNvc3RMaW5lczogVHJhbnNhY3Rpb25EZWxpdmVyeUNvc3RMaW5lSW5mb1tdID0gW107XHJcbiAgICBwdWJsaWMgcmVsYXRpb25LaW5kOiBSZWxhdGlvbktpbmQgPSBSZWxhdGlvbktpbmQuQ3VzdG9tZXI7XHJcbiAgICBwdWJsaWMgcmVsYXRpb25UeXBlOiBSZWxhdGlvbk5hbWVLaW5kID0gUmVsYXRpb25OYW1lS2luZC5Qcml2YXRlO1xyXG4gICAgcHVibGljIHRyYW5zYWN0aW9uS2luZDogVHJhbnNhY3Rpb25LaW5kID0gVHJhbnNhY3Rpb25LaW5kLlNhbGVzT3JkZXI7XHJcbiAgICBwdWJsaWMgdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGhlYWRlclJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgY29tbWl0dGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIHRvb2x0aXBNZXNzYWdlOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgZnVsbHlJbnZvaWNlZDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBmdWxseURlbGl2ZXJlZDogYm9vbGVhbjtcclxuICAgIHB1YmxpYyBoYXNNdWx0aXBsZUxpbmVzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgaGFzTGluZXNUb0RlbGl2ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBoYXNMaW5lc1RvSW52b2ljZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIHB1YmxpYyBsaW5lSGFzTG9naXN0aWNhbFN0YXRlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgbGluZUlzT3JkZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGxpbmVJc0RlbGl2ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHVibGljIGxpbmVJc0ludm9pY2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwdWJsaWMgbGluZUlzUmVjZWl2ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlUb0ludm9pY2U6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5SW52b2ljZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5VG9SZWNlaXZlOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVJlY2VpdmVkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVRvRGVsaXZlcjogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlEZWxpdmVyZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5VG9BbGxvY2F0ZTogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlBbGxvY2F0ZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5T3JkZXJlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlQbGFubmluZ1JlcXVlc3RlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlQbGFubmluZ1ByZWZlcnJlZERhdGVFbnRlcmVkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVRvQmVQaWNrZWQ6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5UGlja2VkOiBudW1iZXIgPSAwO1xyXG4gICAgcHVibGljIGxpbmVRdWFudGl0eVBsYW5uaW5nRmluYWw6IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5UmVjZWl2ZWRVbnByb2Nlc3NlZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlQdXJjaGFzZUNvbmZpcm1lZDogbnVtYmVyID0gMDtcclxuICAgIHB1YmxpYyBsaW5lUXVhbnRpdHlUcmFuc3BvcnROb3RpZmljYXRpb246IG51bWJlciA9IDA7XHJcbiAgICBwdWJsaWMgbGluZVF1YW50aXR5SW52b2ljZUNvbnRyb2w6IG51bWJlciA9IDA7XHJcblxyXG4gICAgcHJvdGVjdGVkIGhlYWRlclRvb2x0aXBNZXNzYWdlczogc3RyaW5nW10gPSBbXTtcclxuICAgIHByb3RlY3RlZCBsaW5lVG9vbHRpcE1lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgX3JlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUgPSBOVUxMX0NVU1RPTUVSX0ZVTExfT0JKRUNUO1xyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uSW5mb1Jlc3BvbnNlO1xyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25MaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvID0gbmV3IFRyYW5zYWN0aW9uTGluZUluZm8oKTtcclxuICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uSW5mbzogVHJhbnNhY3Rpb25JbmZvID0gbmV3IFRyYW5zYWN0aW9uSW5mbygpO1xyXG4gICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25Ub3RhbDogVHJhbnNhY3Rpb25Ub3RhbCA9IG5ldyBUcmFuc2FjdGlvblRvdGFsKCk7XHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZDogYm9vbGVhbjtcclxuICAgIHByaXZhdGUgX2Jhc2VTdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICAgICAgcHVibGljIHNjcmVlbkNvbmZpZ1NlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICAgICAgcHJvdGVjdGVkIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2Jhc2VTdWJzLnB1c2goXHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lVmlzaWJpbGl0eUNoYW5nZS5zdWJzY3JpYmUoKGRhdGE6IHsgbGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbywgdmlzaWJsZTogYm9vbGVhbiB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YSAmJiB0aGlzLnRyYW5zYWN0aW9uTGluZSAmJiBkYXRhLmxpbmUubGluZU5yID09PSB0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5lTnIpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnZpc2liaWxpdHlTZXQoZGF0YS52aXNpYmxlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX2Jhc2VTdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBoYW5kbGVDb21taXQodmFsdWU6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmIChhd2FpdCB0aGlzLmxvY2tUcmFuc2FjdGlvbigpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY29tbWl0dGluZyA9IHRydWU7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlOiBib29sZWFuID0gYXdhaXQgdGhpcy5jb21taXQodmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLmNvbW1pdHRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZGVsZXRlVHJhbnNhY3Rpb25MaW5lQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgIGlmIChhd2FpdCB0aGlzLmxvY2tUcmFuc2FjdGlvbigpKSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmRlbGV0ZVRyYW5zYWN0aW9uTGluZSh0aGlzLnRyYW5zYWN0aW9uSW5mby51dWlkLCB0aGlzLnRyYW5zYWN0aW9uTGluZS51dWlkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGhhbmRsZVZpc2liaWxpdHlDaGFuZ2UobGluZTogVHJhbnNhY3Rpb25MaW5lSW5mbywgdmlzaWJsZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lVmlzaWJpbGl0eUNoYW5nZS5uZXh0KHtsaW5lLCB2aXNpYmxlfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGNvbW1pdCh2YWx1ZTogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdmlzaWJpbGl0eVNldCh2aXNpYmxlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy52aXNpYmxlID0gdmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25TZXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gb3ZlcnJpZGRlbiBieSBkZXNjZW5kZW50c1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCByZWxhdGlvblNldCgpOiB2b2lkIHtcclxuICAgICAgICAvLyBvdmVycmlkZGVuIGJ5IGRlc2NlbmRlbnRzXHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uTGluZVNldCgpOiB2b2lkIHtcclxuICAgIH1cclxuXHJcbiAgICAvLyBvdmVycmlkZGVuIGJ5IGRlc2NlbmRlbnRzXHJcbiAgICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25JbmZvU2V0KCk6IHZvaWQge1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhZGRMaW5lVG9vbHRpcE1lc3NhZ2UobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMubGluZVRvb2x0aXBNZXNzYWdlcy5pbmRleE9mKG1lc3NhZ2UpIDwgMCkge1xyXG4gICAgICAgICAgICB0aGlzLmxpbmVUb29sdGlwTWVzc2FnZXMucHVzaChgPGk+JHttZXNzYWdlfTwvaT5gKTtcclxuICAgICAgICAgICAgdGhpcy5wcmVwYXJlVG9vbHRpcE1lc3NhZ2UoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFkZEhlYWRlclRvb2x0aXBNZXNzYWdlKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmhlYWRlclRvb2x0aXBNZXNzYWdlcy5pbmRleE9mKG1lc3NhZ2UpIDwgMCkge1xyXG4gICAgICAgICAgICB0aGlzLmhlYWRlclRvb2x0aXBNZXNzYWdlcy5wdXNoKGA8aT4ke21lc3NhZ2V9PC9pPmApO1xyXG4gICAgICAgICAgICB0aGlzLnByZXBhcmVUb29sdGlwTWVzc2FnZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgcHJlcGFyZVRvb2x0aXBNZXNzYWdlKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudG9vbHRpcE1lc3NhZ2UgPSAnJztcclxuICAgICAgICBsZXQgdG9vbHRpcHM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgaWYgKHRoaXMuaGVhZGVyVG9vbHRpcE1lc3NhZ2VzLmxlbmd0aCA+IDAgfHwgdGhpcy5saW5lVG9vbHRpcE1lc3NhZ2VzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdG9vbHRpcHMgPSB0aGlzLmhlYWRlclRvb2x0aXBNZXNzYWdlcy5jb25jYXQodGhpcy5saW5lVG9vbHRpcE1lc3NhZ2VzKTtcclxuICAgICAgICAgICAgdGhpcy50b29sdGlwTWVzc2FnZSA9IGAke3RoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdGSUVMRF9JU19SRUFET05MWV9CRUNBVVNFJyl9PC9icj48L2JyPiR7dG9vbHRpcHMuam9pbignPC9icj4nKX1gO1xyXG4gICAgICAgICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gb3ZlcnJpZGRlbiBieSBkZXNjZW5kZW50c1xyXG4gICAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uVG90YWxTZXQoKTogdm9pZCB7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBkZXRlY3RDaGFuZ2VzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhc3luYyBsb2NrVHJhbnNhY3Rpb24oKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKHRoaXMubG9ja0FuZFNhdmUgJiYgdGhpcy50cmFuc2FjdGlvbkluZm8uaWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnRyeVRvTG9ja1RyYW5zYWN0aW9uKHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkLCB0aGlzLnRyYW5zYWN0aW9uSW5mby52ZXJzaW9uKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvdGVjdGVkIGFzeW5jIHJvbGxiYWNrKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIC8vIHRvZG86IHNob3VsZCBiZSBhbiB1bmxvY2sgZnVuY3Rpb24gaW4gdGhlIGJhY2tlbmQsIGJ1dCB0aGF0IGRvZXNuJ3QgZXhpc3QgeWV0XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnJvbGxiYWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIF9jaGVja0hlYWRlclJlYWRvbmx5KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyVG9vbHRpcE1lc3NhZ2VzLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgdGhpcy5oZWFkZXJSZWFkb25seSA9IHRoaXMuaGVhZGVyUmVhZG9ubHkgfHwgdGhpcy5mdWxseUludm9pY2VkIHx8IHRoaXMuZnVsbHlEZWxpdmVyZWQ7XHJcbiAgICAgICAgaWYgKHRoaXMuZnVsbHlJbnZvaWNlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmFkZEhlYWRlclRvb2x0aXBNZXNzYWdlKHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdDT01QTEVURUxZX0lOVk9JQ0VEJykpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5mdWxseURlbGl2ZXJlZCkge1xyXG4gICAgICAgICAgICB0aGlzLmFkZEhlYWRlclRvb2x0aXBNZXNzYWdlKHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0KCdDT01QTEVURUxZX0RFTElWRVJFRCcpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -16,7 +16,7 @@ export class TransactionFilterPopupBaseComponent extends TransactionBaseComponen
16
16
  set searchText(value) {
17
17
  if (value !== undefined && value !== null) {
18
18
  this._searchText = value;
19
- this._doSearch();
19
+ this.doSearch();
20
20
  }
21
21
  }
22
22
  get searchText() {
@@ -63,6 +63,7 @@ export class TransactionFilterPopupBaseComponent extends TransactionBaseComponen
63
63
  });
64
64
  }
65
65
  prepareViewModels() {
66
+ this.viewModels.length = 0;
66
67
  this.collection.forEach((d, index) => {
67
68
  const labels = JSON.parse(JSON.stringify(this.propsForLabel));
68
69
  labels.forEach(l => l.label = d[l.label]);
@@ -79,7 +80,7 @@ export class TransactionFilterPopupBaseComponent extends TransactionBaseComponen
79
80
  this.valueChange.next(this.value ? this.value : this.viewModels[0].value);
80
81
  }
81
82
  }
82
- _doSearch() {
83
+ doSearch() {
83
84
  this.viewModelsFiltered = JSON.parse(JSON.stringify(this.viewModels));
84
85
  if (this.searchText) {
85
86
  this.viewModelsFiltered = this.viewModelsFiltered.filter(vmf => {
@@ -99,4 +100,4 @@ TransactionFilterPopupBaseComponent.propDecorators = {
99
100
  valueChange: [{ type: Output }],
100
101
  closeAfterCommit: [{ type: Output }]
101
102
  };
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmlsdGVyLXBvcHVwLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvY29yZS9iYXNlL3RyYW5zYWN0aW9uLWZpbHRlci1wb3B1cC1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUl0RSxNQUFNLE9BQWdCLG1DQUFnRixTQUFRLHdCQUF3QjtJQUR0STs7UUFJUyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRzNCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFrQnpCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFHekQscUJBQWdCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFXaEUsZUFBVSxHQUFxRixFQUFFLENBQUM7UUFDbEcsdUJBQWtCLEdBQXFGLEVBQUUsQ0FBQztRQUl2RyxrQkFBYSxHQUFvQyxFQUFFLENBQUM7UUFFdEQsZ0JBQVcsR0FBUSxFQUFFLENBQUM7SUE0RGhDLENBQUM7SUFqR0MsSUFDVyxVQUFVLENBQUMsS0FBYTtRQUNqQyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUN6QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBV0QsSUFBVyxVQUFVLENBQUMsS0FBVTtRQUM5QixJQUFJLENBQUMs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RW1pdHRlciwgSW5wdXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QnVzaW5lc3NPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL2J1c2luZXNzLW9iamVjdCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50fSBmcm9tICcuL3RyYW5zYWN0aW9uLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtDaGVja2JveExpc3RQcm9wZXJ0eUludGVyZmFjZX0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlL2NoZWNrYm94LWxpc3QtcHJvcGVydHkuaW50ZXJmYWNlJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25GaWx0ZXJQb3B1cEJhc2VDb21wb25lbnQ8VCBleHRlbmRzIEJ1c2luZXNzT2JqZWN0IHwgbnVtYmVyIHwgc3RyaW5nPiBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGF1dG9DbG9zZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB1c2VNb2RlbDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBzZWFyY2hUZXh0KHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuX3NlYXJjaFRleHQgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5fZG9TZWFyY2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2VhcmNoVGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaFRleHQ7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB2YWx1ZTogYW55O1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjbG9zZUFmdGVyQ29tbWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIHB1YmxpYyBzZXQgY29sbGVjdGlvbih2YWx1ZTogVFtdKSB7XHJcbiAgICB0aGlzLl9jb2xsZWN0aW9uID0gdmFsdWU7XHJcbiAgICB0aGlzLnByZXBhcmVWaWV3TW9kZWxzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNvbGxlY3Rpb24oKTogVFtdIHtcclxuICAgIHJldHVybiB0aGlzLl9jb2xsZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHZpZXdNb2RlbHM6IHt2YWx1ZTogYW55LCBwcm9wc0ZvckxhYmVsOiBDaGVja2JveExpc3RQcm9wZXJ0eUludGVyZmFjZVtdLCBjaGVja2VkOiBib29sZWFufVtdID0gW107XHJcbiAgcHVibGljIHZpZXdNb2RlbHNGaWx0ZXJlZDoge3ZhbHVlOiBhbnksIHByb3BzRm9yTGFiZWw6IENoZWNrYm94TGlzdFByb3BlcnR5SW50ZXJmYWNlW10sIGNoZWNrZWQ6IGJvb2xlYW59W10gPSBbXTtcclxuXHJcbiAgcHJvdGVjdGVkIGNvZGVGaWVsZDogc3RyaW5nO1xyXG4gIHByb3RlY3RlZCBjaGVja0ZpZWxkOiBzdHJpbmc7XHJcbiAgcHJvdGVjdGVkIHByb3BzRm9yTGFiZWw6IENoZWNrYm94TGlzdFByb3BlcnR5SW50ZXJmYWNlW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBfY29sbGVjdGlvbjogVFtdID0gW107XHJcbiAgcHJpdmF0ZSBfc2VhcmNoVGV4dDogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgY29tbWl0KHZhbHVlOiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtgYFxyXG4gICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh0cnVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVDaGVja2VkKHJvdzoge3ZhbHVlOiBudW1iZXIsIHRleHQ6IHN0cmluZywgY2hlY2tlZDogYm9vbGVhbn0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJvdy5jaGVja2VkID0gdHJ1ZTtcclxuICAgIGNvbnN0IGN1cnJlbnRNb2RlbCA9IHRoaXMudmlld01vZGVscy5maW5kKHYgPT4gdi52YWx1ZSA9PT0gcm93LnZhbHVlKTtcclxuICAgIGlmIChjdXJyZW50TW9kZWwpIHtcclxuICAgICAgY3VycmVudE1vZGVsLmNoZWNrZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnZpZXdNb2RlbHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHRoaXMudmlld01vZGVsc1tpXS52YWx1ZSAhPT0gcm93LnZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy52aWV3TW9kZWxzW2ldLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudXNlTW9kZWwpIHtcclxuICAgICAgaWYgKHRoaXMuYXV0b0Nsb3NlKSB7XHJcbiAgICAgICAgdGhpcy5jb21taXR0aW5nID0gdHJ1ZTtcclxuICAgICAgICBpZiAoYXdhaXQgdGhpcy5jb21taXQocm93LnZhbHVlKSkge1xyXG4gICAgICAgICAgdGhpcy5jbG9zZUFmdGVyQ29tbWl0LmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jb21taXR0aW5nID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jb21taXQocm93LnZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHJvdy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgcHJlcGFyZVZpZXdNb2RlbHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNvbGxlY3Rpb24uZm9yRWFjaCgoZCwgaW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgbGFiZWxzOiBDaGVja2JveExpc3RQcm9wZXJ0eUludGVyZmFjZVtdID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnByb3BzRm9yTGFiZWwpKTtcclxuICAgICAgbGFiZWxzLmZvckVhY2gobCA9PiBsLmxhYmVsID0gZFtsLmxhYmVsXSk7XHJcbiAgICAgIHRoaXMudmlld01vZGVscy5wdXNoKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHZhbHVlOiBkW3RoaXMuY29kZUZpZWxkXSxcclxuICAgICAgICAgIHByb3BzRm9yTGFiZWw6IGxhYmVscyxcclxuICAgICAgICAgIGNoZWNrZWQ6ICh0aGlzLnVzZU1vZGVsICYmIHRoaXMubW9kZWwgJiYgdGhpcy5jaGVja0ZpZWxkKSA/XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWxbdGhpcy5jaGVja0ZpZWxkXSA9PT0gZFt0aGlzLmNvZGVGaWVsZF0gOlxyXG4gICAgICAgICAgICAodGhpcy52YWx1ZSA/IHRoaXMudmFsdWUgPT09IGRbdGhpcy5jb2RlRmllbGRdIDogaW5kZXggPT09IDApXHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudmlld01vZGVsc0ZpbHRlcmVkID0gdGhpcy52aWV3TW9kZWxzLnNsaWNlKCk7XHJcbiAgICBpZiAoIXRoaXMudXNlTW9kZWwgJiYgdGhpcy52aWV3TW9kZWxzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlIDogdGhpcy52aWV3TW9kZWxzWzBdLnZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2RvU2VhcmNoKCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3TW9kZWxzRmlsdGVyZWQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMudmlld01vZGVscykpO1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoVGV4dCkge1xyXG4gICAgICB0aGlzLnZpZXdNb2RlbHNGaWx0ZXJlZCA9IHRoaXMudmlld01vZGVsc0ZpbHRlcmVkLmZpbHRlcih2bWYgPT4ge1xyXG4gICAgICAgIHJldHVybiB2bWYucHJvcHNGb3JMYWJlbC5maW5kKChwOiBDaGVja2JveExpc3RQcm9wZXJ0eUludGVyZmFjZSkgPT4gcC5sYWJlbCAmJiBwLmxhYmVsLnRvU3RyaW5nKCkubWF0Y2gobmV3IFJlZ0V4cCh0aGlzLnNlYXJjaFRleHQsICdnaScpKSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tZmlsdGVyLXBvcHVwLWJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvY29yZS9iYXNlL3RyYW5zYWN0aW9uLWZpbHRlci1wb3B1cC1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUl0RSxNQUFNLE9BQWdCLG1DQUFnRixTQUFRLHdCQUF3QjtJQUR0STs7UUFJUyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBRzNCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFrQnpCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFHekQscUJBQWdCLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFXaEUsZUFBVSxHQUFxRixFQUFFLENBQUM7UUFDbEcsdUJBQWtCLEdBQXFGLEVBQUUsQ0FBQztRQUl2RyxrQkFBYSxHQUFvQyxFQUFFLENBQUM7UUFFdEQsZ0JBQVcsR0FBUSxFQUFFLENBQUM7SUE2RGhDLENBQUM7SUFsR0MsSUFDVyxVQUFVLENBQUMsS0FBYTtRQUNqQyxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUksRUFBRTtZQUN6QyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDakI7SUFDSCxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBV0QsSUFBVyxVQUFVLENBQUMsS0FBVTtRQUM5QixJQUFJLENBQUMs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QU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdH0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvYnVzaW5lc3Mtb2JqZWN0JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhc2VDb21wb25lbnR9IGZyb20gJy4vdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0NoZWNrYm94TGlzdFByb3BlcnR5SW50ZXJmYWNlfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2UvY2hlY2tib3gtbGlzdC1wcm9wZXJ0eS5pbnRlcmZhY2UnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUcmFuc2FjdGlvbkZpbHRlclBvcHVwQmFzZUNvbXBvbmVudDxUIGV4dGVuZHMgQnVzaW5lc3NPYmplY3QgfCBudW1iZXIgfCBzdHJpbmc+IGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgYXV0b0Nsb3NlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHVzZU1vZGVsOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHNlYXJjaFRleHQodmFsdWU6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09IG51bGwpIHtcclxuICAgICAgdGhpcy5fc2VhcmNoVGV4dCA9IHZhbHVlO1xyXG4gICAgICB0aGlzLmRvU2VhcmNoKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNlYXJjaFRleHQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWFyY2hUZXh0O1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdmFsdWU6IGFueTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VBZnRlckNvbW1pdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBwdWJsaWMgc2V0IGNvbGxlY3Rpb24odmFsdWU6IFRbXSkge1xyXG4gICAgdGhpcy5fY29sbGVjdGlvbiA9IHZhbHVlO1xyXG4gICAgdGhpcy5wcmVwYXJlVmlld01vZGVscygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjb2xsZWN0aW9uKCk6IFRbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sbGVjdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB2aWV3TW9kZWxzOiB7dmFsdWU6IGFueSwgcHJvcHNGb3JMYWJlbDogQ2hlY2tib3hMaXN0UHJvcGVydHlJbnRlcmZhY2VbXSwgY2hlY2tlZDogYm9vbGVhbn1bXSA9IFtdO1xyXG4gIHB1YmxpYyB2aWV3TW9kZWxzRmlsdGVyZWQ6IHt2YWx1ZTogYW55LCBwcm9wc0ZvckxhYmVsOiBDaGVja2JveExpc3RQcm9wZXJ0eUludGVyZmFjZVtdLCBjaGVja2VkOiBib29sZWFufVtdID0gW107XHJcblxyXG4gIHByb3RlY3RlZCBjb2RlRmllbGQ6IHN0cmluZztcclxuICBwcm90ZWN0ZWQgY2hlY2tGaWVsZDogc3RyaW5nO1xyXG4gIHByb3RlY3RlZCBwcm9wc0ZvckxhYmVsOiBDaGVja2JveExpc3RQcm9wZXJ0eUludGVyZmFjZVtdID0gW107XHJcblxyXG4gIHByaXZhdGUgX2NvbGxlY3Rpb246IFRbXSA9IFtdO1xyXG4gIHByaXZhdGUgX3NlYXJjaFRleHQ6IHN0cmluZztcclxuXHJcbiAgcHVibGljIGNvbW1pdCh2YWx1ZTogYW55KTogUHJvbWlzZTxib29sZWFuPiB7YGBcclxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQ2hlY2tlZChyb3c6IHt2YWx1ZTogbnVtYmVyLCB0ZXh0OiBzdHJpbmcsIGNoZWNrZWQ6IGJvb2xlYW59KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByb3cuY2hlY2tlZCA9IHRydWU7XHJcbiAgICBjb25zdCBjdXJyZW50TW9kZWwgPSB0aGlzLnZpZXdNb2RlbHMuZmluZCh2ID0+IHYudmFsdWUgPT09IHJvdy52YWx1ZSk7XHJcbiAgICBpZiAoY3VycmVudE1vZGVsKSB7XHJcbiAgICAgIGN1cnJlbnRNb2RlbC5jaGVja2VkID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy52aWV3TW9kZWxzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICh0aGlzLnZpZXdNb2RlbHNbaV0udmFsdWUgIT09IHJvdy52YWx1ZSkge1xyXG4gICAgICAgIHRoaXMudmlld01vZGVsc1tpXS5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLnVzZU1vZGVsKSB7XHJcbiAgICAgIGlmICh0aGlzLmF1dG9DbG9zZSkge1xyXG4gICAgICAgIHRoaXMuY29tbWl0dGluZyA9IHRydWU7XHJcbiAgICAgICAgaWYgKGF3YWl0IHRoaXMuY29tbWl0KHJvdy52YWx1ZSkpIHtcclxuICAgICAgICAgIHRoaXMuY2xvc2VBZnRlckNvbW1pdC5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY29tbWl0dGluZyA9IGZhbHNlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY29tbWl0KHJvdy52YWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChyb3cudmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHByZXBhcmVWaWV3TW9kZWxzKCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3TW9kZWxzLmxlbmd0aCA9IDA7XHJcbiAgICB0aGlzLmNvbGxlY3Rpb24uZm9yRWFjaCgoZCwgaW5kZXgpID0+IHtcclxuICAgICAgY29uc3QgbGFiZWxzOiBDaGVja2JveExpc3RQcm9wZXJ0eUludGVyZmFjZVtdID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnByb3BzRm9yTGFiZWwpKTtcclxuICAgICAgbGFiZWxzLmZvckVhY2gobCA9PiBsLmxhYmVsID0gZFtsLmxhYmVsXSk7XHJcbiAgICAgIHRoaXMudmlld01vZGVscy5wdXNoKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHZhbHVlOiBkW3RoaXMuY29kZUZpZWxkXSxcclxuICAgICAgICAgIHByb3BzRm9yTGFiZWw6IGxhYmVscyxcclxuICAgICAgICAgIGNoZWNrZWQ6ICh0aGlzLnVzZU1vZGVsICYmIHRoaXMubW9kZWwgJiYgdGhpcy5jaGVja0ZpZWxkKSA/XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWxbdGhpcy5jaGVja0ZpZWxkXSA9PT0gZFt0aGlzLmNvZGVGaWVsZF0gOlxyXG4gICAgICAgICAgICAodGhpcy52YWx1ZSA/IHRoaXMudmFsdWUgPT09IGRbdGhpcy5jb2RlRmllbGRdIDogaW5kZXggPT09IDApXHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudmlld01vZGVsc0ZpbHRlcmVkID0gdGhpcy52aWV3TW9kZWxzLnNsaWNlKCk7XHJcbiAgICBpZiAoIXRoaXMudXNlTW9kZWwgJiYgdGhpcy52aWV3TW9kZWxzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlIDogdGhpcy52aWV3TW9kZWxzWzBdLnZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBkb1NlYXJjaCgpOiB2b2lkIHtcclxuICAgIHRoaXMudmlld01vZGVsc0ZpbHRlcmVkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnZpZXdNb2RlbHMpKTtcclxuICAgIGlmICh0aGlzLnNlYXJjaFRleHQpIHtcclxuICAgICAgdGhpcy52aWV3TW9kZWxzRmlsdGVyZWQgPSB0aGlzLnZpZXdNb2RlbHNGaWx0ZXJlZC5maWx0ZXIodm1mID0+IHtcclxuICAgICAgICByZXR1cm4gdm1mLnByb3BzRm9yTGFiZWwuZmluZCgocDogQ2hlY2tib3hMaXN0UHJvcGVydHlJbnRlcmZhY2UpID0+IHAubGFiZWwgJiYgcC5sYWJlbC50b1N0cmluZygpLm1hdGNoKG5ldyBSZWdFeHAodGhpcy5zZWFyY2hUZXh0LCAnZ2knKSkpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -1,7 +1,7 @@
1
1
  import { Component, HostBinding, Input, ViewEncapsulation } from '@angular/core';
2
2
  import { DepositPaymentViewModel } from '../../model/deposit-payment-view-model';
3
3
  import { PaymentService } from '../../service/payment.service';
4
- import { TransactionKind } from "@colijnit/transactionapi/build/enum/transaction-kind.enum";
4
+ import { TransactionKind } from '@colijnit/transactionapi/build/enum/transaction-kind.enum';
5
5
  import { TransactionEventService } from '../../service/transaction-event.service';
6
6
  export class DepositPaymentComponent {
7
7
  constructor(_paymentService, _transactionEventService) {
@@ -28,7 +28,7 @@ export class DepositPaymentComponent {
28
28
  this.showLoader = true;
29
29
  this._paymentService.getDepositPaymentInfo(this.transactionUuid).then((info) => {
30
30
  this.depositPayments.length = 0;
31
- if (info.depositPayments) {
31
+ if (info && info.depositPayments) {
32
32
  info.depositPayments.forEach((dp) => {
33
33
  const paymentMethod = this.paymentMethods.find(pm => pm.payment.code === dp.paymentMethodCode);
34
34
  this.depositPayments.push(new DepositPaymentViewModel(dp, paymentMethod));
@@ -82,4 +82,4 @@ DepositPaymentComponent.propDecorators = {
82
82
  transactionUuid: [{ type: Input }],
83
83
  showClass: [{ type: HostBinding, args: ["class.co-deposit-payment",] }]
84
84
  };
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwb3NpdC1wYXltZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2RlcG9zaXQtcGF5bWVudC9kZXBvc2l0LXBheW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBcUIsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRzdELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUUxRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQXVCaEYsTUFBTSxPQUFPLHVCQUF1QjtJQTBCbEMsWUFDWSxlQUErQixFQUMvQix3QkFBaUQ7UUFEakQsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUEzQjdDLGNBQVMsR0FBMkIsZUFBZSxDQUFDO1FBUzdELGNBQVMsR0FBWSxJQUFJLENBQUM7UUFVMUIsbUJBQWMsR0FBdUIsRUFBRSxDQUFDO1FBQ3hDLG9CQUFlLEdBQThCLEVBQUUsQ0FBQztRQUNoRCxlQUFVLEdBQVksSUFBSSxDQUFDO1FBRTFCLFVBQUssR0FBbUIsRUFBRSxDQUFDO0lBTW5DLENBQUM7SUFkTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBY0QsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNYLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FDdEcsQ0FBQTtRQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFtQyxFQUFFLEVBQUU7WUFDNUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2hDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFrQixFQUFFLEVBQUU7b0JBQ2xELE1BQU0sYUFBYSxHQUFxQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO29CQUNqSCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLHVCQUF1QixDQUFDLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO2dCQUM1RSxDQUFDLENBQUMsQ0FBQzthQUNKO1lBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxlQUFlLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBMkIsRUFBRSxFQUFFO1lBQ3ZILElBQUksQ0FBQyxjQUFjLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBdkZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQlQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTNCTyxjQUFjO1lBS2QsdUJBQXVCOzs7cUJBMEI1QixLQUFLOzhCQUdMLEtBQUs7d0JBR0wsS0FBSzs4QkFHTCxLQUFLO3dCQUdMLFdBQVcsU0FBQywwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0RlcG9zaXRQYXltZW50Vmlld01vZGVsfSBmcm9tICcuLi8uLi9tb2RlbC9kZXBvc2l0LXBheW1lbnQtdmlldy1tb2RlbCc7XHJcbmltcG9ydCB7UGF5bWVudFZpZXdtb2RlbH0gZnJvbSAnLi4vLi4vbW9kZWwvcGF5bWVudC52aWV3bW9kZWwnO1xyXG5pbXBvcnQge1BheW1lbnRTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3BheW1lbnQuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25EZXBvc2l0UGF5bWVudEluZm99IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1kZXBvc2l0LXBheW1lbnQtaW5mby5ibyc7XHJcbmltcG9ydCB7RGVwb3NpdFBheW1lbnR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9kZXBvc2l0LXBheW1lbnQuYm8nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uS2luZH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RyYW5zYWN0aW9uLWtpbmQuZW51bVwiO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1kZXBvc2l0LXBheW1lbnRcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImRvd24tcGF5bWVudC1wYXltZW50cy10aXRsZVwiIFt0ZXh0Q29udGVudF09XCInUEFZTUVOVFNfTUFERScgfCBsb2NhbGl6ZVwiICpuZ0lmPVwic2hvd1RpdGxlXCI+PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZG93bi1wYXltZW50LXBheW1lbnRzLXdyYXBwZXJcIj5cclxuICAgICAgPGNvLWxvYWRlciBjbGFzcz1cImxvYWRlclwiICpuZ0lmPVwic2hvd0xvYWRlclwiPjwvY28tbG9hZGVyPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZG93bi1wYXltZW50LXBheW1lbnRzXCIgKm5nRm9yPVwibGV0IHBheW1lbnQgb2YgZGVwb3NpdFBheW1lbnRzXCI+XHJcbiAgICAgICAgPGNvLXBheW1lbnQtdGlsZVxyXG4gICAgICAgICAgW2ltYWdlXT1cInBheW1lbnQucGF5bWVudE1ldGhvZD8uaW1hZ2VcIlxyXG4gICAgICAgICAgW2Rlc2NyaXB0aW9uXT1cInBheW1lbnQucGF5bWVudE1ldGhvZD8ucGF5bWVudC5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgPjwvY28tcGF5bWVudC10aWxlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXBvc2l0LXBheW1lbnQtc3BhY2VyXCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRvd24tcGF5bWVudC1hbW91bnQtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRvd24tcGF5bWVudC1kYXRlXCIgW3RleHRDb250ZW50XT1cInBheW1lbnQuZGVwb3NpdFBheW1lbnQ/LmRhdGUgfCBkYXRlOidkIE1NTU0geXl5eSB8IEhIOm1tJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRvd24tcGF5bWVudC1hbW91bnRcIiBbdGV4dENvbnRlbnRdPVwicGF5bWVudC5kZXBvc2l0UGF5bWVudD8uZGVwb3NpdFBheW1lbnRBbW91bnQgfCBjb0N1cnJlbmN5XCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXBvc2l0UGF5bWVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNLaW5kOiB0eXBlb2YgVHJhbnNhY3Rpb25LaW5kID0gVHJhbnNhY3Rpb25LaW5kO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBicmFuY2g6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25LaW5kOiBUcmFuc2FjdGlvbktpbmQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dUaXRsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRyYW5zYWN0aW9uVXVpZDogc3RyaW5nO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1kZXBvc2l0LXBheW1lbnRcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGF5bWVudE1ldGhvZHM6IFBheW1lbnRWaWV3bW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBkZXBvc2l0UGF5bWVudHM6IERlcG9zaXRQYXltZW50Vmlld01vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgc2hvd0xvYWRlcjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgICBwcml2YXRlIF9wYXltZW50U2VydmljZTogUGF5bWVudFNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlOiBUcmFuc2FjdGlvbkV2ZW50U2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgICAgdGhpcy5fdHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25QYXltZW50RG9uZS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fZ2V0RGVwb3NpdFBheW1lbnRJbmZvKCkpXHJcbiAgICApXHJcbiAgICB0aGlzLl9wcmVwYXJlRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0RGVwb3NpdFBheW1lbnRJbmZvKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZTtcclxuICAgIHRoaXMuX3BheW1lbnRTZXJ2aWNlLmdldERlcG9zaXRQYXltZW50SW5mbyh0aGlzLnRyYW5zYWN0aW9uVXVpZCkudGhlbigoaW5mbzogVHJhbnNhY3Rpb25EZXBvc2l0UGF5bWVudEluZm8pID0+IHtcclxuICAgICAgdGhpcy5kZXBvc2l0UGF5bWVudHMubGVuZ3RoID0gMDtcclxuICAgICAgaWYgKGluZm8uZGVwb3NpdFBheW1lbnRzKSB7XHJcbiAgICAgICAgaW5mby5kZXBvc2l0UGF5bWVudHMuZm9yRWFjaCgoZHA6IERlcG9zaXRQYXltZW50KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBwYXltZW50TWV0aG9kOiBQYXltZW50Vmlld21vZGVsID0gdGhpcy5wYXltZW50TWV0aG9kcy5maW5kKHBtID0+IHBtLnBheW1lbnQuY29kZSA9PT0gZHAucGF5bWVudE1ldGhvZENvZGUpO1xyXG4gICAgICAgICAgdGhpcy5kZXBvc2l0UGF5bWVudHMucHVzaChuZXcgRGVwb3NpdFBheW1lbnRWaWV3TW9kZWwoZHAsIHBheW1lbnRNZXRob2QpKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNob3dMb2FkZXIgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZURhdGEoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlcG9zaXRQYXltZW50cy5sZW5ndGggPSAwO1xyXG4gICAgdGhpcy5zaG93TG9hZGVyID0gdHJ1ZTtcclxuICAgIHRoaXMucGF5bWVudE1ldGhvZHMubGVuZ3RoID0gMDtcclxuICAgIHRoaXMuX3BheW1lbnRTZXJ2aWNlLmdldFBheW1lbnRNZXRob2RzVmlld01vZGVscyh0aGlzLmJyYW5jaCwgdGhpcy50cmFuc2FjdGlvbktpbmQpLnRoZW4oKG1ldGhvZHM6IFBheW1lbnRWaWV3bW9kZWxbXSkgPT4ge1xyXG4gICAgICB0aGlzLnBheW1lbnRNZXRob2RzID0gbWV0aG9kcy5zbGljZSgpO1xyXG4gICAgICB0aGlzLl9nZXREZXBvc2l0UGF5bWVudEluZm8oKTtcclxuICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwb3NpdC1wYXltZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L2RlcG9zaXQtcGF5bWVudC9kZXBvc2l0LXBheW1lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBcUIsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRzdELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUUxRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQXVCaEYsTUFBTSxPQUFPLHVCQUF1QjtJQTBCbEMsWUFDWSxlQUErQixFQUMvQix3QkFBaUQ7UUFEakQsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBeUI7UUEzQjdDLGNBQVMsR0FBMkIsZUFBZSxDQUFDO1FBUzdELGNBQVMsR0FBWSxJQUFJLENBQUM7UUFVMUIsbUJBQWMsR0FBdUIsRUFBRSxDQUFDO1FBQ3hDLG9CQUFlLEdBQThCLEVBQUUsQ0FBQztRQUNoRCxlQUFVLEdBQVksSUFBSSxDQUFDO1FBRTFCLFVBQUssR0FBbUIsRUFBRSxDQUFDO0lBTW5DLENBQUM7SUFkTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBY0QsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNYLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FDdEcsQ0FBQTtRQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLHNCQUFzQjtRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFtQyxFQUFFLEVBQUU7WUFDNUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2hDLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBa0IsRUFBRSxFQUFFO29CQUNsRCxNQUFNLGFBQWEsR0FBcUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztvQkFDakgsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSx1QkFBdUIsQ0FBQyxFQUFFLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDNUUsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsZUFBZSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQTJCLEVBQUUsRUFBRTtZQUN2SCxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztRQUMxQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OztZQXZGRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUEzQk8sY0FBYztZQUtkLHVCQUF1Qjs7O3FCQTBCNUIsS0FBSzs4QkFHTCxLQUFLO3dCQUdMLEtBQUs7OEJBR0wsS0FBSzt3QkFHTCxXQUFXLFNBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtEZXBvc2l0UGF5bWVudFZpZXdNb2RlbH0gZnJvbSAnLi4vLi4vbW9kZWwvZGVwb3NpdC1wYXltZW50LXZpZXctbW9kZWwnO1xyXG5pbXBvcnQge1BheW1lbnRWaWV3bW9kZWx9IGZyb20gJy4uLy4uL21vZGVsL3BheW1lbnQudmlld21vZGVsJztcclxuaW1wb3J0IHtQYXltZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9wYXltZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uRGVwb3NpdFBheW1lbnRJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tZGVwb3NpdC1wYXltZW50LWluZm8uYm8nO1xyXG5pbXBvcnQge0RlcG9zaXRQYXltZW50fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZGVwb3NpdC1wYXltZW50LmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbktpbmR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9lbnVtL3RyYW5zYWN0aW9uLWtpbmQuZW51bSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWRlcG9zaXQtcGF5bWVudFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiZG93bi1wYXltZW50LXBheW1lbnRzLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIidQQVlNRU5UU19NQURFJyB8IGxvY2FsaXplXCIgKm5nSWY9XCJzaG93VGl0bGVcIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJkb3duLXBheW1lbnQtcGF5bWVudHMtd3JhcHBlclwiPlxyXG4gICAgICA8Y28tbG9hZGVyIGNsYXNzPVwibG9hZGVyXCIgKm5nSWY9XCJzaG93TG9hZGVyXCI+PC9jby1sb2FkZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkb3duLXBheW1lbnQtcGF5bWVudHNcIiAqbmdGb3I9XCJsZXQgcGF5bWVudCBvZiBkZXBvc2l0UGF5bWVudHNcIj5cclxuICAgICAgICA8Y28tcGF5bWVudC10aWxlXHJcbiAgICAgICAgICBbaW1hZ2VdPVwicGF5bWVudC5wYXltZW50TWV0aG9kPy5pbWFnZVwiXHJcbiAgICAgICAgICBbZGVzY3JpcHRpb25dPVwicGF5bWVudC5wYXltZW50TWV0aG9kPy5wYXltZW50LmRlc2NyaXB0aW9uXCJcclxuICAgICAgICA+PC9jby1wYXltZW50LXRpbGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImRlcG9zaXQtcGF5bWVudC1zcGFjZXJcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZG93bi1wYXltZW50LWFtb3VudC13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG93bi1wYXltZW50LWRhdGVcIiBbdGV4dENvbnRlbnRdPVwicGF5bWVudC5kZXBvc2l0UGF5bWVudD8uZGF0ZSB8IGRhdGU6J2QgTU1NTSB5eXl5IHwgSEg6bW0nXCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG93bi1wYXltZW50LWFtb3VudFwiIFt0ZXh0Q29udGVudF09XCJwYXltZW50LmRlcG9zaXRQYXltZW50Py5kZXBvc2l0UGF5bWVudEFtb3VudCB8IGNvQ3VycmVuY3lcIj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIERlcG9zaXRQYXltZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc0tpbmQ6IHR5cGVvZiBUcmFuc2FjdGlvbktpbmQgPSBUcmFuc2FjdGlvbktpbmQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGJyYW5jaDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyB0cmFuc2FjdGlvbktpbmQ6IFRyYW5zYWN0aW9uS2luZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd1RpdGxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNhY3Rpb25VdWlkOiBzdHJpbmc7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWRlcG9zaXQtcGF5bWVudFwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwYXltZW50TWV0aG9kczogUGF5bWVudFZpZXdtb2RlbFtdID0gW107XHJcbiAgcHVibGljIGRlcG9zaXRQYXltZW50czogRGVwb3NpdFBheW1lbnRWaWV3TW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBzaG93TG9hZGVyOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAgIHByaXZhdGUgX3BheW1lbnRTZXJ2aWNlOiBQYXltZW50U2VydmljZSxcclxuICAgICAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgICB0aGlzLl90cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvblBheW1lbnREb25lLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9nZXREZXBvc2l0UGF5bWVudEluZm8oKSlcclxuICAgIClcclxuICAgIHRoaXMuX3ByZXBhcmVEYXRhKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXREZXBvc2l0UGF5bWVudEluZm8oKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dMb2FkZXIgPSB0cnVlO1xyXG4gICAgdGhpcy5fcGF5bWVudFNlcnZpY2UuZ2V0RGVwb3NpdFBheW1lbnRJbmZvKHRoaXMudHJhbnNhY3Rpb25VdWlkKS50aGVuKChpbmZvOiBUcmFuc2FjdGlvbkRlcG9zaXRQYXltZW50SW5mbykgPT4ge1xyXG4gICAgICB0aGlzLmRlcG9zaXRQYXltZW50cy5sZW5ndGggPSAwO1xyXG4gICAgICBpZiAoaW5mbyAmJiBpbmZvLmRlcG9zaXRQYXltZW50cykge1xyXG4gICAgICAgIGluZm8uZGVwb3NpdFBheW1lbnRzLmZvckVhY2goKGRwOiBEZXBvc2l0UGF5bWVudCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgcGF5bWVudE1ldGhvZDogUGF5bWVudFZpZXdtb2RlbCA9IHRoaXMucGF5bWVudE1ldGhvZHMuZmluZChwbSA9PiBwbS5wYXltZW50LmNvZGUgPT09IGRwLnBheW1lbnRNZXRob2RDb2RlKTtcclxuICAgICAgICAgIHRoaXMuZGVwb3NpdFBheW1lbnRzLnB1c2gobmV3IERlcG9zaXRQYXltZW50Vmlld01vZGVsKGRwLCBwYXltZW50TWV0aG9kKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zaG93TG9hZGVyID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVEYXRhKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXBvc2l0UGF5bWVudHMubGVuZ3RoID0gMDtcclxuICAgIHRoaXMuc2hvd0xvYWRlciA9IHRydWU7XHJcbiAgICB0aGlzLnBheW1lbnRNZXRob2RzLmxlbmd0aCA9IDA7XHJcbiAgICB0aGlzLl9wYXltZW50U2VydmljZS5nZXRQYXltZW50TWV0aG9kc1ZpZXdNb2RlbHModGhpcy5icmFuY2gsIHRoaXMudHJhbnNhY3Rpb25LaW5kKS50aGVuKChtZXRob2RzOiBQYXltZW50Vmlld21vZGVsW10pID0+IHtcclxuICAgICAgdGhpcy5wYXltZW50TWV0aG9kcyA9IG1ldGhvZHMuc2xpY2UoKTtcclxuICAgICAgdGhpcy5fZ2V0RGVwb3NpdFBheW1lbnRJbmZvKCk7XHJcbiAgICAgIHRoaXMuc2hvd0xvYWRlciA9IGZhbHNlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -31,6 +31,7 @@ export class DialogCatalogComponent {
31
31
  return __awaiter(this, void 0, void 0, function* () {
32
32
  this.catalogSettings = this._transactionService.optionsService.options;
33
33
  if (this.catalogSettings) {
34
+ this.catalogSettings.createWebOrder = false;
34
35
  this.catalogSettings.options = this.options;
35
36
  this.catalogSettings.catalogParameters = this.parameters;
36
37
  yield this._catalogService.init(this.catalogSettings, true);
@@ -162,4 +163,4 @@ DialogCatalogComponent.propDecorators = {
162
163
  addExternalArticleClicked: [{ type: Output }],
163
164
  showClass: [{ type: HostBinding, args: ["class.co-dialog-catalog",] }]
164
165
  };
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNhdGFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvZGlhbG9nL2NhdGFsb2cvZGlhbG9nLWNhdGFsb2cvZGlhbG9nLWNhdGFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBSXRFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBdUUvRSxNQUFNLE9BQU8sc0JBQXNCO0lBMENqQyxZQUNZLG1CQUF1QyxFQUN2QyxlQUErQixFQUMvQixvQkFBeUMsRUFDMUMsZ0JBQWtDO1FBSGpDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdkMsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDMUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTdDN0IsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFTbkMsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFHL0IsZUFBVSxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBR3RFLG1CQUFjLEdB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNEVDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1AsY0FBYztpQkFDakI7Z0JBQ0QsVUFBVSxFQUFFO29CQUNWLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRTt3QkFDekIsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsa0JBQWtCLEVBQUMsQ0FBQyxDQUFDO3dCQUNyRCxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUMsQ0FBQyxDQUFDO3dCQUNuRCxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7cUJBQzNELENBQUM7aUJBQ0g7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTdFTyxrQkFBa0I7WUFDRyxjQUFjO1lBQW5DLG1CQUFtQjtZQUluQixnQkFBZ0I7OztzQkE0RXJCLEtBQUs7eUJBR0wsS0FBSzs2QkFHTCxLQUFLO3lCQUdMLE1BQU07NkJBR04sTUFBTTtnQ0FHTixNQUFNO3dDQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1leHRlbmRlZC5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0NhdGFsb2dFdmVudFNlcnZpY2UsIENhdGFsb2dTZXJ2aWNlfSBmcm9tICdAY29saWpuaXQvY2F0YWxvZyc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtFeHRlcm5hbFNvdXJjZX0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZXh0ZXJuYWwtc291cmNlLmJvJztcclxuaW1wb3J0IHtFeHRlcm5hbFNvdXJjZVZpZXdtb2RlbH0gZnJvbSAnQGNvbGlqbml0L2NhdGFsb2cvbGliL21vZGVsL2V4dGVybmFsLXNvdXJjZS12aWV3bW9kZWwnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtJY29ufSBmcm9tICcuLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bSc7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWRpYWxvZy1jYXRhbG9nXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgICAgPGNvLWRpYWxvZyAoY2xvc2VDbGljayk9XCJjbG9zZUNsaWNrLmVtaXQoJGV2ZW50KVwiIFtALmRpc2FibGVkXT1cImRlc3Ryb3llZFwiPlxyXG4gICAgICAgIDxjby1pY29uICpuZ0lmPVwic2hvd0V4dGVybmFsQ2F0YWxvZ1wiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludExlZnQpXCIgKGNsaWNrKT1cImhhbmRsZUJhY2tDbGljaygkZXZlbnQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzaG93RXh0ZXJuYWxDYXRhbG9nXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jYXRhbG9nLXByb2R1Y3Qtd3JhcHBlclwiIFtjbGFzcy5zaG93LXByb2R1Y3RdPVwic2hvd1Byb2R1Y3RcIj5cclxuICAgICAgICAgICAgICAgIDxjby1jYXRhbG9nLXNlYXJjaFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0NBVEFMT0cnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3ViVGl0bGVdPVwiJ1NFQVJDSF9CWV9BUlRJQ0xFTlVNQkVSX05BTUVfT1JfREVTQ1JJUFRJT04nIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwiJ1NFQVJDSF9CWV9BUlRJQ0xFTlVNQkVSX09SX0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2V0dGluZ3NdPVwiY2F0YWxvZ1NldHRpbmdzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgKG9uRXh0ZXJuYWxTb3VyY2VDbGljayk9XCJoYW5kbGVFeHRlcm5hbFNvdXJjZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAob25BZGRBcnRpY2xlQnV0dG9uQ2xpY2spPVwiaGFuZGxlQWRkQXJ0aWNsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAob25Mb29rQXRBcnRpY2xlQnV0dG9uQ2xpY2spPVwiaGFuZGxlQXJ0aWNsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAob25BcnRpY2xlQ2xpY2spPVwiaGFuZGxlQXJ0aWNsZUNsaWNrKCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgIDwvY28tY2F0YWxvZy1zZWFyY2g+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F0YWxvZy1hcnRpY2xlLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJiYWNrLWJ1dHRvbi1wcm9kdWN0XCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50TGVmdClcIiAoY2xpY2spPVwic2hvd1Byb2R1Y3QgPSBmYWxzZVwiPjwvY28taWNvbj5cclxuPCEtLVxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWlvbmUtcHJvZHVjdCAqbmdJZj1cInNob3dQcm9kdWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NrdV09XCJza3VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2V0dGluZ3NdPVwiY2F0YWxvZ1NldHRpbmdzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uQWRkVG9DYXJ0KT1cImhhbmRsZUFkZEFydGljbGVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgPjwvYXBwLWlvbmUtcHJvZHVjdD5cclxuLS0+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dFeHRlcm5hbENhdGFsb2dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1jYXRhbG9nLXByb2R1Y3Qtd3JhcHBlclwiIFtjbGFzcy5zaG93LXByb2R1Y3RdPVwic2hvd1Byb2R1Y3RcIj5cclxuICAgICAgICAgICAgICA8Y28tY2F0YWxvZy1leHRlcm5hbC1zb3VyY2VcclxuICAgICAgICAgICAgICAgICAgICAgIFtleHRlcm5hbFNvdXJjZV09XCJleHRlcm5hbFNvdXJjZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ0NBVEFMT0cnIHwgbG9jYWxpemUgfCBhcHBlbmQ6ICcgJyB8IGFwcGVuZDogZXh0ZXJuYWxDYXRhbG9nTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc3ViVGl0bGVdPVwiJ1NFQVJDSF9CWV9BUlRJQ0xFTlVNQkVSX05BTUVfT1JfREVTQ1JJUFRJT04nIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cIidTRUFSQ0hfQllfQVJUSUNMRU5VTUJFUl9PUl9ERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbbmFtZV09XCJleHRlcm5hbENhdGFsb2dOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzaG93TmF2aWdhdGlvbl09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoYXJ0aWNsZUNsaWNrKT1cImFydGljbGVDbGlja2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgPjwvY28tY2F0YWxvZy1leHRlcm5hbC1zb3VyY2U+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhdGFsb2ctYXJ0aWNsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImJhY2stYnV0dG9uLXByb2R1Y3RcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRMZWZ0KVwiIChjbGljayk9XCJzaG93UHJvZHVjdCA9IGZhbHNlXCI+PC9jby1pY29uPlxyXG48IS0tXHJcbiAgICAgICAgICAgICAgICA8Y28tcHJvZHVjdC1leHRlcm5hbC1zb3VyY2UgKm5nSWY9XCJsb2FkZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZXh0ZXJuYWxTb3VyY2VdPVwiZXh0ZXJuYWxTb3VyY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2t1XT1cInNrdVwiXHJcbiAgICAgICAgICAgICAgICA+PC9jby1wcm9kdWN0LWV4dGVybmFsLXNvdXJjZT5cclxuLS0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvY28tZGlhbG9nPlxyXG4gICAgICA8Y28tZGlhbG9nICpuZ0lmPVwiYXJ0aWNsZUZvclN0b2NrICYmIHNob3dTdG9ja1wiIChjbG9zZUNsaWNrKT1cImNhbmNlbFN0b2NrQnV0dG9uQ2xpY2soKVwiPlxyXG4gICAgICAgICAgPGNvLXN0b2NrIFthcnRpY2xlXT1cImFydGljbGVGb3JTdG9ja1wiIChjYW5jZWxCdXR0b25DbGlja2VkKT1cImNhbmNlbFN0b2NrQnV0dG9uQ2xpY2soKVwiPjwvY28tc3RvY2s+XHJcbiAgICAgIDwvY28tZGlhbG9nPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICAgIENhdGFsb2dTZXJ2aWNlXHJcbiAgXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVQcm9kdWN0XCIsIFtcclxuICAgICAgc3RhdGUoXCJ0cnVlXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgtNTAlKVwifSkpLFxyXG4gICAgICBzdGF0ZShcImZhbHNlXCIsIHN0eWxlKHt0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgwKVwifSkpLFxyXG4gICAgICB0cmFuc2l0aW9uKFwiZmFsc2UgPD0+IHRydWVcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpKVxyXG4gICAgXSlcclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIERpYWxvZ0NhdGFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIG9wdGlvbnM6IGFueTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcGFyYW1ldGVyczogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93TmF2aWdhdGlvbjogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjbG9zZUNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhcnRpY2xlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPEFydGljbGVFeHRlbmRlZD4gPSBuZXcgRXZlbnRFbWl0dGVyPEFydGljbGVFeHRlbmRlZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFkZEFydGljbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWRkRXh0ZXJuYWxBcnRpY2xlQ2xpY2tlZDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tZGlhbG9nLWNhdGFsb2dcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2F0YWxvZ1NldHRpbmdzOiBhbnk7XHJcbiAgcHVibGljIGV4dGVybmFsQ2F0YWxvZ05hbWU6IHN0cmluZztcclxuICBwdWJsaWMgc2hvd0V4dGVybmFsQ2F0YWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBleHRlcm5hbFNvdXJjZTogRXh0ZXJuYWxTb3VyY2U7XHJcbiAgcHVibGljIGFydGljbGVGb3JTdG9jazogQXJ0aWNsZUV4dGVuZGVkO1xyXG4gIHB1YmxpYyBzaG93U3RvY2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd1Byb2R1Y3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgc2hvd0V4dGVybmFsUHJvZHVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBza3U6IHN0cmluZztcclxuICBwdWJsaWMgZGVzdHJveWVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgICBwcml2YXRlIF90cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZSxcclxuICAgICAgcHJpdmF0ZSBfY2F0YWxvZ1NlcnZpY2U6IENhdGFsb2dTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIF9jYXRhbG9nRXZlbnRTZXJ2aWNlOiBDYXRhbG9nRXZlbnRTZXJ2aWNlLFxyXG4gICAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLmNhdGFsb2dTZXR0aW5ncyA9IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5vcHRpb25zU2VydmljZS5vcHRpb25zO1xyXG4gICAgaWYgKHRoaXMuY2F0YWxvZ1NldHRpbmdzKSB7XHJcbiAgICAgIHRoaXMuY2F0YWxvZ1NldHRpbmdzLm9wdGlvbnMgPSB0aGlzLm9wdGlvbnM7XHJcbiAgICAgIHRoaXMuY2F0YWxvZ1NldHRpbmdzLmNhdGFsb2dQYXJhbWV0ZXJzID0gdGhpcy5wYXJhbWV0ZXJzO1xyXG4gICAgICBhd2FpdCB0aGlzLl9jYXRhbG9nU2VydmljZS5pbml0KHRoaXMuY2F0YWxvZ1NldHRpbmdzLCB0cnVlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMuX2NhdGFsb2dFdmVudFNlcnZpY2Uuc3RvY2tEZXRhaWxzQ2xpY2suc3Vic2NyaWJlKChhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQpID0+IHtcclxuICAgICAgICB0aGlzLmhhbmRsZVN0b2NrQnV0dG9uQ2xpY2soYXJ0aWNsZSk7XHJcbiAgICAgIH0pLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3llZCA9IHRydWU7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVN0b2NrQnV0dG9uQ2xpY2soYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkKTogdm9pZCB7XHJcbiAgICB0aGlzLmFydGljbGVGb3JTdG9jayA9IGFydGljbGU7XHJcbiAgICB0aGlzLnNob3dTdG9jayA9ICF0aGlzLnNob3dTdG9jaztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYW5jZWxTdG9ja0J1dHRvbkNsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zaG93U3RvY2sgPSAhdGhpcy5zaG93U3RvY2s7XHJcbiAgICB0aGlzLmFydGljbGVGb3JTdG9jayA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVFeHRlcm5hbFNvdXJjZUNsaWNrKHNvdXJjZT86IEV4dGVybmFsU291cmNlVmlld21vZGVsKTogdm9pZCB7XHJcbiAgICBpZiAoc291cmNlKSB7XHJcbiAgICAgIHRoaXMuZXh0ZXJuYWxTb3VyY2UgPSBzb3VyY2UuZXh0ZXJuYWxTb3VyY2U7XHJcbiAgICAgIHRoaXMuc2hvd0V4dGVybmFsQ2F0YWxvZyA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dFeHRlcm5hbENhdGFsb2cgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVBcnRpY2xlQ2xpY2soYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkKTogdm9pZCB7XHJcbiAgICAgdGhpcy5za3UgPSBhcnRpY2xlLmFydGljbGVOdW1iZXI7XHJcbiAgICAgdGhpcy5zaG93UHJvZHVjdCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQWRkQXJ0aWNsZUNsaWNrKGpzb246IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRBcnRpY2xlQ2xpY2tlZC5uZXh0KGpzb24pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUFkZEV4dGVybmFsQXJ0aWNsZUNsaWNrKGpzb246IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5hZGRFeHRlcm5hbEFydGljbGVDbGlja2VkLm5leHQoanNvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQmFja0NsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dFeHRlcm5hbENhdGFsb2cgPSBmYWxzZTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNhdGFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvZGlhbG9nL2NhdGFsb2cvZGlhbG9nLWNhdGFsb2cvZGlhbG9nLWNhdGFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBSXRFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBdUUvRSxNQUFNLE9BQU8sc0JBQXNCO0lBMENqQyxZQUNZLG1CQUF1QyxFQUN2QyxlQUErQixFQUMvQixvQkFBeUMsRUFDMUMsZ0JBQWtDO1FBSGpDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBb0I7UUFDdkMsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBcUI7UUFDMUMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTdDN0IsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFTbkMsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFHL0IsZUFBVSxHQUE2QixJQUFJLFlBQVksRUFBYyxDQUFDO1FBR3RFLG1CQUFjLEdB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QUNULFFBQVEsRUFBRSxtQkFBbUI7Z0JBQzdCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0RUO2dCQUNELFNBQVMsRUFBRTtvQkFDUCxjQUFjO2lCQUNqQjtnQkFDRCxVQUFVLEVBQUU7b0JBQ1YsT0FBTyxDQUFDLGlCQUFpQixFQUFFO3dCQUN6QixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBQyxDQUFDLENBQUM7d0JBQ3JELEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7d0JBQ25ELFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztxQkFDM0QsQ0FBQztpQkFDSDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBN0VPLGtCQUFrQjtZQUNHLGNBQWM7WUFBbkMsbUJBQW1CO1lBSW5CLGdCQUFnQjs7O3NCQTRFckIsS0FBSzt5QkFHTCxLQUFLOzZCQUdMLEtBQUs7eUJBR0wsTUFBTTs2QkFHTixNQUFNO2dDQUdOLE1BQU07d0NBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QXJ0aWNsZUV4dGVuZGVkfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWV4dGVuZGVkLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7Q2F0YWxvZ0V2ZW50U2VydmljZSwgQ2F0YWxvZ1NlcnZpY2V9IGZyb20gJ0Bjb2xpam5pdC9jYXRhbG9nJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge0V4dGVybmFsU291cmNlfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9leHRlcm5hbC1zb3VyY2UuYm8nO1xyXG5pbXBvcnQge0V4dGVybmFsU291cmNlVmlld21vZGVsfSBmcm9tICdAY29saWpuaXQvY2F0YWxvZy9saWIvbW9kZWwvZXh0ZXJuYWwtc291cmNlLXZpZXdtb2RlbCc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHthbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXJ9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tZGlhbG9nLWNhdGFsb2dcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgICA8Y28tZGlhbG9nIChjbG9zZUNsaWNrKT1cImNsb3NlQ2xpY2suZW1pdCgkZXZlbnQpXCIgW0AuZGlzYWJsZWRdPVwiZGVzdHJveWVkXCI+XHJcbiAgICAgICAgPGNvLWljb24gKm5nSWY9XCJzaG93RXh0ZXJuYWxDYXRhbG9nXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5BcnJvd1BvaW50TGVmdClcIiAoY2xpY2spPVwiaGFuZGxlQmFja0NsaWNrKCRldmVudClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNob3dFeHRlcm5hbENhdGFsb2dcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWNhdGFsb2ctcHJvZHVjdC13cmFwcGVyXCIgW2NsYXNzLnNob3ctcHJvZHVjdF09XCJzaG93UHJvZHVjdFwiPlxyXG4gICAgICAgICAgICAgICAgPGNvLWNhdGFsb2ctc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQ0FUQUxPRycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdWJUaXRsZV09XCInU0VBUkNIX0JZX0FSVElDTEVOVU1CRVJfTkFNRV9PUl9ERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCInU0VBUkNIX0JZX0FSVElDTEVOVU1CRVJfT1JfREVTQ1JJUFRJT04nIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBbc2hvd05hdmlnYXRpb25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzZXR0aW5nc109XCJjYXRhbG9nU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAob25FeHRlcm5hbFNvdXJjZUNsaWNrKT1cImhhbmRsZUV4dGVybmFsU291cmNlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChvbkFkZEFydGljbGVCdXR0b25DbGljayk9XCJoYW5kbGVBZGRBcnRpY2xlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChvbkxvb2tBdEFydGljbGVCdXR0b25DbGljayk9XCJoYW5kbGVBcnRpY2xlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIChvbkFydGljbGVDbGljayk9XCJoYW5kbGVBcnRpY2xlQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICAgICAgPC9jby1jYXRhbG9nLXNlYXJjaD5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXRhbG9nLWFydGljbGUtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cImJhY2stYnV0dG9uLXByb2R1Y3RcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkFycm93UG9pbnRMZWZ0KVwiIChjbGljayk9XCJzaG93UHJvZHVjdCA9IGZhbHNlXCI+PC9jby1pY29uPlxyXG48IS0tXHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtaW9uZS1wcm9kdWN0ICpuZ0lmPVwic2hvd1Byb2R1Y3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2t1XT1cInNrdVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZXR0aW5nc109XCJjYXRhbG9nU2V0dGluZ3NcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25BZGRUb0NhcnQpPVwiaGFuZGxlQWRkQXJ0aWNsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9hcHAtaW9uZS1wcm9kdWN0PlxyXG4tLT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0V4dGVybmFsQ2F0YWxvZ1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWNhdGFsb2ctcHJvZHVjdC13cmFwcGVyXCIgW2NsYXNzLnNob3ctcHJvZHVjdF09XCJzaG93UHJvZHVjdFwiPlxyXG4gICAgICAgICAgICAgIDxjby1jYXRhbG9nLWV4dGVybmFsLXNvdXJjZVxyXG4gICAgICAgICAgICAgICAgICAgICAgW2V4dGVybmFsU291cmNlXT1cImV4dGVybmFsU291cmNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCInQ0FUQUxPRycgfCBsb2NhbGl6ZSB8IGFwcGVuZDogJyAnIHwgYXBwZW5kOiBleHRlcm5hbENhdGFsb2dOYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzdWJUaXRsZV09XCInU0VBUkNIX0JZX0FSVElDTEVOVU1CRVJfTkFNRV9PUl9ERVNDUklQVElPTicgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwiJ1NFQVJDSF9CWV9BUlRJQ0xFTlVNQkVSX09SX0RFU0NSSVBUSU9OJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cImV4dGVybmFsQ2F0YWxvZ05hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChhcnRpY2xlQ2xpY2spPVwiYXJ0aWNsZUNsaWNrZWQuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICA+PC9jby1jYXRhbG9nLWV4dGVybmFsLXNvdXJjZT5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F0YWxvZy1hcnRpY2xlLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiYmFjay1idXR0b24tcHJvZHVjdFwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQXJyb3dQb2ludExlZnQpXCIgKGNsaWNrKT1cInNob3dQcm9kdWN0ID0gZmFsc2VcIj48L2NvLWljb24+XHJcbjwhLS1cclxuICAgICAgICAgICAgICAgIDxjby1wcm9kdWN0LWV4dGVybmFsLXNvdXJjZSAqbmdJZj1cImxvYWRlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtleHRlcm5hbFNvdXJjZV09XCJleHRlcm5hbFNvdXJjZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtza3VdPVwic2t1XCJcclxuICAgICAgICAgICAgICAgID48L2NvLXByb2R1Y3QtZXh0ZXJuYWwtc291cmNlPlxyXG4tLT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcbiAgICAgIDxjby1kaWFsb2cgKm5nSWY9XCJhcnRpY2xlRm9yU3RvY2sgJiYgc2hvd1N0b2NrXCIgKGNsb3NlQ2xpY2spPVwiY2FuY2VsU3RvY2tCdXR0b25DbGljaygpXCI+XHJcbiAgICAgICAgICA8Y28tc3RvY2sgW2FydGljbGVdPVwiYXJ0aWNsZUZvclN0b2NrXCIgKGNhbmNlbEJ1dHRvbkNsaWNrZWQpPVwiY2FuY2VsU3RvY2tCdXR0b25DbGljaygpXCI+PC9jby1zdG9jaz5cclxuICAgICAgPC9jby1kaWFsb2c+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgICAgQ2F0YWxvZ1NlcnZpY2VcclxuICBdLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoXCJzaG93SGlkZVByb2R1Y3RcIiwgW1xyXG4gICAgICBzdGF0ZShcInRydWVcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKC01MCUpXCJ9KSksXHJcbiAgICAgIHN0YXRlKFwiZmFsc2VcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDApXCJ9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oXCJmYWxzZSA8PT4gdHJ1ZVwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpXHJcbiAgICBdKVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nQ2F0YWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgb3B0aW9uczogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwYXJhbWV0ZXJzOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dOYXZpZ2F0aW9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGNsb3NlQ2xpY2s6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGFydGljbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8QXJ0aWNsZUV4dGVuZGVkPiA9IG5ldyBFdmVudEVtaXR0ZXI8QXJ0aWNsZUV4dGVuZGVkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYWRkQXJ0aWNsZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBhZGRFeHRlcm5hbEFydGljbGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1kaWFsb2ctY2F0YWxvZ1wiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYXRhbG9nU2V0dGluZ3M6IGFueTtcclxuICBwdWJsaWMgZXh0ZXJuYWxDYXRhbG9nTmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzaG93RXh0ZXJuYWxDYXRhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGV4dGVybmFsU291cmNlOiBFeHRlcm5hbFNvdXJjZTtcclxuICBwdWJsaWMgYXJ0aWNsZUZvclN0b2NrOiBBcnRpY2xlRXh0ZW5kZWQ7XHJcbiAgcHVibGljIHNob3dTdG9jazogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93UHJvZHVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaG93RXh0ZXJuYWxQcm9kdWN0OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNrdTogc3RyaW5nO1xyXG4gIHB1YmxpYyBkZXN0cm95ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIF9jYXRhbG9nU2VydmljZTogQ2F0YWxvZ1NlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgX2NhdGFsb2dFdmVudFNlcnZpY2U6IENhdGFsb2dFdmVudFNlcnZpY2UsXHJcbiAgICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuY2F0YWxvZ1NldHRpbmdzID0gdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLm9wdGlvbnNTZXJ2aWNlLm9wdGlvbnM7XHJcbiAgICBpZiAodGhpcy5jYXRhbG9nU2V0dGluZ3MpIHtcclxuICAgICAgdGhpcy5jYXRhbG9nU2V0dGluZ3MuY3JlYXRlV2ViT3JkZXIgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jYXRhbG9nU2V0dGluZ3Mub3B0aW9ucyA9IHRoaXMub3B0aW9ucztcclxuICAgICAgdGhpcy5jYXRhbG9nU2V0dGluZ3MuY2F0YWxvZ1BhcmFtZXRlcnMgPSB0aGlzLnBhcmFtZXRlcnM7XHJcbiAgICAgIGF3YWl0IHRoaXMuX2NhdGFsb2dTZXJ2aWNlLmluaXQodGhpcy5jYXRhbG9nU2V0dGluZ3MsIHRydWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgdGhpcy5fY2F0YWxvZ0V2ZW50U2VydmljZS5zdG9ja0RldGFpbHNDbGljay5zdWJzY3JpYmUoKGFydGljbGU6IEFydGljbGVFeHRlbmRlZCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlU3RvY2tCdXR0b25DbGljayhhcnRpY2xlKTtcclxuICAgICAgfSksXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveWVkID0gdHJ1ZTtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU3RvY2tCdXR0b25DbGljayhhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQpOiB2b2lkIHtcclxuICAgIHRoaXMuYXJ0aWNsZUZvclN0b2NrID0gYXJ0aWNsZTtcclxuICAgIHRoaXMuc2hvd1N0b2NrID0gIXRoaXMuc2hvd1N0b2NrO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhbmNlbFN0b2NrQnV0dG9uQ2xpY2soKTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dTdG9jayA9ICF0aGlzLnNob3dTdG9jaztcclxuICAgIHRoaXMuYXJ0aWNsZUZvclN0b2NrID0gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUV4dGVybmFsU291cmNlQ2xpY2soc291cmNlPzogRXh0ZXJuYWxTb3VyY2VWaWV3bW9kZWwpOiB2b2lkIHtcclxuICAgIGlmIChzb3VyY2UpIHtcclxuICAgICAgdGhpcy5leHRlcm5hbFNvdXJjZSA9IHNvdXJjZS5leHRlcm5hbFNvdXJjZTtcclxuICAgICAgdGhpcy5zaG93RXh0ZXJuYWxDYXRhbG9nID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd0V4dGVybmFsQ2F0YWxvZyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUFydGljbGVDbGljayhhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQpOiB2b2lkIHtcclxuICAgICB0aGlzLnNrdSA9IGFydGljbGUuYXJ0aWNsZU51bWJlcjtcclxuICAgICB0aGlzLnNob3dQcm9kdWN0ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVBZGRBcnRpY2xlQ2xpY2soanNvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZEFydGljbGVDbGlja2VkLm5leHQoanNvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQWRkRXh0ZXJuYWxBcnRpY2xlQ2xpY2soanNvbjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmFkZEV4dGVybmFsQXJ0aWNsZUNsaWNrZWQubmV4dChqc29uKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVCYWNrQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0V4dGVybmFsQ2F0YWxvZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -28,4 +28,4 @@ DialogCatalogModule.decorators = [
28
28
  ]
29
29
  },] }
30
30
  ];
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNhdGFsb2cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvZGlhbG9nL2NhdGFsb2cvZGlhbG9nLWNhdGFsb2cvZGlhbG9nLWNhdGFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxjQUFjLEVBQUUsVUFBVSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFDLDJCQUEyQixFQUFFLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbkYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RCx1REFBdUQ7QUFvQnZELE1BQU0sT0FBTyxtQkFBbUI7OztZQWxCL0IsUUFBUSxTQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxZQUFZO29CQUNaLGNBQWM7b0JBQ2QsbUJBQW1CLENBQUMsT0FBTyxFQUFFO29CQUM3QixXQUFXO29CQUNYLFVBQVU7b0JBQ1YsMkJBQTJCO29CQUMzQixVQUFVLENBQUE7dUNBQ1M7aUJBQ3RCO2dCQUNILFlBQVksRUFBRTtvQkFDWixzQkFBc0I7aUJBQ3ZCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxzQkFBc0I7aUJBQ3ZCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7RGlhbG9nQ2F0YWxvZ0NvbXBvbmVudH0gZnJvbSAnLi9kaWFsb2ctY2F0YWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQge0NvRGlhbG9nTW9kdWxlLCBJY29uTW9kdWxlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtDYXRhbG9nRXh0ZXJuYWxTb3VyY2VNb2R1bGUsIENhdGFsb2dTZWFyY2hNb2R1bGV9IGZyb20gJ0Bjb2xpam5pdC9jYXRhbG9nJztcclxuaW1wb3J0IHtTdG9ja01vZHVsZX0gZnJvbSAnQGNvbGlqbml0L3NoYXJlZGNvbXBvbmVudHMnO1xyXG5pbXBvcnQge1BpcGVNb2R1bGV9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGUvcGlwZS5tb2R1bGUnO1xyXG4vLyBpbXBvcnQge0lvbmVQcm9kdWN0TW9kdWxlfSBmcm9tICdAY29saWpuaXQvcHJvZHVjdCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBDb0RpYWxvZ01vZHVsZSxcclxuICAgICAgICBDYXRhbG9nU2VhcmNoTW9kdWxlLkZvclJvb3QoKSxcclxuICAgICAgICBTdG9ja01vZHVsZSxcclxuICAgICAgICBQaXBlTW9kdWxlLFxyXG4gICAgICAgIENhdGFsb2dFeHRlcm5hbFNvdXJjZU1vZHVsZSxcclxuICAgICAgICBJY29uTW9kdWxlLyosXHJcbiAgICAgICAgSW9uZVByb2R1Y3RNb2R1bGUqL1xyXG4gICAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIERpYWxvZ0NhdGFsb2dDb21wb25lbnRcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIERpYWxvZ0NhdGFsb2dDb21wb25lbnRcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEaWFsb2dDYXRhbG9nTW9kdWxlIHtcclxufVxyXG4iXX0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWNhdGFsb2cubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvZGlhbG9nL2NhdGFsb2cvZGlhbG9nLWNhdGFsb2cvZGlhbG9nLWNhdGFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxjQUFjLEVBQUUsVUFBVSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDeEUsT0FBTyxFQUFDLDJCQUEyQixFQUFFLG1CQUFtQixFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDbkYsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUV4RCx1REFBdUQ7QUFvQnZELE1BQU0sT0FBTyxtQkFBbUI7OztZQWxCL0IsUUFBUSxTQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxZQUFZO29CQUNaLGNBQWM7b0JBQ2QsbUJBQW1CLENBQUMsT0FBTyxFQUFFO29CQUM3QixXQUFXO29CQUNYLFVBQVU7b0JBQ1YsMkJBQTJCO29CQUMzQixVQUFVLENBQUE7dUNBQ1M7aUJBQ3RCO2dCQUNILFlBQVksRUFBRTtvQkFDWixzQkFBc0I7aUJBQ3ZCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxzQkFBc0I7aUJBQ3ZCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb21tb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7RGlhbG9nQ2F0YWxvZ0NvbXBvbmVudH0gZnJvbSAnLi9kaWFsb2ctY2F0YWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQge0NvRGlhbG9nTW9kdWxlLCBJY29uTW9kdWxlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtDYXRhbG9nRXh0ZXJuYWxTb3VyY2VNb2R1bGUsIENhdGFsb2dTZWFyY2hNb2R1bGV9IGZyb20gJ0Bjb2xpam5pdC9jYXRhbG9nJztcclxuaW1wb3J0IHtTdG9ja01vZHVsZX0gZnJvbSAnQGNvbGlqbml0L3NoYXJlZGNvbXBvbmVudHMnO1xyXG5pbXBvcnQge1BpcGVNb2R1bGV9IGZyb20gJy4uLy4uLy4uLy4uL3BpcGUvcGlwZS5tb2R1bGUnO1xyXG5cclxuLy8gaW1wb3J0IHtJb25lUHJvZHVjdE1vZHVsZX0gZnJvbSAnQGNvbGlqbml0L3Byb2R1Y3QnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICAgICAgQ2F0YWxvZ1NlYXJjaE1vZHVsZS5Gb3JSb290KCksXHJcbiAgICAgICAgU3RvY2tNb2R1bGUsXHJcbiAgICAgICAgUGlwZU1vZHVsZSxcclxuICAgICAgICBDYXRhbG9nRXh0ZXJuYWxTb3VyY2VNb2R1bGUsXHJcbiAgICAgICAgSWNvbk1vZHVsZS8qLFxyXG4gICAgICAgIElvbmVQcm9kdWN0TW9kdWxlKi9cclxuICAgIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBEaWFsb2dDYXRhbG9nQ29tcG9uZW50XHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBEaWFsb2dDYXRhbG9nQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nQ2F0YWxvZ01vZHVsZSB7XHJcbn1cclxuIl19