@colijnit/transaction 12.1.186 → 12.1.188

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 (82) hide show
  1. package/bundles/colijnit-transaction.umd.js +545 -321
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +177 -175
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +178 -176
  6. package/esm2015/lib/component/checkout/checkout.component.js +1 -2
  7. package/esm2015/lib/component/purchase-confirmation-lines/purchase-confirmation-lines.component.js +101 -59
  8. package/esm2015/lib/component/purchase-confirmation-lines/purchase-confirmation-lines.module.js +2 -2
  9. package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +16 -6
  10. package/esm2015/lib/component/transaction-button/transaction-button.component.js +2 -2
  11. package/esm2015/lib/component/transaction-button-bar/transaction-button-bar.component.js +1 -16
  12. package/esm2015/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.js +8 -5
  13. package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +91 -93
  14. package/esm2015/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.js +6 -2
  15. package/esm2015/lib/component/transaction-line/transaction-line/transaction-line.component.js +4 -10
  16. package/esm2015/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line-base.component.js +5 -5
  17. package/esm2015/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line.component.js +21 -2
  18. package/esm2015/lib/component/transaction-line-purchase-confirmation/transaction-line-purchase-confirmation.component.js +73 -69
  19. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +9 -6
  20. package/esm2015/lib/component/transaction-line-side-panel-planning/transaction-line-side-panel-planning.component.js +69 -57
  21. package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +4 -4
  22. package/esm2015/lib/component/transaction-lines-popup/transaction-lines-popup.component.js +17 -4
  23. package/esm2015/lib/component/transaction-lines-popup/transaction-lines-popup.module.js +4 -2
  24. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access/transaction-quick-access.module.js +4 -2
  25. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.js +34 -30
  26. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-planning/transaction-quick-access-planning.component.js +67 -0
  27. package/esm2015/lib/component/transaction-quick-access/transaction-quick-access-planning/transaction-quick-access-planning.module.js +35 -0
  28. package/esm2015/lib/enum/icon.enum.js +3 -1
  29. package/esm2015/lib/model/icon-svg.js +3 -1
  30. package/esm2015/lib/res/dictionary/dictionaries.js +3 -3
  31. package/esm2015/lib/service/purchase-confirmation.service.js +21 -5
  32. package/esm2015/lib/service/relation-connector.service.js +14 -5
  33. package/esm2015/lib/service/transaction-base.service.js +8 -14
  34. package/esm2015/lib/service/transaction-connector-adapter.service.js +27 -25
  35. package/esm2015/lib/service/transaction-connector.service.js +11 -1
  36. package/esm2015/lib/service/transaction-event.service.js +2 -1
  37. package/esm2015/lib/service/transaction-mapping.service.js +3 -1
  38. package/esm2015/lib/service/transaction.service.js +20 -2
  39. package/esm2015/lib/transaction-version.js +3 -3
  40. package/fesm2015/colijnit-transaction.js +631 -407
  41. package/fesm2015/colijnit-transaction.js.map +1 -1
  42. package/lib/component/purchase-confirmation-lines/purchase-confirmation-lines.component.d.ts +11 -13
  43. package/lib/component/purchase-confirmation-lines/style/_layout.scss +46 -17
  44. package/lib/component/purchase-confirmation-lines/style/_material-definition.scss +7 -2
  45. package/lib/component/relation/relation-contact-details/relation-contact-details.component.d.ts +2 -0
  46. package/lib/component/transaction-button-bar/transaction-button-bar.component.d.ts +0 -3
  47. package/lib/component/transaction-confirmation-history/transaction-confirmation-history.component.d.ts +2 -0
  48. package/lib/component/transaction-internal/style/_layout.scss +1 -4
  49. package/lib/component/transaction-line/transaction-base-line/style/_layout.scss +5 -0
  50. package/lib/component/transaction-line/transaction-base-line/style/_material-definition.scss +1 -0
  51. package/lib/component/transaction-line/transaction-base-line/transaction-base-line.component.d.ts +3 -1
  52. package/lib/component/transaction-line/transaction-line/transaction-line.component.d.ts +0 -1
  53. package/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line-base.component.d.ts +2 -1
  54. package/lib/component/transaction-line/transaction-purchase-order-line/transaction-purchase-order-line.component.d.ts +5 -1
  55. package/lib/component/transaction-line-purchase-confirmation/transaction-line-purchase-confirmation.component.d.ts +1 -1
  56. package/lib/component/transaction-line-side-panel/style/_layout.scss +3 -0
  57. package/lib/component/transaction-line-side-panel/style/_material-definition.scss +4 -0
  58. package/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.d.ts +6 -5
  59. package/lib/component/transaction-line-side-panel-planning/style/_layout.scss +98 -46
  60. package/lib/component/transaction-line-side-panel-planning/style/_material-definition.scss +6 -0
  61. package/lib/component/transaction-line-side-panel-planning/transaction-line-side-panel-planning.component.d.ts +6 -4
  62. package/lib/component/transaction-lines/transaction-lines.component.d.ts +1 -1
  63. package/lib/component/transaction-lines-popup/style/_layout.scss +18 -3
  64. package/lib/component/transaction-lines-popup/style/_material-definition.scss +10 -0
  65. package/lib/component/transaction-lines-popup/style/_theme.scss +4 -0
  66. package/lib/component/transaction-quick-access/transaction-quick-access-order-confirmation/transaction-quick-access-order-confirmation.component.d.ts +2 -1
  67. package/lib/component/transaction-quick-access/transaction-quick-access-planning/style/_layout.scss +27 -0
  68. package/lib/component/transaction-quick-access/transaction-quick-access-planning/style/_material-definition.scss +3 -0
  69. package/lib/component/transaction-quick-access/transaction-quick-access-planning/style/_theme.scss +6 -0
  70. package/lib/component/transaction-quick-access/transaction-quick-access-planning/style/material.scss +4 -0
  71. package/lib/component/transaction-quick-access/transaction-quick-access-planning/transaction-quick-access-planning.component.d.ts +28 -0
  72. package/lib/component/transaction-quick-access/transaction-quick-access-planning/transaction-quick-access-planning.module.d.ts +2 -0
  73. package/lib/enum/icon.enum.d.ts +2 -0
  74. package/lib/res/dictionary/dictionaries.d.ts +14 -0
  75. package/lib/service/purchase-confirmation.service.d.ts +4 -0
  76. package/lib/service/relation-connector.service.d.ts +3 -1
  77. package/lib/service/transaction-base.service.d.ts +0 -2
  78. package/lib/service/transaction-connector-adapter.service.d.ts +4 -0
  79. package/lib/service/transaction-connector.service.d.ts +4 -0
  80. package/lib/service/transaction-event.service.d.ts +2 -1
  81. package/lib/service/transaction.service.d.ts +2 -1
  82. package/package.json +8 -8
@@ -45,10 +45,9 @@ export class TransactionLineComponent extends TransactionBaseComponent {
45
45
  return true;
46
46
  }
47
47
  get boxShadow() {
48
- if (this.dropShadowColor) {
49
- return `inset 0 0 2px 1px ${this.dropShadowColor}`;
50
- }
51
- else if (this.draggedOver) {
48
+ /* if (this.dropShadowColor) {
49
+ return `inset 0 0 7px 1px ${this.dropShadowColor}`;
50
+ } else*/ if (this.draggedOver) {
52
51
  return 'inset 0 0 2px 1px grey';
53
52
  }
54
53
  else {
@@ -72,11 +71,6 @@ export class TransactionLineComponent extends TransactionBaseComponent {
72
71
  if (lineNr !== undefined && this.transactionLine && this.transactionLine.lineNr === lineNr) {
73
72
  this.newLine = true;
74
73
  }
75
- }), this.transactionEventService.orderConfirmationDropped.subscribe((data) => {
76
- if (data.lineNr !== undefined && this.transactionLine && this.transactionLine.lineNr === data.lineNr) {
77
- this.dropShadowColor = data.color;
78
- this.changeDetector.markForCheck();
79
- }
80
74
  }));
81
75
  }
82
76
  ngOnDestroy() {
@@ -171,4 +165,4 @@ TransactionLineComponent.propDecorators = {
171
165
  newLine: [{ type: HostBinding, args: ['class.new-line',] }],
172
166
  boxShadow: [{ type: HostBinding, args: ['style.boxShadow',] }]
173
167
  };
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tbGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsVUFBVSxFQUVWLFlBQVksRUFDWixXQUFXLEVBQ1gsUUFBUSxFQUNSLEtBQUssRUFJTCxNQUFNLEVBR04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQVdoSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsd0JBQXdCO0lBNkRwRSxZQUNTLHVCQUFnRCxFQUNoRCxPQUEyQixFQUMzQixnQkFBa0MsRUFDbEMscUNBQTRFLEVB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cGxpY2F0aW9uUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgRWxlbWVudFJlZixcclxuICBFbWJlZGRlZFZpZXdSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFR5cGUsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9IGZyb20gJy4uLy4uLy4uL2VudW0vdHJhbnNhY3Rpb24tdHlwZS1jYXRlZ29yeS5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbk1hcHBpbmdTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLW1hcHBpbmcuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50fSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtEaWN0aW9uYXJ5U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVGV4dExpbmVDb21wb25lbnR9IGZyb20gJy4uL3RyYW5zYWN0aW9uLXRleHQtbGluZS90cmFuc2FjdGlvbi10ZXh0LWxpbmUuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1pbWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1zY3JlZW4tY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tdHJhbnNhY3Rpb24tbGluZVwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2ICN0cmFuc2FjdGlvbkxpbmU+PC9kaXY+XHJcbiAgICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uTGluZUNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBWaWV3Q2hpbGQoJ3RyYW5zYWN0aW9uTGluZScsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBzZXQgY29udGFpbmVyKGNvbnRlbnQpIHtcclxuICAgIGlmIChjb250ZW50KSB7XHJcbiAgICAgIHRoaXMuX3RyYW5zYWN0aW9uTGluZUNvbnRhaW5lciA9IGNvbnRlbnQ7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVDb250ZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgYWN0aXZlQ2F0ZWdvcnkodmFsdWU6IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5KSB7XHJcbiAgICB0aGlzLl9hY3RpdmVDYXRlZ29yeSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fcHJlcGFyZUNvbnRlbnQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYWN0aXZlQ2F0ZWdvcnkoKTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUNhdGVnb3J5O1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcHJldmlldzogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaXNGaXJzdDogYm9vbGVhbjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuZHJhZy1vdmVyXCIpXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZHJhZ2dlZE92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHdhaXRpbmdGb3JVc2VyQWN0aW9uOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBkZXNjcmlwdGlvbkRibENsaWNrOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLXRyYW5zYWN0aW9uLWxpbmVcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5ldy1saW5lJylcclxuICBwdWJsaWMgbmV3TGluZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmJveFNoYWRvdycpXHJcbiAgcHVibGljIGdldCBib3hTaGFkb3coKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLmRyb3BTaGFkb3dDb2xvcikge1xyXG4gICAgICByZXR1cm4gYGluc2V0IDAgMCAycHggMXB4ICR7dGhpcy5kcm9wU2hhZG93Q29sb3J9YDtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5kcmFnZ2VkT3Zlcikge1xyXG4gICAgICByZXR1cm4gJ2luc2V0IDAgMCAycHggMXB4IGdyZXknO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdub25lJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBkcm9wU2hhZG93Q29sb3I6IHN0cmluZztcclxuXHJcbiAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25MaW5lQ29udGFpbmVyOiBFbGVtZW50UmVmO1xyXG4gIC8vIHByaXZhdGUgX3RyYW5zYWN0aW9uVHlwZTogVHJhbnNhY3Rpb25LaW5kO1xyXG4gIHByaXZhdGUgX2FjdGl2ZUNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuICBwcml2YXRlIF9jb21wb25lbnRSZWY6IGFueTtcclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuXHJcbiAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfbWFwcGluZ1NlcnZpY2U6IFRyYW5zYWN0aW9uTWFwcGluZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jb21wRmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxyXG4gICkge1xyXG4gICAgc3VwZXIodHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIHNlcnZpY2UsIGNoYW5nZURldGVjdG9yKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGxldCBzaG91bGRQcmVwYXJlUHJvcHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGZvciAobGV0IGtleSBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgIGlmIChrZXkgIT09ICdkcmFnZ2VkT3ZlcicpIHtcclxuICAgICAgICBzaG91bGRQcmVwYXJlUHJvcHMgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoc2hvdWxkUHJlcGFyZVByb3BzKSB7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVQcm9wcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZUFkZGVkLnN1YnNjcmliZSgobGluZU5yOiBudW1iZXIpID0+IHtcclxuICAgICAgICBpZiAobGluZU5yICE9PSB1bmRlZmluZWQgJiYgdGhpcy50cmFuc2FjdGlvbkxpbmUgJiYgdGhpcy50cmFuc2FjdGlvbkxpbmUubGluZU5yID09PSBsaW5lTnIpIHtcclxuICAgICAgICAgIHRoaXMubmV3TGluZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5vcmRlckNvbmZpcm1hdGlvbkRyb3BwZWQuc3Vic2NyaWJlKChkYXRhOiB7bGluZU5yOiBudW1iZXIsIGFuYWx5c2lzSWQ6IG51bWJlciwgY29sb3I6IHN0cmluZ30pID0+IHtcclxuICAgICAgICBpZiAoZGF0YS5saW5lTnIgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnRyYW5zYWN0aW9uTGluZSAmJiB0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5lTnIgPT09IGRhdGEubGluZU5yKSB7XHJcbiAgICAgICAgICB0aGlzLmRyb3BTaGFkb3dDb2xvciA9IGRhdGEuY29sb3I7XHJcbiAgICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIGlmICh0aGlzLl9jb21wb25lbnRSZWYpIHtcclxuICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5fY29tcG9uZW50UmVmID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25MaW5lQ29udGFpbmVyID0gdW5kZWZpbmVkO1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCB0cmFuc2FjdGlvbkluZm9TZXQoKSB7XHJcbiAgICBzdXBlci50cmFuc2FjdGlvbkluZm9TZXQoKTtcclxuICAgIHRoaXMuX3ByZXBhcmVDb250ZW50KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlQ29udGVudCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy50cmFuc2FjdGlvbktpbmQgfHwgIXRoaXMuX2FjdGl2ZUNhdGVnb3J5IHx8ICF0aGlzLl90cmFuc2FjdGlvbkxpbmVDb250YWluZXIpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBjb21wb25lbnRDbGFzczogVHlwZTxUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQ+O1xyXG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb25MaW5lLmlzVGV4dCkge1xyXG4gICAgICBjb21wb25lbnRDbGFzcyA9IFRyYW5zYWN0aW9uVGV4dExpbmVDb21wb25lbnQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb21wb25lbnRDbGFzcyA9IHRoaXMuX21hcHBpbmdTZXJ2aWNlLmdldFRyYW5zYWN0aW9uTGluZUNvbXBvbmVudCh0aGlzLnRyYW5zYWN0aW9uS2luZCwgdGhpcy5fYWN0aXZlQ2F0ZWdvcnkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLl9jb21wb25lbnRSZWYpIHtcclxuICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgICAgdGhpcy5fY29tcG9uZW50UmVmID0gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgaWYgKCFjb21wb25lbnRDbGFzcykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fY29tcG9uZW50UmVmID0gdGhpcy5fY29tcEZhY3RvcnlSZXNvbHZlclxyXG4gICAgICAucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50Q2xhc3MpXHJcbiAgICAgIC5jcmVhdGUodGhpcy5pbmplY3Rvcik7XHJcblxyXG4gICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xyXG5cclxuICAgIHRoaXMuX3ByZXBhcmVQcm9wcygpO1xyXG5cclxuICAgIGNvbnN0IGRvbUVsZW0gPSAodGhpcy5fY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KVxyXG4gICAgICAucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xyXG5cclxuICAgIHRoaXMuX3RyYW5zYWN0aW9uTGluZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xyXG4gICAgdGhpcy5fY29tcG9uZW50UmVmLm9uRGVzdHJveSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYXBwUmVmLmRldGFjaFZpZXcodGhpcy5fY29tcG9uZW50UmVmLmhvc3RWaWV3KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZVByb3BzKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZikge1xyXG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UucHJldmlldyA9IHRoaXMucHJldmlldztcclxuICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLmlzRmlyc3QgPSB0aGlzLmlzRmlyc3Q7XHJcbiAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWQ7XHJcbiAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS50cmFuc2FjdGlvbiA9IHRoaXMudHJhbnNhY3Rpb247XHJcbiAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS50cmFuc2FjdGlvbkxpbmUgPSB0aGlzLnRyYW5zYWN0aW9uTGluZTtcclxuICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRyYW5zYWN0aW9uSW5mbyA9IHRoaXMudHJhbnNhY3Rpb25JbmZvO1xyXG4gICAgICAvLyB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UudHJhbnNhY3Rpb25JZCA9IHRoaXMudHJhbnNhY3Rpb25JZDtcclxuICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLmFjdGl2ZUNhdGVnb3J5ID0gdGhpcy5hY3RpdmVDYXRlZ29yeTtcclxuICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLndhaXRpbmdGb3JVc2VyQWN0aW9uID0gdGhpcy53YWl0aW5nRm9yVXNlckFjdGlvbjtcclxuICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLmRlc2NyaXB0aW9uRGJsQ2xpY2sgPSB0aGlzLmRlc2NyaXB0aW9uRGJsQ2xpY2s7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tbGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsVUFBVSxFQUVWLFlBQVksRUFDWixXQUFXLEVBQ1gsUUFBUSxFQUNSLEtBQUssRUFJTCxNQUFNLEVBR04sU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUN2RixPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUN0RyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQVdoSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsd0JBQXdCO0lBNkRwRSxZQUNTLHVCQUFnRCxFQUNoRCxPQUEyQixFQUMzQixnQkFBa0MsRUFDbEMscUNBQTRFLEVB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O0lBQ0gsQ0FBQzs7O1lBN0tGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUscUJBQXFCO2dCQUMvQixRQUFRLEVBQUU7O0tBRVA7Z0JBQ0gsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzs7WUFYTyx1QkFBdUI7WUFMdkIsa0JBQWtCO1lBSWxCLGdCQUFnQjtZQUVoQixxQ0FBcUM7WUFMckMsaUJBQWlCO1lBRWpCLHVCQUF1QjtZQXhCN0IsaUJBQWlCO1lBbUJYLHlCQUF5QjtZQWpCL0Isd0JBQXdCO1lBSnhCLGNBQWM7WUFTZCxRQUFROzs7d0JBZ0NQLFNBQVMsU0FBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7NkJBT2pELEtBQUs7c0JBVUwsS0FBSztzQkFHTCxLQUFLOzBCQUdMLFdBQVcsU0FBQyxpQkFBaUIsY0FDN0IsS0FBSzttQ0FHTCxNQUFNO2tDQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLDJCQUEyQjtzQkFLdkMsV0FBVyxTQUFDLGdCQUFnQjt3QkFHNUIsV0FBVyxTQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQXBwbGljYXRpb25SZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBFbGVtZW50UmVmLFxyXG4gIEVtYmVkZGVkVmlld1JlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5qZWN0b3IsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVHlwZSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gZnJvbSAnLi4vLi4vLi4vZW51bS90cmFuc2FjdGlvbi10eXBlLWNhdGVnb3J5LmVudW0nO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uTWFwcGluZ1NlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tbWFwcGluZy5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25UZXh0TGluZUNvbXBvbmVudH0gZnJvbSAnLi4vdHJhbnNhY3Rpb24tdGV4dC1saW5lL3RyYW5zYWN0aW9uLXRleHQtbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLWltYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1saW5lXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgI3RyYW5zYWN0aW9uTGluZT48L2Rpdj5cclxuICAgIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25MaW5lQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZCgndHJhbnNhY3Rpb25MaW5lJywgeyByZWFkOiBFbGVtZW50UmVmIH0pIHNldCBjb250YWluZXIoY29udGVudCkge1xyXG4gICAgaWYgKGNvbnRlbnQpIHtcclxuICAgICAgdGhpcy5fdHJhbnNhY3Rpb25MaW5lQ29udGFpbmVyID0gY29udGVudDtcclxuICAgICAgdGhpcy5fcHJlcGFyZUNvbnRlbnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBhY3RpdmVDYXRlZ29yeSh2YWx1ZTogVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkpIHtcclxuICAgIHRoaXMuX2FjdGl2ZUNhdGVnb3J5ID0gdmFsdWU7XHJcbiAgICB0aGlzLl9wcmVwYXJlQ29udGVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBhY3RpdmVDYXRlZ29yeSgpOiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlQ2F0ZWdvcnk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwcmV2aWV3OiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBpc0ZpcnN0OiBib29sZWFuO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5kcmFnLW92ZXJcIilcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkcmFnZ2VkT3ZlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgd2FpdGluZ0ZvclVzZXJBY3Rpb246IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGRlc2NyaXB0aW9uRGJsQ2xpY2s6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tbGluZVwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MubmV3LWxpbmUnKVxyXG4gIHB1YmxpYyBuZXdMaW5lOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUuYm94U2hhZG93JylcclxuICBwdWJsaWMgZ2V0IGJveFNoYWRvdygpOiBzdHJpbmcge1xyXG4vKiAgICBpZiAodGhpcy5kcm9wU2hhZG93Q29sb3IpIHtcclxuICAgICAgcmV0dXJuIGBpbnNldCAwIDAgN3B4IDFweCAke3RoaXMuZHJvcFNoYWRvd0NvbG9yfWA7XHJcbiAgICB9IGVsc2UqLyBpZiAodGhpcy5kcmFnZ2VkT3Zlcikge1xyXG4gICAgICByZXR1cm4gJ2luc2V0IDAgMCAycHggMXB4IGdyZXknO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdub25lJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHB1YmxpYyBkcm9wU2hhZG93Q29sb3I6IHN0cmluZztcclxuXHJcbiAgcHJpdmF0ZSBfdHJhbnNhY3Rpb25MaW5lQ29udGFpbmVyOiBFbGVtZW50UmVmO1xyXG4gIC8vIHByaXZhdGUgX3RyYW5zYWN0aW9uVHlwZTogVHJhbnNhY3Rpb25LaW5kO1xyXG4gIHByaXZhdGUgX2FjdGl2ZUNhdGVnb3J5OiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuICBwcml2YXRlIF9jb21wb25lbnRSZWY6IGFueTtcclxuICBwcml2YXRlIF9zdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgdHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuXHJcbiAgICBwcm90ZWN0ZWQgZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfbWFwcGluZ1NlcnZpY2U6IFRyYW5zYWN0aW9uTWFwcGluZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9jb21wRmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWYsXHJcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvclxyXG4gICkge1xyXG4gICAgc3VwZXIodHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIHNlcnZpY2UsIGNoYW5nZURldGVjdG9yKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGxldCBzaG91bGRQcmVwYXJlUHJvcHM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGZvciAobGV0IGtleSBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgIGlmIChrZXkgIT09ICdkcmFnZ2VkT3ZlcicpIHtcclxuICAgICAgICBzaG91bGRQcmVwYXJlUHJvcHMgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoc2hvdWxkUHJlcGFyZVByb3BzKSB7XHJcbiAgICAgIHRoaXMuX3ByZXBhcmVQcm9wcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZUFkZGVkLnN1YnNjcmliZSgobGluZU5yOiBudW1iZXIpID0+IHtcclxuICAgICAgICBpZiAobGluZU5yICE9PSB1bmRlZmluZWQgJiYgdGhpcy50cmFuc2FjdGlvbkxpbmUgJiYgdGhpcy50cmFuc2FjdGlvbkxpbmUubGluZU5yID09PSBsaW5lTnIpIHtcclxuICAgICAgICAgIHRoaXMubmV3TGluZSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZikge1xyXG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLl90cmFuc2FjdGlvbkxpbmVDb250YWluZXIgPSB1bmRlZmluZWQ7XHJcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uSW5mb1NldCgpIHtcclxuICAgIHN1cGVyLnRyYW5zYWN0aW9uSW5mb1NldCgpO1xyXG4gICAgdGhpcy5fcHJlcGFyZUNvbnRlbnQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVDb250ZW50KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnRyYW5zYWN0aW9uS2luZCB8fCAhdGhpcy5fYWN0aXZlQ2F0ZWdvcnkgfHwgIXRoaXMuX3RyYW5zYWN0aW9uTGluZUNvbnRhaW5lcikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGNvbXBvbmVudENsYXNzOiBUeXBlPFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudD47XHJcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbkxpbmUuaXNUZXh0KSB7XHJcbiAgICAgIGNvbXBvbmVudENsYXNzID0gVHJhbnNhY3Rpb25UZXh0TGluZUNvbXBvbmVudDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbXBvbmVudENsYXNzID0gdGhpcy5fbWFwcGluZ1NlcnZpY2UuZ2V0VHJhbnNhY3Rpb25MaW5lQ29tcG9uZW50KHRoaXMudHJhbnNhY3Rpb25LaW5kLCB0aGlzLl9hY3RpdmVDYXRlZ29yeSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuX2NvbXBvbmVudFJlZikge1xyXG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XHJcbiAgICB9XHJcbiAgICBpZiAoIWNvbXBvbmVudENsYXNzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9jb21wb25lbnRSZWYgPSB0aGlzLl9jb21wRmFjdG9yeVJlc29sdmVyXHJcbiAgICAgIC5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnRDbGFzcylcclxuICAgICAgLmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcclxuXHJcbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KHRoaXMuX2NvbXBvbmVudFJlZi5ob3N0Vmlldyk7XHJcblxyXG4gICAgdGhpcy5fcHJlcGFyZVByb3BzKCk7XHJcblxyXG4gICAgY29uc3QgZG9tRWxlbSA9ICh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pXHJcbiAgICAgIC5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgdGhpcy5fdHJhbnNhY3Rpb25MaW5lQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9tRWxlbSk7XHJcbiAgICB0aGlzLl9jb21wb25lbnRSZWYub25EZXN0cm95KCgpID0+IHtcclxuICAgICAgdGhpcy5hcHBSZWYuZGV0YWNoVmlldyh0aGlzLl9jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlUHJvcHMoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fY29tcG9uZW50UmVmKSB7XHJcbiAgICAgIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS5wcmV2aWV3ID0gdGhpcy5wcmV2aWV3O1xyXG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuaXNGaXJzdCA9IHRoaXMuaXNGaXJzdDtcclxuICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnNlbGVjdGVkID0gdGhpcy5zZWxlY3RlZDtcclxuICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRyYW5zYWN0aW9uID0gdGhpcy50cmFuc2FjdGlvbjtcclxuICAgICAgdGhpcy5fY29tcG9uZW50UmVmLmluc3RhbmNlLnRyYW5zYWN0aW9uTGluZSA9IHRoaXMudHJhbnNhY3Rpb25MaW5lO1xyXG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UudHJhbnNhY3Rpb25JbmZvID0gdGhpcy50cmFuc2FjdGlvbkluZm87XHJcbiAgICAgIC8vIHRoaXMuX2NvbXBvbmVudFJlZi5pbnN0YW5jZS50cmFuc2FjdGlvbklkID0gdGhpcy50cmFuc2FjdGlvbklkO1xyXG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuYWN0aXZlQ2F0ZWdvcnkgPSB0aGlzLmFjdGl2ZUNhdGVnb3J5O1xyXG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2Uud2FpdGluZ0ZvclVzZXJBY3Rpb24gPSB0aGlzLndhaXRpbmdGb3JVc2VyQWN0aW9uO1xyXG4gICAgICB0aGlzLl9jb21wb25lbnRSZWYuaW5zdGFuY2UuZGVzY3JpcHRpb25EYmxDbGljayA9IHRoaXMuZGVzY3JpcHRpb25EYmxDbGljaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
@@ -26,13 +26,13 @@ export class TransactionPurchaseOrderLineBaseComponent extends TransactionBaseCo
26
26
  this._colorSequenceService = _colorSequenceService;
27
27
  this.transactionTypeCategory = TransactionTypeCategory;
28
28
  this.showCheckboxForLine = false;
29
- this._subs = [];
29
+ this.subs = [];
30
30
  }
31
31
  ngOnInit() {
32
32
  // if (this.transactionLine.purchasePortalLine.amountToBeConfirmed === null || this.transactionLine.purchasePortalLine.amountToBeConfirmed === undefined) {
33
33
  // this.transactionLine.purchasePortalLine.amountToBeConfirmed = this.transactionLine.amount.toString();
34
34
  // }
35
- this._subs.push(this.transactionEventService.selectAllSalesOrderLinesForPurchase.subscribe((value) => {
35
+ this.subs.push(this.transactionEventService.selectAllSalesOrderLinesForPurchase.subscribe((value) => {
36
36
  this.transactionLine.selected = value && this.showCheckboxForLine;
37
37
  this.detectChanges();
38
38
  }), this.transactionEventService.overwritePurchaseOrderConfirmationCompletedChanged.subscribe(() => {
@@ -41,8 +41,8 @@ export class TransactionPurchaseOrderLineBaseComponent extends TransactionBaseCo
41
41
  this._getPurchasePortalLine();
42
42
  }
43
43
  ngOnDestroy() {
44
+ this.subs.forEach(s => s.unsubscribe());
44
45
  super.ngOnDestroy();
45
- this._subs.forEach(s => s.unsubscribe());
46
46
  }
47
47
  handleDragOver(event) {
48
48
  event.preventDefault();
@@ -90,7 +90,7 @@ export class TransactionPurchaseOrderLineBaseComponent extends TransactionBaseCo
90
90
  const purchasePortalLinesResponse = yield this.transactionService.getPurchasePortalLines(getPurchasePortalLine);
91
91
  if (purchasePortalLinesResponse.length > 0) {
92
92
  this.transactionLine.purchasePortalLine = purchasePortalLinesResponse[0];
93
- this.transactionLine.quantityPurchaseToConfirm = +this.transactionLine.purchasePortalLine.amountConfirmedTarget;
93
+ this.transactionLine.quantityPurchaseToConfirm = +this.transactionLine.purchasePortalLine.amountOrdered - +this.transactionLine.purchasePortalLine.amountConfirmedTarget;
94
94
  this.transactionEventService.transactionLineChanged.next(this.transactionLine);
95
95
  this.detectChanges();
96
96
  }
@@ -119,4 +119,4 @@ TransactionPurchaseOrderLineBaseComponent.ctorParameters = () => [
119
119
  { type: PurchaseConfirmationService },
120
120
  { type: ColorSequenceService }
121
121
  ];
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1saW5lLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUVyRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUNwRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUd0RyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNoSCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUczRixNQUFNLE9BQWdCLHlDQUEwQyxTQUFRLHdCQUF3QjtJQU85RixZQUNXLHVCQUFnRCxFQUNoRCxPQUEyQixFQUMzQixnQkFBa0MsRUFDbEMscUNBQTRFLEVBQ3pFLGlCQUFvQyxFQUNwQyxZQUFxQyxFQUNyQyxjQUFpQyxFQUNuQyw0QkFBeUQsRUFDekQscUJBQTJDO1FBRXJELEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxxQ0FBcUMsRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBVnpJLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUFDaEQsWUFBTyxHQUFQLE9BQU8sQ0FBb0I7UUFDM0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQywwQ0FBcUMsR0FBckMscUNBQXFDLENBQXVDO1FBQ3pFLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsaUJBQVksR0FBWixZQUFZLENBQXlCO1FBQ3JDLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUNuQyxpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQTZCO1FBQ3pELDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBc0I7UUFmdkMsNEJBQXVCLEdBQW1DLHVCQUF1QixDQUFDO1FBRTNGLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUVwQyxVQUFLLEdBQW1CLEVBQUUsQ0FBQztJQWNuQyxDQUFDO0lBRUQsUUFBUTtRQUNOLDJKQUEySjtRQUMzSiwwR0FBMEc7UUFDMUcsSUFBSTtRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxtQ0FBbUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuRixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDO1lBQ2xFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixDQUFDLENBQUMsRUFDRixJQUFJLENBQUMsdUJBQXVCLENBQUMsa0RBQWtELENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM3RixJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFdBQVc7UUFDVCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQWdCO1FBQ3BDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLDJCQUEyQixFQUFFLEVBQUUsZ0JBQWdCO1lBQ2pGLEtBQUssQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztZQUN2QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0Y7YUFBTTtZQUNMLEtBQUssQ0FBQyxZQUFZLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztZQUN2QyxJQUFJLENBQUMsdUJBQXVCLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3pFO0lBQ0gsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUFZO1FBQ2pDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVNLFVBQVUsQ0FBQyxLQUFnQjtRQUNoQyxJQUFJO1lBQ0YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxDQUFvQyxDQUFDO1lBQzNILElBQUksQ0FBQyw0QkFBNEIsQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1lBQ25HLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDcEM7UUFBQyxPQUFPLENBQUMsRUFBRTtTQUNYO0lBQ0gsQ0FBQztJQUVNLG1CQUFtQixDQUFDLFVBQXdCO1FBQ2pELE1BQU0sTUFBTSxHQUE2QixVQUFVLENBQUMsTUFBTSxDQUFDO1FBQzNELElBQUksTUFBTSxJQUFJLE1BQU0sQ0FBQyxPQUFPLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLGVBQWUsRUFBRTtZQUN4RyxJQUFJLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDdkU7SUFDSCxDQUFDO0lBRVMsa0JBQWtCO1FBQzFCLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQjtZQUM3RCxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLHlCQUF5QixLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDO0lBQ3ZHLENBQUM7SUFFYSxzQkFBc0I7O1lBQ2xDLE1BQU0scUJBQXFCLEdBQTBCLElBQUkscUJBQXFCLEVBQUUsQ0FBQztZQUNqRixNQUFNLG9CQUFvQixHQUEwQixJQUFJLHFCQUFxQixFQUFFLENBQUM7WUFFaEYsb0JBQW9CLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JGLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyRSxxQkFBcUIsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDaEUscUJBQXFCLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNyQyxxQkFBcUIsQ0FBQyxZQUFZLEdBQUcsb0JBQW9CLENBQUM7WUFFMUQsTUFBTSwyQkFBMkIsR0FBeUIsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUN0SSxJQUFJLDJCQUEyQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLEdBQUcsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pFLElBQUksQ0FBQyxlQUFlLENBQUMseUJBQXlCLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLHFCQUFxQixDQUFDO2dCQUNoSCxJQUFJLENBQUMsdUJBQXVCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFDL0UsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3RCO1FBQ0gsQ0FBQztLQUFBO0lBRU8sNEJBQTRCO1FBQ2xDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQyxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUM7WUFDOUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyx5QkFBeUIsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsa0JBQWtCLENBQUMscUJBQXFCLENBQUE7WUFDL0csSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUNoQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDOzs7WUExR0YsU0FBUzs7O1lBVEYsdUJBQXVCO1lBQ3ZCLGtCQUFrQjtZQUNsQixnQkFBZ0I7WUFDaEIscUNBQXFDO1lBQ3JDLGlCQUFpQjtZQUNqQix1QkFBdUI7WUFidkIsaUJBQWlCO1lBZWpCLDJCQUEyQjtZQUQzQixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdG9yUmVmLCBEaXJlY3RpdmUsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhc2VDb21wb25lbnR9IGZyb20gJy4uLy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9IGZyb20gJy4uLy4uLy4uL2VudW0vdHJhbnNhY3Rpb24tdHlwZS1jYXRlZ29yeS5lbnVtJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge0dldFB1cmNoYXNlUG9ydGFsTGluZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2dldC1wdXJjaGFzZS1wb3J0YWwtbGluZSc7XHJcbmltcG9ydCB7UHVyY2hhc2VQb3J0YWxGaWx0ZXJzfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHVyY2hhc2UtcG9ydGFsLWZpbHRlcnMuYm8nO1xyXG5pbXBvcnQge1B1cmNoYXNlUG9ydGFsTGluZX0gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3B1cmNoYXNlLXBvcnRhbC1saW5lLmJvJztcclxuaW1wb3J0IHtPcmRlckNvbmZpcm1hdGlvbkFuYWx5c2lzUmVzdWx0fSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItY29uZmlybWF0aW9uLWFuYWx5c2lzLXJlc3VsdC5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7Q29sb3JTZXF1ZW5jZVNlcnZpY2V9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge1B1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9wdXJjaGFzZS1jb25maXJtYXRpb24uc2VydmljZSc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYW5zYWN0aW9uUHVyY2hhc2VPcmRlckxpbmVCYXNlQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHB1YmxpYyByZWFkb25seSB0cmFuc2FjdGlvblR5cGVDYXRlZ29yeTogdHlwZW9mIFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5ID0gVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk7XHJcblxyXG4gIHB1YmxpYyBzaG93Q2hlY2tib3hGb3JMaW5lOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgcHVibGljIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICBwcml2YXRlIF9wdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2U6IFB1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZSxcclxuICAgICAgcHJpdmF0ZSBfY29sb3JTZXF1ZW5jZVNlcnZpY2U6IENvbG9yU2VxdWVuY2VTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0cmFuc2FjdGlvbkV2ZW50U2VydmljZSwgaWNvbkNhY2hlU2VydmljZSwgdHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSwgaW1hZ2VTZXJ2aWNlLCBkaWN0aW9uYXJ5U2VydmljZSwgc2VydmljZSwgY2hhbmdlRGV0ZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBpZiAodGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmFtb3VudFRvQmVDb25maXJtZWQgPT09IG51bGwgfHwgdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmFtb3VudFRvQmVDb25maXJtZWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgLy8gICB0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuYW1vdW50VG9CZUNvbmZpcm1lZCA9IHRoaXMudHJhbnNhY3Rpb25MaW5lLmFtb3VudC50b1N0cmluZygpO1xyXG4gICAgLy8gfVxyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnNlbGVjdEFsbFNhbGVzT3JkZXJMaW5lc0ZvclB1cmNoYXNlLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5zZWxlY3RlZCA9IHZhbHVlICYmIHRoaXMuc2hvd0NoZWNrYm94Rm9yTGluZTtcclxuICAgICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uub3ZlcndyaXRlUHVyY2hhc2VPcmRlckNvbmZpcm1hdGlvbkNvbXBsZXRlZENoYW5nZWQuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLl9oYW5kbGVDb25maXJtYXRpb25PdmVyd3JpdGUoKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICB0aGlzLl9nZXRQdXJjaGFzZVBvcnRhbExpbmUoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRHJhZ092ZXIoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGlmIChldmVudC5kYXRhVHJhbnNmZXIudHlwZXNbMF0gPT09ICdvcmRlcmNvbmZpcm1hdGlvbmFuYWx5c2lzJykgeyAvLyBhbGwgbG93ZXJjYXNlXHJcbiAgICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gXCJsaW5rXCI7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lRHJhZ2dlZE92ZXIubmV4dCh0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5lTnIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSBcIm5vbmVcIjtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvbkxpbmVEcmFnZ2VkT3Zlci5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRHJhZ0xlYXZlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS50cmFuc2FjdGlvbkxpbmVEcmFnZ2VkT3Zlci5uZXh0KHVuZGVmaW5lZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRHJvcChldmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBkcm9wcGVkRGF0YSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YVRyYW5zZmVyLmdldERhdGEoJ29yZGVyY29uZmlybWF0aW9uYW5hbHlzaXMnKSkgYXMgT3JkZXJDb25maXJtYXRpb25BbmFseXNpc1Jlc3VsdDtcclxuICAgICAgdGhpcy5fcHVyY2hhc2VDb25maXJtYXRpb25TZXJ2aWNlLmxpbmtBbmFseXNpc1RvVHJhbnNhY3Rpb25MaW5lKHRoaXMudHJhbnNhY3Rpb25MaW5lLCBkcm9wcGVkRGF0YSk7XHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlT3BlblNpZGVQYW5lbChtb3VzZUNsaWNrOiBQb2ludGVyRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRhcmdldDogSFRNTEVsZW1lbnQgPSA8SFRNTEVsZW1lbnQ+bW91c2VDbGljay50YXJnZXQ7XHJcbiAgICBpZiAodGFyZ2V0ICYmIHRhcmdldC5kYXRhc2V0ICYmIHRhcmdldC5kYXRhc2V0WydhY3Rpb24nXSAmJiB0YXJnZXQuZGF0YXNldFsnYWN0aW9uJ10gPT09ICdvcGVuU2lkZVBhbmVsJykge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLm9wZW5TaWRlUGFuZWwubmV4dCh0aGlzLnRyYW5zYWN0aW9uTGluZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25MaW5lU2V0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIudHJhbnNhY3Rpb25MaW5lU2V0KCk7XHJcbiAgICB0aGlzLnNob3dDaGVja2JveEZvckxpbmUgPSB0aGlzLnRyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cyAmJlxyXG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLmFydGljbGVMaW5lU3RhdHVzLnF1YW50aXR5UHVyY2hhc2VDb25maXJtZWQgIT09IHRoaXMudHJhbnNhY3Rpb25MaW5lLmFtb3VudDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX2dldFB1cmNoYXNlUG9ydGFsTGluZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGNvbnN0IGdldFB1cmNoYXNlUG9ydGFsTGluZTogR2V0UHVyY2hhc2VQb3J0YWxMaW5lID0gbmV3IEdldFB1cmNoYXNlUG9ydGFsTGluZSgpO1xyXG4gICAgY29uc3QgcHVyY2hhc2VQb3J0YWxGaWx0ZXI6IFB1cmNoYXNlUG9ydGFsRmlsdGVycyA9IG5ldyBQdXJjaGFzZVBvcnRhbEZpbHRlcnMoKTtcclxuXHJcbiAgICBwdXJjaGFzZVBvcnRhbEZpbHRlci5wdXJjaGFzZU9yZGVyTm8gPSB0aGlzLnRyYW5zYWN0aW9uSW5mby50cmFuc2FjdGlvbk5yLnRvU3RyaW5nKCk7XHJcbiAgICBwdXJjaGFzZVBvcnRhbEZpbHRlci5saW5lSWQgPSB0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5lTnIudG9TdHJpbmcoKTtcclxuICAgIGdldFB1cmNoYXNlUG9ydGFsTGluZS50cmFuc0lkUHVyY2hhc2UgPSB0aGlzLnRyYW5zYWN0aW9uSW5mby5pZDtcclxuICAgIGdldFB1cmNoYXNlUG9ydGFsTGluZS5kb2NLaW5kID0gXCJJQlwiO1xyXG4gICAgZ2V0UHVyY2hhc2VQb3J0YWxMaW5lLmZpbHRlck9iamVjdCA9IHB1cmNoYXNlUG9ydGFsRmlsdGVyO1xyXG5cclxuICAgIGNvbnN0IHB1cmNoYXNlUG9ydGFsTGluZXNSZXNwb25zZTogUHVyY2hhc2VQb3J0YWxMaW5lW10gPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5nZXRQdXJjaGFzZVBvcnRhbExpbmVzKGdldFB1cmNoYXNlUG9ydGFsTGluZSk7XHJcbiAgICBpZiAocHVyY2hhc2VQb3J0YWxMaW5lc1Jlc3BvbnNlLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lID0gcHVyY2hhc2VQb3J0YWxMaW5lc1Jlc3BvbnNlWzBdO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5xdWFudGl0eVB1cmNoYXNlVG9Db25maXJtID0gK3RoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5hbW91bnRDb25maXJtZWRUYXJnZXQ7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lQ2hhbmdlZC5uZXh0KHRoaXMudHJhbnNhY3Rpb25MaW5lKTtcclxuICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9oYW5kbGVDb25maXJtYXRpb25PdmVyd3JpdGUoKSB7XHJcbiAgICBpZiAodGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lKSB7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5hbW91bnRDb25maXJtZWQgPSAnMCc7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnF1YW50aXR5UHVyY2hhc2VUb0NvbmZpcm0gPSArdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmFtb3VudENvbmZpcm1lZFRhcmdldFxyXG4gICAgICB0aGlzLnNob3dDaGVja2JveEZvckxpbmUgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RyYW5zYWN0aW9uL3NyYy9saWIvY29tcG9uZW50L3RyYW5zYWN0aW9uLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS90cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1saW5lLWJhc2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQUM5RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUVyRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQztBQUNwRyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUd0RyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUN4RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUNyRSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUNoSCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUczRixNQUFNLE9BQWdCLHlDQUEw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ckMsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQWJ2QixpQkFBaUI7WUFlakIsMkJBQTJCO1lBRDNCLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlL3RyYW5zYWN0aW9uLWJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblR5cGVDYXRlZ29yeX0gZnJvbSAnLi4vLi4vLi4vZW51bS90cmFuc2FjdGlvbi10eXBlLWNhdGVnb3J5LmVudW0nO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7R2V0UHVyY2hhc2VQb3J0YWxMaW5lfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZ2V0LXB1cmNoYXNlLXBvcnRhbC1saW5lJztcclxuaW1wb3J0IHtQdXJjaGFzZVBvcnRhbEZpbHRlcnN9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wdXJjaGFzZS1wb3J0YWwtZmlsdGVycy5ibyc7XHJcbmltcG9ydCB7UHVyY2hhc2VQb3J0YWxMaW5lfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcHVyY2hhc2UtcG9ydGFsLWxpbmUuYm8nO1xyXG5pbXBvcnQge09yZGVyQ29uZmlybWF0aW9uQW5hbHlzaXNSZXN1bHR9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9vcmRlci1jb25maXJtYXRpb24tYW5hbHlzaXMtcmVzdWx0LmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1pbWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtDb2xvclNlcXVlbmNlU2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7UHVyY2hhc2VDb25maXJtYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3B1cmNoYXNlLWNvbmZpcm1hdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyTGluZUJhc2VDb21wb25lbnQgZXh0ZW5kcyBUcmFuc2FjdGlvbkJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIHJlYWRvbmx5IHRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5OiB0eXBlb2YgVHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkgPSBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeTtcclxuXHJcbiAgcHVibGljIHNob3dDaGVja2JveEZvckxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJvdGVjdGVkIHN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgcHVibGljIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICBwcml2YXRlIF9wdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2U6IFB1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZSxcclxuICAgICAgcHJpdmF0ZSBfY29sb3JTZXF1ZW5jZVNlcnZpY2U6IENvbG9yU2VxdWVuY2VTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0cmFuc2FjdGlvbkV2ZW50U2VydmljZSwgaWNvbkNhY2hlU2VydmljZSwgdHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSwgaW1hZ2VTZXJ2aWNlLCBkaWN0aW9uYXJ5U2VydmljZSwgc2VydmljZSwgY2hhbmdlRGV0ZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBpZiAodGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmFtb3VudFRvQmVDb25maXJtZWQgPT09IG51bGwgfHwgdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmFtb3VudFRvQmVDb25maXJtZWQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgLy8gICB0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuYW1vdW50VG9CZUNvbmZpcm1lZCA9IHRoaXMudHJhbnNhY3Rpb25MaW5lLmFtb3VudC50b1N0cmluZygpO1xyXG4gICAgLy8gfVxyXG4gICAgdGhpcy5zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uuc2VsZWN0QWxsU2FsZXNPcmRlckxpbmVzRm9yUHVyY2hhc2Uuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkID0gdmFsdWUgJiYgdGhpcy5zaG93Q2hlY2tib3hGb3JMaW5lO1xyXG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5vdmVyd3JpdGVQdXJjaGFzZU9yZGVyQ29uZmlybWF0aW9uQ29tcGxldGVkQ2hhbmdlZC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuX2hhbmRsZUNvbmZpcm1hdGlvbk92ZXJ3cml0ZSgpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHRoaXMuX2dldFB1cmNoYXNlUG9ydGFsTGluZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBpZiAoZXZlbnQuZGF0YVRyYW5zZmVyLnR5cGVzWzBdID09PSAnb3JkZXJjb25maXJtYXRpb25hbmFseXNpcycpIHsgLy8gYWxsIGxvd2VyY2FzZVxyXG4gICAgICBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9IFwibGlua1wiO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZURyYWdnZWRPdmVyLm5leHQodGhpcy50cmFuc2FjdGlvbkxpbmUubGluZU5yKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0ID0gXCJub25lXCI7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lRHJhZ2dlZE92ZXIubmV4dCh1bmRlZmluZWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURyYWdMZWF2ZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lRHJhZ2dlZE92ZXIubmV4dCh1bmRlZmluZWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZURyb3AoZXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgZHJvcHBlZERhdGEgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGFUcmFuc2Zlci5nZXREYXRhKCdvcmRlcmNvbmZpcm1hdGlvbmFuYWx5c2lzJykpIGFzIE9yZGVyQ29uZmlybWF0aW9uQW5hbHlzaXNSZXN1bHQ7XHJcbiAgICAgIHRoaXMuX3B1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZS5saW5rQW5hbHlzaXNUb1RyYW5zYWN0aW9uTGluZSh0aGlzLnRyYW5zYWN0aW9uTGluZSwgZHJvcHBlZERhdGEpO1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZU9wZW5TaWRlUGFuZWwobW91c2VDbGljazogUG9pbnRlckV2ZW50KTogdm9pZCB7XHJcbiAgICBjb25zdCB0YXJnZXQ6IEhUTUxFbGVtZW50ID0gPEhUTUxFbGVtZW50Pm1vdXNlQ2xpY2sudGFyZ2V0O1xyXG4gICAgaWYgKHRhcmdldCAmJiB0YXJnZXQuZGF0YXNldCAmJiB0YXJnZXQuZGF0YXNldFsnYWN0aW9uJ10gJiYgdGFyZ2V0LmRhdGFzZXRbJ2FjdGlvbiddID09PSAnb3BlblNpZGVQYW5lbCcpIHtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5vcGVuU2lkZVBhbmVsLm5leHQodGhpcy50cmFuc2FjdGlvbkxpbmUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uTGluZVNldCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLnRyYW5zYWN0aW9uTGluZVNldCgpO1xyXG4gICAgdGhpcy5zaG93Q2hlY2tib3hGb3JMaW5lID0gdGhpcy50cmFuc2FjdGlvbkxpbmUuYXJ0aWNsZUxpbmVTdGF0dXMgJiZcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5hcnRpY2xlTGluZVN0YXR1cy5xdWFudGl0eVB1cmNoYXNlQ29uZmlybWVkICE9PSB0aGlzLnRyYW5zYWN0aW9uTGluZS5hbW91bnQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9nZXRQdXJjaGFzZVBvcnRhbExpbmUoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBjb25zdCBnZXRQdXJjaGFzZVBvcnRhbExpbmU6IEdldFB1cmNoYXNlUG9ydGFsTGluZSA9IG5ldyBHZXRQdXJjaGFzZVBvcnRhbExpbmUoKTtcclxuICAgIGNvbnN0IHB1cmNoYXNlUG9ydGFsRmlsdGVyOiBQdXJjaGFzZVBvcnRhbEZpbHRlcnMgPSBuZXcgUHVyY2hhc2VQb3J0YWxGaWx0ZXJzKCk7XHJcblxyXG4gICAgcHVyY2hhc2VQb3J0YWxGaWx0ZXIucHVyY2hhc2VPcmRlck5vID0gdGhpcy50cmFuc2FjdGlvbkluZm8udHJhbnNhY3Rpb25Oci50b1N0cmluZygpO1xyXG4gICAgcHVyY2hhc2VQb3J0YWxGaWx0ZXIubGluZUlkID0gdGhpcy50cmFuc2FjdGlvbkxpbmUubGluZU5yLnRvU3RyaW5nKCk7XHJcbiAgICBnZXRQdXJjaGFzZVBvcnRhbExpbmUudHJhbnNJZFB1cmNoYXNlID0gdGhpcy50cmFuc2FjdGlvbkluZm8uaWQ7XHJcbiAgICBnZXRQdXJjaGFzZVBvcnRhbExpbmUuZG9jS2luZCA9IFwiSUJcIjtcclxuICAgIGdldFB1cmNoYXNlUG9ydGFsTGluZS5maWx0ZXJPYmplY3QgPSBwdXJjaGFzZVBvcnRhbEZpbHRlcjtcclxuXHJcbiAgICBjb25zdCBwdXJjaGFzZVBvcnRhbExpbmVzUmVzcG9uc2U6IFB1cmNoYXNlUG9ydGFsTGluZVtdID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuZ2V0UHVyY2hhc2VQb3J0YWxMaW5lcyhnZXRQdXJjaGFzZVBvcnRhbExpbmUpO1xyXG4gICAgaWYgKHB1cmNoYXNlUG9ydGFsTGluZXNSZXNwb25zZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZSA9IHB1cmNoYXNlUG9ydGFsTGluZXNSZXNwb25zZVswXTtcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUucXVhbnRpdHlQdXJjaGFzZVRvQ29uZmlybSA9ICt0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuYW1vdW50T3JkZXJlZCAtICt0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuYW1vdW50Q29uZmlybWVkVGFyZ2V0O1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZUNoYW5nZWQubmV4dCh0aGlzLnRyYW5zYWN0aW9uTGluZSk7XHJcbiAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGxlQ29uZmlybWF0aW9uT3ZlcndyaXRlKCkge1xyXG4gICAgaWYgKHRoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZSkge1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuYW1vdW50Q29uZmlybWVkID0gJzAnO1xyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5xdWFudGl0eVB1cmNoYXNlVG9Db25maXJtID0gK3RoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5hbW91bnRDb25maXJtZWRUYXJnZXQ7XHJcbiAgICAgIHRoaXMuc2hvd0NoZWNrYm94Rm9yTGluZSA9IHRydWU7XHJcbiAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -10,10 +10,27 @@ export class TransactionPurchaseOrderLineComponent extends TransactionPurchaseOr
10
10
  statusBarBG: this.cfgNames.StatusBarBG,
11
11
  statusBarFC: this.cfgNames.StatusBarFC
12
12
  };
13
+ this.showColorIndicator = false;
13
14
  }
14
15
  showClass() {
15
16
  return true;
16
17
  }
18
+ ngOnInit() {
19
+ super.ngOnInit();
20
+ this.subs.push(this.transactionEventService.orderConfirmationDropped.subscribe((data) => {
21
+ if (data.lineNr !== undefined && this.transactionLine && this.transactionLine.lineNr === data.lineNr) {
22
+ this.transactionLine.linkedAnalysisResultId = data.analysisResultId;
23
+ this.showColorIndicator = true;
24
+ this.colorIndicatorColor = data.color;
25
+ this.changeDetector.markForCheck();
26
+ }
27
+ }), this.transactionEventService.orderConfirmationReset.subscribe(() => {
28
+ this.transactionLine.linkedAnalysisResultId = undefined;
29
+ this.showColorIndicator = false;
30
+ this.colorIndicatorColor = "";
31
+ this.changeDetector.markForCheck();
32
+ }));
33
+ }
17
34
  }
18
35
  TransactionPurchaseOrderLineComponent.decorators = [
19
36
  { type: Component, args: [{
@@ -26,6 +43,8 @@ TransactionPurchaseOrderLineComponent.decorators = [
26
43
  [isFirst]="isFirst"
27
44
  [checkbox]="showCheckboxForLine"
28
45
  [checkboxValue]="transactionLine.selected"
46
+ [showColorIndicator]="showColorIndicator"
47
+ [colorIndicatorColor]="colorIndicatorColor"
29
48
  (click)="handleOpenSidePanel($event)"
30
49
  (checkboxValueChanged)="transactionLine.selected = $event"
31
50
  (dragover)="handleDragOver($event)"
@@ -83,7 +102,7 @@ TransactionPurchaseOrderLineComponent.decorators = [
83
102
  <co-input-number-picker class="amount-number-picker"
84
103
  [screenConfigurationObject]="cfgNames.LineConfirmedAmount"
85
104
  [required]="true"
86
- [(model)]="+transactionLine.purchasePortalLine.amountConfirmedTarget"
105
+ [(model)]="+transactionLine.quantityPurchaseToConfirm"
87
106
  [decimals]="decimals"
88
107
  [min]="1"
89
108
  [max]="+transactionLine.purchasePortalLine.amountOrdered"
@@ -104,4 +123,4 @@ TransactionPurchaseOrderLineComponent.decorators = [
104
123
  TransactionPurchaseOrderLineComponent.propDecorators = {
105
124
  showClass: [{ type: HostBinding, args: ["class.co-transaction-purchase-order-line",] }]
106
125
  };
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakcsT0FBTyxFQUFDLHlDQUF5QyxFQUFDLE1BQU0sa0RBQWtELENBQUM7QUF3RjNHLE1BQU0sT0FBTyxxQ0FBc0MsU0FBUSx5Q0FBeUM7SUFyRnBHOztRQTRGUyx5QkFBb0IsR0FBc0I7WUFDL0MsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1NBQ3ZDLENBQUE7SUFDSCxDQUFDO0lBWFEsU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7O1lBMUZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0NBQW9DO2dCQUM5QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQThFVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDaEQ7Ozt3QkFJRSxXQUFXLFNBQUMsMENBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uUHVyY2hhc2VPcmRlckxpbmVCYXNlQ29tcG9uZW50fSBmcm9tICcuL3RyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWxpbmUtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge1N0YXR1c0JhckNmZ05hbWVzfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2Uvc3RhdHVzLWJhci1jZmctbmFtZXMuaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLXRyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWxpbmVcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLXRyYW5zYWN0aW9uLWJhc2UtbGluZVxyXG4gICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgW3ByZXZpZXddPVwicHJldmlld1wiXHJcbiAgICAgICAgW2lzRmlyc3RdPVwiaXNGaXJzdFwiXHJcbiAgICAgICAgW2NoZWNrYm94XT1cInNob3dDaGVja2JveEZvckxpbmVcIlxyXG4gICAgICAgIFtjaGVja2JveFZhbHVlXT1cInRyYW5zYWN0aW9uTGluZS5zZWxlY3RlZFwiXHJcbiAgICAgICAgKGNsaWNrKT1cImhhbmRsZU9wZW5TaWRlUGFuZWwoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNoZWNrYm94VmFsdWVDaGFuZ2VkKT1cInRyYW5zYWN0aW9uTGluZS5zZWxlY3RlZCA9ICRldmVudFwiXHJcbiAgICAgICAgKGRyYWdvdmVyKT1cImhhbmRsZURyYWdPdmVyKCRldmVudClcIlxyXG4gICAgICAgIChkcm9wKT1cImhhbmRsZURyb3AoJGV2ZW50KVwiXHJcbiAgICAgICAgKGRyYWdsZWF2ZSk9XCJoYW5kbGVEcmFnTGVhdmUoJGV2ZW50KVwiXHJcbiAgICAgICAgb2JzZXJ2ZVZpc2liaWxpdHkgI29ic2VydmVyPXZpc2liaWxpdHlPYnNlcnZlICh2aXNpYmlsaXR5Q2hhbmdlKT1cImhhbmRsZVZpc2liaWxpdHlDaGFuZ2UodHJhbnNhY3Rpb25MaW5lLCAkZXZlbnQpXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0cmFuc2FjdGlvbi1saW5lLWNvbnRlbnQtd3JhcHBlclwiPlxyXG4gICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2JhciBkYXRhLWFjdGlvbj1cIm9wZW5TaWRlUGFuZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5TdGF0dXNCYXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29uZmlnTmFtZXNdPVwic3RhdHVzQmFyQ29uZmlnTmFtZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjdGl2ZUNhdGVnb3J5XT1cInRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPcmRlckNvbmZpcm1hdGlvblwiXHJcbiAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1zdGF0dXNiYXI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtY29udGVudFwiIGRhdGEtYWN0aW9uPVwib3BlblNpZGVQYW5lbFwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHRcclxuICAgICAgICAgICAgICBbbW9kZWxdPVwidHJhbnNhY3Rpb25MaW5lLmFtb3VudFwiXHJcbiAgICAgICAgICAgICAgW2xlZnRJY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2FydFNob3BwaW5nUmVndWxhcilcIlxyXG4gICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbY3VzdG9tSGVpZ2h0XT1cInRydWVcIlxyXG4gICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDxjby1pbnB1dC10ZXh0IGNsYXNzPVwidHJhbnNhY3Rpb24taW5wdXQtcmlnaHQtYWxpZ25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuZ3Jvc3NPcmRlclByaWNlIHwgY29DdXJyZW5jeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tSGVpZ2h0XT1cInRydWVcIlxyXG4gICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRpc2NvdW50LWJ1dHRvblxyXG4gICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVEaXNjb3VudFwiXHJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgY2xhc3M9XCJ0cmFuc2FjdGlvbi1pbnB1dC1yaWdodC1hbGlnblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwidHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5uZXRPcmRlclByaWNlIHwgY29DdXJyZW5jeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tSGVpZ2h0XT1cInRydWVcIlxyXG4gICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWRlbGl2ZXJ5LWRhdGUtYnV0dG9uXHJcbiAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuRGVsaXZlcnlEYXRlXCJcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIj48L2NvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktZGF0ZS1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtY29udGVudFwiIGRhdGEtYWN0aW9uPVwib3BlblNpZGVQYW5lbFwiPlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHRcclxuICAgICAgICAgICAgICBbbW9kZWxdPVwidHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5hcnRpY2xlTm9TdXBwbGllciA/IHRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuYXJ0aWNsZU5vU3VwcGxpZXIgOiAnLSdcIlxyXG4gICAgICAgICAgICAgIFtsZWZ0SWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlJlZ3VsYXJJbmR1c3RyeVRhZylcIlxyXG4gICAgICAgICAgICAgIFtjdXN0b21IZWlnaHRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgPjwvY28taW5wdXQtdGV4dD5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLWNvbmZpcm1lZC1wcmljZSBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtY29uZmlybWVkLXByaWNlIHByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lQ29uZmlybWVkUHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsocHJpY2UpXT1cInRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuY29uZmlybWVkUHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93TGFiZWxdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0RWRpdE1vZGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1jb25maXJtZWQtcHJpY2U+XHJcbiAgICAgICAgICA8Y28taW5wdXQtbnVtYmVyLXBpY2tlciBjbGFzcz1cImFtb3VudC1udW1iZXItcGlja2VyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVDb25maXJtZWRBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiK3RyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuYW1vdW50Q29uZmlybWVkVGFyZ2V0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWNpbWFsc109XCJkZWNpbWFsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWluXT1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCIrdHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5hbW91bnRPcmRlcmVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsZWZ0SWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkZpbGVDaXJjbGVJbmZvUmVndWxhcilcIlxyXG4gICAgICAgICAgPjwvY28taW5wdXQtbnVtYmVyLXBpY2tlcj5cclxuICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXN1cHBsaWVyLWRlbGl2ZXJ5LWRhdGUtYnV0dG9uXHJcbiAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZUNvbmZpcm1lZERhdGVcIlxyXG4gICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtc3VwcGxpZXItZGVsaXZlcnktZGF0ZS1idXR0b24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9jby10cmFuc2FjdGlvbi1iYXNlLWxpbmU+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyTGluZUNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uUHVyY2hhc2VPcmRlckxpbmVCYXNlQ29tcG9uZW50IHtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZVwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0dXNCYXJDb25maWdOYW1lczogU3RhdHVzQmFyQ2ZnTmFtZXMgPSB7XHJcbiAgICBzdGF0dXNCYXJJQjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJJQixcclxuICAgIHN0YXR1c0Jhck5UOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0Jhck5ULFxyXG4gICAgc3RhdHVzQmFyQk46IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyQk4sXHJcbiAgICBzdGF0dXNCYXJCRzogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJCRyxcclxuICAgIHN0YXR1c0JhckZDOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckZDXHJcbiAgfVxyXG59XHJcbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC90cmFuc2FjdGlvbi1saW5lL3RyYW5zYWN0aW9uLXB1cmNoYXNlLW9yZGVyLWxpbmUvdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQXFCLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBQyx5Q0FBeUMsRUFBQyxNQUFNLGtEQUFrRCxDQUFDO0FBMkYzRyxNQUFNLE9BQU8scUNBQXNDLFNBQVEseUNBQXlDO0lBdkZwRzs7UUE4RlMseUJBQW9CLEdBQXNCO1lBQy9DLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztZQUN0QyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXO1lBQ3RDLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVc7WUFDdEMsV0FBVyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVztTQUN2QyxDQUFBO1FBRU0sdUJBQWtCLEdBQVksS0FBSyxDQUFDO0lBc0I3QyxDQUFDO0lBbENRLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFhRCxRQUFRO1FBQ04sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNaLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUErRCxFQUFFLEVBQUU7WUFDbEksSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ3BHLElBQUksQ0FBQyxlQUFlLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO2dCQUNwRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO2dCQUMvQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDdEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUNwQztRQUNILENBQUMsQ0FBQyxFQUNGLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2pFLElBQUksQ0FBQyxlQUFlLENBQUMsc0JBQXNCLEdBQUcsU0FBUyxDQUFDO1lBQ3hELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUM7WUFDaEMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOzs7WUEzSEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQ0FBb0M7Z0JBQzlDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnRlQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEOzs7d0JBSUUsV0FBVyxTQUFDLDBDQUEwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyTGluZUJhc2VDb21wb25lbnR9IGZyb20gJy4vdHJhbnNhY3Rpb24tcHVyY2hhc2Utb3JkZXItbGluZS1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7U3RhdHVzQmFyQ2ZnTmFtZXN9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZS9zdGF0dXMtYmFyLWNmZy1uYW1lcy5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby10cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1saW5lXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby10cmFuc2FjdGlvbi1iYXNlLWxpbmVcclxuICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgIFtwcmV2aWV3XT1cInByZXZpZXdcIlxyXG4gICAgICAgIFtpc0ZpcnN0XT1cImlzRmlyc3RcIlxyXG4gICAgICAgIFtjaGVja2JveF09XCJzaG93Q2hlY2tib3hGb3JMaW5lXCJcclxuICAgICAgICBbY2hlY2tib3hWYWx1ZV09XCJ0cmFuc2FjdGlvbkxpbmUuc2VsZWN0ZWRcIlxyXG4gICAgICAgIFtzaG93Q29sb3JJbmRpY2F0b3JdPVwic2hvd0NvbG9ySW5kaWNhdG9yXCJcclxuICAgICAgICBbY29sb3JJbmRpY2F0b3JDb2xvcl09XCJjb2xvckluZGljYXRvckNvbG9yXCJcclxuICAgICAgICAoY2xpY2spPVwiaGFuZGxlT3BlblNpZGVQYW5lbCgkZXZlbnQpXCJcclxuICAgICAgICAoY2hlY2tib3hWYWx1ZUNoYW5nZWQpPVwidHJhbnNhY3Rpb25MaW5lLnNlbGVjdGVkID0gJGV2ZW50XCJcclxuICAgICAgICAoZHJhZ292ZXIpPVwiaGFuZGxlRHJhZ092ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgKGRyb3ApPVwiaGFuZGxlRHJvcCgkZXZlbnQpXCJcclxuICAgICAgICAoZHJhZ2xlYXZlKT1cImhhbmRsZURyYWdMZWF2ZSgkZXZlbnQpXCJcclxuICAgICAgICBvYnNlcnZlVmlzaWJpbGl0eSAjb2JzZXJ2ZXI9dmlzaWJpbGl0eU9ic2VydmUgKHZpc2liaWxpdHlDaGFuZ2UpPVwiaGFuZGxlVmlzaWJpbGl0eUNoYW5nZSh0cmFuc2FjdGlvbkxpbmUsICRldmVudClcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRyYW5zYWN0aW9uLWxpbmUtY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtc3RhdHVzYmFyIGRhdGEtYWN0aW9uPVwib3BlblNpZGVQYW5lbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLlN0YXR1c0JhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb25maWdOYW1lc109XCJzdGF0dXNCYXJDb25maWdOYW1lc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkluZm9dPVwidHJhbnNhY3Rpb25JbmZvXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZlQ2F0ZWdvcnldPVwidHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck9yZGVyQ29uZmlybWF0aW9uXCJcclxuICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2Jhcj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1jb250ZW50XCIgZGF0YS1hY3Rpb249XCJvcGVuU2lkZVBhbmVsXCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgIFttb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUuYW1vdW50XCJcclxuICAgICAgICAgICAgICBbbGVmdEljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DYXJ0U2hvcHBpbmdSZWd1bGFyKVwiXHJcbiAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFtjdXN0b21IZWlnaHRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPGNvLWlucHV0LXRleHQgY2xhc3M9XCJ0cmFuc2FjdGlvbi1pbnB1dC1yaWdodC1hbGlnblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwidHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5ncm9zc09yZGVyUHJpY2UgfCBjb0N1cnJlbmN5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21IZWlnaHRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGlzY291bnQtYnV0dG9uXHJcbiAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZURpc2NvdW50XCJcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25MaW5lXT1cInRyYW5zYWN0aW9uTGluZVwiXHJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kaXNjb3VudC1idXR0b24+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dCBjbGFzcz1cInRyYW5zYWN0aW9uLWlucHV0LXJpZ2h0LWFsaWduXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLm5ldE9yZGVyUHJpY2UgfCBjb0N1cnJlbmN5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21IZWlnaHRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtZGVsaXZlcnktZGF0ZS1idXR0b25cclxuICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5EZWxpdmVyeURhdGVcIlxyXG4gICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiPjwvY28tdHJhbnNhY3Rpb24tbGluZS1kZWxpdmVyeS1kYXRlLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1jb250ZW50XCIgZGF0YS1hY3Rpb249XCJvcGVuU2lkZVBhbmVsXCI+XHJcbiAgICAgICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgIFttb2RlbF09XCJ0cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmFydGljbGVOb1N1cHBsaWVyID8gdHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5hcnRpY2xlTm9TdXBwbGllciA6ICctJ1wiXHJcbiAgICAgICAgICAgICAgW2xlZnRJY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuUmVndWxhckluZHVzdHJ5VGFnKVwiXHJcbiAgICAgICAgICAgICAgW2N1c3RvbUhlaWdodF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbcmVhZG9ubHldPVwidHJ1ZVwiXHJcbiAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtY29uZmlybWVkLXByaWNlIGNsYXNzPVwidHJhbnNhY3Rpb24tbGluZS1jb25maXJtZWQtcHJpY2UgcHJpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzY3JlZW5Db25maWd1cmF0aW9uT2JqZWN0XT1cImNmZ05hbWVzLkxpbmVDb25maXJtZWRQcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhwcmljZSldPVwidHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5jb25maXJtZWRQcmljZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dMYWJlbF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRFZGl0TW9kZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICA+PC9jby10cmFuc2FjdGlvbi1saW5lLWNvbmZpcm1lZC1wcmljZT5cclxuICAgICAgICAgIDxjby1pbnB1dC1udW1iZXItcGlja2VyIGNsYXNzPVwiYW1vdW50LW51bWJlci1waWNrZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjcmVlbkNvbmZpZ3VyYXRpb25PYmplY3RdPVwiY2ZnTmFtZXMuTGluZUNvbmZpcm1lZEFtb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCIrdHJhbnNhY3Rpb25MaW5lLnF1YW50aXR5UHVyY2hhc2VUb0NvbmZpcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlY2ltYWxzXT1cImRlY2ltYWxzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIit0cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmFtb3VudE9yZGVyZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xlZnRJY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuRmlsZUNpcmNsZUluZm9SZWd1bGFyKVwiXHJcbiAgICAgICAgICA+PC9jby1pbnB1dC1udW1iZXItcGlja2VyPlxyXG4gICAgICAgICAgPGNvLXRyYW5zYWN0aW9uLWxpbmUtc3VwcGxpZXItZGVsaXZlcnktZGF0ZS1idXR0b25cclxuICAgICAgICAgICAgICBbc2NyZWVuQ29uZmlndXJhdGlvbk9iamVjdF09XCJjZmdOYW1lcy5MaW5lQ29uZmlybWVkRGF0ZVwiXHJcbiAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uTGluZV09XCJ0cmFuc2FjdGlvbkxpbmVcIlxyXG4gICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1zdXBwbGllci1kZWxpdmVyeS1kYXRlLWJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2NvLXRyYW5zYWN0aW9uLWJhc2UtbGluZT5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvblB1cmNoYXNlT3JkZXJMaW5lQ29tcG9uZW50IGV4dGVuZHMgVHJhbnNhY3Rpb25QdXJjaGFzZU9yZGVyTGluZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby10cmFuc2FjdGlvbi1wdXJjaGFzZS1vcmRlci1saW5lXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXR1c0JhckNvbmZpZ05hbWVzOiBTdGF0dXNCYXJDZmdOYW1lcyA9IHtcclxuICAgIHN0YXR1c0JhcklCOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhcklCLFxyXG4gICAgc3RhdHVzQmFyTlQ6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyTlQsXHJcbiAgICBzdGF0dXNCYXJCTjogdGhpcy5jZmdOYW1lcy5TdGF0dXNCYXJCTixcclxuICAgIHN0YXR1c0JhckJHOiB0aGlzLmNmZ05hbWVzLlN0YXR1c0JhckJHLFxyXG4gICAgc3RhdHVzQmFyRkM6IHRoaXMuY2ZnTmFtZXMuU3RhdHVzQmFyRkNcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93Q29sb3JJbmRpY2F0b3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgY29sb3JJbmRpY2F0b3JDb2xvcjogc3RyaW5nO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLnN1YnMucHVzaChcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5vcmRlckNvbmZpcm1hdGlvbkRyb3BwZWQuc3Vic2NyaWJlKChkYXRhOiB7bGluZU5yOiBudW1iZXIsIGFuYWx5c2lzUmVzdWx0SWQ6IG51bWJlciwgY29sb3I6IHN0cmluZ30pID0+IHtcclxuICAgICAgICBpZiAoZGF0YS5saW5lTnIgIT09IHVuZGVmaW5lZCAmJiB0aGlzLnRyYW5zYWN0aW9uTGluZSAmJiB0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5lTnIgPT09IGRhdGEubGluZU5yKSB7XHJcbiAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5rZWRBbmFseXNpc1Jlc3VsdElkID0gZGF0YS5hbmFseXNpc1Jlc3VsdElkO1xyXG4gICAgICAgICAgdGhpcy5zaG93Q29sb3JJbmRpY2F0b3IgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5jb2xvckluZGljYXRvckNvbG9yID0gZGF0YS5jb2xvcjtcclxuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KSxcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkV2ZW50U2VydmljZS5vcmRlckNvbmZpcm1hdGlvblJlc2V0LnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUubGlua2VkQW5hbHlzaXNSZXN1bHRJZCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLnNob3dDb2xvckluZGljYXRvciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY29sb3JJbmRpY2F0b3JDb2xvciA9IFwiXCI7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -26,7 +26,7 @@ export class TransactionLinePurchaseConfirmationComponent extends TransactionBas
26
26
  this.docDeliveryBatch = new DocDeliveryBatch();
27
27
  this.filteredDocBatchArray = [];
28
28
  this.maxDocAmount = 0;
29
- this.showPurchaseConfirmation = false;
29
+ this.showPurchaseConfirmationAI = false;
30
30
  this._subs = [];
31
31
  }
32
32
  showClass() {
@@ -37,8 +37,10 @@ export class TransactionLinePurchaseConfirmationComponent extends TransactionBas
37
37
  if (line.lineNr === this.transactionLine.lineNr) {
38
38
  this._updateBatchArray();
39
39
  }
40
+ }), this.transactionEventService.orderConfirmationReset.subscribe(() => {
41
+ this.showPurchaseConfirmationAI = false;
40
42
  }), this._purchaseConfirmationService.confirmationNeeded.subscribe((needed) => {
41
- this.showPurchaseConfirmation = needed;
43
+ this.showPurchaseConfirmationAI = needed;
42
44
  }));
43
45
  this._initNewDocDeliveryBatch();
44
46
  this._updateBatchArray();
@@ -140,73 +142,75 @@ TransactionLinePurchaseConfirmationComponent.decorators = [
140
142
  { type: Component, args: [{
141
143
  selector: 'co-transaction-line-purchase-confirmation',
142
144
  template: `
143
- <div class="confirmation-details-wrapper form-and-buttons">
144
- <ng-container *ngIf="!showPurchaseConfirmation">
145
- <co-form-test>
146
- <!--div class="header-wrapper">
147
- <div class="status-header">
148
- <span [textContent]="'STATE' | localize"></span>
149
- <co-transaction-line-statusbar class="status-bar-wrapper"
150
- [transactionInfo]="transactionInfo"
151
- [transactionLine]="transactionLine"
152
- [activeCategory]="transactionTypeCategory.PurchaseOrderOrderConfirmation"
153
- ></co-transaction-line-statusbar>
154
- </div>
155
- </div-->
156
- <div class="side-panel-input-row">
157
- <co-input-number-picker class="side-panel-input"
158
- [(model)]="docDeliveryBatch.docAmount"
159
- [decimals]="decimals"
160
- [disabled]="docDeliveryBatch.docAmount === 0 && maxDocAmount === 0"
161
- [min]="1"
162
- [max]="maxDocAmount"
163
- ></co-input-number-picker>
164
- <co-input-date class="side-panel-input"
165
- [placeholder]="'CONFIRMED_DATE' | localize"
166
- [(model)]="docDeliveryBatch.docDate"
167
- required
168
- ></co-input-date>
169
- <co-transaction-labeled-price-input class="side-panel-input"
170
- [(model)]="docDeliveryBatch.confirmedPrice"
171
- [defaultEditMode]="false"
172
- [placeholder]="'CONFIRMED_PRICE' | localize"
173
- [required]="true"
174
- ></co-transaction-labeled-price-input>
175
- </div>
176
- <div class="side-panel-input-row">
177
- <co-input-text class="side-panel-input"
178
- [(model)]="docDeliveryBatch.reference"
179
- [placeholder]="'REFERENCE' | localize"
180
- ></co-input-text>
181
- <co-input-text class="side-panel-input"
182
- [(model)]="docDeliveryBatch.deliveryBatch"
183
- (modelChange)="handleDeliveryBatchChange()"
184
- [placeholder]="'DELIVERY_BATCH' | localize"
185
- ></co-input-text>
186
- </div>
187
- </co-form-test>
188
- </ng-container>
189
- <ng-container *ngIf="showPurchaseConfirmation">
190
- <co-purchase-confirmation-lines
191
- [transaction]="transaction"
192
- ></co-purchase-confirmation-lines>
193
- </ng-container>
194
- <div class="save-cancel-wrapper">
195
- <co-button [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
196
- [disabled]="docDeliveryBatch.docAmount === 0 && maxDocAmount === 0"
197
- (click)="handleSaveDetailsEdit()"
198
- ></co-button>
199
- <co-button class="cancel-button"
200
- [iconData]="iconCacheService.getIcon(icons.Crossskinny)"
201
- (click)="handleCancelClick()"
202
- ></co-button>
145
+ <div class="confirmation-details-wrapper form-and-buttons">
146
+ <ng-container *ngIf="!showPurchaseConfirmationAI">
147
+ <co-form-test>
148
+ <!--div class="header-wrapper">
149
+ <div class="status-header">
150
+ <span [textContent]="'STATE' | localize"></span>
151
+ <co-transaction-line-statusbar class="status-bar-wrapper"
152
+ [transactionInfo]="transactionInfo"
153
+ [transactionLine]="transactionLine"
154
+ [activeCategory]="transactionTypeCategory.PurchaseOrderOrderConfirmation"
155
+ ></co-transaction-line-statusbar>
156
+ </div>
157
+ </div-->
158
+ <div class="side-panel-input-row">
159
+ <co-input-number-picker class="side-panel-input"
160
+ [(model)]="docDeliveryBatch.docAmount"
161
+ [decimals]="decimals"
162
+ [disabled]="docDeliveryBatch.docAmount === 0 && maxDocAmount === 0"
163
+ [min]="1"
164
+ [max]="maxDocAmount"
165
+ ></co-input-number-picker>
166
+ <co-input-date class="side-panel-input"
167
+ [placeholder]="'CONFIRMED_DATE' | localize"
168
+ [(model)]="docDeliveryBatch.docDate"
169
+ required
170
+ ></co-input-date>
171
+ <co-transaction-labeled-price-input class="side-panel-input"
172
+ [(model)]="docDeliveryBatch.confirmedPrice"
173
+ [defaultEditMode]="false"
174
+ [placeholder]="'CONFIRMED_PRICE' | localize"
175
+ [required]="true"
176
+ ></co-transaction-labeled-price-input>
177
+ </div>
178
+ <div class="side-panel-input-row">
179
+ <co-input-text class="side-panel-input"
180
+ [(model)]="docDeliveryBatch.reference"
181
+ [placeholder]="'REFERENCE' | localize"
182
+ ></co-input-text>
183
+ <co-input-text class="side-panel-input"
184
+ [(model)]="docDeliveryBatch.deliveryBatch"
185
+ (modelChange)="handleDeliveryBatchChange()"
186
+ [placeholder]="'DELIVERY_BATCH' | localize"
187
+ ></co-input-text>
188
+ </div>
189
+ </co-form-test>
190
+ </ng-container>
191
+ <ng-container *ngIf="showPurchaseConfirmationAI">
192
+ <co-purchase-confirmation-lines
193
+ [transaction]="transaction"
194
+ ></co-purchase-confirmation-lines>
195
+ </ng-container>
196
+ <ng-container *ngIf="!showPurchaseConfirmationAI">
197
+ <div class="save-cancel-wrapper">
198
+ <co-button [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
199
+ [disabled]="docDeliveryBatch.docAmount === 0 && maxDocAmount === 0"
200
+ (click)="handleSaveDetailsEdit()"
201
+ ></co-button>
202
+ <co-button class="cancel-button"
203
+ [iconData]="iconCacheService.getIcon(icons.Crossskinny)"
204
+ (click)="handleCancelClick()"
205
+ ></co-button>
206
+ </div>
207
+ </ng-container>
203
208
  </div>
204
- </div>
205
- <co-transaction-confirmation-history *ngIf="!showPurchaseConfirmation"
206
- [collection]="filteredDocBatchArray"
207
- (deleteRow)="handleDeleteHistoryRow($event)"
208
- (selectRow)="handleSelectHistoryRow($event)"
209
- ></co-transaction-confirmation-history>
209
+ <co-transaction-confirmation-history *ngIf="!showPurchaseConfirmationAI"
210
+ [collection]="filteredDocBatchArray"
211
+ (deleteRow)="handleDeleteHistoryRow($event)"
212
+ (selectRow)="handleSelectHistoryRow($event)"
213
+ ></co-transaction-confirmation-history>
210
214
  `,
211
215
  providers: [
212
216
  FormMasterService
@@ -227,4 +231,4 @@ TransactionLinePurchaseConfirmationComponent.ctorParameters = () => [
227
231
  TransactionLinePurchaseConfirmationComponent.propDecorators = {
228
232
  showClass: [{ type: HostBinding, args: ['class.co-transaction-line-purchase-confirmation',] }]
229
233
  };
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS1wdXJjaGFzZS1jb25maXJtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS1wdXJjaGFzZS1jb25maXJtYXRpb24vdHJhbnNhY3Rpb24tbGluZS1wdXJjaGFzZS1jb25maXJtYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBcUIsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDakYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFFNUYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFFbEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDN0csT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUE4RXhGLE1BQU0sT0FBTyw0Q0FBNkMsU0FBUSx3QkFBd0I7SUFleEYsWUFDVyx1QkFBZ0Qs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YUFDaEQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxHQUFHLENBQUM7YUFDbkQsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDWixnQkFBZ0IsR0FBRyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDUixJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLGdCQUFnQixDQUFDO1FBQ2pGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQztRQUM5RixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7WUFwTkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSwyQ0FBMkM7Z0JBQ3JELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvRVQ7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGlCQUFpQjtpQkFDbEI7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQW5GTyx1QkFBdUI7WUFDdkIsa0JBQWtCO1lBQ2xCLGdCQUFnQjtZQUNoQixxQ0FBcUM7WUFDckMsaUJBQWlCO1lBQ2pCLHVCQUF1QjtZQVp2QixpQkFBaUI7WUFhakIsMkJBQTJCOzs7d0JBaUZoQyxXQUFXLFNBQUMsaURBQWlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25EZXN0cm95LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkJhc2VDb21wb25lbnR9IGZyb20gJy4uL2NvcmUvYmFzZS90cmFuc2FjdGlvbi1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybU1hc3RlclNlcnZpY2V9IGZyb20gJ0Bjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTInO1xyXG5pbXBvcnQge0RvY0RlbGl2ZXJ5QmF0Y2h9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9kb2MtZGVsaXZlcnktYmF0Y2guYm8nO1xyXG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnl9IGZyb20gJy4uLy4uL2VudW0vdHJhbnNhY3Rpb24tdHlwZS1jYXRlZ29yeS5lbnVtJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkxpbmVJbmZvfSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdHJhbnNhY3Rpb24tbGluZS1pbmZvLmJvJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkV2ZW50U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2UnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tc2NyZWVuLWNvbmZpZ3VyYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7RGljdGlvbmFyeVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkltYWdlU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS90cmFuc2FjdGlvbi1pbWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtQdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvcHVyY2hhc2UtY29uZmlybWF0aW9uLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby10cmFuc2FjdGlvbi1saW5lLXB1cmNoYXNlLWNvbmZpcm1hdGlvbicsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJjb25maXJtYXRpb24tZGV0YWlscy13cmFwcGVyIGZvcm0tYW5kLWJ1dHRvbnNcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzaG93UHVyY2hhc2VDb25maXJtYXRpb25cIj5cclxuICAgICAgICA8Y28tZm9ybS10ZXN0PlxyXG4gICAgICAgICAgPCEtLWRpdiBjbGFzcz1cImhlYWRlci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidTVEFURScgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGluZS1zdGF0dXNiYXIgY2xhc3M9XCJzdGF0dXMtYmFyLXdyYXBwZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdHJhbnNhY3Rpb25JbmZvXT1cInRyYW5zYWN0aW9uSW5mb1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2FjdGl2ZUNhdGVnb3J5XT1cInRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5LlB1cmNoYXNlT3JkZXJPcmRlckNvbmZpcm1hdGlvblwiXHJcbiAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGluZS1zdGF0dXNiYXI+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXYtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLXBhbmVsLWlucHV0LXJvd1wiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtbnVtYmVyLXBpY2tlciBjbGFzcz1cInNpZGUtcGFuZWwtaW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJkb2NEZWxpdmVyeUJhdGNoLmRvY0Ftb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWNpbWFsc109XCJkZWNpbWFsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkb2NEZWxpdmVyeUJhdGNoLmRvY0Ftb3VudCA9PT0gMCAmJiBtYXhEb2NBbW91bnQgPT09IDBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWluXT1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF4XT1cIm1heERvY0Ftb3VudFwiXHJcbiAgICAgICAgICAgID48L2NvLWlucHV0LW51bWJlci1waWNrZXI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC1kYXRlIGNsYXNzPVwic2lkZS1wYW5lbC1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQ09ORklSTUVEX0RBVEUnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJkb2NEZWxpdmVyeUJhdGNoLmRvY0RhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxyXG4gICAgICAgICAgICA+PC9jby1pbnB1dC1kYXRlPlxyXG4gICAgICAgICAgICA8Y28tdHJhbnNhY3Rpb24tbGFiZWxlZC1wcmljZS1pbnB1dCBjbGFzcz1cInNpZGUtcGFuZWwtaW5wdXRcIlxyXG4gICAgICAgICAgICAgIFsobW9kZWwpXT1cImRvY0RlbGl2ZXJ5QmF0Y2guY29uZmlybWVkUHJpY2VcIlxyXG4gICAgICAgICAgICAgIFtkZWZhdWx0RWRpdE1vZGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQ09ORklSTUVEX1BSSUNFJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxhYmVsZWQtcHJpY2UtaW5wdXQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLXBhbmVsLWlucHV0LXJvd1wiPlxyXG4gICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IGNsYXNzPVwic2lkZS1wYW5lbC1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiZG9jRGVsaXZlcnlCYXRjaC5yZWZlcmVuY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUkVGRVJFTkNFJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgIDxjby1pbnB1dC10ZXh0IGNsYXNzPVwic2lkZS1wYW5lbC1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiZG9jRGVsaXZlcnlCYXRjaC5kZWxpdmVyeUJhdGNoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlRGVsaXZlcnlCYXRjaENoYW5nZSgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0RFTElWRVJZX0JBVENIJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9jby1mb3JtLXRlc3Q+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1B1cmNoYXNlQ29uZmlybWF0aW9uXCI+XHJcbiAgICAgICAgPGNvLXB1cmNoYXNlLWNvbmZpcm1hdGlvbi1saW5lc1xyXG4gICAgICAgICAgICBbdHJhbnNhY3Rpb25dPVwidHJhbnNhY3Rpb25cIlxyXG4gICAgICAgID48L2NvLXB1cmNoYXNlLWNvbmZpcm1hdGlvbi1saW5lcz5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzYXZlLWNhbmNlbC13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLWJ1dHRvbiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIlxyXG4gICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRvY0RlbGl2ZXJ5QmF0Y2guZG9jQW1vdW50ID09PSAwICYmIG1heERvY0Ftb3VudCA9PT0gMFwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlU2F2ZURldGFpbHNFZGl0KClcIlxyXG4gICAgICAgID48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2FuY2VsLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNyb3Nzc2tpbm55KVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ2FuY2VsQ2xpY2soKVwiXHJcbiAgICAgICAgPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGNvLXRyYW5zYWN0aW9uLWNvbmZpcm1hdGlvbi1oaXN0b3J5ICpuZ0lmPVwiIXNob3dQdXJjaGFzZUNvbmZpcm1hdGlvblwiXHJcbiAgICAgIFtjb2xsZWN0aW9uXT1cImZpbHRlcmVkRG9jQmF0Y2hBcnJheVwiXHJcbiAgICAgIChkZWxldGVSb3cpPVwiaGFuZGxlRGVsZXRlSGlzdG9yeVJvdygkZXZlbnQpXCJcclxuICAgICAgKHNlbGVjdFJvdyk9XCJoYW5kbGVTZWxlY3RIaXN0b3J5Um93KCRldmVudClcIlxyXG4gICAgPjwvY28tdHJhbnNhY3Rpb24tY29uZmlybWF0aW9uLWhpc3Rvcnk+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEZvcm1NYXN0ZXJTZXJ2aWNlXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkxpbmVQdXJjaGFzZUNvbmZpcm1hdGlvbkNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk6IHR5cGVvZiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeSA9IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5O1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXRyYW5zYWN0aW9uLWxpbmUtcHVyY2hhc2UtY29uZmlybWF0aW9uJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZG9jRGVsaXZlcnlCYXRjaDogRG9jRGVsaXZlcnlCYXRjaCA9IG5ldyBEb2NEZWxpdmVyeUJhdGNoKCk7XHJcbiAgcHVibGljIGZpbHRlcmVkRG9jQmF0Y2hBcnJheTogRG9jRGVsaXZlcnlCYXRjaFtdID0gW107XHJcbiAgcHVibGljIG1heERvY0Ftb3VudDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgc2hvd1B1cmNoYXNlQ29uZmlybWF0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgICBwdWJsaWMgdHJhbnNhY3Rpb25FdmVudFNlcnZpY2U6IFRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLFxyXG4gICAgICBwdWJsaWMgc2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gICAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgICAgcHVibGljIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsXHJcbiAgICAgIHByb3RlY3RlZCBkaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2UsXHJcbiAgICAgIHByb3RlY3RlZCBpbWFnZVNlcnZpY2U6IFRyYW5zYWN0aW9uSW1hZ2VTZXJ2aWNlLFxyXG4gICAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICBwcml2YXRlIF9wdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2U6IFB1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIodHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsIGljb25DYWNoZVNlcnZpY2UsIHRyYW5zYWN0aW9uU2NyZWVuQ29uZmlndXJhdGlvblNlcnZpY2UsIGltYWdlU2VydmljZSwgZGljdGlvbmFyeVNlcnZpY2UsIHNlcnZpY2UsIGNoYW5nZURldGVjdG9yKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLnRyYW5zYWN0aW9uRXZlbnRTZXJ2aWNlLnRyYW5zYWN0aW9uTGluZUNoYW5nZWQuc3Vic2NyaWJlKChsaW5lOiBUcmFuc2FjdGlvbkxpbmVJbmZvKSA9PiB7XHJcbiAgICAgICAgaWYgKGxpbmUubGluZU5yID09PSB0aGlzLnRyYW5zYWN0aW9uTGluZS5saW5lTnIpIHtcclxuICAgICAgICAgIHRoaXMuX3VwZGF0ZUJhdGNoQXJyYXkoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLFxyXG4gICAgICB0aGlzLl9wdXJjaGFzZUNvbmZpcm1hdGlvblNlcnZpY2UuY29uZmlybWF0aW9uTmVlZGVkLnN1YnNjcmliZSgobmVlZGVkOiBib29sZWFuKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zaG93UHVyY2hhc2VDb25maXJtYXRpb24gPSBuZWVkZWQ7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gICAgdGhpcy5faW5pdE5ld0RvY0RlbGl2ZXJ5QmF0Y2goKTtcclxuICAgIHRoaXMuX3VwZGF0ZUJhdGNoQXJyYXkoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU2F2ZURldGFpbHNFZGl0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuZG9jRGVsaXZlcnlCYXRjaC5kb2NBbW91bnQgJiYgdGhpcy5kb2NEZWxpdmVyeUJhdGNoLmNvbmZpcm1lZFByaWNlKSB7XHJcbiAgICAgIC8vIGNoZWNrIGlmIHRoZXJlIGlzIGEgY29ycmVzcG9uZGluZyBcIkcgcmVjb3JkXCJcclxuICAgICAgY29uc3QgZXhpc3RpbmdCYXRjaCA9IHRoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5kb2NCYXRjaEFycmF5LmZpbmQoYmEgPT4gYmEuZGVsaXZlcnlCYXRjaCA9PT0gdGhpcy5kb2NEZWxpdmVyeUJhdGNoLmRlbGl2ZXJ5QmF0Y2ggJiYgYmEuaGlzdG9yaWNhbCA9PT0gXCJHXCIpO1xyXG4gICAgICBpZiAoZXhpc3RpbmdCYXRjaCkgeyAvLyBjaGFuZ2UgdGhhdCBvbmVcclxuICAgICAgICBleGlzdGluZ0JhdGNoLmNvbmZpcm1lZFByaWNlID0gdGhpcy5kb2NEZWxpdmVyeUJhdGNoLmNvbmZpcm1lZFByaWNlO1xyXG4gICAgICAgIGV4aXN0aW5nQmF0Y2guZG9jQW1vdW50ID0gdGhpcy5kb2NEZWxpdmVyeUJhdGNoLmRvY0Ftb3VudDtcclxuICAgICAgICBleGlzdGluZ0JhdGNoLmRvY0RhdGUgPSB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2guZG9jRGF0ZTtcclxuICAgICAgICBleGlzdGluZ0JhdGNoLnJlZmVyZW5jZSA9IHRoaXMuZG9jRGVsaXZlcnlCYXRjaC5yZWZlcmVuY2U7XHJcbiAgICAgIH0gZWxzZSB7IC8vIG9yIGNyZWF0ZSBhIG5ldyBvbmVcclxuICAgICAgICB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2guZGVsZXRlTGluZSA9ICdGJztcclxuICAgICAgICB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2guaGlzdG9yaWNhbCA9ICdHJztcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuZG9jQmF0Y2hBcnJheS5wdXNoKHRoaXMuZG9jRGVsaXZlcnlCYXRjaCk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmRvY0tpbmQgPSAnSUInO1xyXG4gICAgICBjb25zdCBzdWNjZXNzOiBib29sZWFuID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UudXBkYXRlUHVyY2hhc2VQb3J0YWxMaW5lcyh0aGlzLnRyYW5zYWN0aW9uSW5mby5pZCwgdGhpcy50cmFuc2FjdGlvbkluZm8udmVyc2lvbiwgdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lKTtcclxuICAgICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgICB0aGlzLl9pbml0TmV3RG9jRGVsaXZlcnlCYXRjaCgpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlRGVsZXRlSGlzdG9yeVJvdyhyb3c6IERvY0RlbGl2ZXJ5QmF0Y2gpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJvdy5kZWxldGVMaW5lID0gJ1QnO1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmRvY0tpbmQgPSAnSUInO1xyXG4gICAgY29uc3Qgc3VjY2VzczogYm9vbGVhbiA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnVwZGF0ZVB1cmNoYXNlUG9ydGFsTGluZXModGhpcy50cmFuc2FjdGlvbkluZm8uaWQsIHRoaXMudHJhbnNhY3Rpb25JbmZvLnZlcnNpb24sIHRoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZSk7XHJcbiAgICBpZiAoc3VjY2Vzcykge1xyXG4gICAgICB0aGlzLl9pbml0TmV3RG9jRGVsaXZlcnlCYXRjaCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNlbGVjdEhpc3RvcnlSb3cocm93OiBEb2NEZWxpdmVyeUJhdGNoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2ggPSByb3c7XHJcbiAgICB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2guZG9jRGF0ZSA9IG5ldyBEYXRlKHJvdy5kb2NEYXRlKTtcclxuICAgIHRoaXMuX3NldE1heERvY0Ftb3VudCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNhbmNlbENsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5faW5pdE5ld0RvY0RlbGl2ZXJ5QmF0Y2goKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEZWxpdmVyeUJhdGNoQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fc2V0TWF4RG9jQW1vdW50KCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgdHJhbnNhY3Rpb25MaW5lU2V0KCkge1xyXG4gICAgc3VwZXIudHJhbnNhY3Rpb25MaW5lU2V0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91cGRhdGVCYXRjaEFycmF5KCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWx0ZXJlZERvY0JhdGNoQXJyYXkgPSB0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuZG9jQmF0Y2hBcnJheS5maWx0ZXIodmFsdWUgPT4gdmFsdWUuaGlzdG9yaWNhbC50b0xvd2VyQ2FzZSgpID09PSAnaCcgJiYgdmFsdWUuZG9jQW1vdW50ID49IDApO1xyXG4gICAgdGhpcy5fc2V0TWF4RG9jQW1vdW50KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRNYXhEb2NBbW91bnQoKTogdm9pZCB7XHJcbiAgICBsZXQgYWxyZWFkeUNvbmZpcm1lZDogbnVtYmVyID0gMDtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5kb2NCYXRjaEFycmF5XHJcbiAgICAgICAgLmZpbHRlcihkYmEgPT4gZGJhLmhpc3RvcmljYWwudG9Mb3dlckNhc2UoKSA9PT0gJ2cnKVxyXG4gICAgICAgIC5mb3JFYWNoKChkID0+IHtcclxuICAgICAgICAgIGFscmVhZHlDb25maXJtZWQgPSBhbHJlYWR5Q29uZmlybWVkICsgZC5kb2NBbW91bnQ7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgYWxyZWFkeUNvbmZpcm1lZCA9IGFscmVhZHlDb25maXJtZWQgLSB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2guZG9jQW1vdW50O1xyXG4gICAgY29uc3QgZXhpc3RpbmdHcm91cFJlY29yZDogRG9jRGVsaXZlcnlCYXRjaCA9IHRoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5kb2NCYXRjaEFycmF5LmZpbmQoXHJcbiAgICAgICAgdmFsdWUgPT4gdmFsdWUuaGlzdG9yaWNhbC50b0xvd2VyQ2FzZSgpID09PSAnZycgJiYgdmFsdWUuZGVsaXZlcnlCYXRjaCA9PT0gdGhpcy5kb2NEZWxpdmVyeUJhdGNoLmRlbGl2ZXJ5QmF0Y2gpO1xyXG4gICAgaWYgKGV4aXN0aW5nR3JvdXBSZWNvcmQpIHtcclxuICAgICAgdGhpcy5tYXhEb2NBbW91bnQgPSBNYXRoLm1pbih0aGlzLnRyYW5zYWN0aW9uTGluZS5hbW91bnQgLSBhbHJlYWR5Q29uZmlybWVkLCBleGlzdGluZ0dyb3VwUmVjb3JkLmRvY0Ftb3VudCArIGV4aXN0aW5nR3JvdXBSZWNvcmQuYW1vdW50Tm90Q29uZmlybWVkKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgdGhpcy5tYXhEb2NBbW91bnQgPSBNYXRoLm1pbih0aGlzLnRyYW5zYWN0aW9uTGluZS5hbW91bnQgLSBhbHJlYWR5Q29uZmlybWVkLCArdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmFtb3VudE9yZGVyZWQgLSArdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmFtb3VudENvbmZpcm1lZCk7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICB0aGlzLm1heERvY0Ftb3VudCA9IE1hdGgubWluKHRoaXMudHJhbnNhY3Rpb25MaW5lLmFtb3VudCAtIGFscmVhZHlDb25maXJtZWQsICt0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuYW1vdW50T3JkZXJlZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXROZXdEb2NEZWxpdmVyeUJhdGNoKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kb2NEZWxpdmVyeUJhdGNoID0gbmV3IERvY0RlbGl2ZXJ5QmF0Y2goKTtcclxuICAgIGxldCBhbHJlYWR5Q29uZmlybWVkOiBudW1iZXIgPSAwO1xyXG4gICAgdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmRvY0JhdGNoQXJyYXlcclxuICAgICAgICAuZmlsdGVyKGRiYSA9PiBkYmEuaGlzdG9yaWNhbC50b0xvd2VyQ2FzZSgpID09PSAnZycpXHJcbiAgICAgICAgLmZvckVhY2goKGQgPT4ge1xyXG4gICAgICAgICAgYWxyZWFkeUNvbmZpcm1lZCA9IGFscmVhZHlDb25maXJtZWQgKyBkLmRvY0Ftb3VudDtcclxuICAgICAgICB9KSk7XHJcbiAgICB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2guZG9jQW1vdW50ID0gdGhpcy50cmFuc2FjdGlvbkxpbmUuYW1vdW50IC0gYWxyZWFkeUNvbmZpcm1lZDtcclxuICAgIHRoaXMuZG9jRGVsaXZlcnlCYXRjaC5jb25maXJtZWRQcmljZSA9ICt0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUubmV0T3JkZXJQcmljZTtcclxuICAgIHRoaXMuX3NldE1heERvY0Ftb3VudCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
234
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24tbGluZS1wdXJjaGFzZS1jb25maXJtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvdHJhbnNhY3Rpb24tbGluZS1wdXJjaGFzZS1jb25maXJtYXRpb24vdHJhbnNhY3Rpb24tbGluZS1wdXJjaGFzZS1jb25maXJtYXRpb24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBcUIsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDakYsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNERBQTRELENBQUM7QUFFNUYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMkNBQTJDLENBQUM7QUFFbEYsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLHFDQUFxQyxFQUFDLE1BQU0sd0RBQXdELENBQUM7QUFDN0csT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sNkNBQTZDLENBQUM7QUFnRnhGLE1BQU0sT0FBTyw0Q0FBNkMsU0FBUSx3QkFBd0I7SUFleEYsWUFDVyx1QkFBZ0Qs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IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25CYXNlQ29tcG9uZW50fSBmcm9tICcuLi9jb3JlL2Jhc2UvdHJhbnNhY3Rpb24tYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1NYXN0ZXJTZXJ2aWNlfSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtEb2NEZWxpdmVyeUJhdGNofSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZG9jLWRlbGl2ZXJ5LWJhdGNoLmJvJztcclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uVHlwZUNhdGVnb3J5fSBmcm9tICcuLi8uLi9lbnVtL3RyYW5zYWN0aW9uLXR5cGUtY2F0ZWdvcnkuZW51bSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25MaW5lSW5mb30gZnJvbSAnQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3RyYW5zYWN0aW9uLWxpbmUtaW5mby5ibyc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25FdmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNjcmVlbkNvbmZpZ3VyYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLXNjcmVlbi1jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0RpY3Rpb25hcnlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2RpY3Rpb25hcnkuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbWFnZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24taW1hZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7UHVyY2hhc2VDb25maXJtYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3B1cmNoYXNlLWNvbmZpcm1hdGlvbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tdHJhbnNhY3Rpb24tbGluZS1wdXJjaGFzZS1jb25maXJtYXRpb24nLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb25maXJtYXRpb24tZGV0YWlscy13cmFwcGVyIGZvcm0tYW5kLWJ1dHRvbnNcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2hvd1B1cmNoYXNlQ29uZmlybWF0aW9uQUlcIj5cclxuICAgICAgICAgICAgICA8Y28tZm9ybS10ZXN0PlxyXG4gICAgICAgICAgICAgICAgICA8IS0tZGl2IGNsYXNzPVwiaGVhZGVyLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLWhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidTVEFURScgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1saW5lLXN0YXR1c2JhciBjbGFzcz1cInN0YXR1cy1iYXItd3JhcHBlclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uSW5mb109XCJ0cmFuc2FjdGlvbkluZm9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt0cmFuc2FjdGlvbkxpbmVdPVwidHJhbnNhY3Rpb25MaW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWN0aXZlQ2F0ZWdvcnldPVwidHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnkuUHVyY2hhc2VPcmRlck9yZGVyQ29uZmlybWF0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgID48L2NvLXRyYW5zYWN0aW9uLWxpbmUtc3RhdHVzYmFyPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdi0tPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZS1wYW5lbC1pbnB1dC1yb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1udW1iZXItcGlja2VyIGNsYXNzPVwic2lkZS1wYW5lbC1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJkb2NEZWxpdmVyeUJhdGNoLmRvY0Ftb3VudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVjaW1hbHNdPVwiZGVjaW1hbHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRvY0RlbGl2ZXJ5QmF0Y2guZG9jQW1vdW50ID09PSAwICYmIG1heERvY0Ftb3VudCA9PT0gMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWluXT1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21heF09XCJtYXhEb2NBbW91bnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtbnVtYmVyLXBpY2tlcj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby1pbnB1dC1kYXRlIGNsYXNzPVwic2lkZS1wYW5lbC1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0NPTkZJUk1FRF9EQVRFJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImRvY0RlbGl2ZXJ5QmF0Y2guZG9jRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICAgICAgPjwvY28taW5wdXQtZGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby10cmFuc2FjdGlvbi1sYWJlbGVkLXByaWNlLWlucHV0IGNsYXNzPVwic2lkZS1wYW5lbC1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG1vZGVsKV09XCJkb2NEZWxpdmVyeUJhdGNoLmNvbmZpcm1lZFByaWNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0RWRpdE1vZGVdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidDT05GSVJNRURfUFJJQ0UnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgPjwvY28tdHJhbnNhY3Rpb24tbGFiZWxlZC1wcmljZS1pbnB1dD5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLXBhbmVsLWlucHV0LXJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLWlucHV0LXRleHQgY2xhc3M9XCJzaWRlLXBhbmVsLWlucHV0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cImRvY0RlbGl2ZXJ5QmF0Y2gucmVmZXJlbmNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInUkVGRVJFTkNFJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8Y28taW5wdXQtdGV4dCBjbGFzcz1cInNpZGUtcGFuZWwtaW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwiZG9jRGVsaXZlcnlCYXRjaC5kZWxpdmVyeUJhdGNoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVEZWxpdmVyeUJhdGNoQ2hhbmdlKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidERUxJVkVSWV9CQVRDSCcgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICA+PC9jby1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2NvLWZvcm0tdGVzdD5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dQdXJjaGFzZUNvbmZpcm1hdGlvbkFJXCI+XHJcbiAgICAgICAgICAgICAgPGNvLXB1cmNoYXNlLWNvbmZpcm1hdGlvbi1saW5lc1xyXG4gICAgICAgICAgICAgICAgICAgICAgW3RyYW5zYWN0aW9uXT1cInRyYW5zYWN0aW9uXCJcclxuICAgICAgICAgICAgICA+PC9jby1wdXJjaGFzZS1jb25maXJtYXRpb24tbGluZXM+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc2hvd1B1cmNoYXNlQ29uZmlybWF0aW9uQUlcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2F2ZS1jYW5jZWwtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRvY0RlbGl2ZXJ5QmF0Y2guZG9jQW1vdW50ID09PSAwICYmIG1heERvY0Ftb3VudCA9PT0gMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVNhdmVEZXRhaWxzRWRpdCgpXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2FuY2VsLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5Dcm9zc3NraW5ueSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDYW5jZWxDbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY28tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8Y28tdHJhbnNhY3Rpb24tY29uZmlybWF0aW9uLWhpc3RvcnkgKm5nSWY9XCIhc2hvd1B1cmNoYXNlQ29uZmlybWF0aW9uQUlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbGxlY3Rpb25dPVwiZmlsdGVyZWREb2NCYXRjaEFycmF5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWxldGVSb3cpPVwiaGFuZGxlRGVsZXRlSGlzdG9yeVJvdygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZWxlY3RSb3cpPVwiaGFuZGxlU2VsZWN0SGlzdG9yeVJvdygkZXZlbnQpXCJcclxuICAgICAgPjwvY28tdHJhbnNhY3Rpb24tY29uZmlybWF0aW9uLWhpc3Rvcnk+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIEZvcm1NYXN0ZXJTZXJ2aWNlXHJcbiAgXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkxpbmVQdXJjaGFzZUNvbmZpcm1hdGlvbkNvbXBvbmVudCBleHRlbmRzIFRyYW5zYWN0aW9uQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgdHJhbnNhY3Rpb25UeXBlQ2F0ZWdvcnk6IHR5cGVvZiBUcmFuc2FjdGlvblR5cGVDYXRlZ29yeSA9IFRyYW5zYWN0aW9uVHlwZUNhdGVnb3J5O1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLXRyYW5zYWN0aW9uLWxpbmUtcHVyY2hhc2UtY29uZmlybWF0aW9uJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZG9jRGVsaXZlcnlCYXRjaDogRG9jRGVsaXZlcnlCYXRjaCA9IG5ldyBEb2NEZWxpdmVyeUJhdGNoKCk7XHJcbiAgcHVibGljIGZpbHRlcmVkRG9jQmF0Y2hBcnJheTogRG9jRGVsaXZlcnlCYXRjaFtdID0gW107XHJcbiAgcHVibGljIG1heERvY0Ftb3VudDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgc2hvd1B1cmNoYXNlQ29uZmlybWF0aW9uQUk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAgIHB1YmxpYyB0cmFuc2FjdGlvbkV2ZW50U2VydmljZTogVHJhbnNhY3Rpb25FdmVudFNlcnZpY2UsXHJcbiAgICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXHJcbiAgICAgIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgICBwdWJsaWMgdHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSxcclxuICAgICAgcHJvdGVjdGVkIGRpY3Rpb25hcnlTZXJ2aWNlOiBEaWN0aW9uYXJ5U2VydmljZSxcclxuICAgICAgcHJvdGVjdGVkIGltYWdlU2VydmljZTogVHJhbnNhY3Rpb25JbWFnZVNlcnZpY2UsXHJcbiAgICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgIHByaXZhdGUgX3B1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZTogUHVyY2hhc2VDb25maXJtYXRpb25TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcih0cmFuc2FjdGlvbkV2ZW50U2VydmljZSwgaWNvbkNhY2hlU2VydmljZSwgdHJhbnNhY3Rpb25TY3JlZW5Db25maWd1cmF0aW9uU2VydmljZSwgaW1hZ2VTZXJ2aWNlLCBkaWN0aW9uYXJ5U2VydmljZSwgc2VydmljZSwgY2hhbmdlRGV0ZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLl9zdWJzLnB1c2goXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2UudHJhbnNhY3Rpb25MaW5lQ2hhbmdlZC5zdWJzY3JpYmUoKGxpbmU6IFRyYW5zYWN0aW9uTGluZUluZm8pID0+IHtcclxuICAgICAgICBpZiAobGluZS5saW5lTnIgPT09IHRoaXMudHJhbnNhY3Rpb25MaW5lLmxpbmVOcikge1xyXG4gICAgICAgICAgdGhpcy5fdXBkYXRlQmF0Y2hBcnJheSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25FdmVudFNlcnZpY2Uub3JkZXJDb25maXJtYXRpb25SZXNldC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuc2hvd1B1cmNoYXNlQ29uZmlybWF0aW9uQUkgPSBmYWxzZTtcclxuICAgICAgfSksXHJcbiAgICAgIHRoaXMuX3B1cmNoYXNlQ29uZmlybWF0aW9uU2VydmljZS5jb25maXJtYXRpb25OZWVkZWQuc3Vic2NyaWJlKChuZWVkZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICB0aGlzLnNob3dQdXJjaGFzZUNvbmZpcm1hdGlvbkFJID0gbmVlZGVkO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHRoaXMuX2luaXROZXdEb2NEZWxpdmVyeUJhdGNoKCk7XHJcbiAgICB0aGlzLl91cGRhdGVCYXRjaEFycmF5KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XHJcbiAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVNhdmVEZXRhaWxzRWRpdCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2guZG9jQW1vdW50ICYmIHRoaXMuZG9jRGVsaXZlcnlCYXRjaC5jb25maXJtZWRQcmljZSkge1xyXG4gICAgICAvLyBjaGVjayBpZiB0aGVyZSBpcyBhIGNvcnJlc3BvbmRpbmcgXCJHIHJlY29yZFwiXHJcbiAgICAgIGNvbnN0IGV4aXN0aW5nQmF0Y2ggPSB0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuZG9jQmF0Y2hBcnJheS5maW5kKGJhID0+IGJhLmRlbGl2ZXJ5QmF0Y2ggPT09IHRoaXMuZG9jRGVsaXZlcnlCYXRjaC5kZWxpdmVyeUJhdGNoICYmIGJhLmhpc3RvcmljYWwgPT09IFwiR1wiKTtcclxuICAgICAgaWYgKGV4aXN0aW5nQmF0Y2gpIHsgLy8gY2hhbmdlIHRoYXQgb25lXHJcbiAgICAgICAgZXhpc3RpbmdCYXRjaC5jb25maXJtZWRQcmljZSA9IHRoaXMuZG9jRGVsaXZlcnlCYXRjaC5jb25maXJtZWRQcmljZTtcclxuICAgICAgICBleGlzdGluZ0JhdGNoLmRvY0Ftb3VudCA9IHRoaXMuZG9jRGVsaXZlcnlCYXRjaC5kb2NBbW91bnQ7XHJcbiAgICAgICAgZXhpc3RpbmdCYXRjaC5kb2NEYXRlID0gdGhpcy5kb2NEZWxpdmVyeUJhdGNoLmRvY0RhdGU7XHJcbiAgICAgICAgZXhpc3RpbmdCYXRjaC5yZWZlcmVuY2UgPSB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2gucmVmZXJlbmNlO1xyXG4gICAgICB9IGVsc2UgeyAvLyBvciBjcmVhdGUgYSBuZXcgb25lXHJcbiAgICAgICAgdGhpcy5kb2NEZWxpdmVyeUJhdGNoLmRlbGV0ZUxpbmUgPSAnRic7XHJcbiAgICAgICAgdGhpcy5kb2NEZWxpdmVyeUJhdGNoLmhpc3RvcmljYWwgPSAnRyc7XHJcbiAgICAgICAgdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmRvY0JhdGNoQXJyYXkucHVzaCh0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2gpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5kb2NLaW5kID0gJ0lCJztcclxuICAgICAgY29uc3Qgc3VjY2VzczogYm9vbGVhbiA9IGF3YWl0IHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnVwZGF0ZVB1cmNoYXNlUG9ydGFsTGluZXModGhpcy50cmFuc2FjdGlvbkluZm8uaWQsIHRoaXMudHJhbnNhY3Rpb25JbmZvLnZlcnNpb24sIHRoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZSk7XHJcbiAgICAgIGlmIChzdWNjZXNzKSB7XHJcbiAgICAgICAgdGhpcy5faW5pdE5ld0RvY0RlbGl2ZXJ5QmF0Y2goKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZURlbGV0ZUhpc3RvcnlSb3cocm93OiBEb2NEZWxpdmVyeUJhdGNoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByb3cuZGVsZXRlTGluZSA9ICdUJztcclxuICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5kb2NLaW5kID0gJ0lCJztcclxuICAgIGNvbnN0IHN1Y2Nlc3M6IGJvb2xlYW4gPSBhd2FpdCB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS51cGRhdGVQdXJjaGFzZVBvcnRhbExpbmVzKHRoaXMudHJhbnNhY3Rpb25JbmZvLmlkLCB0aGlzLnRyYW5zYWN0aW9uSW5mby52ZXJzaW9uLCB0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUpO1xyXG4gICAgaWYgKHN1Y2Nlc3MpIHtcclxuICAgICAgdGhpcy5faW5pdE5ld0RvY0RlbGl2ZXJ5QmF0Y2goKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZWxlY3RIaXN0b3J5Um93KHJvdzogRG9jRGVsaXZlcnlCYXRjaCk6IHZvaWQge1xyXG4gICAgdGhpcy5kb2NEZWxpdmVyeUJhdGNoID0gcm93O1xyXG4gICAgdGhpcy5kb2NEZWxpdmVyeUJhdGNoLmRvY0RhdGUgPSBuZXcgRGF0ZShyb3cuZG9jRGF0ZSk7XHJcbiAgICB0aGlzLl9zZXRNYXhEb2NBbW91bnQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDYW5jZWxDbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuX2luaXROZXdEb2NEZWxpdmVyeUJhdGNoKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGVsaXZlcnlCYXRjaENoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3NldE1heERvY0Ftb3VudCgpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHRyYW5zYWN0aW9uTGluZVNldCgpIHtcclxuICAgIHN1cGVyLnRyYW5zYWN0aW9uTGluZVNldCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdXBkYXRlQmF0Y2hBcnJheSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsdGVyZWREb2NCYXRjaEFycmF5ID0gdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmRvY0JhdGNoQXJyYXkuZmlsdGVyKHZhbHVlID0+IHZhbHVlLmhpc3RvcmljYWwudG9Mb3dlckNhc2UoKSA9PT0gJ2gnICYmIHZhbHVlLmRvY0Ftb3VudCA+PSAwKTtcclxuICAgIHRoaXMuX3NldE1heERvY0Ftb3VudCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2V0TWF4RG9jQW1vdW50KCk6IHZvaWQge1xyXG4gICAgbGV0IGFscmVhZHlDb25maXJtZWQ6IG51bWJlciA9IDA7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuZG9jQmF0Y2hBcnJheVxyXG4gICAgICAgIC5maWx0ZXIoZGJhID0+IGRiYS5oaXN0b3JpY2FsLnRvTG93ZXJDYXNlKCkgPT09ICdnJylcclxuICAgICAgICAuZm9yRWFjaCgoZCA9PiB7XHJcbiAgICAgICAgICBhbHJlYWR5Q29uZmlybWVkID0gYWxyZWFkeUNvbmZpcm1lZCArIGQuZG9jQW1vdW50O1xyXG4gICAgICAgIH0pKTtcclxuICAgIGFscmVhZHlDb25maXJtZWQgPSBhbHJlYWR5Q29uZmlybWVkIC0gdGhpcy5kb2NEZWxpdmVyeUJhdGNoLmRvY0Ftb3VudDtcclxuICAgIGNvbnN0IGV4aXN0aW5nR3JvdXBSZWNvcmQ6IERvY0RlbGl2ZXJ5QmF0Y2ggPSB0aGlzLnRyYW5zYWN0aW9uTGluZS5wdXJjaGFzZVBvcnRhbExpbmUuZG9jQmF0Y2hBcnJheS5maW5kKFxyXG4gICAgICAgIHZhbHVlID0+IHZhbHVlLmhpc3RvcmljYWwudG9Mb3dlckNhc2UoKSA9PT0gJ2cnICYmIHZhbHVlLmRlbGl2ZXJ5QmF0Y2ggPT09IHRoaXMuZG9jRGVsaXZlcnlCYXRjaC5kZWxpdmVyeUJhdGNoKTtcclxuICAgIGlmIChleGlzdGluZ0dyb3VwUmVjb3JkKSB7XHJcbiAgICAgIHRoaXMubWF4RG9jQW1vdW50ID0gTWF0aC5taW4odGhpcy50cmFuc2FjdGlvbkxpbmUuYW1vdW50IC0gYWxyZWFkeUNvbmZpcm1lZCwgZXhpc3RpbmdHcm91cFJlY29yZC5kb2NBbW91bnQgKyBleGlzdGluZ0dyb3VwUmVjb3JkLmFtb3VudE5vdENvbmZpcm1lZCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHRoaXMubWF4RG9jQW1vdW50ID0gTWF0aC5taW4odGhpcy50cmFuc2FjdGlvbkxpbmUuYW1vdW50IC0gYWxyZWFkeUNvbmZpcm1lZCwgK3RoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5hbW91bnRPcmRlcmVkIC0gK3RoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5hbW91bnRDb25maXJtZWQpO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgdGhpcy5tYXhEb2NBbW91bnQgPSBNYXRoLm1pbih0aGlzLnRyYW5zYWN0aW9uTGluZS5hbW91bnQgLSBhbHJlYWR5Q29uZmlybWVkLCArdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLmFtb3VudE9yZGVyZWQpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9pbml0TmV3RG9jRGVsaXZlcnlCYXRjaCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZG9jRGVsaXZlcnlCYXRjaCA9IG5ldyBEb2NEZWxpdmVyeUJhdGNoKCk7XHJcbiAgICBsZXQgYWxyZWFkeUNvbmZpcm1lZDogbnVtYmVyID0gMDtcclxuICAgIHRoaXMudHJhbnNhY3Rpb25MaW5lLnB1cmNoYXNlUG9ydGFsTGluZS5kb2NCYXRjaEFycmF5XHJcbiAgICAgICAgLmZpbHRlcihkYmEgPT4gZGJhLmhpc3RvcmljYWwudG9Mb3dlckNhc2UoKSA9PT0gJ2cnKVxyXG4gICAgICAgIC5mb3JFYWNoKChkID0+IHtcclxuICAgICAgICAgIGFscmVhZHlDb25maXJtZWQgPSBhbHJlYWR5Q29uZmlybWVkICsgZC5kb2NBbW91bnQ7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgdGhpcy5kb2NEZWxpdmVyeUJhdGNoLmRvY0Ftb3VudCA9IHRoaXMudHJhbnNhY3Rpb25MaW5lLmFtb3VudCAtIGFscmVhZHlDb25maXJtZWQ7XHJcbiAgICB0aGlzLmRvY0RlbGl2ZXJ5QmF0Y2guY29uZmlybWVkUHJpY2UgPSArdGhpcy50cmFuc2FjdGlvbkxpbmUucHVyY2hhc2VQb3J0YWxMaW5lLm5ldE9yZGVyUHJpY2U7XHJcbiAgICB0aGlzLl9zZXRNYXhEb2NBbW91bnQoKTtcclxuICB9XHJcbn1cclxuIl19