@colijnit/transaction 12.1.142 → 12.1.143

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 (62) hide show
  1. package/bundles/colijnit-transaction.umd.js +516 -314
  2. package/bundles/colijnit-transaction.umd.js.map +1 -1
  3. package/colijnit-transaction.d.ts +78 -78
  4. package/colijnit-transaction.metadata.json +1 -1
  5. package/esm2015/colijnit-transaction.js +79 -79
  6. package/esm2015/lib/component/add-product/add-product.component.js +31 -2
  7. package/esm2015/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.js +152 -20
  8. package/esm2015/lib/component/checkout/checkout.module.js +4 -2
  9. package/esm2015/lib/component/confirmation-dialog/confirmation-dialog.component.js +10 -4
  10. package/esm2015/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.js +7 -2
  11. package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.js +63 -13
  12. package/esm2015/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.module.js +5 -3
  13. package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-branch/dialog-transaction-header-branch.component.js +7 -2
  14. package/esm2015/lib/component/dialog/transaction-header/dialog-transaction-header-delivery-method/dialog-transaction-header-delivery-method.component.js +7 -2
  15. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-delivery-method/dialog-transaction-line-delivery-method.component.js +7 -2
  16. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-supplier/dialog-transaction-line-supplier.component.js +7 -2
  17. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-vat/dialog-transaction-line-vat.component.js +7 -2
  18. package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.js +7 -2
  19. package/esm2015/lib/component/relation/relation-address/relation-address.component.js +35 -12
  20. package/esm2015/lib/component/relation/relation-addresses/relation-addresses.component.js +12 -4
  21. package/esm2015/lib/component/relation/relation-base.component.js +8 -5
  22. package/esm2015/lib/component/relation/relation-contact-details/relation-contact-details.component.js +28 -3
  23. package/esm2015/lib/component/relation/relation-general/relation-general.component.js +27 -113
  24. package/esm2015/lib/component/relation/relation-general/relation-general.module.js +6 -8
  25. package/esm2015/lib/component/shared/transaction-article-text/transaction-article-text.component.js +8 -3
  26. package/esm2015/lib/component/transaction-line-side-panel/transaction-line-side-panel.component.js +2 -2
  27. package/esm2015/lib/component/transaction-lines/transaction-lines.component.js +2 -2
  28. package/esm2015/lib/interface/relation-suggestions-request.interface.js +2 -0
  29. package/esm2015/lib/res/dictionary/dictionaries.js +2 -2
  30. package/esm2015/lib/service/article-connector.service.js +20 -4
  31. package/esm2015/lib/service/pending-reason.service.js +3 -3
  32. package/esm2015/lib/service/transaction-connector-adapter.service.js +5 -5
  33. package/esm2015/lib/service/transaction-connector.service.js +3 -3
  34. package/esm2015/lib/service/transaction.service.js +14 -3
  35. package/esm2015/lib/transaction-version.js +3 -3
  36. package/fesm2015/colijnit-transaction.js +516 -262
  37. package/fesm2015/colijnit-transaction.js.map +1 -1
  38. package/lib/component/add-product/add-product.component.d.ts +1 -0
  39. package/lib/component/checkout/checkout-overview-relation-edit/checkout-overview-relation-edit.component.d.ts +31 -14
  40. package/lib/component/checkout/checkout-overview-relation-edit/style/_layout.scss +16 -0
  41. package/lib/component/checkout/checkout-overview-relation-edit/style/_material-definition.scss +8 -0
  42. package/lib/component/core/base/components/characteristic-answer/characteristic-answer.component.d.ts +3 -2
  43. package/lib/component/dialog/catalog/dialog-catalog/dialog-catalog.component.d.ts +9 -0
  44. package/lib/component/dialog/catalog/dialog-catalog/style/_layout.scss +19 -0
  45. package/lib/component/dialog/catalog/dialog-catalog/style/_material-definition.scss +2 -1
  46. package/lib/component/relation/relation-address/relation-address.component.d.ts +10 -7
  47. package/lib/component/relation/relation-addresses/relation-addresses.component.d.ts +3 -1
  48. package/lib/component/relation/relation-base.component.d.ts +7 -4
  49. package/lib/component/relation/relation-contact-details/relation-contact-details.component.d.ts +3 -0
  50. package/lib/component/relation/relation-general/relation-general.component.d.ts +0 -10
  51. package/lib/component/relation/relation-general/style/_layout.scss +0 -16
  52. package/lib/component/relation/relation-general/style/_material-definition.scss +0 -7
  53. package/lib/component/shared/transaction-article-text/style/_layout.scss +3 -2
  54. package/lib/component/transaction-header/transaction-header-popup/style/_layout.scss +3 -0
  55. package/lib/interface/relation-suggestions-request.interface.d.ts +13 -0
  56. package/lib/res/dictionary/dictionaries.d.ts +1 -0
  57. package/lib/service/article-connector.service.d.ts +5 -1
  58. package/lib/service/pending-reason.service.d.ts +1 -1
  59. package/lib/service/transaction-connector-adapter.service.d.ts +13 -13
  60. package/lib/service/transaction-connector.service.d.ts +12 -12
  61. package/lib/service/transaction.service.d.ts +14 -12
  62. package/package.json +1 -1
@@ -13,7 +13,9 @@ export class AddProductComponent {
13
13
  searchOnStart: true,
14
14
  showAddToCart: false,
15
15
  showLookAtArticleButton: false,
16
- showAddArticleButton: false
16
+ showAddArticleButton: true,
17
+ createWebOrder: false,
18
+ onlyThreeD: false
17
19
  };
18
20
  this.catalogParameters = {};
19
21
  this.showCatalog = false;
@@ -43,6 +45,32 @@ export class AddProductComponent {
43
45
  return yield this._transactionService.addArticle(sku, this.return ? -1 : 1);
44
46
  });
45
47
  }
48
+ handleAddArticleClick(jsonArticleTree) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ this.showCatalog = false;
51
+ if (jsonArticleTree) {
52
+ const articleTreeData = JSON.parse(jsonArticleTree);
53
+ if (articleTreeData.articleTree && articleTreeData.articleTree.article) {
54
+ if (articleTreeData.articleTree.compositeGoods && Array.isArray(articleTreeData.articleTree.compositeGoods) &&
55
+ articleTreeData.articleTree.compositeGoods.length > 0 && articleTreeData.articleTree.subArticles && Array.isArray(articleTreeData.articleTree.subArticles)) {
56
+ const compositeGoods = articleTreeData.articleTree.compositeGoods;
57
+ compositeGoods.sort((a, b) => a.versionNumber < b.versionNumber ? -1 : 1);
58
+ for (let i = 0; i < compositeGoods.length; i++) {
59
+ const lastArticle = i === compositeGoods.length - 1;
60
+ const good = compositeGoods[i];
61
+ const subArticle = articleTreeData.articleTree.subArticles.find(s => s.goodId === good.memberGoodId);
62
+ if (subArticle) {
63
+ yield this._transactionService.addArticle(subArticle.articleNumber, good.quantity, 0, 0, lastArticle);
64
+ }
65
+ }
66
+ }
67
+ else {
68
+ yield this._transactionService.addArticle(articleTreeData.articleTree.article.articleNumber, 1);
69
+ }
70
+ }
71
+ }
72
+ });
73
+ }
46
74
  handleCatalogArticleClick(article) {
47
75
  return __awaiter(this, void 0, void 0, function* () {
48
76
  yield this.handleAddArticle(article.articleNumber);
@@ -86,6 +114,7 @@ AddProductComponent.decorators = [
86
114
  [showNavigation]="true"
87
115
  (closeClick)="showCatalog = false"
88
116
  (articleClicked)="handleCatalogArticleClick($event)"
117
+ (addArticleClicked)="handleAddArticleClick($event)"
89
118
  >
90
119
  </co-dialog-catalog>
91
120
  `,
@@ -100,4 +129,4 @@ AddProductComponent.propDecorators = {
100
129
  showClass: [{ type: HostBinding, args: ["class.co-add-product",] }],
101
130
  return: [{ type: HostBinding, args: ["class.return",] }]
102
131
  };
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXByb2R1Y3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvYWRkLXByb2R1Y3QvYWRkLXByb2R1Y3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUE4QnJFLE1BQU0sT0FBTyxtQkFBbUI7SUF3QjlCLFlBQ1csV0FBNkIsRUFDNUIsbUJBQXVDO1FBRHhDLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM1Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBekJuQyxVQUFLLEdBQWdCLElBQUksQ0FBQztRQVFuQyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBRXhCLG1CQUFjLEdBQVE7WUFDM0IsYUFBYSxFQUFFLElBQUk7WUFDbkIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsdUJBQXVCLEVBQUUsS0FBSztZQUM5QixvQkFBb0IsRUFBRSxLQUFLO1NBQzVCLENBQUM7UUFDSyxzQkFBaUIsR0FBUSxFQUFFLENBQUM7UUFDNUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUV4QixpQkFBWSxHQUFhLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDOUUsZ0JBQVcsR0FBYSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFNckYsQ0FBQztJQXhCTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBd0JZLFlBQVksQ0FBQyxJQUFZOztZQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN2QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUM5QixnREFBZ0Q7WUFDaEQsTUFBTSxhQUFhLEdBQW1CLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUN6RyxJQUFJLGFBQWEsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDL0MsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQzdEO2lCQUFNLEVBQUUsd0JBQXdCO2dCQUMvQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQzthQUMxQjtRQUNILENBQUM7S0FBQTtJQUVZLGdCQUFnQixDQUFDLEdBQVc7O1lBQ3ZDLE9BQU8sTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUUsQ0FBQztLQUFBO0lBRVkseUJBQXlCLENBQUMsT0FBd0I7O1lBQzdELE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUMzQixDQUFDO0tBQUE7SUFFTSxpQkFBaUI7UUFDdEIsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVNLG1CQUFtQixDQUFDLEtBQWlCO1FBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzdCLENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxLQUFpQjtRQUM1QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNqRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQjtJQUNqRSxDQUFDOzs7WUE3RkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJUO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUE5Qk8sZ0JBQWdCO1lBQ2hCLGtCQUFrQjs7O3dCQWlDdkIsV0FBVyxTQUFDLHNCQUFzQjtxQkFLbEMsV0FBVyxTQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge0ljb259IGZyb20gJy4uLy4uL2VudW0vaWNvbi5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge0FydGljbGVMaWdodH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1saWdodC5ibyc7XHJcbmltcG9ydCB7U2FmZUh0bWx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tYWRkLXByb2R1Y3RcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLWlucHV0LXNlYXJjaFxyXG4gICAgICBbY3VzdG9tQ3NzQ2xhc3NdPVwiJ25vLWZvY3VzLWxpbmUnXCJcclxuICAgICAgWyhtb2RlbCldPVwic2VhcmNoVGV4dFwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCInU0VBUkNIX0FERF9BUlRJQ0xFJyB8IGxvY2FsaXplXCJcclxuICAgICAgW2NlbnRlckxhYmVsXT1cInRydWVcIlxyXG4gICAgICBbdXNlTGVmdEljb25dPVwidHJ1ZVwiXHJcbiAgICAgIFtsZWZ0SWNvbkRhdGFdPVwicmV0dXJuID8gY2FydE1pbkljb24gOiBjYXJ0UGx1c0ljb25cIlxyXG4gICAgICBbdXNlUmlnaHRJY29uXT1cInRydWVcIlxyXG4gICAgICAobGVmdEljb25DbGljayk9XCJoYW5kbGVDYXJ0SWNvbkNsaWNrKCRldmVudClcIlxyXG4gICAgICAocmlnaHRJY29uQ2xpY2spPVwiaGFuZGxlU2VhcmNoSWNvbkNsaWNrKCRldmVudClcIlxyXG4gICAgICAoc2VhcmNoKT1cImhhbmRsZVNlYXJjaCgkZXZlbnQpXCJcclxuICAgID48L2NvLWlucHV0LXNlYXJjaD5cclxuICAgIDxjby1kaWFsb2ctY2F0YWxvZyAqbmdJZj1cInNob3dDYXRhbG9nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJjYXRhbG9nT3B0aW9uc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BhcmFtZXRlcnNdPVwiY2F0YWxvZ1BhcmFtZXRlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzaG93TmF2aWdhdGlvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2VDbGljayk9XCJzaG93Q2F0YWxvZyA9IGZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoYXJ0aWNsZUNsaWNrZWQpPVwiaGFuZGxlQ2F0YWxvZ0FydGljbGVDbGljaygkZXZlbnQpXCJcclxuICAgID5cclxuICAgIDwvY28tZGlhbG9nLWNhdGFsb2c+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZGRQcm9kdWN0Q29tcG9uZW50IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tYWRkLXByb2R1Y3RcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5yZXR1cm5cIilcclxuICBwdWJsaWMgcmV0dXJuOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBjYXRhbG9nT3B0aW9uczogYW55ID0ge1xyXG4gICAgc2VhcmNoT25TdGFydDogdHJ1ZSxcclxuICAgIHNob3dBZGRUb0NhcnQ6IGZhbHNlLFxyXG4gICAgc2hvd0xvb2tBdEFydGljbGVCdXR0b246IGZhbHNlLFxyXG4gICAgc2hvd0FkZEFydGljbGVCdXR0b246IGZhbHNlXHJcbiAgfTtcclxuICBwdWJsaWMgY2F0YWxvZ1BhcmFtZXRlcnM6IGFueSA9IHt9O1xyXG4gIHB1YmxpYyBzaG93Q2F0YWxvZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzZWFyY2hUZXh0OiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICBwdWJsaWMgY2FydFBsdXNJY29uOiBTYWZlSHRtbCA9IHRoaXMuaWNvblNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLkNhcnRQbHVzUmVndWxhcik7XHJcbiAgcHVibGljIGNhcnRNaW5JY29uOiBTYWZlSHRtbCA9IHRoaXMuaWNvblNlcnZpY2UuZ2V0SWNvbih0aGlzLmljb25zLkNhcnRNaW51c1JlZ3VsYXIpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgICAgcHVibGljIGljb25TZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIF90cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZVNlYXJjaCh0ZXh0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuc2VhcmNoVGV4dCA9IHRleHQ7XHJcbiAgICB0aGlzLl9wcmVwYXJlQ2F0YWxvZ1JlcXVlc3QoKTtcclxuICAgIC8vIGZpcnN0IGNoZWNrIGlmIHRoZXJlJ3MgYSBzaW5nbGUgYXJ0aWNsZSBmb3VuZFxyXG4gICAgY29uc3QgZm91bmRBcnRpY2xlczogQXJ0aWNsZUxpZ2h0W10gPSBhd2FpdCB0aGlzLl90cmFuc2FjdGlvblNlcnZpY2UuZ2V0QXJ0aWNsZXModGhpcy5jYXRhbG9nUGFyYW1ldGVycyk7XHJcbiAgICBpZiAoZm91bmRBcnRpY2xlcyAmJiBmb3VuZEFydGljbGVzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICBhd2FpdCB0aGlzLmhhbmRsZUFkZEFydGljbGUoZm91bmRBcnRpY2xlc1swXS5hcnRpY2xlTnVtYmVyKTtcclxuICAgIH0gZWxzZSB7IC8vIGVsc2Ugb3BlbiB0aGUgY2F0YWxvZ1xyXG4gICAgICB0aGlzLnNob3dDYXRhbG9nRGlhbG9nKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQWRkQXJ0aWNsZShza3U6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5hZGRBcnRpY2xlKHNrdSwgdGhpcy5yZXR1cm4gPyAtMSA6IDEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZUNhdGFsb2dBcnRpY2xlQ2xpY2soYXJ0aWNsZTogQXJ0aWNsZUV4dGVuZGVkKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLmhhbmRsZUFkZEFydGljbGUoYXJ0aWNsZS5hcnRpY2xlTnVtYmVyKTtcclxuICAgIHRoaXMuc2hvd0NhdGFsb2cgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93Q2F0YWxvZ0RpYWxvZygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3ByZXBhcmVDYXRhbG9nUmVxdWVzdCgpO1xyXG4gICAgdGhpcy5zaG93Q2F0YWxvZyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2FydEljb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXR1cm4gPSAhdGhpcy5yZXR1cm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2VhcmNoSWNvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnNob3dDYXRhbG9nRGlhbG9nKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9wcmVwYXJlQ2F0YWxvZ1JlcXVlc3QoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhdGFsb2dQYXJhbWV0ZXJzLmdlbmVyYWwgPSB0aGlzLnNlYXJjaFRleHQ7XHJcbiAgICB0aGlzLmNhdGFsb2dQYXJhbWV0ZXJzLnB1YmxpY2F0aW9uQ29kZSA9IDcxOyAvLyB0b2RvOiBmaXggdGhpcz9cclxuICB9XHJcbn1cclxuIl19
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXByb2R1Y3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvYWRkLXByb2R1Y3QvYWRkLXByb2R1Y3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV4RSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDMUMsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUErQnJFLE1BQU0sT0FBTyxtQkFBbUI7SUEwQjlCLFlBQ1csV0FBNkIsRUFDNUIsbUJBQXVDO1FBRHhDLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM1Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQW9CO1FBM0JuQyxVQUFLLEdBQWdCLElBQUksQ0FBQztRQVFuQyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBRXhCLG1CQUFjLEdBQVE7WUFDM0IsYUFBYSxFQUFFLElBQUk7WUFDbkIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsdUJBQXVCLEVBQUUsS0FBSztZQUM5QixvQkFBb0IsRUFBRSxJQUFJO1lBQzFCLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLFVBQVUsRUFBRSxLQUFLO1NBQ2xCLENBQUM7UUFDSyxzQkFBaUIsR0FBUSxFQUFFLENBQUM7UUFDNUIsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDN0IsZUFBVSxHQUFXLEVBQUUsQ0FBQztRQUV4QixpQkFBWSxHQUFhLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDOUUsZ0JBQVcsR0FBYSxJQUFJ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Vmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0FydGljbGVFeHRlbmRlZH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1leHRlbmRlZC5ibyc7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vZW51bS9pY29uLmVudW0nO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZSc7XHJcbmltcG9ydCB7QXJ0aWNsZUxpZ2h0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWxpZ2h0LmJvJztcclxuaW1wb3J0IHtTYWZlSHRtbH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1hZGQtcHJvZHVjdFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28taW5wdXQtc2VhcmNoXHJcbiAgICAgIFtjdXN0b21Dc3NDbGFzc109XCInbm8tZm9jdXMtbGluZSdcIlxyXG4gICAgICBbKG1vZGVsKV09XCJzZWFyY2hUZXh0XCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cIidTRUFSQ0hfQUREX0FSVElDTEUnIHwgbG9jYWxpemVcIlxyXG4gICAgICBbY2VudGVyTGFiZWxdPVwidHJ1ZVwiXHJcbiAgICAgIFt1c2VMZWZ0SWNvbl09XCJ0cnVlXCJcclxuICAgICAgW2xlZnRJY29uRGF0YV09XCJyZXR1cm4gPyBjYXJ0TWluSWNvbiA6IGNhcnRQbHVzSWNvblwiXHJcbiAgICAgIFt1c2VSaWdodEljb25dPVwidHJ1ZVwiXHJcbiAgICAgIChsZWZ0SWNvbkNsaWNrKT1cImhhbmRsZUNhcnRJY29uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgIChyaWdodEljb25DbGljayk9XCJoYW5kbGVTZWFyY2hJY29uQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgIChzZWFyY2gpPVwiaGFuZGxlU2VhcmNoKCRldmVudClcIlxyXG4gICAgPjwvY28taW5wdXQtc2VhcmNoPlxyXG4gICAgPGNvLWRpYWxvZy1jYXRhbG9nICpuZ0lmPVwic2hvd0NhdGFsb2dcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cImNhdGFsb2dPcHRpb25zXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcGFyYW1ldGVyc109XCJjYXRhbG9nUGFyYW1ldGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dOYXZpZ2F0aW9uXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChjbG9zZUNsaWNrKT1cInNob3dDYXRhbG9nID0gZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChhcnRpY2xlQ2xpY2tlZCk9XCJoYW5kbGVDYXRhbG9nQXJ0aWNsZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChhZGRBcnRpY2xlQ2xpY2tlZCk9XCJoYW5kbGVBZGRBcnRpY2xlQ2xpY2soJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICA8L2NvLWRpYWxvZy1jYXRhbG9nPlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkUHJvZHVjdENvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWFkZC1wcm9kdWN0XCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MucmV0dXJuXCIpXHJcbiAgcHVibGljIHJldHVybjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgY2F0YWxvZ09wdGlvbnM6IGFueSA9IHtcclxuICAgIHNlYXJjaE9uU3RhcnQ6IHRydWUsXHJcbiAgICBzaG93QWRkVG9DYXJ0OiBmYWxzZSxcclxuICAgIHNob3dMb29rQXRBcnRpY2xlQnV0dG9uOiBmYWxzZSxcclxuICAgIHNob3dBZGRBcnRpY2xlQnV0dG9uOiB0cnVlLFxyXG4gICAgY3JlYXRlV2ViT3JkZXI6IGZhbHNlLFxyXG4gICAgb25seVRocmVlRDogZmFsc2VcclxuICB9O1xyXG4gIHB1YmxpYyBjYXRhbG9nUGFyYW1ldGVyczogYW55ID0ge307XHJcbiAgcHVibGljIHNob3dDYXRhbG9nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHNlYXJjaFRleHQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gIHB1YmxpYyBjYXJ0UGx1c0ljb246IFNhZmVIdG1sID0gdGhpcy5pY29uU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuQ2FydFBsdXNSZWd1bGFyKTtcclxuICBwdWJsaWMgY2FydE1pbkljb246IFNhZmVIdG1sID0gdGhpcy5pY29uU2VydmljZS5nZXRJY29uKHRoaXMuaWNvbnMuQ2FydE1pbnVzUmVndWxhcik7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgICBwdWJsaWMgaWNvblNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgX3RyYW5zYWN0aW9uU2VydmljZTogVHJhbnNhY3Rpb25TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlU2VhcmNoKHRleHQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gdGV4dDtcclxuICAgIHRoaXMuX3ByZXBhcmVDYXRhbG9nUmVxdWVzdCgpO1xyXG4gICAgLy8gZmlyc3QgY2hlY2sgaWYgdGhlcmUncyBhIHNpbmdsZSBhcnRpY2xlIGZvdW5kXHJcbiAgICBjb25zdCBmb3VuZEFydGljbGVzOiBBcnRpY2xlTGlnaHRbXSA9IGF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uU2VydmljZS5nZXRBcnRpY2xlcyh0aGlzLmNhdGFsb2dQYXJhbWV0ZXJzKTtcclxuICAgIGlmIChmb3VuZEFydGljbGVzICYmIGZvdW5kQXJ0aWNsZXMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlQWRkQXJ0aWNsZShmb3VuZEFydGljbGVzWzBdLmFydGljbGVOdW1iZXIpO1xyXG4gICAgfSBlbHNlIHsgLy8gZWxzZSBvcGVuIHRoZSBjYXRhbG9nXHJcbiAgICAgIHRoaXMuc2hvd0NhdGFsb2dEaWFsb2coKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVBZGRBcnRpY2xlKHNrdTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmFkZEFydGljbGUoc2t1LCB0aGlzLnJldHVybiA/IC0xIDogMSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQWRkQXJ0aWNsZUNsaWNrKGpzb25BcnRpY2xlVHJlZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnNob3dDYXRhbG9nID0gZmFsc2U7XHJcbiAgICBpZiAoanNvbkFydGljbGVUcmVlKSB7XHJcbiAgICAgIGNvbnN0IGFydGljbGVUcmVlRGF0YSA9IEpTT04ucGFyc2UoanNvbkFydGljbGVUcmVlKTtcclxuICAgICAgaWYgKGFydGljbGVUcmVlRGF0YS5hcnRpY2xlVHJlZSAmJiBhcnRpY2xlVHJlZURhdGEuYXJ0aWNsZVRyZWUuYXJ0aWNsZSkge1xyXG4gICAgICAgIGlmIChhcnRpY2xlVHJlZURhdGEuYXJ0aWNsZVRyZWUuY29tcG9zaXRlR29vZHMgJiYgQXJyYXkuaXNBcnJheShhcnRpY2xlVHJlZURhdGEuYXJ0aWNsZVRyZWUuY29tcG9zaXRlR29vZHMpICYmXHJcbiAgICAgICAgICAgIGFydGljbGVUcmVlRGF0YS5hcnRpY2xlVHJlZS5jb21wb3NpdGVHb29kcy5sZW5ndGggPiAwICYmIGFydGljbGVUcmVlRGF0YS5hcnRpY2xlVHJlZS5zdWJBcnRpY2xlcyAmJiBBcnJheS5pc0FycmF5KGFydGljbGVUcmVlRGF0YS5hcnRpY2xlVHJlZS5zdWJBcnRpY2xlcykpIHtcclxuICAgICAgICAgIGNvbnN0IGNvbXBvc2l0ZUdvb2RzID0gYXJ0aWNsZVRyZWVEYXRhLmFydGljbGVUcmVlLmNvbXBvc2l0ZUdvb2RzO1xyXG4gICAgICAgICAgY29tcG9zaXRlR29vZHMuc29ydCgoYSwgYikgPT4gYS52ZXJzaW9uTnVtYmVyIDwgYi52ZXJzaW9uTnVtYmVyID8gLTEgOiAxKTtcclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29tcG9zaXRlR29vZHMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgbGFzdEFydGljbGU6IGJvb2xlYW4gPSBpID09PSBjb21wb3NpdGVHb29kcy5sZW5ndGggLSAxO1xyXG4gICAgICAgICAgICBjb25zdCBnb29kID0gY29tcG9zaXRlR29vZHNbaV07XHJcbiAgICAgICAgICAgIGNvbnN0IHN1YkFydGljbGUgPSBhcnRpY2xlVHJlZURhdGEuYXJ0aWNsZVRyZWUuc3ViQXJ0aWNsZXMuZmluZChzID0+IHMuZ29vZElkID09PSBnb29kLm1lbWJlckdvb2RJZCk7XHJcbiAgICAgICAgICAgIGlmIChzdWJBcnRpY2xlKSB7XHJcbiAgICAgICAgICAgICAgYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmFkZEFydGljbGUoc3ViQXJ0aWNsZS5hcnRpY2xlTnVtYmVyLCBnb29kLnF1YW50aXR5LCAwLCAwLCBsYXN0QXJ0aWNsZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5fdHJhbnNhY3Rpb25TZXJ2aWNlLmFkZEFydGljbGUoYXJ0aWNsZVRyZWVEYXRhLmFydGljbGVUcmVlLmFydGljbGUuYXJ0aWNsZU51bWJlciwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlQ2F0YWxvZ0FydGljbGVDbGljayhhcnRpY2xlOiBBcnRpY2xlRXh0ZW5kZWQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMuaGFuZGxlQWRkQXJ0aWNsZShhcnRpY2xlLmFydGljbGVOdW1iZXIpO1xyXG4gICAgdGhpcy5zaG93Q2F0YWxvZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNob3dDYXRhbG9nRGlhbG9nKCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcHJlcGFyZUNhdGFsb2dSZXF1ZXN0KCk7XHJcbiAgICB0aGlzLnNob3dDYXRhbG9nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDYXJ0SWNvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLnJldHVybiA9ICF0aGlzLnJldHVybjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVTZWFyY2hJY29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuc2hvd0NhdGFsb2dEaWFsb2coKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVDYXRhbG9nUmVxdWVzdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2F0YWxvZ1BhcmFtZXRlcnMuZ2VuZXJhbCA9IHRoaXMuc2VhcmNoVGV4dDtcclxuICAgIHRoaXMuY2F0YWxvZ1BhcmFtZXRlcnMucHVibGljYXRpb25Db2RlID0gNzE7IC8vIHRvZG86IGZpeCB0aGlzP1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,18 +1,23 @@
1
1
  import { __awaiter } from "tslib";
2
- import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
3
- import { TransactionService } from "../../../service/transaction.service";
4
- import { FormMasterService } from "@colijnit/corecomponents_v12";
5
- import { animate, state, style, transition, trigger } from "@angular/animations";
6
- import { Icon } from "../../../enum/icon.enum";
7
- import { CustomerFullObject } from "@colijnit/relationapi/build/model/customer-full-object.bo";
8
- import { RelationKind } from "@colijnit/relationapi/build/enum/relation-kind.enum";
9
- import { AddressType } from "@colijnit/relationapi/build/enum/address-type.enum";
10
- import { RelationNameKind } from "@colijnit/relationapi/build/enum/relation-name-kind.enum";
11
- import { SupplierFullObject } from "@colijnit/relationapi/build/model/supplier-full-object.bo";
2
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
3
+ import { TransactionService } from '../../../service/transaction.service';
4
+ import { FormMasterService } from '@colijnit/corecomponents_v12';
5
+ import { animate, state, style, transition, trigger } from '@angular/animations';
6
+ import { Icon } from '../../../enum/icon.enum';
7
+ import { CustomerFullObject } from '@colijnit/relationapi/build/model/customer-full-object.bo';
8
+ import { RelationKind } from '@colijnit/relationapi/build/enum/relation-kind.enum';
9
+ import { AddressType } from '@colijnit/relationapi/build/enum/address-type.enum';
10
+ import { RelationNameKind } from '@colijnit/relationapi/build/enum/relation-name-kind.enum';
11
+ import { SupplierFullObject } from '@colijnit/relationapi/build/model/supplier-full-object.bo';
12
+ import { RelationRequest } from '@colijnit/relationapi/build/model/relation-request';
13
+ import { RelationService } from '../../../service/relation.service';
14
+ import { DialogService } from '../../../service/dialog.service';
12
15
  export class CheckoutOverviewRelationEditComponent {
13
- constructor(_formMaster, service) {
16
+ constructor(_formMaster, service, _relationService, _dialogService) {
14
17
  this._formMaster = _formMaster;
15
18
  this.service = service;
19
+ this._relationService = _relationService;
20
+ this._dialogService = _dialogService;
16
21
  this.relKind = RelationKind;
17
22
  this.icons = Icon;
18
23
  this.addressType = AddressType;
@@ -21,12 +26,15 @@ export class CheckoutOverviewRelationEditComponent {
21
26
  this.deliveryAddressChange = new EventEmitter();
22
27
  this.invoiceAddressChange = new EventEmitter();
23
28
  this.relationChange = new EventEmitter();
29
+ this.relationType = RelationNameKind.Private;
30
+ this.relationSuggestions = [];
31
+ this.showSuggestionsSidebar = false;
24
32
  this._relation = new CustomerFullObject();
25
33
  this._relationKind = RelationKind.Customer;
26
- this.relationType = RelationNameKind.Private;
34
+ this._requestForSuggestions = {};
27
35
  }
28
36
  set relation(value) {
29
- if (this._relation && value && this._relation.relationId === value.relationId) {
37
+ if (this._relation && value && this._relation.relationId && value.relationId && this._relation.relationId === value.relationId) {
30
38
  return;
31
39
  }
32
40
  this._relation = value;
@@ -56,9 +64,6 @@ export class CheckoutOverviewRelationEditComponent {
56
64
  showClass() {
57
65
  return true;
58
66
  }
59
- get applicationUser() {
60
- return this.service.applicationUser;
61
- }
62
67
  ngOnInit() {
63
68
  return __awaiter(this, void 0, void 0, function* () {
64
69
  if (this._relation) {
@@ -77,11 +82,51 @@ export class CheckoutOverviewRelationEditComponent {
77
82
  this.invoiceAddressChange.emit(this.invoiceAddressNawNr);
78
83
  }
79
84
  }
85
+ handleInputChange(request) {
86
+ this._requestForSuggestions = Object.assign(this._requestForSuggestions, request);
87
+ if (this._isEmptySuggestionsRequest()) {
88
+ this.hideSidebar();
89
+ }
90
+ else {
91
+ this._suggestionListRefresh();
92
+ }
93
+ }
94
+ showSidebar() {
95
+ this.showSuggestionsSidebar = true;
96
+ }
97
+ // Hide sidebar with a little timeout to prevent missing the click
98
+ hideSidebar() {
99
+ setTimeout(() => {
100
+ this.showSuggestionsSidebar = false;
101
+ }, 200);
102
+ }
103
+ onRelationSuggestionClick(relationSuggested) {
104
+ return __awaiter(this, void 0, void 0, function* () {
105
+ if (relationSuggested) {
106
+ const lockResult = yield this._relationService.lockRelation(relationSuggested.relationType, parseInt(relationSuggested.relationNr, 0));
107
+ if (!lockResult.success) {
108
+ this._dialogService.showError("RELATION_ALREADY_LOCKED", true, lockResult.messages[0].message);
109
+ }
110
+ else {
111
+ this.hideSidebar();
112
+ const suggestedRelation = yield this._relationService.getRelation(relationSuggested.relationType, parseInt(relationSuggested.relationNr));
113
+ if (suggestedRelation && suggestedRelation.addresses && suggestedRelation.addresses.length > 0) {
114
+ suggestedRelation.addresses.sort((a, b) => a.sequence < b.sequence ? -1 : 1);
115
+ }
116
+ this.relation = suggestedRelation;
117
+ this.relationChange.next(this.relation);
118
+ this._resetSuggestionRequestWithRelation();
119
+ }
120
+ }
121
+ });
122
+ }
80
123
  handleRelationTypeChange(relation) {
81
124
  this.relationType = relation.type;
82
125
  }
83
126
  emptyRelation(event) {
84
127
  this.service.createNewRelation();
128
+ this._requestForSuggestions = {};
129
+ this.hideSidebar();
85
130
  this.updateRelation(this.service.relation);
86
131
  }
87
132
  handleCustomerGroupChange(group) {
@@ -121,6 +166,74 @@ export class CheckoutOverviewRelationEditComponent {
121
166
  }
122
167
  });
123
168
  }
169
+ // fetches relation suggestions
170
+ _suggestionListRefresh() {
171
+ clearTimeout(this._suggestionListTimeout);
172
+ this._suggestionListTimeout = setTimeout(() => {
173
+ this._suggestionListRefreshHandlerFn();
174
+ }, 600);
175
+ }
176
+ // load suggestions
177
+ _suggestionListRefreshHandlerFn() {
178
+ return __awaiter(this, void 0, void 0, function* () {
179
+ const relationRequest = new RelationRequest();
180
+ relationRequest.relationType = this.service.getRelationKindFromTransactionKind();
181
+ if (this._requestForSuggestions.general) {
182
+ relationRequest.general = this._requestForSuggestions.general;
183
+ }
184
+ if (this._requestForSuggestions.firstName) {
185
+ relationRequest.firstName = this._requestForSuggestions.firstName;
186
+ }
187
+ if (this._requestForSuggestions.familyName) {
188
+ relationRequest.familyName = this._requestForSuggestions.familyName;
189
+ }
190
+ if (this._requestForSuggestions.postalCode) {
191
+ relationRequest.postalCode = this._requestForSuggestions.postalCode;
192
+ }
193
+ if (this._requestForSuggestions.houseNr) {
194
+ relationRequest.houseNr = this._requestForSuggestions.houseNr.toString();
195
+ }
196
+ if (this._requestForSuggestions.street) {
197
+ relationRequest.street = this._requestForSuggestions.street;
198
+ }
199
+ if (this._requestForSuggestions.city) {
200
+ relationRequest.city = this._requestForSuggestions.city;
201
+ }
202
+ this._relationService.getRelationListObjects(relationRequest).then((relations) => {
203
+ this.relationSuggestions = relations;
204
+ if (relations && relations.length > 0) {
205
+ this.showSidebar();
206
+ }
207
+ else {
208
+ this.hideSidebar();
209
+ }
210
+ });
211
+ });
212
+ }
213
+ _isEmptySuggestionsRequest() {
214
+ for (let key in this._requestForSuggestions) {
215
+ if (this._requestForSuggestions.hasOwnProperty(key)) {
216
+ if (this._requestForSuggestions[key] !== undefined && this._requestForSuggestions[key] !== null && this._requestForSuggestions[key] !== "") {
217
+ return false;
218
+ }
219
+ }
220
+ }
221
+ return true;
222
+ }
223
+ _resetSuggestionRequestWithRelation() {
224
+ this._requestForSuggestions = {};
225
+ if (this.relation) {
226
+ this._requestForSuggestions.firstName = this.relation.firstName;
227
+ this._requestForSuggestions.familyName = this.relation.familyName;
228
+ const address = this.relation.addresses[0];
229
+ if (address) {
230
+ this._requestForSuggestions.street = address.streetName;
231
+ this._requestForSuggestions.postalCode = address.postalCode;
232
+ this._requestForSuggestions.city = address.city;
233
+ this._requestForSuggestions.houseNr = address.houseNo;
234
+ }
235
+ }
236
+ }
124
237
  }
125
238
  CheckoutOverviewRelationEditComponent.decorators = [
126
239
  { type: Component, args: [{
@@ -145,10 +258,18 @@ CheckoutOverviewRelationEditComponent.decorators = [
145
258
  <relation-customer-groups [model]="customerGroup" (modelChange)="handleCustomerGroupChange($event)" required></relation-customer-groups>
146
259
  </div>
147
260
  <div class="checkout-data-row">
148
- <co-relation-general [relation]="relation" [relationType]="relationType" (relationChange)="updateRelation($event)"></co-relation-general>
261
+ <co-relation-general
262
+ [relation]="relation"
263
+ [relationType]="relationType"
264
+ (relationChange)="updateRelation($event)"
265
+ (inputChangeForSuggestions)="handleInputChange($event)"
266
+ ></co-relation-general>
149
267
  </div>
150
268
  <div class="checkout-data-row">
151
- <co-relation-address [address]="address"></co-relation-address>
269
+ <co-relation-address
270
+ [address]="address"
271
+ (inputChangeForSuggestions)="handleInputChange($event)"
272
+ ></co-relation-address>
152
273
  </div>
153
274
  </div>
154
275
  <div class="checkout-data-column">
@@ -205,6 +326,15 @@ CheckoutOverviewRelationEditComponent.decorators = [
205
326
  </div>
206
327
  </co-form>
207
328
  </div>
329
+ <div class="suggestions-sidebar" *ngIf="showSuggestionsSidebar" @showHideSidebar>
330
+ <div class="relation-sidebar-header">
331
+ <label class="checkout-label-h3" [textContent]="'SUGGESTIONS' | localize"></label>
332
+ </div>
333
+ <co-relation-suggestions-list
334
+ [suggestions]="relationSuggestions"
335
+ (suggestionSelected)="onRelationSuggestionClick($event)"
336
+ ></co-relation-suggestions-list>
337
+ </div>
208
338
  `,
209
339
  providers: [
210
340
  FormMasterService
@@ -239,7 +369,9 @@ CheckoutOverviewRelationEditComponent.decorators = [
239
369
  ];
240
370
  CheckoutOverviewRelationEditComponent.ctorParameters = () => [
241
371
  { type: FormMasterService },
242
- { type: TransactionService }
372
+ { type: TransactionService },
373
+ { type: RelationService },
374
+ { type: DialogService }
243
375
  ];
244
376
  CheckoutOverviewRelationEditComponent.propDecorators = {
245
377
  relation: [{ type: Input }],
@@ -253,4 +385,4 @@ CheckoutOverviewRelationEditComponent.propDecorators = {
253
385
  relationChange: [{ type: Output }],
254
386
  showClass: [{ type: HostBinding, args: ["class.co-checkout-overview-relation-edit",] }]
255
387
  };
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jaGVja291dC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0L2NoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDN0YsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUcvRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMxRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQW9IN0YsTUFBTSxPQUFPLHFDQUFxQztJQTRFaEQsWUFDVSxXQUE4QixFQUMvQixPQUEyQjtRQUQxQixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFDL0IsWUFBTyxHQUFQLE9BQU8s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O3dCQUN6QixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSxrQkFBa0IsRUFBQyxDQUFDLENBQUM7d0JBQ3JELEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGVBQWUsRUFBQyxDQUFDLENBQUM7d0JBQy9DLFVBQVUsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7cUJBQ3ZELENBQUM7b0JBQ0YsT0FBTyxDQUFDLHdCQUF3QixFQUFFO3dCQUNoQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUM7d0JBQzdDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzt3QkFDNUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQzt3QkFDckQsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztxQkFDbkQsQ0FBQztpQkFDSDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBN0hPLGlCQUFpQjtZQURqQixrQkFBa0I7Ozt1QkFvSXZCLEtBQUs7MkJBc0JMLEtBQUs7bUNBWUwsS0FBSztrQ0FHTCxLQUFLOzBCQUdMLE1BQU07NEJBR04sTUFBTTtvQ0FHTixNQUFNO21DQUdOLE1BQU07NkJBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsMENBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1RyYW5zYWN0aW9uU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24uc2VydmljZVwiO1xuaW1wb3J0IHtGb3JtTWFzdGVyU2VydmljZX0gZnJvbSBcIkBjb2xpam5pdC9jb3JlY29tcG9uZW50c192MTJcIjtcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHtDb3VudHJ5fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2NvdW50cnkuYm9cIjtcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XG5pbXBvcnQge0N1c3RvbWVyRnVsbE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9jdXN0b21lci1mdWxsLW9iamVjdC5ib1wiO1xuaW1wb3J0IHtSZWxhdGlvbktpbmR9IGZyb20gXCJAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9yZWxhdGlvbi1raW5kLmVudW1cIjtcbmltcG9ydCB7QWRkcmVzc1R5cGV9IGZyb20gXCJAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvZW51bS9hZGRyZXNzLXR5cGUuZW51bVwiO1xuaW1wb3J0IHtSZWxhdGlvbkFueVR5cGV9IGZyb20gXCIuLi8uLi8uLi9tb2RlbC9yZWxhdGlvbi1hbnktdHlwZVwiO1xuaW1wb3J0IHtBZGRyZXNzfSBmcm9tIFwiQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL21vZGVsL2FkZHJlc3MuYm9cIjtcbmltcG9ydCB7UmVsYXRpb25OYW1lS2luZH0gZnJvbSBcIkBjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL3JlbGF0aW9uLW5hbWUta2luZC5lbnVtXCI7XG5pbXBvcnQge1N1cHBsaWVyRnVsbE9iamVjdH0gZnJvbSBcIkBjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9zdXBwbGllci1mdWxsLW9iamVjdC5ib1wiO1xuaW1wb3J0IHtSZWxhdGlvbn0gZnJvbSBcIkBjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi5ib1wiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiY28tY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdFwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGlvbi1lZGl0LWNvbnRlbnRcIj5cbiAgICAgIDxjby1mb3JtPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZm9ybS13cmFwcGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWNvbHVtblwiPlxuICAgICAgICAgICAgPHNwYW4+MDE8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLWRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cIidQRVJTT05BTF9EQVRBJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLWNvbHVtblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgIDxjby1yZWxhdGlvbi10eXBlICpuZ0lmPVwicmVsYXRpb25LaW5kID09PSByZWxLaW5kLkN1c3RvbWVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlbGF0aW9uXT1cInJlbGF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlbGF0aW9uQ2hhbmdlKT1cImhhbmRsZVJlbGF0aW9uVHlwZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPjwvY28tcmVsYXRpb24tdHlwZT5cbiAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImVtcHR5LXJlbGF0aW9uLWJ1dHRvbiBkZWZhdWx0LXdpZHRoXCIgW2xhYmVsXT1cIidFTVBUWScgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJlbXB0eVJlbGF0aW9uKCRldmVudClcIj48L2NvLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCIgKm5nSWY9XCJyZWxhdGlvbktpbmQgPT09IHJlbEtpbmQuQ3VzdG9tZXJcIj5cbiAgICAgICAgICAgICAgPHJlbGF0aW9uLWN1c3RvbWVyLWdyb3VwcyBbbW9kZWxdPVwiY3VzdG9tZXJHcm91cFwiIChtb2RlbENoYW5nZSk9XCJoYW5kbGVDdXN0b21lckdyb3VwQ2hhbmdlKCRldmVudClcIiByZXF1aXJlZD48L3JlbGF0aW9uLWN1c3RvbWVyLWdyb3Vwcz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1nZW5lcmFsIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiIFtyZWxhdGlvblR5cGVdPVwicmVsYXRpb25UeXBlXCIgKHJlbGF0aW9uQ2hhbmdlKT1cInVwZGF0ZVJlbGF0aW9uKCRldmVudClcIj48L2NvLXJlbGF0aW9uLWdlbmVyYWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tYWRkcmVzcyBbYWRkcmVzc109XCJhZGRyZXNzXCI+PC9jby1yZWxhdGlvbi1hZGRyZXNzPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtY29sdW1uXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgPGNvLXJlbGF0aW9uLWFkZHJlc3Nlc1xuICAgICAgICAgICAgICAgIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiXG4gICAgICAgICAgICAgICAgW2FkZHJlc3Nlc109XCJyZWxhdGlvbi5hZGRyZXNzZXNcIlxuICAgICAgICAgICAgICAgIFt0eXBlXT1cImFkZHJlc3NUeXBlLkRlbGl2ZXJ5QWRkcmVzc1wiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkTmF3TnJdPVwiZGVsaXZlcnlBZGRyZXNzTmF3TnJcIlxuICAgICAgICAgICAgICAgIChzZWxlY3RlZE5hd05yQ2hhbmdlKT1cImhhbmRsZURlbGl2ZXJ5QWRkcmVzc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPjwvY28tcmVsYXRpb24tYWRkcmVzc2VzPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWNvbHVtblwiICpuZ0lmPVwicmVsYXRpb25LaW5kID09PSByZWxLaW5kLkN1c3RvbWVyXCI+XG4gICAgICAgICAgICA8c3Bhbj4wMjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiJ0lOVk9JQ0VfQUREUkVTUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIiAqbmdJZj1cInJlbGF0aW9uS2luZCA9PT0gcmVsS2luZC5DdXN0b21lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveCBbKG1vZGVsKV09XCJzZXJ2aWNlLmludm9pY2VBZGRyZXNzU2FtZUFzRGVsaXZlcnlcIiAobW9kZWxDaGFuZ2UpPVwiY2hlY2tTYW1lQWRkcmVzcygkZXZlbnQpXCIgW2xhYmVsXT1cIidTQU1FX0FTX0RFTElWRVJZJyB8IGxvY2FsaXplXCI+PC9jby1pbnB1dC1jaGVja2JveD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJ2aWV3LWRlbGl2ZXJ5LWludm9pY2UtYWRkcmVzc1wiICpuZ0lmPVwiIXNlcnZpY2UuaW52b2ljZUFkZHJlc3NTYW1lQXNEZWxpdmVyeVwiIEBzaG93SGlkZUludm9pY2VBZGRyZXNzPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tYWRkcmVzc2VzXG4gICAgICAgICAgICAgICAgICBbcmVsYXRpb25dPVwicmVsYXRpb25cIlxuICAgICAgICAgICAgICAgICAgW2FkZHJlc3Nlc109XCJyZWxhdGlvbi5hY3RpdmVBZGRyZXNzZXNcIlxuICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiYWRkcmVzc1R5cGUuQmlsbGluZ0FkZHJlc3NcIlxuICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkTmF3TnJdPVwiaW52b2ljZUFkZHJlc3NOYXdOclwiXG4gICAgICAgICAgICAgICAgICAoc2VsZWN0ZWROYXdOckNoYW5nZSk9XCJpbnZvaWNlQWRkcmVzc0NoYW5nZS5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgICAgID48L2NvLXJlbGF0aW9uLWFkZHJlc3Nlcz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtY29sdW1uXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyAgcmVsYXRpb25LaW5kID09PSByZWxLaW5kLkN1c3RvbWVyID8gJzAzJyA6ICcwMid9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiJ0NPTlRBQ1RfREVUQUlMUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tY29udGFjdC1kZXRhaWxzIFtzaG93UGhvbmVdPVwiZmFsc2VcIiBbcmVsYXRpb25dPVwicmVsYXRpb25cIiBbcmVsYXRpb25LaW5kXT1cInJlbGF0aW9uS2luZFwiPjwvY28tcmVsYXRpb24tY29udGFjdC1kZXRhaWxzPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlbGF0aW9uS2luZCA9PT0gcmVsS2luZC5DdXN0b21lclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWNvbHVtblwiPlxuICAgICAgICAgICAgICA8c3Bhbj4wNDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbC1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCInUFJJVkFDWV9QUkVGRVJFTkNFUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1wcmVmZXJlbmNlcyBbKHJlbGF0aW9uKV09XCJyZWxhdGlvblwiPjwvY28tcmVsYXRpb24tcHJlZmVyZW5jZXM+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9jby1mb3JtPlxuICAgIDwvZGl2PlxuICBgLFxuICBwcm92aWRlcnM6IFtcbiAgICBGb3JtTWFzdGVyU2VydmljZVxuICBdLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcihcInNob3dIaWRlUHJpdmF0ZVJlbGF0aW9uRmllbGRzXCIsIFtcbiAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7aGVpZ2h0OiAwfSkpLFxuICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHtoZWlnaHQ6IFwiKlwifSkpLFxuICAgICAgdHJhbnNpdGlvbihcInZvaWQgPT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpLFxuICAgICAgdHJhbnNpdGlvbihcIiogPT4gdm9pZFwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1vdXRcIikpXG4gICAgXSksXG4gICAgdHJpZ2dlcihcInNob3dIaWRlQ29tcGFueVJlbGF0aW9uRmllbGRzXCIsIFtcbiAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7aGVpZ2h0OiAwfSkpLFxuICAgICAgc3RhdGUoXCIqXCIsIHN0eWxlKHtoZWlnaHQ6IFwiKlwifSkpLFxuICAgICAgdHJhbnNpdGlvbihcInZvaWQgPT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpLFxuICAgICAgdHJhbnNpdGlvbihcIiogPT4gdm9pZFwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1vdXRcIikpXG4gICAgXSksXG4gICAgdHJpZ2dlcihcInNob3dIaWRlU2lkZWJhclwiLCBbXG4gICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDEwMCUpXCJ9KSksXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe3RyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDApXCJ9KSksXG4gICAgICB0cmFuc2l0aW9uKFwidm9pZCA8PT4gKlwiLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1pbi1vdXRcIikpXG4gICAgXSksXG4gICAgdHJpZ2dlcihcInNob3dIaWRlSW52b2ljZUFkZHJlc3NcIiwgW1xuICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtoZWlnaHQ6IDAsIG9wYWNpdHk6IDB9KSksXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe2hlaWdodDogXCIqXCIsIG9wYWNpdHk6IDF9KSksXG4gICAgICB0cmFuc2l0aW9uKFwidm9pZCA9PiAqXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSksXG4gICAgICB0cmFuc2l0aW9uKFwiKiA9PiB2b2lkXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiKSlcbiAgICBdKVxuICBdLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrb3V0T3ZlcnZpZXdSZWxhdGlvbkVkaXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBwdWJsaWMgcmVhZG9ubHkgcmVsS2luZDogdHlwZW9mIFJlbGF0aW9uS2luZCA9IFJlbGF0aW9uS2luZDtcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XG4gIHB1YmxpYyByZWFkb25seSBhZGRyZXNzVHlwZTogdHlwZW9mIEFkZHJlc3NUeXBlID0gQWRkcmVzc1R5cGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByZWxhdGlvbih2YWx1ZTogUmVsYXRpb25BbnlUeXBlKSB7XG4gICAgaWYgKHRoaXMuX3JlbGF0aW9uICYmIHZhbHVlICYmIHRoaXMuX3JlbGF0aW9uLnJlbGF0aW9uSWQgPT09IHZhbHVlLnJlbGF0aW9uSWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fcmVsYXRpb24gPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5fcmVsYXRpb24pIHtcbiAgICAgIGlmICh0aGlzLl9yZWxhdGlvbiBpbnN0YW5jZW9mIFN1cHBsaWVyRnVsbE9iamVjdCkge1xuICAgICAgICB0aGlzLl9yZWxhdGlvbi50eXBlID0gUmVsYXRpb25OYW1lS2luZC5Db21wYW55O1xuICAgICAgICB0aGlzLnJlbGF0aW9uVHlwZSA9IFJlbGF0aW9uTmFtZUtpbmQuQ29tcGFueTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLl9yZWxhdGlvbiBpbnN0YW5jZW9mIEN1c3RvbWVyRnVsbE9iamVjdCkge1xuICAgICAgICB0aGlzLmN1c3RvbWVyR3JvdXAgPSB0aGlzLl9yZWxhdGlvbi5jdXN0b21lckdyb3VwO1xuICAgICAgfVxuICAgICAgdGhpcy5hZGRyZXNzID0gdGhpcy5fcmVsYXRpb24uZ2V0Rmlyc3RBZGRyZXNzT3JDcmVhdGVOZXcoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlbGF0aW9uKCk6IFJlbGF0aW9uQW55VHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbGF0aW9uO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByZWxhdGlvbktpbmQodmFsdWU6IFJlbGF0aW9uS2luZCkge1xuICAgIHRoaXMuX3JlbGF0aW9uS2luZCA9IHZhbHVlO1xuICAgIGlmICh0aGlzLl9yZWxhdGlvbktpbmQgPT09IFJlbGF0aW9uS2luZC5TdXBwbGllcikge1xuICAgICAgdGhpcy5yZWxhdGlvblR5cGUgPSBSZWxhdGlvbk5hbWVLaW5kLkNvbXBhbnk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCByZWxhdGlvbktpbmQoKTogUmVsYXRpb25LaW5kIHtcbiAgICByZXR1cm4gdGhpcy5fcmVsYXRpb25LaW5kO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRlbGl2ZXJ5QWRkcmVzc05hd05yOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGludm9pY2VBZGRyZXNzTmF3TnI6IG51bWJlcjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpbnZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkZWxpdmVyeUFkZHJlc3NDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpbnZvaWNlQWRkcmVzc0NoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlbGF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPigpO1xuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWNoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXRcIilcbiAgcHVibGljIHNob3dDbGFzcygpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUgPSBuZXcgQ3VzdG9tZXJGdWxsT2JqZWN0KCk7XG4gIHByaXZhdGUgX3JlbGF0aW9uS2luZDogUmVsYXRpb25LaW5kID0gUmVsYXRpb25LaW5kLkN1c3RvbWVyO1xuXG4gIHB1YmxpYyBhZGRyZXNzOiBBZGRyZXNzO1xuICBwdWJsaWMgY3VzdG9tZXJHcm91cDogc3RyaW5nO1xuICBwdWJsaWMgcmVsYXRpb25UeXBlOiBSZWxhdGlvbk5hbWVLaW5kID0gUmVsYXRpb25OYW1lS2luZC5Qcml2YXRlO1xuXG4gIHB1YmxpYyBnZXQgYXBwbGljYXRpb25Vc2VyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlcnZpY2UuYXBwbGljYXRpb25Vc2VyO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZm9ybU1hc3RlcjogRm9ybU1hc3RlclNlcnZpY2UsXG4gICAgcHVibGljIHNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZVxuICApIHtcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLl9yZWxhdGlvbikge1xuICAgICAgdGhpcy5hZGRyZXNzID0gdGhpcy5fcmVsYXRpb24uZ2V0Rmlyc3RBZGRyZXNzT3JDcmVhdGVOZXcoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgY29uc3QgZmlyc3RBY3RpdmVBZGRyZXNzOiBBZGRyZXNzID0gdGhpcy5fcmVsYXRpb24uYWN0aXZlQWRkcmVzc2VzLmxlbmd0aCA+IDAgPyB0aGlzLl9yZWxhdGlvbi5hY3RpdmVBZGRyZXNzZXNbMF0gOiB1bmRlZmluZWQ7XG4gICAgaWYgKCF0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yKSB7XG4gICAgICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yID0gZmlyc3RBY3RpdmVBZGRyZXNzID8gZmlyc3RBY3RpdmVBZGRyZXNzLm5hd05yIDogMDtcbiAgICAgIHRoaXMuZGVsaXZlcnlBZGRyZXNzQ2hhbmdlLmVtaXQodGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOcik7XG4gICAgfVxuICAgIGlmICghdGhpcy5pbnZvaWNlQWRkcmVzc05hd05yKSB7XG4gICAgICB0aGlzLmludm9pY2VBZGRyZXNzTmF3TnIgPSBmaXJzdEFjdGl2ZUFkZHJlc3MgPyBmaXJzdEFjdGl2ZUFkZHJlc3MubmF3TnIgOiAwO1xuICAgICAgdGhpcy5pbnZvaWNlQWRkcmVzc0NoYW5nZS5lbWl0KHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhbmRsZVJlbGF0aW9uVHlwZUNoYW5nZShyZWxhdGlvbjogUmVsYXRpb24pOiB2b2lkIHtcbiAgICB0aGlzLnJlbGF0aW9uVHlwZSA9IHJlbGF0aW9uLnR5cGU7XG4gIH1cblxuICBwdWJsaWMgZW1wdHlSZWxhdGlvbihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuc2VydmljZS5jcmVhdGVOZXdSZWxhdGlvbigpXG4gICAgdGhpcy51cGRhdGVSZWxhdGlvbih0aGlzLnNlcnZpY2UucmVsYXRpb24pO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUN1c3RvbWVyR3JvdXBDaGFuZ2UoZ3JvdXA6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuY3VzdG9tZXJHcm91cCA9IGdyb3VwO1xuICAgIGlmICh0aGlzLl9yZWxhdGlvbiBpbnN0YW5jZW9mIEN1c3RvbWVyRnVsbE9iamVjdCkge1xuICAgICAgdGhpcy5fcmVsYXRpb24uY3VzdG9tZXJHcm91cCA9IHRoaXMuY3VzdG9tZXJHcm91cDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUmVsYXRpb24ocmVsOiBSZWxhdGlvbkFueVR5cGUpOiB2b2lkIHtcbiAgICB0aGlzLnJlbGF0aW9uID0gcmVsO1xuICAgIGNvbnN0IGZpcnN0QWN0aXZlQWRkcmVzczogQWRkcmVzcyA9IHRoaXMuX3JlbGF0aW9uLmFjdGl2ZUFkZHJlc3Nlcy5sZW5ndGggPiAwID8gdGhpcy5fcmVsYXRpb24uYWN0aXZlQWRkcmVzc2VzWzBdIDogdW5kZWZpbmVkO1xuICAgIHRoaXMuYWRkcmVzcyA9IGZpcnN0QWN0aXZlQWRkcmVzcztcbiAgICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yID0gZmlyc3RBY3RpdmVBZGRyZXNzID8gZmlyc3RBY3RpdmVBZGRyZXNzLm5hd05yIDogMDtcbiAgICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc0NoYW5nZS5lbWl0KHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIpO1xuICAgIHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOciA9IGZpcnN0QWN0aXZlQWRkcmVzcyA/IGZpcnN0QWN0aXZlQWRkcmVzcy5uYXdOciA6IDA7XG4gICAgdGhpcy5pbnZvaWNlQWRkcmVzc0NoYW5nZS5lbWl0KHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOcik7XG4gICAgdGhpcy5yZWxhdGlvbkNoYW5nZS5lbWl0KHRoaXMucmVsYXRpb24pO1xuICB9XG5cbiAgcHVibGljIHN1Ym1pdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybU1hc3Rlci5zdWJtaXRTbGF2ZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVEZWxpdmVyeUFkZHJlc3NDaGFuZ2UobmF3TnI6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuZGVsaXZlcnlBZGRyZXNzQ2hhbmdlLmVtaXQobmF3TnIpO1xuICAgIGlmICh0aGlzLnNlcnZpY2UuaW52b2ljZUFkZHJlc3NTYW1lQXNEZWxpdmVyeSkge1xuICAgICAgdGhpcy5pbnZvaWNlQWRkcmVzc0NoYW5nZS5lbWl0KG5hd05yKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgY2hlY2tTYW1lQWRkcmVzcyhjaGVja2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pbnZvaWNlQWRkcmVzc05hd05yID0gdGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOcjtcbiAgICB0aGlzLmludm9pY2VBZGRyZXNzQ2hhbmdlLm5leHQodGhpcy5pbnZvaWNlQWRkcmVzc05hd05yKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3NldENvdW50cnlOYW1lVG9BZGRyZXNzKGFkZHJlc3M6IEFkZHJlc3MpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoYWRkcmVzcy5jb3VudHJ5SWQgJiYgIWFkZHJlc3MuY291bnRyeU5hbWUpIHtcbiAgICAgIGNvbnN0IGNvdW50cnk6IENvdW50cnkgPSBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0Q291bnRyeShhZGRyZXNzLmNvdW50cnlJZCk7XG4gICAgICBhZGRyZXNzLmNvdW50cnlOYW1lID0gY291bnRyeS5kZXNjcmlwdGlvbjtcbiAgICB9XG4gIH1cblxufVxuIl19
388
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jaGVja291dC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0L2NoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWdCLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUUvRSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sMkRBQTJELENBQUM7QUFDN0YsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pGLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUcvRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQUMxRixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyREFBMkQsQ0FBQztBQUk3RixPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sb0RBQW9ELENBQUM7QUFDbkYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBQyxh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QUMsZ0JBQWdCLENBQUMsQ0FBQztxQkFDbkQsQ0FBQztpQkFDSDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBcEpPLGlCQUFpQjtZQURqQixrQkFBa0I7WUFnQmxCLGVBQWU7WUFDZixhQUFhOzs7dUJBMElsQixLQUFLOzJCQXNCTCxLQUFLO21DQVlMLEtBQUs7a0NBR0wsS0FBSzswQkFHTCxNQUFNOzRCQUdOLE1BQU07b0NBR04sTUFBTTttQ0FHTixNQUFNOzZCQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLDBDQUEwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNhY3Rpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL3RyYW5zYWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtGb3JtTWFzdGVyU2VydmljZX0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XG5pbXBvcnQge2FuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge0NvdW50cnl9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9jb3VudHJ5LmJvJztcbmltcG9ydCB7SWNvbn0gZnJvbSAnLi4vLi4vLi4vZW51bS9pY29uLmVudW0nO1xuaW1wb3J0IHtDdXN0b21lckZ1bGxPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9jdXN0b21lci1mdWxsLW9iamVjdC5ibyc7XG5pbXBvcnQge1JlbGF0aW9uS2luZH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vcmVsYXRpb24ta2luZC5lbnVtJztcbmltcG9ydCB7QWRkcmVzc1R5cGV9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9lbnVtL2FkZHJlc3MtdHlwZS5lbnVtJztcbmltcG9ydCB7UmVsYXRpb25BbnlUeXBlfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9yZWxhdGlvbi1hbnktdHlwZSc7XG5pbXBvcnQge0FkZHJlc3N9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9hZGRyZXNzLmJvJztcbmltcG9ydCB7UmVsYXRpb25OYW1lS2luZH0gZnJvbSAnQGNvbGlqbml0L3JlbGF0aW9uYXBpL2J1aWxkL2VudW0vcmVsYXRpb24tbmFtZS1raW5kLmVudW0nO1xuaW1wb3J0IHtTdXBwbGllckZ1bGxPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9zdXBwbGllci1mdWxsLW9iamVjdC5ibyc7XG5pbXBvcnQge1JlbGF0aW9ufSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24uYm8nO1xuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9yZWxhdGlvbmFwaS9idWlsZC9tb2RlbC9yZWxhdGlvbi1saXN0LW9iamVjdC5ibyc7XG5pbXBvcnQge1ZhbGlkYXRpb25SZXN1bHR9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL3ZhbGlkYXRpb24tcmVzdWx0JztcbmltcG9ydCB7UmVsYXRpb25SZXF1ZXN0fSBmcm9tICdAY29saWpuaXQvcmVsYXRpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tcmVxdWVzdCc7XG5pbXBvcnQge1JlbGF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9yZWxhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7RGlhbG9nU2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZS9kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQge1JlbGF0aW9uU3VnZ2VzdGlvbnNSZXF1ZXN0fSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2UvcmVsYXRpb24tc3VnZ2VzdGlvbnMtcmVxdWVzdC5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiY28tY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdFwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJyZWxhdGlvbi1lZGl0LWNvbnRlbnRcIj5cbiAgICAgIDxjby1mb3JtPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZm9ybS13cmFwcGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWNvbHVtblwiPlxuICAgICAgICAgICAgPHNwYW4+MDE8L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLWRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cIidQRVJTT05BTF9EQVRBJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLWNvbHVtblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgIDxjby1yZWxhdGlvbi10eXBlICpuZ0lmPVwicmVsYXRpb25LaW5kID09PSByZWxLaW5kLkN1c3RvbWVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlbGF0aW9uXT1cInJlbGF0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlbGF0aW9uQ2hhbmdlKT1cImhhbmRsZVJlbGF0aW9uVHlwZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgPjwvY28tcmVsYXRpb24tdHlwZT5cbiAgICAgICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cImVtcHR5LXJlbGF0aW9uLWJ1dHRvbiBkZWZhdWx0LXdpZHRoXCIgW2xhYmVsXT1cIidFTVBUWScgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJlbXB0eVJlbGF0aW9uKCRldmVudClcIj48L2NvLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCIgKm5nSWY9XCJyZWxhdGlvbktpbmQgPT09IHJlbEtpbmQuQ3VzdG9tZXJcIj5cbiAgICAgICAgICAgICAgPHJlbGF0aW9uLWN1c3RvbWVyLWdyb3VwcyBbbW9kZWxdPVwiY3VzdG9tZXJHcm91cFwiIChtb2RlbENoYW5nZSk9XCJoYW5kbGVDdXN0b21lckdyb3VwQ2hhbmdlKCRldmVudClcIiByZXF1aXJlZD48L3JlbGF0aW9uLWN1c3RvbWVyLWdyb3Vwcz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1nZW5lcmFsIFxuICAgICAgICAgICAgICAgICAgW3JlbGF0aW9uXT1cInJlbGF0aW9uXCIgXG4gICAgICAgICAgICAgICAgICBbcmVsYXRpb25UeXBlXT1cInJlbGF0aW9uVHlwZVwiIFxuICAgICAgICAgICAgICAgICAgKHJlbGF0aW9uQ2hhbmdlKT1cInVwZGF0ZVJlbGF0aW9uKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgKGlucHV0Q2hhbmdlRm9yU3VnZ2VzdGlvbnMpPVwiaGFuZGxlSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgID48L2NvLXJlbGF0aW9uLWdlbmVyYWw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tYWRkcmVzcyBcbiAgICAgICAgICAgICAgICAgIFthZGRyZXNzXT1cImFkZHJlc3NcIlxuICAgICAgICAgICAgICAgICAgKGlucHV0Q2hhbmdlRm9yU3VnZ2VzdGlvbnMpPVwiaGFuZGxlSW5wdXRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgID48L2NvLXJlbGF0aW9uLWFkZHJlc3M+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICA8Y28tcmVsYXRpb24tYWRkcmVzc2VzXG4gICAgICAgICAgICAgICAgW3JlbGF0aW9uXT1cInJlbGF0aW9uXCJcbiAgICAgICAgICAgICAgICBbYWRkcmVzc2VzXT1cInJlbGF0aW9uLmFkZHJlc3Nlc1wiXG4gICAgICAgICAgICAgICAgW3R5cGVdPVwiYWRkcmVzc1R5cGUuRGVsaXZlcnlBZGRyZXNzXCJcbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWROYXdOcl09XCJkZWxpdmVyeUFkZHJlc3NOYXdOclwiXG4gICAgICAgICAgICAgICAgKHNlbGVjdGVkTmF3TnJDaGFuZ2UpPVwiaGFuZGxlRGVsaXZlcnlBZGRyZXNzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICA+PC9jby1yZWxhdGlvbi1hZGRyZXNzZXM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtY29sdW1uXCIgKm5nSWY9XCJyZWxhdGlvbktpbmQgPT09IHJlbEtpbmQuQ3VzdG9tZXJcIj5cbiAgICAgICAgICAgIDxzcGFuPjAyPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbC1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCInSU5WT0lDRV9BRERSRVNTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLWNvbHVtblwiICpuZ0lmPVwicmVsYXRpb25LaW5kID09PSByZWxLaW5kLkN1c3RvbWVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1yb3dcIj5cbiAgICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94IFsobW9kZWwpXT1cInNlcnZpY2UuaW52b2ljZUFkZHJlc3NTYW1lQXNEZWxpdmVyeVwiIChtb2RlbENoYW5nZSk9XCJjaGVja1NhbWVBZGRyZXNzKCRldmVudClcIiBbbGFiZWxdPVwiJ1NBTUVfQVNfREVMSVZFUlknIHwgbG9jYWxpemVcIj48L2NvLWlucHV0LWNoZWNrYm94PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwib3ZlcnZpZXctZGVsaXZlcnktaW52b2ljZS1hZGRyZXNzXCIgKm5nSWY9XCIhc2VydmljZS5pbnZvaWNlQWRkcmVzc1NhbWVBc0RlbGl2ZXJ5XCIgQHNob3dIaWRlSW52b2ljZUFkZHJlc3M+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLXJvd1wiPlxuICAgICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1hZGRyZXNzZXNcbiAgICAgICAgICAgICAgICAgIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiXG4gICAgICAgICAgICAgICAgICBbYWRkcmVzc2VzXT1cInJlbGF0aW9uLmFjdGl2ZUFkZHJlc3Nlc1wiXG4gICAgICAgICAgICAgICAgICBbdHlwZV09XCJhZGRyZXNzVHlwZS5CaWxsaW5nQWRkcmVzc1wiXG4gICAgICAgICAgICAgICAgICBbc2VsZWN0ZWROYXdOcl09XCJpbnZvaWNlQWRkcmVzc05hd05yXCJcbiAgICAgICAgICAgICAgICAgIChzZWxlY3RlZE5hd05yQ2hhbmdlKT1cImludm9pY2VBZGRyZXNzQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgPjwvY28tcmVsYXRpb24tYWRkcmVzc2VzPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1sYWJlbC1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxzcGFuPnt7ICByZWxhdGlvbktpbmQgPT09IHJlbEtpbmQuQ3VzdG9tZXIgPyAnMDMnIDogJzAyJ319PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbC1kZXNjcmlwdGlvblwiIFt0ZXh0Q29udGVudF09XCInQ09OVEFDVF9ERVRBSUxTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja291dC1kYXRhLWNvbHVtblwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgIDxjby1yZWxhdGlvbi1jb250YWN0LWRldGFpbHMgW3Nob3dQaG9uZV09XCJmYWxzZVwiIFtyZWxhdGlvbl09XCJyZWxhdGlvblwiIFtyZWxhdGlvbktpbmRdPVwicmVsYXRpb25LaW5kXCI+PC9jby1yZWxhdGlvbi1jb250YWN0LWRldGFpbHM+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVsYXRpb25LaW5kID09PSByZWxLaW5kLkN1c3RvbWVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtbGFiZWwtY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxzcGFuPjA0PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImxhYmVsLWRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cIidQUklWQUNZX1BSRUZFUkVOQ0VTJyB8IGxvY2FsaXplXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2tvdXQtZGF0YS1jb2x1bW5cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoZWNrb3V0LWRhdGEtcm93XCI+XG4gICAgICAgICAgICAgICAgPGNvLXJlbGF0aW9uLXByZWZlcmVuY2VzIFsocmVsYXRpb24pXT1cInJlbGF0aW9uXCI+PC9jby1yZWxhdGlvbi1wcmVmZXJlbmNlcz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2NvLWZvcm0+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInN1Z2dlc3Rpb25zLXNpZGViYXJcIiAqbmdJZj1cInNob3dTdWdnZXN0aW9uc1NpZGViYXJcIiBAc2hvd0hpZGVTaWRlYmFyPlxuICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aW9uLXNpZGViYXItaGVhZGVyXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImNoZWNrb3V0LWxhYmVsLWgzXCIgW3RleHRDb250ZW50XT1cIidTVUdHRVNUSU9OUycgfCBsb2NhbGl6ZVwiPjwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxjby1yZWxhdGlvbi1zdWdnZXN0aW9ucy1saXN0XG4gICAgICAgICAgW3N1Z2dlc3Rpb25zXT1cInJlbGF0aW9uU3VnZ2VzdGlvbnNcIlxuICAgICAgICAgIChzdWdnZXN0aW9uU2VsZWN0ZWQpPVwib25SZWxhdGlvblN1Z2dlc3Rpb25DbGljaygkZXZlbnQpXCJcbiAgICAgID48L2NvLXJlbGF0aW9uLXN1Z2dlc3Rpb25zLWxpc3Q+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHByb3ZpZGVyczogW1xuICAgIEZvcm1NYXN0ZXJTZXJ2aWNlXG4gIF0sXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVQcml2YXRlUmVsYXRpb25GaWVsZHNcIiwgW1xuICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtoZWlnaHQ6IDB9KSksXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe2hlaWdodDogXCIqXCJ9KSksXG4gICAgICB0cmFuc2l0aW9uKFwidm9pZCA9PiAqXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSksXG4gICAgICB0cmFuc2l0aW9uKFwiKiA9PiB2b2lkXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiKSlcbiAgICBdKSxcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVDb21wYW55UmVsYXRpb25GaWVsZHNcIiwgW1xuICAgICAgc3RhdGUoXCJ2b2lkXCIsIHN0eWxlKHtoZWlnaHQ6IDB9KSksXG4gICAgICBzdGF0ZShcIipcIiwgc3R5bGUoe2hlaWdodDogXCIqXCJ9KSksXG4gICAgICB0cmFuc2l0aW9uKFwidm9pZCA9PiAqXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSksXG4gICAgICB0cmFuc2l0aW9uKFwiKiA9PiB2b2lkXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiKSlcbiAgICBdKSxcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVTaWRlYmFyXCIsIFtcbiAgICAgIHN0YXRlKFwidm9pZFwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInRyYW5zbGF0ZVgoMTAwJSlcIn0pKSxcbiAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7dHJhbnNmb3JtOiBcInRyYW5zbGF0ZVgoMClcIn0pKSxcbiAgICAgIHRyYW5zaXRpb24oXCJ2b2lkIDw9PiAqXCIsIGFuaW1hdGUoXCIyMDBtcyBlYXNlLWluLW91dFwiKSlcbiAgICBdKSxcbiAgICB0cmlnZ2VyKFwic2hvd0hpZGVJbnZvaWNlQWRkcmVzc1wiLCBbXG4gICAgICBzdGF0ZShcInZvaWRcIiwgc3R5bGUoe2hlaWdodDogMCwgb3BhY2l0eTogMH0pKSxcbiAgICAgIHN0YXRlKFwiKlwiLCBzdHlsZSh7aGVpZ2h0OiBcIipcIiwgb3BhY2l0eTogMX0pKSxcbiAgICAgIHRyYW5zaXRpb24oXCJ2b2lkID0+ICpcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2UtaW4tb3V0XCIpKSxcbiAgICAgIHRyYW5zaXRpb24oXCIqID0+IHZvaWRcIiwgYW5pbWF0ZShcIjIwMG1zIGVhc2Utb3V0XCIpKVxuICAgIF0pXG4gIF0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tvdXRPdmVydmlld1JlbGF0aW9uRWRpdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHB1YmxpYyByZWFkb25seSByZWxLaW5kOiB0eXBlb2YgUmVsYXRpb25LaW5kID0gUmVsYXRpb25LaW5kO1xuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcbiAgcHVibGljIHJlYWRvbmx5IGFkZHJlc3NUeXBlOiB0eXBlb2YgQWRkcmVzc1R5cGUgPSBBZGRyZXNzVHlwZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IHJlbGF0aW9uKHZhbHVlOiBSZWxhdGlvbkFueVR5cGUpIHtcbiAgICBpZiAodGhpcy5fcmVsYXRpb24gJiYgdmFsdWUgJiYgdGhpcy5fcmVsYXRpb24ucmVsYXRpb25JZCAmJiB2YWx1ZS5yZWxhdGlvbklkICYmIHRoaXMuX3JlbGF0aW9uLnJlbGF0aW9uSWQgPT09IHZhbHVlLnJlbGF0aW9uSWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fcmVsYXRpb24gPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5fcmVsYXRpb24pIHtcbiAgICAgIGlmICh0aGlzLl9yZWxhdGlvbiBpbnN0YW5jZW9mIFN1cHBsaWVyRnVsbE9iamVjdCkge1xuICAgICAgICB0aGlzLl9yZWxhdGlvbi50eXBlID0gUmVsYXRpb25OYW1lS2luZC5Db21wYW55O1xuICAgICAgICB0aGlzLnJlbGF0aW9uVHlwZSA9IFJlbGF0aW9uTmFtZUtpbmQuQ29tcGFueTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLl9yZWxhdGlvbiBpbnN0YW5jZW9mIEN1c3RvbWVyRnVsbE9iamVjdCkge1xuICAgICAgICB0aGlzLmN1c3RvbWVyR3JvdXAgPSB0aGlzLl9yZWxhdGlvbi5jdXN0b21lckdyb3VwO1xuICAgICAgfVxuICAgICAgdGhpcy5hZGRyZXNzID0gdGhpcy5fcmVsYXRpb24uZ2V0Rmlyc3RBZGRyZXNzT3JDcmVhdGVOZXcoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlbGF0aW9uKCk6IFJlbGF0aW9uQW55VHlwZSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlbGF0aW9uO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCByZWxhdGlvbktpbmQodmFsdWU6IFJlbGF0aW9uS2luZCkge1xuICAgIHRoaXMuX3JlbGF0aW9uS2luZCA9IHZhbHVlO1xuICAgIGlmICh0aGlzLl9yZWxhdGlvbktpbmQgPT09IFJlbGF0aW9uS2luZC5TdXBwbGllcikge1xuICAgICAgdGhpcy5yZWxhdGlvblR5cGUgPSBSZWxhdGlvbk5hbWVLaW5kLkNvbXBhbnk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCByZWxhdGlvbktpbmQoKTogUmVsYXRpb25LaW5kIHtcbiAgICByZXR1cm4gdGhpcy5fcmVsYXRpb25LaW5kO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRlbGl2ZXJ5QWRkcmVzc05hd05yOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGludm9pY2VBZGRyZXNzTmF3TnI6IG51bWJlcjtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpbnZhbGlkU3VibWl0OiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkZWxpdmVyeUFkZHJlc3NDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBpbnZvaWNlQWRkcmVzc0NoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHJlbGF0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPiA9IG5ldyBFdmVudEVtaXR0ZXI8UmVsYXRpb25BbnlUeXBlPigpO1xuXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWNoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXRcIilcbiAgcHVibGljIHNob3dDbGFzcygpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRyZXNzOiBBZGRyZXNzO1xuICBwdWJsaWMgY3VzdG9tZXJHcm91cDogc3RyaW5nO1xuICBwdWJsaWMgcmVsYXRpb25UeXBlOiBSZWxhdGlvbk5hbWVLaW5kID0gUmVsYXRpb25OYW1lS2luZC5Qcml2YXRlO1xuXG4gIHB1YmxpYyByZWxhdGlvblN1Z2dlc3Rpb25zOiBSZWxhdGlvbkxpc3RPYmplY3RbXSA9IFtdO1xuICBwdWJsaWMgc2hvd1N1Z2dlc3Rpb25zU2lkZWJhcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3JlbGF0aW9uOiBSZWxhdGlvbkFueVR5cGUgPSBuZXcgQ3VzdG9tZXJGdWxsT2JqZWN0KCk7XG4gIHByaXZhdGUgX3JlbGF0aW9uS2luZDogUmVsYXRpb25LaW5kID0gUmVsYXRpb25LaW5kLkN1c3RvbWVyO1xuICBwcml2YXRlIF9yZXF1ZXN0Rm9yU3VnZ2VzdGlvbnM6IFJlbGF0aW9uU3VnZ2VzdGlvbnNSZXF1ZXN0ID0ge307XG4gIHByaXZhdGUgX3N1Z2dlc3Rpb25MaXN0VGltZW91dDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2Zvcm1NYXN0ZXI6IEZvcm1NYXN0ZXJTZXJ2aWNlLFxuICAgIHB1YmxpYyBzZXJ2aWNlOiBUcmFuc2FjdGlvblNlcnZpY2UsXG4gICAgICBwcml2YXRlIF9yZWxhdGlvblNlcnZpY2U6IFJlbGF0aW9uU2VydmljZSxcbiAgICAgIHByaXZhdGUgX2RpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5fcmVsYXRpb24pIHtcbiAgICAgIHRoaXMuYWRkcmVzcyA9IHRoaXMuX3JlbGF0aW9uLmdldEZpcnN0QWRkcmVzc09yQ3JlYXRlTmV3KCk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGNvbnN0IGZpcnN0QWN0aXZlQWRkcmVzczogQWRkcmVzcyA9IHRoaXMuX3JlbGF0aW9uLmFjdGl2ZUFkZHJlc3Nlcy5sZW5ndGggPiAwID8gdGhpcy5fcmVsYXRpb24uYWN0aXZlQWRkcmVzc2VzWzBdIDogdW5kZWZpbmVkO1xuICAgIGlmICghdGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOcikge1xuICAgICAgdGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOciA9IGZpcnN0QWN0aXZlQWRkcmVzcyA/IGZpcnN0QWN0aXZlQWRkcmVzcy5uYXdOciA6IDA7XG4gICAgICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc0NoYW5nZS5lbWl0KHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnIpO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuaW52b2ljZUFkZHJlc3NOYXdOcikge1xuICAgICAgdGhpcy5pbnZvaWNlQWRkcmVzc05hd05yID0gZmlyc3RBY3RpdmVBZGRyZXNzID8gZmlyc3RBY3RpdmVBZGRyZXNzLm5hd05yIDogMDtcbiAgICAgIHRoaXMuaW52b2ljZUFkZHJlc3NDaGFuZ2UuZW1pdCh0aGlzLmludm9pY2VBZGRyZXNzTmF3TnIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVJbnB1dENoYW5nZShyZXF1ZXN0OiBSZWxhdGlvblN1Z2dlc3Rpb25zUmVxdWVzdCk6IHZvaWQge1xuICAgIHRoaXMuX3JlcXVlc3RGb3JTdWdnZXN0aW9ucyA9IE9iamVjdC5hc3NpZ24odGhpcy5fcmVxdWVzdEZvclN1Z2dlc3Rpb25zLCByZXF1ZXN0KTtcbiAgICBpZiAodGhpcy5faXNFbXB0eVN1Z2dlc3Rpb25zUmVxdWVzdCgpKSB7XG4gICAgICB0aGlzLmhpZGVTaWRlYmFyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3N1Z2dlc3Rpb25MaXN0UmVmcmVzaCgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzaG93U2lkZWJhcigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dTdWdnZXN0aW9uc1NpZGViYXIgPSB0cnVlO1xuICB9XG5cbiAgLy8gSGlkZSBzaWRlYmFyIHdpdGggYSBsaXR0bGUgdGltZW91dCB0byBwcmV2ZW50IG1pc3NpbmcgdGhlIGNsaWNrXG4gIHB1YmxpYyBoaWRlU2lkZWJhcigpOiB2b2lkIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd1N1Z2dlc3Rpb25zU2lkZWJhciA9IGZhbHNlO1xuICAgIH0sIDIwMCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgb25SZWxhdGlvblN1Z2dlc3Rpb25DbGljayhyZWxhdGlvblN1Z2dlc3RlZDogUmVsYXRpb25MaXN0T2JqZWN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHJlbGF0aW9uU3VnZ2VzdGVkKSB7XG4gICAgICBjb25zdCBsb2NrUmVzdWx0OiBWYWxpZGF0aW9uUmVzdWx0ID0gYXdhaXQgdGhpcy5fcmVsYXRpb25TZXJ2aWNlLmxvY2tSZWxhdGlvbihyZWxhdGlvblN1Z2dlc3RlZC5yZWxhdGlvblR5cGUsIHBhcnNlSW50KHJlbGF0aW9uU3VnZ2VzdGVkLnJlbGF0aW9uTnIsIDApKTtcbiAgICAgIGlmICghbG9ja1Jlc3VsdC5zdWNjZXNzKSB7XG4gICAgICAgIHRoaXMuX2RpYWxvZ1NlcnZpY2Uuc2hvd0Vycm9yKFwiUkVMQVRJT05fQUxSRUFEWV9MT0NLRURcIiwgdHJ1ZSwgbG9ja1Jlc3VsdC5tZXNzYWdlc1swXS5tZXNzYWdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaGlkZVNpZGViYXIoKTtcbiAgICAgICAgY29uc3Qgc3VnZ2VzdGVkUmVsYXRpb246IFJlbGF0aW9uQW55VHlwZSA9IGF3YWl0IHRoaXMuX3JlbGF0aW9uU2VydmljZS5nZXRSZWxhdGlvbihyZWxhdGlvblN1Z2dlc3RlZC5yZWxhdGlvblR5cGUsIHBhcnNlSW50KHJlbGF0aW9uU3VnZ2VzdGVkLnJlbGF0aW9uTnIpKTtcbiAgICAgICAgaWYgKHN1Z2dlc3RlZFJlbGF0aW9uICYmIHN1Z2dlc3RlZFJlbGF0aW9uLmFkZHJlc3NlcyAmJiBzdWdnZXN0ZWRSZWxhdGlvbi5hZGRyZXNzZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHN1Z2dlc3RlZFJlbGF0aW9uLmFkZHJlc3Nlcy5zb3J0KChhLCBiKSA9PiBhLnNlcXVlbmNlIDwgYi5zZXF1ZW5jZSA/IC0xIDogMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yZWxhdGlvbiA9IHN1Z2dlc3RlZFJlbGF0aW9uO1xuICAgICAgICB0aGlzLnJlbGF0aW9uQ2hhbmdlLm5leHQodGhpcy5yZWxhdGlvbik7XG4gICAgICAgIHRoaXMuX3Jlc2V0U3VnZ2VzdGlvblJlcXVlc3RXaXRoUmVsYXRpb24oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlUmVsYXRpb25UeXBlQ2hhbmdlKHJlbGF0aW9uOiBSZWxhdGlvbik6IHZvaWQge1xuICAgIHRoaXMucmVsYXRpb25UeXBlID0gcmVsYXRpb24udHlwZTtcbiAgfVxuXG4gIHB1YmxpYyBlbXB0eVJlbGF0aW9uKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5zZXJ2aWNlLmNyZWF0ZU5ld1JlbGF0aW9uKCk7XG4gICAgdGhpcy5fcmVxdWVzdEZvclN1Z2dlc3Rpb25zID0ge307XG4gICAgdGhpcy5oaWRlU2lkZWJhcigpO1xuICAgIHRoaXMudXBkYXRlUmVsYXRpb24odGhpcy5zZXJ2aWNlLnJlbGF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVDdXN0b21lckdyb3VwQ2hhbmdlKGdyb3VwOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmN1c3RvbWVyR3JvdXAgPSBncm91cDtcbiAgICBpZiAodGhpcy5fcmVsYXRpb24gaW5zdGFuY2VvZiBDdXN0b21lckZ1bGxPYmplY3QpIHtcbiAgICAgIHRoaXMuX3JlbGF0aW9uLmN1c3RvbWVyR3JvdXAgPSB0aGlzLmN1c3RvbWVyR3JvdXA7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHVwZGF0ZVJlbGF0aW9uKHJlbDogUmVsYXRpb25BbnlUeXBlKTogdm9pZCB7XG4gICAgdGhpcy5yZWxhdGlvbiA9IHJlbDtcbiAgICBjb25zdCBmaXJzdEFjdGl2ZUFkZHJlc3M6IEFkZHJlc3MgPSB0aGlzLl9yZWxhdGlvbi5hY3RpdmVBZGRyZXNzZXMubGVuZ3RoID4gMCA/IHRoaXMuX3JlbGF0aW9uLmFjdGl2ZUFkZHJlc3Nlc1swXSA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLmFkZHJlc3MgPSBmaXJzdEFjdGl2ZUFkZHJlc3M7XG4gICAgdGhpcy5kZWxpdmVyeUFkZHJlc3NOYXdOciA9IGZpcnN0QWN0aXZlQWRkcmVzcyA/IGZpcnN0QWN0aXZlQWRkcmVzcy5uYXdOciA6IDA7XG4gICAgdGhpcy5kZWxpdmVyeUFkZHJlc3NDaGFuZ2UuZW1pdCh0aGlzLmRlbGl2ZXJ5QWRkcmVzc05hd05yKTtcbiAgICB0aGlzLmludm9pY2VBZGRyZXNzTmF3TnIgPSBmaXJzdEFjdGl2ZUFkZHJlc3MgPyBmaXJzdEFjdGl2ZUFkZHJlc3MubmF3TnIgOiAwO1xuICAgIHRoaXMuaW52b2ljZUFkZHJlc3NDaGFuZ2UuZW1pdCh0aGlzLmludm9pY2VBZGRyZXNzTmF3TnIpO1xuICAgIHRoaXMucmVsYXRpb25DaGFuZ2UuZW1pdCh0aGlzLnJlbGF0aW9uKTtcbiAgfVxuXG4gIHB1YmxpYyBzdWJtaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1NYXN0ZXIuc3VibWl0U2xhdmVzKCk7XG4gIH1cblxuICBwdWJsaWMgaGFuZGxlRGVsaXZlcnlBZGRyZXNzQ2hhbmdlKG5hd05yOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLmRlbGl2ZXJ5QWRkcmVzc0NoYW5nZS5lbWl0KG5hd05yKTtcbiAgICBpZiAodGhpcy5zZXJ2aWNlLmludm9pY2VBZGRyZXNzU2FtZUFzRGVsaXZlcnkpIHtcbiAgICAgIHRoaXMuaW52b2ljZUFkZHJlc3NDaGFuZ2UuZW1pdChuYXdOcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNoZWNrU2FtZUFkZHJlc3MoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOciA9IHRoaXMuZGVsaXZlcnlBZGRyZXNzTmF3TnI7XG4gICAgdGhpcy5pbnZvaWNlQWRkcmVzc0NoYW5nZS5uZXh0KHRoaXMuaW52b2ljZUFkZHJlc3NOYXdOcik7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9zZXRDb3VudHJ5TmFtZVRvQWRkcmVzcyhhZGRyZXNzOiBBZGRyZXNzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGFkZHJlc3MuY291bnRyeUlkICYmICFhZGRyZXNzLmNvdW50cnlOYW1lKSB7XG4gICAgICBjb25zdCBjb3VudHJ5OiBDb3VudHJ5ID0gYXdhaXQgdGhpcy5zZXJ2aWNlLmdldENvdW50cnkoYWRkcmVzcy5jb3VudHJ5SWQpO1xuICAgICAgYWRkcmVzcy5jb3VudHJ5TmFtZSA9IGNvdW50cnkuZGVzY3JpcHRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gZmV0Y2hlcyByZWxhdGlvbiBzdWdnZXN0aW9uc1xuICBwcml2YXRlIF9zdWdnZXN0aW9uTGlzdFJlZnJlc2goKTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuX3N1Z2dlc3Rpb25MaXN0VGltZW91dCk7XG4gICAgdGhpcy5fc3VnZ2VzdGlvbkxpc3RUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9zdWdnZXN0aW9uTGlzdFJlZnJlc2hIYW5kbGVyRm4oKTtcbiAgICB9LCA2MDApXG4gIH1cblxuICAvLyBsb2FkIHN1Z2dlc3Rpb25zXG4gIHByaXZhdGUgYXN5bmMgX3N1Z2dlc3Rpb25MaXN0UmVmcmVzaEhhbmRsZXJGbigpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHJlbGF0aW9uUmVxdWVzdDogUmVsYXRpb25SZXF1ZXN0ID0gbmV3IFJlbGF0aW9uUmVxdWVzdCgpO1xuICAgIHJlbGF0aW9uUmVxdWVzdC5yZWxhdGlvblR5cGUgPSB0aGlzLnNlcnZpY2UuZ2V0UmVsYXRpb25LaW5kRnJvbVRyYW5zYWN0aW9uS2luZCgpO1xuICAgIGlmICh0aGlzLl9yZXF1ZXN0Rm9yU3VnZ2VzdGlvbnMuZ2VuZXJhbCkge1xuICAgICAgcmVsYXRpb25SZXF1ZXN0LmdlbmVyYWwgPSB0aGlzLl9yZXF1ZXN0Rm9yU3VnZ2VzdGlvbnMuZ2VuZXJhbDtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3JlcXVlc3RGb3JTdWdnZXN0aW9ucy5maXJzdE5hbWUpIHtcbiAgICAgIHJlbGF0aW9uUmVxdWVzdC5maXJzdE5hbWUgPSB0aGlzLl9yZXF1ZXN0Rm9yU3VnZ2VzdGlvbnMuZmlyc3ROYW1lO1xuICAgIH1cbiAgICBpZiAodGhpcy5fcmVxdWVzdEZvclN1Z2dlc3Rpb25zLmZhbWlseU5hbWUpIHtcbiAgICAgIHJlbGF0aW9uUmVxdWVzdC5mYW1pbHlOYW1lID0gdGhpcy5fcmVxdWVzdEZvclN1Z2dlc3Rpb25zLmZhbWlseU5hbWU7XG4gICAgfVxuICAgIGlmICh0aGlzLl9yZXF1ZXN0Rm9yU3VnZ2VzdGlvbnMucG9zdGFsQ29kZSkge1xuICAgICAgcmVsYXRpb25SZXF1ZXN0LnBvc3RhbENvZGUgPSB0aGlzLl9yZXF1ZXN0Rm9yU3VnZ2VzdGlvbnMucG9zdGFsQ29kZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3JlcXVlc3RGb3JTdWdnZXN0aW9ucy5ob3VzZU5yKSB7XG4gICAgICByZWxhdGlvblJlcXVlc3QuaG91c2VOciA9IHRoaXMuX3JlcXVlc3RGb3JTdWdnZXN0aW9ucy5ob3VzZU5yLnRvU3RyaW5nKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9yZXF1ZXN0Rm9yU3VnZ2VzdGlvbnMuc3RyZWV0KSB7XG4gICAgICByZWxhdGlvblJlcXVlc3Quc3RyZWV0ID0gdGhpcy5fcmVxdWVzdEZvclN1Z2dlc3Rpb25zLnN0cmVldDtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3JlcXVlc3RGb3JTdWdnZXN0aW9ucy5jaXR5KSB7XG4gICAgICByZWxhdGlvblJlcXVlc3QuY2l0eSA9IHRoaXMuX3JlcXVlc3RGb3JTdWdnZXN0aW9ucy5jaXR5O1xuICAgIH1cblxuICAgIHRoaXMuX3JlbGF0aW9uU2VydmljZS5nZXRSZWxhdGlvbkxpc3RPYmplY3RzKHJlbGF0aW9uUmVxdWVzdCkudGhlbigocmVsYXRpb25zOiBSZWxhdGlvbkxpc3RPYmplY3RbXSkgPT4ge1xuICAgICAgdGhpcy5yZWxhdGlvblN1Z2dlc3Rpb25zID0gcmVsYXRpb25zO1xuICAgICAgaWYgKHJlbGF0aW9ucyAmJiByZWxhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnNob3dTaWRlYmFyKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmhpZGVTaWRlYmFyKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9pc0VtcHR5U3VnZ2VzdGlvbnNSZXF1ZXN0KCk6IGJvb2xlYW4ge1xuICAgIGZvciAobGV0IGtleSBpbiB0aGlzLl9yZXF1ZXN0Rm9yU3VnZ2VzdGlvbnMpIHtcbiAgICAgIGlmICh0aGlzLl9yZXF1ZXN0Rm9yU3VnZ2VzdGlvbnMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICBpZiAodGhpcy5fcmVxdWVzdEZvclN1Z2dlc3Rpb25zW2tleV0gIT09IHVuZGVmaW5lZCAmJnRoaXMuX3JlcXVlc3RGb3JTdWdnZXN0aW9uc1trZXldICE9PSBudWxsICYmIHRoaXMuX3JlcXVlc3RGb3JTdWdnZXN0aW9uc1trZXldICE9PSBcIlwiKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVzZXRTdWdnZXN0aW9uUmVxdWVzdFdpdGhSZWxhdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXF1ZXN0Rm9yU3VnZ2VzdGlvbnMgPSB7fTtcbiAgICBpZiAodGhpcy5yZWxhdGlvbikge1xuICAgICAgdGhpcy5fcmVxdWVzdEZvclN1Z2dlc3Rpb25zLmZpcnN0TmFtZSA9IHRoaXMucmVsYXRpb24uZmlyc3ROYW1lO1xuICAgICAgdGhpcy5fcmVxdWVzdEZvclN1Z2dlc3Rpb25zLmZhbWlseU5hbWUgPSB0aGlzLnJlbGF0aW9uLmZhbWlseU5hbWU7XG4gICAgICBjb25zdCBhZGRyZXNzID0gdGhpcy5yZWxhdGlvbi5hZGRyZXNzZXNbMF07XG4gICAgICBpZiAoYWRkcmVzcykge1xuICAgICAgICB0aGlzLl9yZXF1ZXN0Rm9yU3VnZ2VzdGlvbnMuc3RyZWV0ID0gYWRkcmVzcy5zdHJlZXROYW1lO1xuICAgICAgICB0aGlzLl9yZXF1ZXN0Rm9yU3VnZ2VzdGlvbnMucG9zdGFsQ29kZSA9IGFkZHJlc3MucG9zdGFsQ29kZTtcbiAgICAgICAgdGhpcy5fcmVxdWVzdEZvclN1Z2dlc3Rpb25zLmNpdHkgPSBhZGRyZXNzLmNpdHk7XG4gICAgICAgIHRoaXMuX3JlcXVlc3RGb3JTdWdnZXN0aW9ucy5ob3VzZU5yID0gYWRkcmVzcy5ob3VzZU5vO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -39,6 +39,7 @@ import { TransactionHeaderAdministrativeRelationModule } from '../transaction-he
39
39
  import { TransactionHeaderMarketingModule } from '../transaction-header-fields/transaction-header-marketing.module';
40
40
  import { TransactionHeaderDeliveryOptionsModule } from '../transaction-header-fields/transaction-header-delivery-options/transaction-header-delivery-options.module';
41
41
  import { TransactionHeaderHoldCodesModule } from '../transaction-header-fields/transaction-header-hold-codes.module';
42
+ import { RelationSuggestionsListModule } from '../relation/relation-suggestions-list/relation-suggestions-list.module';
42
43
  export class CheckoutModule {
43
44
  }
44
45
  CheckoutModule.decorators = [
@@ -91,7 +92,8 @@ CheckoutModule.decorators = [
91
92
  TransactionHeaderBranchModule,
92
93
  TransactionHeaderAdministrativeRelationModule,
93
94
  TransactionHeaderMarketingModule,
94
- TransactionHeaderHoldCodesModule
95
+ TransactionHeaderHoldCodesModule,
96
+ RelationSuggestionsListModule
95
97
  ],
96
98
  declarations: [
97
99
  CheckoutOverviewRelationEditComponent,
@@ -106,4 +108,4 @@ CheckoutModule.decorators = [
106
108
  bootstrap: [CheckoutComponent]
107
109
  },] }
108
110
  ];
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvY2hlY2tvdXQvY2hlY2tvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNILFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLFdBQVcsR0FDZCxNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUNsSSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUNsSSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDL0csT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDM0YsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7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QztvQkFDdEMsc0NBQXNDO29CQUN0Qyw4QkFBOEI7b0JBQzlCLGdDQUFnQztvQkFDaEMsd0NBQXdDO29CQUN4Qyx3Q0FBd0M7b0JBQ3hDLG9DQUFvQztvQkFDcEMsaUNBQWlDO29CQUNqQyw2QkFBNkI7b0JBQzdCLDZDQUE2QztvQkFDN0MsZ0NBQWdDO29CQUNoQyxnQ0FBZ0M7aUJBQ25DO2dCQUNILFlBQVksRUFBRTtvQkFDWixxQ0FBcUM7b0JBQ3JDLHFDQUFxQztvQkFDckMsZ0NBQWdDO29CQUNoQyxpQkFBaUI7aUJBQ2xCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxjQUFjO2lCQUNmO2dCQUNDLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLHFDQUFxQyxDQUFDO2dCQUNyRSxTQUFTLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQzthQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gICAgQnV0dG9uTW9kdWxlLFxyXG4gICAgQ2Fyb3VzZWwzZE1vZHVsZSxcclxuICAgIENvRGlhbG9nTW9kdWxlLFxyXG4gICAgQ29sbGFwc2libGVNb2R1bGUsXHJcbiAgICBGb3JtTW9kdWxlLFxyXG4gICAgSWNvbk1vZHVsZSxcclxuICAgIElucHV0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICBJbnB1dERhdGVQaWNrZXJNb2R1bGUsXHJcbiAgICBJbnB1dE51bWJlclBpY2tlck1vZHVsZSxcclxuICAgIElucHV0UmFkaW9CdXR0b25Nb2R1bGUsXHJcbiAgICBJbnB1dFRleHRhcmVhTW9kdWxlLFxyXG4gICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgUG9wdXBNb2R1bGUsXHJcbn0gZnJvbSAnQGNvbGlqbml0L2NvcmVjb21wb25lbnRzX3YxMic7XHJcbmltcG9ydCB7RmxleE1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvZmxleC1sYXlvdXQnO1xyXG5pbXBvcnQge0NoZWNrb3V0T3ZlcnZpZXdSZWxhdGlvbkVkaXRDb21wb25lbnR9IGZyb20gJy4vY2hlY2tvdXQtb3ZlcnZpZXctcmVsYXRpb24tZWRpdC9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q2hlY2tvdXRPdmVydmlld0RlbGl2ZXJ5RWRpdENvbXBvbmVudH0gZnJvbSAnLi9jaGVja291dC1vdmVydmlldy1kZWxpdmVyeS1lZGl0L2NoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWVkaXQuY29tcG9uZW50JztcclxuaW1wb3J0IHtPcHRpb25zU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9vcHRpb25zLnNlcnZpY2UnO1xyXG5pbXBvcnQge0NvcmVNb2R1bGV9IGZyb20gJy4uL2NvcmUvY29yZS5tb2R1bGUnO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtDaGVja291dENvbXBvbmVudH0gZnJvbSAnLi9jaGVja291dC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0Zvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzU2VsZWN0TW9kdWxlfSBmcm9tICcuLi9yZWxhdGlvbi9yZWxhdGlvbi1hZGRyZXNzLXNlbGVjdC9yZWxhdGlvbi1hZGRyZXNzLXNlbGVjdC5tb2R1bGUnO1xyXG5pbXBvcnQge1JlbGF0aW9uQWRkcmVzc01vZHVsZX0gZnJvbSAnLi4vcmVsYXRpb24vcmVsYXRpb24tYWRkcmVzcy9yZWxhdGlvbi1hZGRyZXNzLm1vZHVsZSc7XHJcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzVGlsZU1vZHVsZX0gZnJvbSAnLi4vcmVsYXRpb24vcmVsYXRpb24tYWRkcmVzcy10aWxlL3JlbGF0aW9uLWFkZHJlc3MtdGlsZS5tb2R1bGUnO1xyXG5pbXBvcnQge1BpcGVNb2R1bGV9IGZyb20gJy4uLy4uL3BpcGUvcGlwZS5tb2R1bGUnO1xyXG5pbXBvcnQge1N0ZXBwZXJNb2R1bGV9IGZyb20gJy4uL3N0ZXBwZXIvc3RlcHBlci5tb2R1bGUnO1xyXG5pbXBvcnQge1Nob3BwaW5nQ2FydFByZXZpZXdNb2R1bGV9IGZyb20gJy4uL3Nob3BwaW5nLWNhcnQtcHJldmlldy9zaG9wcGluZy1jYXJ0LXByZXZpZXcubW9kdWxlJztcclxuaW1wb3J0IHtBdmF0YXJNb2R1bGV9IGZyb20gJy4uL2F2YXRhci9hdmF0YXIubW9kdWxlJztcclxuaW1wb3J0IHtEZWxpdmVyeVR5cGVUaWxlTW9kdWxlfSBmcm9tICcuLi9kZWxpdmVyeS10eXBlLXRpbGUvZGVsaXZlcnktdHlwZS10aWxlLm1vZHVsZSc7XHJcbmltcG9ydCB7UGF5bWVudE1vZHVsZX0gZnJvbSAnLi4vcGF5bWVudC9wYXltZW50Lm1vZHVsZSc7XHJcbmltcG9ydCB7UmVsYXRpb25UeXBlTW9kdWxlfSBmcm9tICcuLi9yZWxhdGlvbi9yZWxhdGlvbi10eXBlL3JlbGF0aW9uLXR5cGUubW9kdWxlJztcclxuaW1wb3J0IHtSZWxhdGlvbkdlbmVyYWxNb2R1bGV9IGZyb20gJy4uL3JlbGF0aW9uL3JlbGF0aW9uLWdlbmVyYWwvcmVsYXRpb24tZ2VuZXJhbC5tb2R1bGUnO1xyXG5pbXBvcnQge1JlbGF0aW9uQWRkcmVzc2VzTW9kdWxlfSBmcm9tICcuLi9yZWxhdGlvbi9yZWxhdGlvbi1hZGRyZXNzZXMvcmVsYXRpb24tYWRkcmVzc2VzLm1vZHVsZSc7XHJcbmltcG9ydCB7UmVsYXRpb25Db250YWN0RGV0YWlsc01vZHVsZX0gZnJvbSAnLi4vcmVsYXRpb24vcmVsYXRpb24tY29udGFjdC1kZXRhaWxzL3JlbGF0aW9uLWNvbnRhY3QtZGV0YWlscy5tb2R1bGUnO1xyXG5pbXBvcnQge1JlbGF0aW9uUHJlZmVyZW5jZXNNb2R1bGV9IGZyb20gJy4uL3JlbGF0aW9uL3JlbGF0aW9uLXByZWZlcmVuY2VzL3JlbGF0aW9uLXByZWZlcmVuY2VzLm1vZHVsZSc7XHJcbmltcG9ydCB7Q2hlY2tvdXRPdmVydmlld1BheW1lbnRDb21wb25lbnR9IGZyb20gJy4vY2hlY2tvdXQtb3ZlcnZpZXctcGF5bWVudC9jaGVja291dC1vdmVydmlldy1wYXltZW50LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyL3RyYW5zYWN0aW9uLWhlYWRlci1kZWxpdmVyeS90cmFuc2FjdGlvbi1oZWFkZXItZGVsaXZlcnkubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclByZWZlcnJlZERlbGl2ZXJ5RGF0ZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItcHJlZmVycmVkLWRlbGl2ZXJ5LWRhdGUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclBhcnRpYWxEZWxpdmVyeU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItcGFydGlhbC1kZWxpdmVyeS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyRGVsaXZlcnlEYXRlTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1kZWxpdmVyeS1kYXRlLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeU1ldGhvZE1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItZGVsaXZlcnktbWV0aG9kLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJSZW1hcmtzTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1yZW1hcmtzLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJSZWZlcmVuY2VNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLXJlZmVyZW5jZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyUmVsYXRpb25SZWZlcmVuY2VNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLXJlbGF0aW9uLXJlZmVyZW5jZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyRGVwb3NpdFBlcmNlbnRhZ2VNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWRlcG9zaXQtcGVyY2VudGFnZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyRGVwb3NpdEFtb3VudE1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItZGVwb3NpdC1hbW91bnQubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlckRlZmluaXRpdmVNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWRlZmluaXRpdmUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlckJyYW5jaE1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItYnJhbmNoLm1vZHVsZSc7XHJcbmltcG9ydCB7XHJcbiAgICBUcmFuc2FjdGlvbkhlYWRlckFkbWluaXN0cmF0aXZlUmVsYXRpb25Nb2R1bGVcclxufSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1hZG1pbmlzdHJhdGl2ZS1yZWxhdGlvbi5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyTWFya2V0aW5nTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1tYXJrZXRpbmcubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVsaXZlcnlPcHRpb25zTW9kdWxlXHJcbn0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItZGVsaXZlcnktb3B0aW9ucy90cmFuc2FjdGlvbi1oZWFkZXItZGVsaXZlcnktb3B0aW9ucy5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVySG9sZENvZGVzTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1ob2xkLWNvZGVzLm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvcmVNb2R1bGUsXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIEljb25Nb2R1bGUsXHJcbiAgICAgICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgICAgIElucHV0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICAgICAgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZSxcclxuICAgICAgICBGb3JtTW9kdWxlLFxyXG4gICAgICAgIElucHV0RGF0ZVBpY2tlck1vZHVsZSxcclxuICAgICAgICBJbnB1dE51bWJlclBpY2tlck1vZHVsZSxcclxuICAgICAgICBDb0RpYWxvZ01vZHVsZSxcclxuICAgICAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgRmxleE1vZHVsZSxcclxuICAgICAgICBQb3B1cE1vZHVsZS5mb3JSb290KCksXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBSZWxhdGlvbkFkZHJlc3NNb2R1bGUsXHJcbiAgICAgICAgUmVsYXRpb25BZGRyZXNzU2VsZWN0TW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uQWRkcmVzc1RpbGVNb2R1bGUsXHJcbiAgICAgICAgQ2Fyb3VzZWwzZE1vZHVsZSxcclxuICAgICAgICBJbnB1dFRleHRhcmVhTW9kdWxlLFxyXG4gICAgICAgIFBpcGVNb2R1bGUsXHJcbiAgICAgICAgU3RlcHBlck1vZHVsZSxcclxuICAgICAgICBTaG9wcGluZ0NhcnRQcmV2aWV3TW9kdWxlLFxyXG4gICAgICAgIEF2YXRhck1vZHVsZSxcclxuICAgICAgICBEZWxpdmVyeVR5cGVUaWxlTW9kdWxlLFxyXG4gICAgICAgIENvbGxhcHNpYmxlTW9kdWxlLFxyXG4gICAgICAgIFBheW1lbnRNb2R1bGUsXHJcbiAgICAgICAgUmVsYXRpb25UeXBlTW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uR2VuZXJhbE1vZHVsZSxcclxuICAgICAgICBSZWxhdGlvbkFkZHJlc3Nlc01vZHVsZSxcclxuICAgICAgICBSZWxhdGlvbkNvbnRhY3REZXRhaWxzTW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uUHJlZmVyZW5jZXNNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclByZWZlcnJlZERlbGl2ZXJ5RGF0ZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5RGF0ZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5TWV0aG9kTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyUGFydGlhbERlbGl2ZXJ5TW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVsaXZlcnlPcHRpb25zTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyUmVtYXJrc01vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclJlZmVyZW5jZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclJlbGF0aW9uUmVmZXJlbmNlTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVwb3NpdFBlcmNlbnRhZ2VNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJEZXBvc2l0QW1vdW50TW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVmaW5pdGl2ZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckJyYW5jaE1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckFkbWluaXN0cmF0aXZlUmVsYXRpb25Nb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJNYXJrZXRpbmdNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJIb2xkQ29kZXNNb2R1bGVcclxuICAgIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBDaGVja291dE92ZXJ2aWV3UmVsYXRpb25FZGl0Q29tcG9uZW50LFxyXG4gICAgQ2hlY2tvdXRPdmVydmlld0RlbGl2ZXJ5RWRpdENvbXBvbmVudCxcclxuICAgIENoZWNrb3V0T3ZlcnZpZXdQYXltZW50Q29tcG9uZW50LFxyXG4gICAgQ2hlY2tvdXRDb21wb25lbnQsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIE9wdGlvbnNTZXJ2aWNlXHJcbiAgXSxcclxuICAgIGV4cG9ydHM6IFtDaGVja291dENvbXBvbmVudCwgQ2hlY2tvdXRPdmVydmlld1JlbGF0aW9uRWRpdENvbXBvbmVudF0sXHJcbiAgYm9vdHN0cmFwOiBbQ2hlY2tvdXRDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja291dE1vZHVsZSB7XHJcbn1cclxuIl19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJhbnNhY3Rpb24vc3JjL2xpYi9jb21wb25lbnQvY2hlY2tvdXQvY2hlY2tvdXQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUNILFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsY0FBYyxFQUNkLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsVUFBVSxFQUNWLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLFdBQVcsR0FDZCxNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUNsSSxPQUFPLEVBQUMscUNBQXFDLEVBQUMsTUFBTSw2RUFBNkUsQ0FBQztBQUNsSSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFFLG1CQUFtQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEUsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDL0csT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sc0RBQXNELENBQUM7QUFDM0YsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sZ0VBQWdFLENBQUM7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QUE0QztvQkFDNUMsbUNBQW1DO29CQUNuQyxxQ0FBcUM7b0JBQ3JDLHNDQUFzQztvQkFDdEMsc0NBQXNDO29CQUN0Qyw4QkFBOEI7b0JBQzlCLGdDQUFnQztvQkFDaEMsd0NBQXdDO29CQUN4Qyx3Q0FBd0M7b0JBQ3hDLG9DQUFvQztvQkFDcEMsaUNBQWlDO29CQUNqQyw2QkFBNkI7b0JBQzdCLDZDQUE2QztvQkFDN0MsZ0NBQWdDO29CQUNoQyxnQ0FBZ0M7b0JBQ2hDLDZCQUE2QjtpQkFDaEM7Z0JBQ0gsWUFBWSxFQUFFO29CQUNaLHFDQUFxQztvQkFDckMscUNBQXFDO29CQUNyQyxnQ0FBZ0M7b0JBQ2hDLGlCQUFpQjtpQkFDbEI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGNBQWM7aUJBQ2Y7Z0JBQ0MsT0FBTyxFQUFFLENBQUMsaUJBQWlCLEVBQUUscUNBQXFDLENBQUM7Z0JBQ3JFLFNBQVMsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2FBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICBDYXJvdXNlbDNkTW9kdWxlLFxyXG4gICAgQ29EaWFsb2dNb2R1bGUsXHJcbiAgICBDb2xsYXBzaWJsZU1vZHVsZSxcclxuICAgIEZvcm1Nb2R1bGUsXHJcbiAgICBJY29uTW9kdWxlLFxyXG4gICAgSW5wdXRDaGVja2JveE1vZHVsZSxcclxuICAgIElucHV0RGF0ZVBpY2tlck1vZHVsZSxcclxuICAgIElucHV0TnVtYmVyUGlja2VyTW9kdWxlLFxyXG4gICAgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZSxcclxuICAgIElucHV0VGV4dGFyZWFNb2R1bGUsXHJcbiAgICBJbnB1dFRleHRNb2R1bGUsXHJcbiAgICBQb3B1cE1vZHVsZSxcclxufSBmcm9tICdAY29saWpuaXQvY29yZWNvbXBvbmVudHNfdjEyJztcclxuaW1wb3J0IHtGbGV4TW9kdWxlfSBmcm9tICdAYW5ndWxhci9mbGV4LWxheW91dCc7XHJcbmltcG9ydCB7Q2hlY2tvdXRPdmVydmlld1JlbGF0aW9uRWRpdENvbXBvbmVudH0gZnJvbSAnLi9jaGVja291dC1vdmVydmlldy1yZWxhdGlvbi1lZGl0L2NoZWNrb3V0LW92ZXJ2aWV3LXJlbGF0aW9uLWVkaXQuY29tcG9uZW50JztcclxuaW1wb3J0IHtDaGVja291dE92ZXJ2aWV3RGVsaXZlcnlFZGl0Q29tcG9uZW50fSBmcm9tICcuL2NoZWNrb3V0LW92ZXJ2aWV3LWRlbGl2ZXJ5LWVkaXQvY2hlY2tvdXQtb3ZlcnZpZXctZGVsaXZlcnktZWRpdC5jb21wb25lbnQnO1xyXG5pbXBvcnQge09wdGlvbnNTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL29wdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7Q29yZU1vZHVsZX0gZnJvbSAnLi4vY29yZS9jb3JlLm1vZHVsZSc7XHJcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQge0NoZWNrb3V0Q29tcG9uZW50fSBmcm9tICcuL2NoZWNrb3V0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Rm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtSZWxhdGlvbkFkZHJlc3NTZWxlY3RNb2R1bGV9IGZyb20gJy4uL3JlbGF0aW9uL3JlbGF0aW9uLWFkZHJlc3Mtc2VsZWN0L3JlbGF0aW9uLWFkZHJlc3Mtc2VsZWN0Lm1vZHVsZSc7XHJcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzTW9kdWxlfSBmcm9tICcuLi9yZWxhdGlvbi9yZWxhdGlvbi1hZGRyZXNzL3JlbGF0aW9uLWFkZHJlc3MubW9kdWxlJztcclxuaW1wb3J0IHtSZWxhdGlvbkFkZHJlc3NUaWxlTW9kdWxlfSBmcm9tICcuLi9yZWxhdGlvbi9yZWxhdGlvbi1hZGRyZXNzLXRpbGUvcmVsYXRpb24tYWRkcmVzcy10aWxlLm1vZHVsZSc7XHJcbmltcG9ydCB7UGlwZU1vZHVsZX0gZnJvbSAnLi4vLi4vcGlwZS9waXBlLm1vZHVsZSc7XHJcbmltcG9ydCB7U3RlcHBlck1vZHVsZX0gZnJvbSAnLi4vc3RlcHBlci9zdGVwcGVyLm1vZHVsZSc7XHJcbmltcG9ydCB7U2hvcHBpbmdDYXJ0UHJldmlld01vZHVsZX0gZnJvbSAnLi4vc2hvcHBpbmctY2FydC1wcmV2aWV3L3Nob3BwaW5nLWNhcnQtcHJldmlldy5tb2R1bGUnO1xyXG5pbXBvcnQge0F2YXRhck1vZHVsZX0gZnJvbSAnLi4vYXZhdGFyL2F2YXRhci5tb2R1bGUnO1xyXG5pbXBvcnQge0RlbGl2ZXJ5VHlwZVRpbGVNb2R1bGV9IGZyb20gJy4uL2RlbGl2ZXJ5LXR5cGUtdGlsZS9kZWxpdmVyeS10eXBlLXRpbGUubW9kdWxlJztcclxuaW1wb3J0IHtQYXltZW50TW9kdWxlfSBmcm9tICcuLi9wYXltZW50L3BheW1lbnQubW9kdWxlJztcclxuaW1wb3J0IHtSZWxhdGlvblR5cGVNb2R1bGV9IGZyb20gJy4uL3JlbGF0aW9uL3JlbGF0aW9uLXR5cGUvcmVsYXRpb24tdHlwZS5tb2R1bGUnO1xyXG5pbXBvcnQge1JlbGF0aW9uR2VuZXJhbE1vZHVsZX0gZnJvbSAnLi4vcmVsYXRpb24vcmVsYXRpb24tZ2VuZXJhbC9yZWxhdGlvbi1nZW5lcmFsLm1vZHVsZSc7XHJcbmltcG9ydCB7UmVsYXRpb25BZGRyZXNzZXNNb2R1bGV9IGZyb20gJy4uL3JlbGF0aW9uL3JlbGF0aW9uLWFkZHJlc3Nlcy9yZWxhdGlvbi1hZGRyZXNzZXMubW9kdWxlJztcclxuaW1wb3J0IHtSZWxhdGlvbkNvbnRhY3REZXRhaWxzTW9kdWxlfSBmcm9tICcuLi9yZWxhdGlvbi9yZWxhdGlvbi1jb250YWN0LWRldGFpbHMvcmVsYXRpb24tY29udGFjdC1kZXRhaWxzLm1vZHVsZSc7XHJcbmltcG9ydCB7UmVsYXRpb25QcmVmZXJlbmNlc01vZHVsZX0gZnJvbSAnLi4vcmVsYXRpb24vcmVsYXRpb24tcHJlZmVyZW5jZXMvcmVsYXRpb24tcHJlZmVyZW5jZXMubW9kdWxlJztcclxuaW1wb3J0IHtDaGVja291dE92ZXJ2aWV3UGF5bWVudENvbXBvbmVudH0gZnJvbSAnLi9jaGVja291dC1vdmVydmlldy1wYXltZW50L2NoZWNrb3V0LW92ZXJ2aWV3LXBheW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5TW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXIvdHJhbnNhY3Rpb24taGVhZGVyLWRlbGl2ZXJ5L3RyYW5zYWN0aW9uLWhlYWRlci1kZWxpdmVyeS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyUHJlZmVycmVkRGVsaXZlcnlEYXRlTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1wcmVmZXJyZWQtZGVsaXZlcnktZGF0ZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyUGFydGlhbERlbGl2ZXJ5TW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1wYXJ0aWFsLWRlbGl2ZXJ5Lm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeURhdGVNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWRlbGl2ZXJ5LWRhdGUubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5TWV0aG9kTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1kZWxpdmVyeS1tZXRob2QubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclJlbWFya3NNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLXJlbWFya3MubW9kdWxlJztcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkhlYWRlclJlZmVyZW5jZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItcmVmZXJlbmNlLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJSZWxhdGlvblJlZmVyZW5jZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItcmVsYXRpb24tcmVmZXJlbmNlLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJEZXBvc2l0UGVyY2VudGFnZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItZGVwb3NpdC1wZXJjZW50YWdlLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJEZXBvc2l0QW1vdW50TW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1kZXBvc2l0LWFtb3VudC5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyRGVmaW5pdGl2ZU1vZHVsZX0gZnJvbSAnLi4vdHJhbnNhY3Rpb24taGVhZGVyLWZpZWxkcy90cmFuc2FjdGlvbi1oZWFkZXItZGVmaW5pdGl2ZS5tb2R1bGUnO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uSGVhZGVyQnJhbmNoTW9kdWxlfSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1icmFuY2gubW9kdWxlJztcclxuaW1wb3J0IHtcclxuICAgIFRyYW5zYWN0aW9uSGVhZGVyQWRtaW5pc3RyYXRpdmVSZWxhdGlvbk1vZHVsZVxyXG59IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWFkbWluaXN0cmF0aXZlLXJlbGF0aW9uLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJNYXJrZXRpbmdNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLW1hcmtldGluZy5tb2R1bGUnO1xyXG5pbXBvcnQge1xyXG4gICAgVHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeU9wdGlvbnNNb2R1bGVcclxufSBmcm9tICcuLi90cmFuc2FjdGlvbi1oZWFkZXItZmllbGRzL3RyYW5zYWN0aW9uLWhlYWRlci1kZWxpdmVyeS1vcHRpb25zL3RyYW5zYWN0aW9uLWhlYWRlci1kZWxpdmVyeS1vcHRpb25zLm1vZHVsZSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25IZWFkZXJIb2xkQ29kZXNNb2R1bGV9IGZyb20gJy4uL3RyYW5zYWN0aW9uLWhlYWRlci1maWVsZHMvdHJhbnNhY3Rpb24taGVhZGVyLWhvbGQtY29kZXMubW9kdWxlJztcclxuaW1wb3J0IHtSZWxhdGlvblN1Z2dlc3Rpb25zTGlzdE1vZHVsZX0gZnJvbSAnLi4vcmVsYXRpb24vcmVsYXRpb24tc3VnZ2VzdGlvbnMtbGlzdC9yZWxhdGlvbi1zdWdnZXN0aW9ucy1saXN0Lm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvcmVNb2R1bGUsXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIEljb25Nb2R1bGUsXHJcbiAgICAgICAgSW5wdXRUZXh0TW9kdWxlLFxyXG4gICAgICAgIElucHV0Q2hlY2tib3hNb2R1bGUsXHJcbiAgICAgICAgSW5wdXRSYWRpb0J1dHRvbk1vZHVsZSxcclxuICAgICAgICBGb3JtTW9kdWxlLFxyXG4gICAgICAgIElucHV0RGF0ZVBpY2tlck1vZHVsZSxcclxuICAgICAgICBJbnB1dE51bWJlclBpY2tlck1vZHVsZSxcclxuICAgICAgICBDb0RpYWxvZ01vZHVsZSxcclxuICAgICAgICBCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgRmxleE1vZHVsZSxcclxuICAgICAgICBQb3B1cE1vZHVsZS5mb3JSb290KCksXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBGb3Jtc01vZHVsZSxcclxuICAgICAgICBSZWxhdGlvbkFkZHJlc3NNb2R1bGUsXHJcbiAgICAgICAgUmVsYXRpb25BZGRyZXNzU2VsZWN0TW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uQWRkcmVzc1RpbGVNb2R1bGUsXHJcbiAgICAgICAgQ2Fyb3VzZWwzZE1vZHVsZSxcclxuICAgICAgICBJbnB1dFRleHRhcmVhTW9kdWxlLFxyXG4gICAgICAgIFBpcGVNb2R1bGUsXHJcbiAgICAgICAgU3RlcHBlck1vZHVsZSxcclxuICAgICAgICBTaG9wcGluZ0NhcnRQcmV2aWV3TW9kdWxlLFxyXG4gICAgICAgIEF2YXRhck1vZHVsZSxcclxuICAgICAgICBEZWxpdmVyeVR5cGVUaWxlTW9kdWxlLFxyXG4gICAgICAgIENvbGxhcHNpYmxlTW9kdWxlLFxyXG4gICAgICAgIFBheW1lbnRNb2R1bGUsXHJcbiAgICAgICAgUmVsYXRpb25UeXBlTW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uR2VuZXJhbE1vZHVsZSxcclxuICAgICAgICBSZWxhdGlvbkFkZHJlc3Nlc01vZHVsZSxcclxuICAgICAgICBSZWxhdGlvbkNvbnRhY3REZXRhaWxzTW9kdWxlLFxyXG4gICAgICAgIFJlbGF0aW9uUHJlZmVyZW5jZXNNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJEZWxpdmVyeU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclByZWZlcnJlZERlbGl2ZXJ5RGF0ZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5RGF0ZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckRlbGl2ZXJ5TWV0aG9kTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyUGFydGlhbERlbGl2ZXJ5TW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVsaXZlcnlPcHRpb25zTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyUmVtYXJrc01vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclJlZmVyZW5jZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlclJlbGF0aW9uUmVmZXJlbmNlTW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVwb3NpdFBlcmNlbnRhZ2VNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJEZXBvc2l0QW1vdW50TW9kdWxlLFxyXG4gICAgICAgIFRyYW5zYWN0aW9uSGVhZGVyRGVmaW5pdGl2ZU1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckJyYW5jaE1vZHVsZSxcclxuICAgICAgICBUcmFuc2FjdGlvbkhlYWRlckFkbWluaXN0cmF0aXZlUmVsYXRpb25Nb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJNYXJrZXRpbmdNb2R1bGUsXHJcbiAgICAgICAgVHJhbnNhY3Rpb25IZWFkZXJIb2xkQ29kZXNNb2R1bGUsXHJcbiAgICAgICAgUmVsYXRpb25TdWdnZXN0aW9uc0xpc3RNb2R1bGVcclxuICAgIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBDaGVja291dE92ZXJ2aWV3UmVsYXRpb25FZGl0Q29tcG9uZW50LFxyXG4gICAgQ2hlY2tvdXRPdmVydmlld0RlbGl2ZXJ5RWRpdENvbXBvbmVudCxcclxuICAgIENoZWNrb3V0T3ZlcnZpZXdQYXltZW50Q29tcG9uZW50LFxyXG4gICAgQ2hlY2tvdXRDb21wb25lbnQsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIE9wdGlvbnNTZXJ2aWNlXHJcbiAgXSxcclxuICAgIGV4cG9ydHM6IFtDaGVja291dENvbXBvbmVudCwgQ2hlY2tvdXRPdmVydmlld1JlbGF0aW9uRWRpdENvbXBvbmVudF0sXHJcbiAgYm9vdHN0cmFwOiBbQ2hlY2tvdXRDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDaGVja291dE1vZHVsZSB7XHJcbn1cclxuIl19
@@ -44,11 +44,17 @@ ConfirmationDialogComponent.decorators = [
44
44
  <ng-template #footerTemplate>
45
45
  <div class="co-dialog-footer-button-wrapper">
46
46
  <ng-container *ngIf="type === ptype.Confirmation">
47
- <co-button [label]="'YES' | localize" (click)="handleYesClick($event)"></co-button>
48
- <co-button [label]="'NO' | localize" (click)="handleNoClick($event)"></co-button>
47
+ <co-button class="save-button"
48
+ [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
49
+ (click)="handleYesClick($event)"></co-button>
50
+ <co-button class="close-button"
51
+ [iconData]="iconCacheService.getIcon(icons.Crossskinny)"
52
+ (click)="handleNoClick($event)"></co-button>
49
53
  </ng-container>
50
54
  <ng-container *ngIf="type === ptype.Information || type === ptype.Error">
51
- <co-button [label]="'OK' | localize" (click)="handleOkClick($event)"></co-button>
55
+ <co-button class="save-button"
56
+ [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
57
+ (click)="handleYesClick($event)"></co-button>
52
58
  </ng-container>
53
59
  </div>
54
60
  <ng-container *ngIf="showRememberCheckbox">
@@ -70,4 +76,4 @@ ConfirmationDialogComponent.propDecorators = {
70
76
  showRememberCheckbox: [{ type: Input }],
71
77
  showClass: [{ type: HostBinding, args: ["class.co-confirmation-dialog",] }]
72
78
  };
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDOUQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBaUNsRSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsbUJBQW1CO0lBMEJsRSxZQUFtQixnQkFBa0M7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFEUyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBekJyQyxVQUFLLEdBQWdCLElBQUksQ0FBQztRQUMxQixVQUFLLEdBQXdCLFlBQVksQ0FBQztRQWVuRCx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFPdEMsbUJBQWMsR0FBWSxLQUFLLENBQUM7SUFJdkMsQ0FBQztJQVJNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFRTSxjQUFjLENBQUMsS0FBaUI7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQWlCO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFpQjtRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7OztZQXZFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBaENPLGdCQUFnQjs7O29CQXFDckIsS0FBSzttQkFHTCxLQUFLO3NCQUdMLEtBQUs7bUJBR0wsS0FBSzttQ0FHTCxLQUFLO3dCQUdMLFdBQVcsU0FBQyw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtEaWFsb2dCYXNlQ29tcG9uZW50fSBmcm9tIFwiLi4vY29yZS9iYXNlL2RpYWxvZy1iYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0FwcFBvcHVwQnV0dG9uVHlwZX0gZnJvbSBcIi4uL2NvcmUvZW51bS9hcHAtcG9wdXAtYnV0dG9uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge0FwcFBvcHVwVHlwZX0gZnJvbSBcIi4uL2NvcmUvZW51bS9hcHAtcG9wdXAtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1jb25maXJtYXRpb24tZGlhbG9nXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1kaWFsb2cgW3Nob3dDbG9zZUljb25dPVwiZmFsc2VcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIiBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbmZpcm1hdGlvbi1kaWFsb2ctd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgW2lubmVySFRNTF09XCJ0ZXh0IHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICA8Y28tY29sbGFwc2libGUgW2hlYWRlclRpdGxlXT1cIidERVRBSUxTJyB8IGxvY2FsaXplXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5UcmlhbmdsZURvd24pXCIgKm5nSWY9XCJkZXRhaWxzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWRldGFpbHNcIiBbaW5uZXJIVE1MXT1cImRldGFpbHNcIj48L2Rpdj5cclxuICAgICAgICA8L2NvLWNvbGxhcHNpYmxlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwidGl0bGUgfCBsb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctZm9vdGVyLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09IHB0eXBlLkNvbmZpcm1hdGlvblwiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBbbGFiZWxdPVwiJ1lFUycgfCBsb2NhbGl6ZVwiIChjbGljayk9XCJoYW5kbGVZZXNDbGljaygkZXZlbnQpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInTk8nIHwgbG9jYWxpemVcIiAoY2xpY2spPVwiaGFuZGxlTm9DbGljaygkZXZlbnQpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09IHB0eXBlLkluZm9ybWF0aW9uIHx8IHR5cGUgPT09IHB0eXBlLkVycm9yXCI+XHJcbiAgICAgICAgICA8Y28tYnV0dG9uIFtsYWJlbF09XCInT0snIHwgbG9jYWxpemVcIiAoY2xpY2spPVwiaGFuZGxlT2tDbGljaygkZXZlbnQpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1JlbWVtYmVyQ2hlY2tib3hcIj5cclxuICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW2xhYmVsXT1cIidSRU1FTUJFUl9DSE9JQ0UnIHwgbG9jYWxpemVcIiBbKG1vZGVsKV09XCJyZW1lbWJlckNob2ljZVwiPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCBleHRlbmRzIERpYWxvZ0Jhc2VDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBwdHlwZTogdHlwZW9mIEFwcFBvcHVwVHlwZSA9IEFwcFBvcHVwVHlwZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGV4dDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZXRhaWxzOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHR5cGU6IEFwcFBvcHVwVHlwZVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UmVtZW1iZXJDaGVja2JveDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1jb25maXJtYXRpb24tZGlhbG9nXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbWVtYmVyQ2hvaWNlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVllc0NsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2xvc2UoQXBwUG9wdXBCdXR0b25UeXBlLlllcywgdW5kZWZpbmVkLCB0aGlzLnJlbWVtYmVyQ2hvaWNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVOb0NsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2xvc2UoQXBwUG9wdXBCdXR0b25UeXBlLk5vLCB1bmRlZmluZWQsIHRoaXMucmVtZW1iZXJDaG9pY2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZU9rQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DbG9zZShBcHBQb3B1cEJ1dHRvblR5cGUuT2ssIHVuZGVmaW5lZCwgdGhpcy5yZW1lbWJlckNob2ljZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybWF0aW9uLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUMsbUJBQW1CLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5Q0FBeUMsQ0FBQztBQUMzRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDOUQsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzFDLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBdUNsRSxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsbUJBQW1CO0lBMEJsRSxZQUFtQixnQkFBa0M7UUFDbkQsS0FBSyxFQUFFLENBQUM7UUFEUyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBekJyQyxVQUFLLEdBQWdCLElBQUksQ0FBQztRQUMxQixVQUFLLEdBQXdCLFlBQVksQ0FBQztRQWVuRCx5QkFBb0IsR0FBWSxLQUFLLENBQUM7UUFPdEMsbUJBQWMsR0FBWSxLQUFLLENBQUM7SUFJdkMsQ0FBQztJQVJNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFRTSxjQUFjLENBQUMsS0FBaUI7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQWlCO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFpQjtRQUNwQyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7OztZQTdFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBdENPLGdCQUFnQjs7O29CQTJDckIsS0FBSzttQkFHTCxLQUFLO3NCQUdMLEtBQUs7bUJBR0wsS0FBSzttQ0FHTCxLQUFLO3dCQUdMLFdBQVcsU0FBQyw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtEaWFsb2dCYXNlQ29tcG9uZW50fSBmcm9tIFwiLi4vY29yZS9iYXNlL2RpYWxvZy1iYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0FwcFBvcHVwQnV0dG9uVHlwZX0gZnJvbSBcIi4uL2NvcmUvZW51bS9hcHAtcG9wdXAtYnV0dG9uLXR5cGUuZW51bVwiO1xyXG5pbXBvcnQge0FwcFBvcHVwVHlwZX0gZnJvbSBcIi4uL2NvcmUvZW51bS9hcHAtcG9wdXAtdHlwZS5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1jb25maXJtYXRpb24tZGlhbG9nXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1kaWFsb2cgW3Nob3dDbG9zZUljb25dPVwiZmFsc2VcIiBbaGVhZGVyVGVtcGxhdGVdPVwiaGVhZGVyVGVtcGxhdGVcIiBbZm9vdGVyVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbmZpcm1hdGlvbi1kaWFsb2ctd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCIgW2lubmVySFRNTF09XCJ0ZXh0IHwgbG9jYWxpemVcIj48L2Rpdj5cclxuICAgICAgICA8Y28tY29sbGFwc2libGUgW2hlYWRlclRpdGxlXT1cIidERVRBSUxTJyB8IGxvY2FsaXplXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5UcmlhbmdsZURvd24pXCIgKm5nSWY9XCJkZXRhaWxzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGlhbG9nLWRldGFpbHNcIiBbaW5uZXJIVE1MXT1cImRldGFpbHNcIj48L2Rpdj5cclxuICAgICAgICA8L2NvLWNvbGxhcHNpYmxlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvY28tZGlhbG9nPlxyXG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvLWRpYWxvZy1oZWFkZXItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwidGl0bGUgfCBsb2NhbGl6ZVwiPjwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctZm9vdGVyLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUgPT09IHB0eXBlLkNvbmZpcm1hdGlvblwiPlxyXG4gICAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5DaGVja0R1b3RvbmUpXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhbmRsZVllc0NsaWNrKCRldmVudClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJjbG9zZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNyb3Nzc2tpbm55KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVOb0NsaWNrKCRldmVudClcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHlwZSA9PT0gcHR5cGUuSW5mb3JtYXRpb24gfHwgdHlwZSA9PT0gcHR5cGUuRXJyb3JcIj5cclxuICAgICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJzYXZlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVZZXNDbGljaygkZXZlbnQpXCI+PC9jby1idXR0b24+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1JlbWVtYmVyQ2hlY2tib3hcIj5cclxuICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggW2xhYmVsXT1cIidSRU1FTUJFUl9DSE9JQ0UnIHwgbG9jYWxpemVcIiBbKG1vZGVsKV09XCJyZW1lbWJlckNob2ljZVwiPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbmZpcm1hdGlvbkRpYWxvZ0NvbXBvbmVudCBleHRlbmRzIERpYWxvZ0Jhc2VDb21wb25lbnQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyByZWFkb25seSBwdHlwZTogdHlwZW9mIEFwcFBvcHVwVHlwZSA9IEFwcFBvcHVwVHlwZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGl0bGU6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdGV4dDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkZXRhaWxzOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHR5cGU6IEFwcFBvcHVwVHlwZVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93UmVtZW1iZXJDaGVja2JveDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1jb25maXJtYXRpb24tZGlhbG9nXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbWVtYmVyQ2hvaWNlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVllc0NsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2xvc2UoQXBwUG9wdXBCdXR0b25UeXBlLlllcywgdW5kZWZpbmVkLCB0aGlzLnJlbWVtYmVyQ2hvaWNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVOb0NsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2xvc2UoQXBwUG9wdXBCdXR0b25UeXBlLk5vLCB1bmRlZmluZWQsIHRoaXMucmVtZW1iZXJDaG9pY2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZU9rQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DbG9zZShBcHBQb3B1cEJ1dHRvblR5cGUuT2ssIHVuZGVmaW5lZCwgdGhpcy5yZW1lbWJlckNob2ljZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==