ng-miam 9.2.0 → 9.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/bundles/ng-miam.umd.js +927 -634
  2. package/bundles/ng-miam.umd.js.map +1 -1
  3. package/bundles/ng-miam.umd.min.js +1 -1
  4. package/bundles/ng-miam.umd.min.js.map +1 -1
  5. package/esm2015/lib/_components/accordion/accordion.component.js +2 -2
  6. package/esm2015/lib/_components/addon-link/addon-link.component.js +3 -3
  7. package/esm2015/lib/_components/counter-input/counter-input.component.js +14 -12
  8. package/esm2015/lib/_components/guests-dropdown/guests-dropdown.component.js +8 -5
  9. package/esm2015/lib/_components/icon/icon.component.js +2 -2
  10. package/esm2015/lib/_components/like-button/like-button.component.js +6 -5
  11. package/esm2015/lib/_components/modal/modal.component.js +39 -36
  12. package/esm2015/lib/_components/no-pos-selected/no-pos-selected.component.js +2 -2
  13. package/esm2015/lib/_components/product-card/out-of-stock-overlay/out-of-stock-overlay.component.js +15 -6
  14. package/esm2015/lib/_components/product-card/product-card-skeleton/product-card-skeleton.component.js +1 -1
  15. package/esm2015/lib/_components/product-card/product-card.component.js +25 -7
  16. package/esm2015/lib/_components/products-picker/products-picker.component.js +2 -2
  17. package/esm2015/lib/_components/recipe-promotion-badge/recipe-promotion-badge.component.js +2 -2
  18. package/esm2015/lib/_components/sponsor-blocks/sponsor-image-and-text-block/sponsor-image-and-text-block.component.js +4 -4
  19. package/esm2015/lib/_components/sponsor-blocks/sponsor-logo-block/sponsor-logo-block.component.js +4 -4
  20. package/esm2015/lib/_components/sponsor-blocks/sponsor-picture-block/sponsor-picture-block.component.js +3 -3
  21. package/esm2015/lib/_components/sponsor-blocks/sponsor-small-picture-block/sponsor-small-picture-block.component.js +3 -3
  22. package/esm2015/lib/_components/sponsor-blocks/sponsor-text-and-image-block/sponsor-text-and-image-block.component.js +4 -4
  23. package/esm2015/lib/_models/basket-actions/basket-action.js +2 -2
  24. package/esm2015/lib/_services/basket-recipe-cleanup.service.js +62 -0
  25. package/esm2015/lib/_services/basket-transfer.service.js +3 -2
  26. package/esm2015/lib/_services/baskets-synchronizing/baskets-synchronizer.service.js +9 -3
  27. package/esm2015/lib/_services/context.service.js +17 -13
  28. package/esm2015/lib/_services/interceptor.service.js +10 -3
  29. package/esm2015/lib/_services/recipe-details.service.js +22 -7
  30. package/esm2015/lib/_services/recipes.service.js +5 -5
  31. package/esm2015/lib/_services/store-locator.service.js +10 -3
  32. package/esm2015/lib/_services/store-out-of-stock.service.js +57 -0
  33. package/esm2015/lib/_services/user.service.js +3 -3
  34. package/esm2015/lib/_types/builded/mealz-interface.js +1 -1
  35. package/esm2015/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.js +3 -2
  36. package/esm2015/lib/_web-components/basket-preview/basket-preview-line/basket-preview-line.component.js +130 -122
  37. package/esm2015/lib/_web-components/basket-preview/basket-preview-product/basket-preview-product.component.js +44 -34
  38. package/esm2015/lib/_web-components/basket-preview/replace-item/replace-item.component.js +14 -7
  39. package/esm2015/lib/_web-components/list-scan/files-inputs/files-inputs.component.js +2 -2
  40. package/esm2015/lib/_web-components/meals-planner/meals-planner-form/meals-planner-form.component.js +13 -13
  41. package/esm2015/lib/_web-components/no-supplier-onboarding/no-supplier-onboarding.component.js +8 -12
  42. package/esm2015/lib/_web-components/preferences/preferences-search/preferences-search.component.js +2 -2
  43. package/esm2015/lib/_web-components/preferences/preferences.component.js +28 -28
  44. package/esm2015/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.js +118 -97
  45. package/esm2015/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.js +21 -14
  46. package/esm2015/lib/_web-components/recipe-catalog/catalog-article-card/catalog-article-card.component.js +9 -8
  47. package/esm2015/lib/_web-components/recipe-catalog/catalog-category/catalog-category.component.js +10 -8
  48. package/esm2015/lib/_web-components/recipe-catalog/catalog-header/catalog-header.component.js +3 -3
  49. package/esm2015/lib/_web-components/recipe-catalog/catalog-toolbar/catalog-toolbar.component.js +14 -10
  50. package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +42 -37
  51. package/esm2015/lib/_web-components/recipe-details/last-order-modal/last-order-modal.component.js +2 -2
  52. package/esm2015/lib/_web-components/recipe-details/recipe-addon/recipe-addon.component.js +4 -3
  53. package/esm2015/lib/_web-components/recipe-details/recipe-details-infos/recipe-details-infos.component.js +16 -13
  54. package/esm2015/lib/_web-components/recipe-details/recipe-details-ingredients/recipe-details-ingredients.component.js +4 -3
  55. package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +98 -103
  56. package/esm2015/lib/_web-components/recipe-details/store-locator-link/store-locator-link.component.js +8 -7
  57. package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +7 -2
  58. package/esm2015/lib/environments/environment.js +2 -2
  59. package/esm2015/lib/environments/environment.prod.js +2 -2
  60. package/esm2015/lib/environments/version.js +2 -2
  61. package/esm2015/lib/ng-miam.module.js +4 -1
  62. package/fesm2015/ng-miam.js +882 -627
  63. package/fesm2015/ng-miam.js.map +1 -1
  64. package/lib/_components/components.module.d.ts +2 -1
  65. package/lib/_components/components.module.d.ts.map +1 -1
  66. package/lib/_components/product-card/out-of-stock-overlay/out-of-stock-overlay.component.d.ts +7 -3
  67. package/lib/_components/product-card/out-of-stock-overlay/out-of-stock-overlay.component.d.ts.map +1 -1
  68. package/lib/_components/product-card/product-card.component.d.ts +2 -0
  69. package/lib/_components/product-card/product-card.component.d.ts.map +1 -1
  70. package/lib/_models/basket-actions/basket-action.d.ts.map +1 -1
  71. package/lib/_services/basket-recipe-cleanup.service.d.ts +21 -0
  72. package/lib/_services/basket-recipe-cleanup.service.d.ts.map +1 -0
  73. package/lib/_services/basket-transfer.service.d.ts.map +1 -1
  74. package/lib/_services/baskets-synchronizing/baskets-synchronizer.service.d.ts +1 -1
  75. package/lib/_services/baskets-synchronizing/baskets-synchronizer.service.d.ts.map +1 -1
  76. package/lib/_services/context.service.d.ts +3 -1
  77. package/lib/_services/context.service.d.ts.map +1 -1
  78. package/lib/_services/interceptor.service.d.ts +1 -0
  79. package/lib/_services/interceptor.service.d.ts.map +1 -1
  80. package/lib/_services/recipe-details.service.d.ts +8 -2
  81. package/lib/_services/recipe-details.service.d.ts.map +1 -1
  82. package/lib/_services/recipes.service.d.ts +2 -6
  83. package/lib/_services/recipes.service.d.ts.map +1 -1
  84. package/lib/_services/store-locator.service.d.ts +1 -0
  85. package/lib/_services/store-locator.service.d.ts.map +1 -1
  86. package/lib/_services/store-out-of-stock.service.d.ts +13 -0
  87. package/lib/_services/store-out-of-stock.service.d.ts.map +1 -0
  88. package/lib/_services/user.service.d.ts +2 -2
  89. package/lib/_services/user.service.d.ts.map +1 -1
  90. package/lib/_types/builded/mealz-interface.d.ts +4 -0
  91. package/lib/_types/builded/mealz-interface.d.ts.map +1 -1
  92. package/lib/_web-components/basket-preview/replace-item/replace-item.component.d.ts +1 -0
  93. package/lib/_web-components/basket-preview/replace-item/replace-item.component.d.ts.map +1 -1
  94. package/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.d.ts +1 -0
  95. package/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.d.ts.map +1 -1
  96. package/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.d.ts +1 -1
  97. package/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.d.ts.map +1 -1
  98. package/lib/_web-components/recipe-details/recipe-details.component.d.ts +1 -1
  99. package/lib/_web-components/recipe-details/recipe-details.component.d.ts.map +1 -1
  100. package/lib/_web-components/recipe-modal/recipe-modal.component.d.ts.map +1 -1
  101. package/lib/environments/version.d.ts +1 -1
  102. package/lib/ng-miam.module.d.ts.map +1 -1
  103. package/miam-style.css +1 -1
  104. package/package.json +1 -1
@@ -5,15 +5,16 @@ import * as i0 from "@angular/core";
5
5
  import * as i1 from "../../../_services/store-locator.service";
6
6
  import * as i2 from "../../../_services";
7
7
  import * as i3 from "@angular/common";
8
- function StoreLocatorLinkComponent_div_0_span_1_img_1_Template(rf, ctx) { if (rf & 1) {
8
+ function StoreLocatorLinkComponent_div_0_span_1_button_1_Template(rf, ctx) { if (rf & 1) {
9
9
  const _r4 = i0.ɵɵgetCurrentView();
10
- i0.ɵɵelementStart(0, "img", 8);
11
- i0.ɵɵlistener("click", function StoreLocatorLinkComponent_div_0_span_1_img_1_Template_img_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(3); return ctx_r3.showTooltip(); });
10
+ i0.ɵɵelementStart(0, "button", 8);
11
+ i0.ɵɵlistener("click", function StoreLocatorLinkComponent_div_0_span_1_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(3); return ctx_r3.showTooltip(); });
12
+ i0.ɵɵelement(1, "img", 9);
12
13
  i0.ɵɵelementEnd();
13
14
  } }
14
15
  function StoreLocatorLinkComponent_div_0_span_1_Template(rf, ctx) { if (rf & 1) {
15
16
  i0.ɵɵelementStart(0, "span", 6);
16
- i0.ɵɵtemplate(1, StoreLocatorLinkComponent_div_0_span_1_img_1_Template, 1, 0, "img", 7);
17
+ i0.ɵɵtemplate(1, StoreLocatorLinkComponent_div_0_span_1_button_1_Template, 2, 0, "button", 7);
17
18
  i0.ɵɵtext(2);
18
19
  i0.ɵɵelementEnd();
19
20
  } if (rf & 2) {
@@ -77,12 +78,12 @@ StoreLocatorLinkComponent.ɵcmp = i0.ɵɵdefineComponent({ type: StoreLocatorLin
77
78
  }
78
79
  else {
79
80
  i18n_0 = $localize `:␟c368921f313712ef19fa1f7d05697982582598ef␟9004334984468055592:Changer`;
80
- } return [["class", "miam-store-locator-link", 4, "ngIf"], [1, "miam-store-locator-link"], ["class", "miam-store-locator-link__store-name miam-ds-text weight-xl size-s", 4, "ngIf"], [1, "miam-store-locator-link__swap-pos-button", "miam-ds-button", "primary", "reverse", "small", 3, "click"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Swap.svg", "alt", "swap point of sale", 1, "miam-store-locator-link__swap-pos-icon"], i18n_0, [1, "miam-store-locator-link__store-name", "miam-ds-text", "weight-xl", "size-s"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Infos_Primary.svg", "alt", "Info", 3, "click", 4, "ngIf"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Infos_Primary.svg", "alt", "Info", 3, "click"]]; }, template: function StoreLocatorLinkComponent_Template(rf, ctx) { if (rf & 1) {
81
+ } return [["class", "miam-store-locator-link", 4, "ngIf"], [1, "miam-store-locator-link"], ["class", "miam-store-locator-link__store-name miam-ds-text weight-xl size-s", 4, "ngIf"], ["aria-label", "Changer de magasin", 1, "miam-store-locator-link__swap-pos-button", "miam-ds-button", "primary", "reverse", "small", 3, "click"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Swap.svg", "alt", "", "aria-hidden", "true", 1, "miam-store-locator-link__swap-pos-icon"], i18n_0, [1, "miam-store-locator-link__store-name", "miam-ds-text", "weight-xl", "size-s"], ["class", "miam-store-locator-link__info-button", "aria-label", "Afficher plus d'informations sur le s\u00E9lectionneur de magasin", 3, "click", 4, "ngIf"], ["aria-label", "Afficher plus d'informations sur le s\u00E9lectionneur de magasin", 1, "miam-store-locator-link__info-button", 3, "click"], ["src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Infos_Primary.svg", "alt", "", "aria-hidden", "true"]]; }, template: function StoreLocatorLinkComponent_Template(rf, ctx) { if (rf & 1) {
81
82
  i0.ɵɵtemplate(0, StoreLocatorLinkComponent_div_0_Template, 6, 1, "div", 0);
82
83
  i0.ɵɵpipe(1, "async");
83
84
  } if (rf & 2) {
84
85
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 1, ctx.posService.waitForPos));
85
- } }, directives: [i3.NgIf], pipes: [i3.AsyncPipe], styles: [".miam-store-locator-link{padding:8px 16px;display:flex;align-items:center;justify-content:space-between;background:var(--miam-ds-color-primary-100)}.miam-store-locator-link .miam-store-locator-link__store-name{display:flex}.miam-store-locator-link .miam-store-locator-link__store-name img{margin-right:8px;cursor:pointer}.miam-store-locator-link .miam-store-locator-link__swap-pos-button{border-radius:16px;display:flex;gap:8px}.miam-store-locator-link .miam-store-locator-link__swap-pos-button.miam-ds-button.primary.reverse.small{padding:8px 12px}.miam-store-locator-link .miam-store-locator-link__swap-pos-button.miam-ds-button.primary.reverse.small:hover{background-color:var(--miam-ds-color-primary-text);color:var(--miam-ds-color-primary)}"], encapsulation: 2, changeDetection: 0 });
86
+ } }, directives: [i3.NgIf], pipes: [i3.AsyncPipe], styles: [".miam-store-locator-link{padding:8px 16px;display:flex;align-items:center;justify-content:space-between;background:var(--miam-ds-color-primary-100)}.miam-store-locator-link .miam-store-locator-link__store-name{display:flex}.miam-store-locator-link .miam-store-locator-link__store-name .miam-store-locator-link__info-button{border:none}.miam-store-locator-link .miam-store-locator-link__store-name .miam-store-locator-link__info-button img{margin-right:8px;cursor:pointer}.miam-store-locator-link .miam-store-locator-link__swap-pos-button{border-radius:16px;display:flex;gap:8px}.miam-store-locator-link .miam-store-locator-link__swap-pos-button.miam-ds-button.primary.reverse.small{padding:8px 12px}.miam-store-locator-link .miam-store-locator-link__swap-pos-button.miam-ds-button.primary.reverse.small:hover{background-color:var(--miam-ds-color-primary-text);color:var(--miam-ds-color-primary)}"], encapsulation: 2, changeDetection: 0 });
86
87
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(StoreLocatorLinkComponent, [{
87
88
  type: Component,
88
89
  args: [{
@@ -93,4 +94,4 @@ StoreLocatorLinkComponent.ɵcmp = i0.ɵɵdefineComponent({ type: StoreLocatorLin
93
94
  changeDetection: ChangeDetectionStrategy.OnPush
94
95
  }]
95
96
  }], function () { return [{ type: i1.StoreLocatorService }, { type: i2.PointOfSalesService }, { type: i2.SuppliersService }, { type: i0.ChangeDetectorRef }]; }, null); })();
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtbG9jYXRvci1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLWRldGFpbHMvc3RvcmUtbG9jYXRvci1saW5rL3N0b3JlLWxvY2F0b3ItbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1taWFtL3NyYy9saWIvX3dlYi1jb21wb25lbnRzL3JlY2lwZS1kZXRhaWxzL3N0b3JlLWxvY2F0b3ItbGluay9zdG9yZS1sb2NhdG9yLWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBcUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7SUNBM0UsOEJBQzJCO0lBQXpCLHlNQUF1QjtJQUR6QixpQkFDMkI7OztJQUY3QiwrQkFBbUc7SUFDakcsdUZBQzJCO0lBQzNCLFlBQ0Y7SUFBQSxpQkFBTzs7O0lBSEMsZUFBcUI7SUFBckIsNkNBQXFCO0lBRTNCLGVBQ0Y7SUFERSx3SUFDRjs7OztJQUxGLDhCQUE2RTtJQUMzRSxrRkFJTztJQUNQLGlDQUdDO0lBREMsc0tBQVMsNkNBQXNDLElBQUM7SUFFaEQseUJBQTBKO0lBQzFKLDRCQUFXO0lBQVgsZUFBVztJQUFPLGlCQUFPO0lBQzNCLGlCQUFTO0lBQ1gsaUJBQU07OztJQVpHLGVBQWdCO0lBQWhCLHdDQUFnQjs7QURZekIsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyxZQUNTLG1CQUF3QyxFQUN4QyxVQUErQixFQUMvQixnQkFBa0MsRUFDakMsR0FBc0I7UUFIdkIsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxlQUFVLEdBQVYsVUFBVSxDQUFxQjtRQUMvQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2pDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBR3hCLGtCQUFhLEdBQW1CLEVBQUUsQ0FBQztRQUUzQyxvQkFBZSxHQUFHLEtBQUssQ0FBQztJQUp4QixDQUFDO0lBTUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUM7WUFDdEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU8sb0JBQW9COztRQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQywyQkFBMkIsT0FBQyxJQUFJLENBQUMsVUFBVSwwQ0FBRSxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLENBQUM7UUFDM0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7O2tHQXBDVSx5QkFBeUI7OERBQXpCLHlCQUF5Qjs7Ozs7aUJDRnZCLFVBQUEsd0VBQU87O1FBWHRCLDBFQWFNOzs7UUFiZ0Msc0VBQXFDOzt1RkRhOUQseUJBQXlCO2NBUHJDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2dCQUN0QyxXQUFXLEVBQUUscUNBQXFDO2dCQUNsRCxTQUFTLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQztnQkFDbEQsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2FBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUG9pbnRPZlNhbGVzU2VydmljZSwgU3VwcGxpZXJzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcyc7XG5pbXBvcnQgeyBTdG9yZUxvY2F0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vX3NlcnZpY2VzL3N0b3JlLWxvY2F0b3Iuc2VydmljZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBvaW50T2ZTYWxlIH0gZnJvbSAnLi4vLi4vLi4vX21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nLW1pYW0tc3RvcmUtbG9jYXRvci1saW5rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3N0b3JlLWxvY2F0b3ItbGluay5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0b3JlLWxvY2F0b3ItbGluay5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBTdG9yZUxvY2F0b3JMaW5rQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzdG9yZUxvY2F0b3JTZXJ2aWNlOiBTdG9yZUxvY2F0b3JTZXJ2aWNlLFxuICAgIHB1YmxpYyBwb3NTZXJ2aWNlOiBQb2ludE9mU2FsZXNTZXJ2aWNlLFxuICAgIHB1YmxpYyBzdXBwbGllcnNTZXJ2aWNlOiBTdXBwbGllcnNTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBjdXJyZW50UG9zOiBQb2ludE9mU2FsZTtcbiAgc2hvd0ljb25Ub29sdGlwID0gZmFsc2U7XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnBvc1NlcnZpY2UucG9zJC5zdWJzY3JpYmUocG9zID0+IHtcbiAgICAgICAgdGhpcy5jdXJyZW50UG9zID0gcG9zO1xuICAgICAgICB0aGlzLnNldFRvb2x0aXBWaXNpYmlsaXR5KCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gICAgdGhpcy5zdG9yZUxvY2F0b3JTZXJ2aWNlLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHNldFRvb2x0aXBWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd0ljb25Ub29sdGlwID0gdGhpcy5zdG9yZUxvY2F0b3JTZXJ2aWNlLmlzU3RvcmVMb2NhdG9yV2FybmluZ05lZWRlZCh0aGlzLmN1cnJlbnRQb3M/LnJlbGF0aW9uc2hpcHMuc3VwcGxpZXIuZGF0YS5pZCk7XG4gIH1cblxuICBzaG93VG9vbHRpcCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlTG9jYXRvclNlcnZpY2UuY2hhbmdlUG9zQWZ0ZXJXYXJuQ29uZmlybSA9IGZhbHNlO1xuICAgIHRoaXMuc3RvcmVMb2NhdG9yU2VydmljZS5zaG93U3RvcmVMb2NhdG9yV2FybmluZy5uZXh0KHRydWUpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1pYW0tc3RvcmUtbG9jYXRvci1saW5rXCIgKm5nSWY9XCIocG9zU2VydmljZS53YWl0Rm9yUG9zIHwgYXN5bmMpXCI+XG4gIDxzcGFuICpuZ0lmPVwiY3VycmVudFBvc1wiIGNsYXNzPVwibWlhbS1zdG9yZS1sb2NhdG9yLWxpbmtfX3N0b3JlLW5hbWUgbWlhbS1kcy10ZXh0IHdlaWdodC14bCBzaXplLXNcIj5cbiAgICA8aW1nICpuZ0lmPVwic2hvd0ljb25Ub29sdGlwXCIgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9pY29ucy9JbmZvc19QcmltYXJ5LnN2Z1wiIGFsdD1cIkluZm9cIlxuICAgICAgKGNsaWNrKT1cInNob3dUb29sdGlwKClcIi8+XG4gICAge3sgY3VycmVudFBvcy5yZWxhdGlvbnNoaXBzLnN1cHBsaWVyLmRhdGEuYXR0cmlidXRlcy5uYW1lIH19IC0ge3sgY3VycmVudFBvcy5hdHRyaWJ1dGVzLm5hbWUgfX1cbiAgPC9zcGFuPlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJtaWFtLXN0b3JlLWxvY2F0b3ItbGlua19fc3dhcC1wb3MtYnV0dG9uIG1pYW0tZHMtYnV0dG9uIHByaW1hcnkgcmV2ZXJzZSBzbWFsbFwiXG4gICAgKGNsaWNrKT1cInN0b3JlTG9jYXRvclNlcnZpY2Uub3BlblN0b3JlTG9jYXRvcigpXCJcbiAgPlxuICAgIDxpbWcgY2xhc3M9XCJtaWFtLXN0b3JlLWxvY2F0b3ItbGlua19fc3dhcC1wb3MtaWNvblwiIHNyYz1cImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9hc3NldHMubWlhbS50ZWNoL2dlbmVyaWMvaWNvbnMvU3dhcC5zdmdcIiBhbHQ9XCJzd2FwIHBvaW50IG9mIHNhbGVcIj5cbiAgICA8c3BhbiBpMThuPkNoYW5nZXI8L3NwYW4+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUtbG9jYXRvci1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLWRldGFpbHMvc3RvcmUtbG9jYXRvci1saW5rL3N0b3JlLWxvY2F0b3ItbGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1taWFtL3NyYy9saWIvX3dlYi1jb21wb25lbnRzL3JlY2lwZS1kZXRhaWxzL3N0b3JlLWxvY2F0b3ItbGluay9zdG9yZS1sb2NhdG9yLWxpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBcUIsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7Ozs7Ozs7SUNBM0UsaUNBR2tGO0lBRDFFLCtNQUF1QjtJQUU3Qix5QkFFeUI7SUFDM0IsaUJBQVM7OztJQVJYLCtCQUFtRztJQUNqRyw2RkFPUztJQUNULFlBQ0Y7SUFBQSxpQkFBTzs7O0lBVEksZUFBcUI7SUFBckIsNkNBQXFCO0lBUTlCLGVBQ0Y7SUFERSx3SUFDRjs7OztJQVhGLDhCQUE2RTtJQUMzRSxrRkFVTztJQUNQLGlDQUlDO0lBRkMsc0tBQVMsNkNBQXNDLElBQUM7SUFHaEQseUJBR3dCO0lBQ3hCLDRCQUFXO0lBQVgsZUFBVztJQUFPLGlCQUFPO0lBQzNCLGlCQUFTO0lBQ1gsaUJBQU07OztJQXRCRyxlQUFnQjtJQUFoQix3Q0FBZ0I7O0FEWXpCLE1BQU0sT0FBTyx5QkFBeUI7SUFFcEMsWUFDUyxtQkFBd0MsRUFDeEMsVUFBK0IsRUFDL0IsZ0JBQWtDLEVBQ2pDLEdBQXNCO1FBSHZCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0IscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNqQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUd4QixrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFFM0Msb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFKeEIsQ0FBQztJQU1ELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVPLG9CQUFvQjs7UUFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsMkJBQTJCLE9BQUMsSUFBSSxDQUFDLFVBQVUsMENBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsbUJBQW1CLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDO1FBQzNELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOztrR0FwQ1UseUJBQXlCOzhEQUF6Qix5QkFBeUI7Ozs7O2lCQ1F2QixVQUFBLHdFQUFPOztRQXJCdEIsMEVBdUJNOzs7UUF2QmdDLHNFQUFxQzs7dUZEYTlELHlCQUF5QjtjQVByQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtnQkFDdEMsV0FBVyxFQUFFLHFDQUFxQztnQkFDbEQsU0FBUyxFQUFFLENBQUMscUNBQXFDLENBQUM7Z0JBQ2xELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvaW50T2ZTYWxlc1NlcnZpY2UsIFN1cHBsaWVyc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgU3RvcmVMb2NhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL19zZXJ2aWNlcy9zdG9yZS1sb2NhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQb2ludE9mU2FsZSB9IGZyb20gJy4uLy4uLy4uL19tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXN0b3JlLWxvY2F0b3ItbGluaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdG9yZS1sb2NhdG9yLWxpbmsuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdG9yZS1sb2NhdG9yLWxpbmsuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU3RvcmVMb2NhdG9yTGlua0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgc3RvcmVMb2NhdG9yU2VydmljZTogU3RvcmVMb2NhdG9yU2VydmljZSxcbiAgICBwdWJsaWMgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwdWJsaWMgc3VwcGxpZXJzU2VydmljZTogU3VwcGxpZXJzU2VydmljZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgfVxuXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgY3VycmVudFBvczogUG9pbnRPZlNhbGU7XG4gIHNob3dJY29uVG9vbHRpcCA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5wb3NTZXJ2aWNlLnBvcyQuc3Vic2NyaWJlKHBvcyA9PiB7XG4gICAgICAgIHRoaXMuY3VycmVudFBvcyA9IHBvcztcbiAgICAgICAgdGhpcy5zZXRUb29sdGlwVmlzaWJpbGl0eSgpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWIgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xuICAgIHRoaXMuc3RvcmVMb2NhdG9yU2VydmljZS51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUb29sdGlwVmlzaWJpbGl0eSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dJY29uVG9vbHRpcCA9IHRoaXMuc3RvcmVMb2NhdG9yU2VydmljZS5pc1N0b3JlTG9jYXRvcldhcm5pbmdOZWVkZWQodGhpcy5jdXJyZW50UG9zPy5yZWxhdGlvbnNoaXBzLnN1cHBsaWVyLmRhdGEuaWQpO1xuICB9XG5cbiAgc2hvd1Rvb2x0aXAoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZUxvY2F0b3JTZXJ2aWNlLmNoYW5nZVBvc0FmdGVyV2FybkNvbmZpcm0gPSBmYWxzZTtcbiAgICB0aGlzLnN0b3JlTG9jYXRvclNlcnZpY2Uuc2hvd1N0b3JlTG9jYXRvcldhcm5pbmcubmV4dCh0cnVlKTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtaWFtLXN0b3JlLWxvY2F0b3ItbGlua1wiICpuZ0lmPVwiKHBvc1NlcnZpY2Uud2FpdEZvclBvcyB8IGFzeW5jKVwiPlxuICA8c3BhbiAqbmdJZj1cImN1cnJlbnRQb3NcIiBjbGFzcz1cIm1pYW0tc3RvcmUtbG9jYXRvci1saW5rX19zdG9yZS1uYW1lIG1pYW0tZHMtdGV4dCB3ZWlnaHQteGwgc2l6ZS1zXCI+XG4gICAgPGJ1dHRvbiAqbmdJZj1cInNob3dJY29uVG9vbHRpcFwiXG4gICAgICAgICAgICBjbGFzcz1cIm1pYW0tc3RvcmUtbG9jYXRvci1saW5rX19pbmZvLWJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2hvd1Rvb2x0aXAoKVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiQWZmaWNoZXIgcGx1cyBkJ2luZm9ybWF0aW9ucyBzdXIgbGUgc8OpbGVjdGlvbm5ldXIgZGUgbWFnYXNpblwiPlxuICAgICAgPGltZyBzcmM9XCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ljb25zL0luZm9zX1ByaW1hcnkuc3ZnXCJcbiAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCIvPlxuICAgIDwvYnV0dG9uPlxuICAgIHt7IGN1cnJlbnRQb3MucmVsYXRpb25zaGlwcy5zdXBwbGllci5kYXRhLmF0dHJpYnV0ZXMubmFtZSB9fSAtIHt7IGN1cnJlbnRQb3MuYXR0cmlidXRlcy5uYW1lIH19XG4gIDwvc3Bhbj5cbiAgPGJ1dHRvblxuICAgIGNsYXNzPVwibWlhbS1zdG9yZS1sb2NhdG9yLWxpbmtfX3N3YXAtcG9zLWJ1dHRvbiBtaWFtLWRzLWJ1dHRvbiBwcmltYXJ5IHJldmVyc2Ugc21hbGxcIlxuICAgIChjbGljayk9XCJzdG9yZUxvY2F0b3JTZXJ2aWNlLm9wZW5TdG9yZUxvY2F0b3IoKVwiXG4gICAgYXJpYS1sYWJlbD1cIkNoYW5nZXIgZGUgbWFnYXNpblwiXG4gID5cbiAgICA8aW1nIGNsYXNzPVwibWlhbS1zdG9yZS1sb2NhdG9yLWxpbmtfX3N3YXAtcG9zLWljb25cIlxuICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9pY29ucy9Td2FwLnN2Z1wiXG4gICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgPHNwYW4gaTE4bj5DaGFuZ2VyPC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
@@ -156,6 +156,11 @@ export class RecipeModalComponent {
156
156
  else {
157
157
  if (!this.showStoreLocator) {
158
158
  this.storeLocatorService.closeModalOnSelected = false; // reset variable even if storeLocator was closed early
159
+ // If the user closes the store locator without selecting a POS, close the modal
160
+ if (this.storeLocatorService.closeModalOnCancel) {
161
+ this.storeLocatorService.closeModalOnCancel = false;
162
+ this.hide();
163
+ }
159
164
  }
160
165
  this.cdr.detectChanges(); // hide does a detectChanges so we avoid a double change
161
166
  }
@@ -226,7 +231,7 @@ export class RecipeModalComponent {
226
231
  }
227
232
  hide(isDetail = false) {
228
233
  if (this.canCloseModal) {
229
- this.recipeDetailsService.displayEventWasSent = false;
234
+ this.recipeDetailsService.pageviewEventWasSent = false;
230
235
  this.recipe = null; // trigger again a change on recipe if we re-open the view
231
236
  if (!isDetail) {
232
237
  this.show = false;
@@ -312,4 +317,4 @@ RecipeModalComponent.ɵcmp = i0.ɵɵdefineComponent({ type: RecipeModalComponent
312
317
  }], hasChangesOnClose: [{
313
318
  type: Output
314
319
  }] }); })();
315
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLW1vZGFsL3JlY2lwZS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1taWFtL3NyYy9saWIvX3dlYi1jb21wb25lbnRzL3JlY2lwZS1tb2RhbC9yZWNpcGUtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFDTCxjQUFjLEVBQUUscUJBQXFCLEVBQ3JDLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQixjQUFjLEVBQ2YsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7Ozs7Ozs7SUNIMUUsZ0RBRzZCOzs7SUFFN0IsOEJBR29DO0lBQ2xDLGtEQUtnQztJQUNsQyxpQkFBTTs7O0lBUEosaURBQWlDO0lBRS9CLGVBQXVCO0lBQXZCLDBFQUF1QixrQ0FBQSxvREFBQSxrQ0FBQTs7OztJQU8zQixzREFjQztJQUhDLCtQQUFtQyxrT0FDZixJQUFJLEtBRFcsb09BRWQsSUFBSSxLQUZVO0lBR3BDLGlCQUF5Qjs7O0lBWHhCLDJDQUFzQiw2Q0FBQSx5Q0FBQSxrREFBQSwwREFBQSxzREFBQSxnREFBQSx3REFBQTs7O0lBWXhCLDRDQUd3Qjs7O0lBRHRCLCtDQUEwQjs7Ozs7SUF0RDlCLHdDQWtCQztJQWhCQyxtT0FBa0IseUxBQUEsbU1BQUEsNkxBQUE7Ozs7O0lBa0JsQixtSUFHNkI7O0lBRTdCLHFGQVVNOztJQUVOLDJIQWMwQjs7SUFDMUIsMkhBR3dCO0lBQzFCLGlCQUFnQjs7O0lBeENkLG9HQUF1RTtJQWR2RSxxQ0FBa0IsdUZBQUEsZ0RBQUEsK0NBQUEsaURBQUEsOEZBQUEsaUpBQUEsaUNBQUEsc0JBQUEsaUVBQUE7SUFtQmYsZUFBNkU7SUFBN0UsZ0lBQTZFO0lBSzdFLGVBQXlCO0lBQXpCLGdFQUF5QjtJQWF6QixlQUFzQztJQUF0QyxtRkFBc0M7SUFjdEMsZUFBbUQ7SUFBbkQsa0ZBQW1EOzs7O0lBT3hELHlDQU9tQjtJQUFqQixzTUFBZ0I7SUFDaEIsZ0RBSUM7SUFGQyxpTUFBWSxzREFBOEMsSUFBQztJQUc3RCxpQkFBdUI7SUFDekIsaUJBQWdCOzs7SUFaZCxtQ0FBcUIsaUJBQUEsK0NBQUEsaURBQUE7SUFPbkIsZUFBdUI7SUFBdkIscUNBQXVCLGtDQUFBOzs7O0lBUTNCLHlDQU9tQjtJQUFqQixzTUFBZ0I7SUFDaEIsZ0RBS0M7SUFGQyxpTUFBWSwwREFBa0QsS0FBSyxDQUFDLElBQUM7SUFHdkUsaUJBQXVCO0lBQ3pCLGlCQUFnQjs7O0lBYmQsbUNBQXFCLGlCQUFBLCtDQUFBLGlEQUFBO0lBT25CLGVBQTBEO0lBQTFELCtFQUEwRCxzQkFBQSxrQ0FBQTs7QURwRDlELE1BQU0sT0FBTyxvQkFBb0I7SUEyQi9CLFlBQ1UsR0FBc0IsRUFDdkIsY0FBOEIsRUFDOUIsY0FBOEIsRUFDN0IsWUFBMEIsRUFDMUIscUJBQTRDLEVBQzVDLEtBQThCLEVBQzlCLGNBQThCLEVBQzlCLG9CQUEwQyxFQUMzQyx5QkFBb0QsRUFDcEQsVUFBK0IsRUFDL0IsbUJBQXdDLEVBQ3ZDLGNBQXFDO1FBWHJDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3ZCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDN0IsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxVQUFLLEdBQUwsS0FBSyxDQUF5QjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMzQyw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO1FBQ3BELGVBQVUsR0FBVixVQUFVLENBQXFCO1FBQy9CLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDdkMsbUJBQWMsR0FBZCxjQUFjLENBQXVCO1FBckMvQyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2IsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVsRCwyQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFDOUIsK0JBQTBCLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLDZCQUF3QixHQUFHLEtBQUssQ0FBQyxDQUFDLDZFQUE2RTtRQUMvRyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUN2QixlQUFVLEdBQWdCLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDeEQsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBRW5DLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6Qix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFDN0IsK0JBQTBCLEdBQUcsS0FBSyxDQUFDO1FBQ25DLGtDQUE2QixHQUFHLEtBQUssQ0FBQztRQUM5QixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFFekIsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBRS9CLDZCQUF3QixHQUFHLGNBQWMsQ0FBQztRQUN6QyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksQ0FBVSxLQUFLLENBQUMsQ0FBQztJQWtCL0QsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMxQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQztnQkFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUMxQjtRQUNILENBQUMsQ0FBQyxFQUNGLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDOUIsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFDNUIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUNqQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztZQUM3QixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxFQUNGLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztZQUNsQyxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLG9CQUFvQixFQUFFO2dCQUN4RixJQUFJLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO2dCQUN0RCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDYjtpQkFDSTtnQkFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO29CQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDLENBQUMsdURBQXVEO2lCQUMvRztnQkFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsd0RBQXdEO2FBQ25GO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUVyRSxJQUFJLENBQUMsMEJBQTBCLEdBQUcsUUFBUSxDQUFDO1lBQzNDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLEVBQ0YsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUVwRSxJQUFJLENBQUMsNkJBQTZCLEdBQUcsUUFBUSxDQUFDO1lBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDeEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7O1lBQ3RELElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsUUFBRSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsTUFBTSwwQ0FBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakYsSUFBSSxFQUFDLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxNQUFNLENBQUEsRUFBRTtnQkFDbkIsSUFBSSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsS0FBSyxFQUFFO29CQUNqQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxFQUFFO3dCQUNwRSxpRkFBaUY7d0JBQ2pGLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsb0JBQW9CLEVBQUU7NEJBQ3JFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO3lCQUM3Qzt3QkFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7d0JBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQzt3QkFDNUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7d0JBQ2pCLDZDQUE2Qzt3QkFDN0MsaURBQWlEO3dCQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUMzQixDQUFDLENBQUMsQ0FDSCxDQUFDO2lCQUNIO3FCQUFNO29CQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO29CQUNsQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO29CQUMvQixJQUFJLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztpQkFDMUI7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMxQyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO2dCQUNuRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO2dCQUMzRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztnQkFDakIsNkNBQTZDO2dCQUM3QyxpREFBaUQ7Z0JBQ2pELE1BQUEsSUFBSSxDQUFDLGdCQUFnQiwwQ0FBRSxHQUFHLENBQUMsWUFBWSxHQUFHO2dCQUMxQyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtvQkFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7aUJBQ3pDO2dCQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7YUFDMUI7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFpQjtRQUM3QixJQUFJLEtBQUssRUFBRTtZQUNULElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUM7U0FDakQ7SUFDSCxDQUFDO0lBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLO1FBQ25CLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixJQUFJLENBQUMsb0JBQW9CLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1lBQ3RELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsMERBQTBEO1lBQzlFLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDNUI7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoQyw2Q0FBNkM7WUFDN0MsdUNBQXVDO1lBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDM0QsSUFBSSxDQUFDLHlCQUF5QixDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9ELElBQUksQ0FBQyx5QkFBeUIsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsS0FBSyxDQUFDO1lBQ3RDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7WUFDL0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QixNQUFNLFFBQVEsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN6RSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDeEgsOEhBQThIO2dCQUM5SCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO2dCQUNyRCxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztnQkFDN0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsQ0FBQyxDQUFDLENBQ0gsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNyQixhQUFhLENBQUM7WUFDWixJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixFQUFFO1lBQ3hDLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUU7WUFDMUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRTtZQUMxQyxJQUFJLENBQUMsV0FBVztTQUNqQixDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLGNBQWMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUM5RyxDQUFDOzt3RkFwTlUsb0JBQW9CO3lEQUFwQixvQkFBb0I7UUNsQ2pDLDJGQXdEZ0I7UUFJaEIseUZBY2dCO1FBR2hCLHlGQWVnQjs7UUEzRmIsNEZBQW1FO1FBNERuRSxlQUFnQztRQUFoQyxxREFBZ0M7UUFpQmhDLGVBQW1DO1FBQW5DLHdEQUFtQzs7dUZENUN6QixvQkFBb0I7Y0FQaEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLFdBQVcsRUFBRSwrQkFBK0I7Z0JBQzVDLFNBQVMsRUFBRSxDQUFDLCtCQUErQixDQUFDO2dCQUM1QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7c2FBcUJVLHNCQUFzQjtrQkFBOUIsS0FBSztZQUNHLDBCQUEwQjtrQkFBbEMsS0FBSztZQUNHLHdCQUF3QjtrQkFBaEMsS0FBSztZQUNJLGlCQUFpQjtrQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHNraXBXaGlsZSwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJlY2lwZSB9IGZyb20gJy4uLy4uL19tb2RlbHMnO1xuaW1wb3J0IHtcbiAgQmFza2V0c1NlcnZpY2UsIEJhc2tldFRyYW5zZmVyU2VydmljZSxcbiAgQ29udGV4dFNlcnZpY2UsXG4gIFBvaW50T2ZTYWxlc1NlcnZpY2UsXG4gIFByb2R1Y3RSZXBsYWNlbWVudFNlcnZpY2UsXG4gIFJlY2lwZURldGFpbHNTZXJ2aWNlLFxuICBSZWNpcGVzU2VydmljZVxufSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgUHJpbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzL3ByaW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmVMb2NhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9zdG9yZS1sb2NhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXZlbnRUcmFjZSB9IGZyb20gJy4uLy4uL190eXBlcy9ldmVudC10cmFjZSc7XG5pbXBvcnQgeyBSZWNpcGVEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi4vcmVjaXBlLWRldGFpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXJlY2lwZS1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWNpcGUtbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWNpcGUtbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUmVjaXBlTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHJlY2lwZTogUmVjaXBlO1xuICBzaG93ID0gZmFsc2U7XG4gIHByZXZpZXdNb2RlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByZXZpZXdBbGxvd2VkOiBib29sZWFuO1xuICBkaXNwbGF5R3Vlc3RzSW5EZXRhaWxzID0gdHJ1ZTtcbiAgaGVscEJ1dHRvbkFsbG93ZWRJbkRldGFpbHMgPSB0cnVlO1xuICBjYW5DbG9zZU1vZGFsID0gdHJ1ZTtcbiAgcmVtb3ZlSXNMb2FkaW5nID0gZmFsc2U7XG4gIGJhc2tldENoYW5nZWRTaW5jZU9wZW5lZCA9IGZhbHNlOyAvLyB0cnVlIGlmIHNob3cgPSB0cnVlIGFuZCBiYXNrZXQgaXMgZGlmZmVyZW50IHNpbmNlIGxhc3QgdGltZSBzaG93IHdhcyBmYWxzZVxuICByZWNpcGVXYXNBZGRlZCA9IGZhbHNlO1xuICBldmVudFRyYWNlPzogRXZlbnRUcmFjZSA9IHsgb3JpZ2luUGF0aDogJycsIHByb3BzOiB7fSB9O1xuICBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICB0b3RhbFByaWNlOiBudW1iZXI7XG4gIHNob3dTdG9yZUxvY2F0b3IgPSBmYWxzZTtcbiAgc2hvd1BsYWNlT3JkZXJGb290ZXIgPSBmYWxzZTtcbiAgcHJvZHVjdEFkZGl0aW9uTW9kYWxPcGVuZWQgPSBmYWxzZTtcbiAgcHJvZHVjdFJlcGxhY2VtZW50TW9kYWxPcGVuZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfc3RvcmVMb2NhdG9ySW5pdCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGRldGFpbHNTdGVwc09uTGVmdFNpZGUgPSBmYWxzZTtcbiAgQElucHV0KCkgZGV0YWlsc01vcmVSZWNpcGVzSW1hZ2VVUkw6IHN0cmluZztcbiAgQElucHV0KCkgZGV0YWlsc1ByaWNpbmdHdWVzdHNUZXh0ID0gJ3Bhci1wZXJzb25uZSc7XG4gIEBPdXRwdXQoKSBoYXNDaGFuZ2VzT25DbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHByaXZhdGUgZGV0YWlsc0NvbXBvbmVudDogUmVjaXBlRGV0YWlsc0NvbXBvbmVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHVibGljIHJlY2lwZXNTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwdWJsaWMgY29udGV4dFNlcnZpY2U6IENvbnRleHRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcHJpbnRTZXJ2aWNlOiBQcmludFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYXNrZXRUcmFuc2ZlclNlcnZpY2U6IEJhc2tldFRyYW5zZmVyU2VydmljZSxcbiAgICBwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGJhc2tldHNTZXJ2aWNlOiBCYXNrZXRzU2VydmljZSxcbiAgICBwcml2YXRlIHJlY2lwZURldGFpbHNTZXJ2aWNlOiBSZWNpcGVEZXRhaWxzU2VydmljZSxcbiAgICBwdWJsaWMgcHJvZHVjdFJlcGxhY2VtZW50U2VydmljZTogUHJvZHVjdFJlcGxhY2VtZW50U2VydmljZSxcbiAgICBwdWJsaWMgcG9zU2VydmljZTogUG9pbnRPZlNhbGVzU2VydmljZSxcbiAgICBwdWJsaWMgc3RvcmVMb2NhdG9yU2VydmljZTogU3RvcmVMb2NhdG9yU2VydmljZSxcbiAgICBwcml2YXRlIGJhc2tldFRyYW5zZmVyOiBCYXNrZXRUcmFuc2ZlclNlcnZpY2VcbiAgKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvUmVjaXBlRGlzcGxheWVkKCk7XG4gICAgdGhpcy5pbml0RGlzYWJsZWRTdGF0ZXMoKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMuYmFza2V0c1NlcnZpY2UuX2Jhc2tldCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2hvdykge1xuICAgICAgICAgIHRoaXMuYmFza2V0Q2hhbmdlZFNpbmNlT3BlbmVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgICAgdGhpcy5iYXNrZXRzU2VydmljZS5iYXNrZXQkLnBpcGUoXG4gICAgICAgIHNraXBXaGlsZShiYXNrZXQgPT4gIWJhc2tldCksXG4gICAgICAgIG1hcChiYXNrZXQgPT4gYmFza2V0LnRvdGFsUHJpY2UpXG4gICAgICApLnN1YnNjcmliZSh0b3RhbFByaWNlID0+IHtcbiAgICAgICAgdGhpcy50b3RhbFByaWNlID0gdG90YWxQcmljZTtcbiAgICAgICAgdGhpcy51cGRhdGVTaG93UGxhY2VPcmRlckZvb3RlcigpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KSxcbiAgICAgIHRoaXMuc3RvcmVMb2NhdG9yU2VydmljZS5zdG9yZUxvY2F0b3JPcGVuZWQkLnN1YnNjcmliZShzaG93ID0+IHtcbiAgICAgICAgdGhpcy5zaG93U3RvcmVMb2NhdG9yID0gc2hvdztcbiAgICAgICAgdGhpcy51cGRhdGVTaG93UGxhY2VPcmRlckZvb3RlcigpO1xuICAgICAgICBpZiAodGhpcy5zaG93ICYmICF0aGlzLnNob3dTdG9yZUxvY2F0b3IgJiYgdGhpcy5zdG9yZUxvY2F0b3JTZXJ2aWNlLmNsb3NlTW9kYWxPblNlbGVjdGVkKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZUxvY2F0b3JTZXJ2aWNlLmNsb3NlTW9kYWxPblNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgaWYgKCF0aGlzLnNob3dTdG9yZUxvY2F0b3IpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmVMb2NhdG9yU2VydmljZS5jbG9zZU1vZGFsT25TZWxlY3RlZCA9IGZhbHNlOyAvLyByZXNldCB2YXJpYWJsZSBldmVuIGlmIHN0b3JlTG9jYXRvciB3YXMgY2xvc2VkIGVhcmx5XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgLy8gaGlkZSBkb2VzIGEgZGV0ZWN0Q2hhbmdlcyBzbyB3ZSBhdm9pZCBhIGRvdWJsZSBjaGFuZ2VcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICB0aGlzLnByb2R1Y3RSZXBsYWNlbWVudFNlcnZpY2UuYWRkaXRpb25Nb2RhbE9wZW4kLnN1YnNjcmliZShpc09wZW5lZCA9PlxuICAgICAge1xuICAgICAgICB0aGlzLnByb2R1Y3RBZGRpdGlvbk1vZGFsT3BlbmVkID0gaXNPcGVuZWQ7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pLFxuICAgICAgdGhpcy5wcm9kdWN0UmVwbGFjZW1lbnRTZXJ2aWNlLnJlcGxhY2VNb2RhbE9wZW4kLnN1YnNjcmliZShpc09wZW5lZCA9PlxuICAgICAge1xuICAgICAgICB0aGlzLnByb2R1Y3RSZXBsYWNlbWVudE1vZGFsT3BlbmVkID0gaXNPcGVuZWQ7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuYmFza2V0VHJhbnNmZXJTZXJ2aWNlLnVuc3Vic2NyaWJlU2VydmljZSgpO1xuICB9XG5cbiAgbGlzdGVuVG9SZWNpcGVEaXNwbGF5ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLmRpc3BsYXllZFJlY2lwZSQuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJUcmFjZSh7IG9yaWdpblBhdGg6ICcnLCBwcm9wczogeyByZWNpcGVfaWQ6IHJlc3VsdD8ucmVjaXBlPy5pZCB9IH0pO1xuICAgICAgICBpZiAoIXJlc3VsdD8ucmVjaXBlKSB7XG4gICAgICAgICAgaWYgKHJlc3VsdD8uZm9yY2UpIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICB0aGlzLnBvc1NlcnZpY2UuaXNQb3NWYWxpZCgpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHdhc0luaXRpYWxpemVkID0+IHtcbiAgICAgICAgICAgICAgICAvLyBpZiBubyBwb3MgYW5kIHRoZSBtb2RhbCB3YXNuJ3Qgb3BlbmVkIGZyb20gdGhlIHByaWNpbmcsIG9wZW4gdGhlIHN0b3JlLWxvY2F0b3JcbiAgICAgICAgICAgICAgICBpZiAoIXdhc0luaXRpYWxpemVkICYmICF0aGlzLnN0b3JlTG9jYXRvclNlcnZpY2UuY2xvc2VNb2RhbE9uU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmVMb2NhdG9yU2VydmljZS5vcGVuU3RvcmVMb2NhdG9yKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJldmlld01vZGUubmV4dChyZXN1bHQucHJldmlld01vZGUpO1xuICAgICAgICAgICAgICAgIHRoaXMucHJldmlld0FsbG93ZWQgPSByZXN1bHQucHJldmlld0FsbG93ZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAvLyBQdXQgYmFjayBpZi93aGVuIHByaW50aW5nIGlzIHJlaW1wbGVtZW50ZWRcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnByaW50U2VydmljZS5wcmVwYXJlRm9yUHJpbnQodGhpcy5lbFJlZik7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zaG93ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl9zdG9yZUxvY2F0b3JJbml0ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnN0b3JlTG9jYXRvclNlcnZpY2UuY2xvc2VTdG9yZUxvY2F0b3IoKTtcbiAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZWNpcGVXYXNBZGRlZCA9IHJlc3VsdC53YXNBZGRlZDtcbiAgICAgICAgICB0aGlzLnJlY2lwZSA9IHJlc3VsdC5yZWNpcGU7XG4gICAgICAgICAgdGhpcy5wcmV2aWV3TW9kZS5uZXh0KHJlc3VsdC5wcmV2aWV3TW9kZSk7XG4gICAgICAgICAgdGhpcy5wcmV2aWV3QWxsb3dlZCA9IHJlc3VsdC5wcmV2aWV3QWxsb3dlZDtcbiAgICAgICAgICB0aGlzLmRpc3BsYXlHdWVzdHNJbkRldGFpbHMgPSByZXN1bHQuZGlzcGxheUd1ZXN0cztcbiAgICAgICAgICB0aGlzLmhlbHBCdXR0b25BbGxvd2VkSW5EZXRhaWxzID0gcmVzdWx0LmhlbHBCdXR0b25BbGxvd2VkO1xuICAgICAgICAgIHRoaXMuc2hvdyA9IHRydWU7XG4gICAgICAgICAgLy8gUHV0IGJhY2sgaWYvd2hlbiBwcmludGluZyBpcyByZWltcGxlbWVudGVkXG4gICAgICAgICAgLy8gdGhpcy5wcmludFNlcnZpY2UucHJlcGFyZUZvclByaW50KHRoaXMuZWxSZWYpO1xuICAgICAgICAgIHRoaXMuZGV0YWlsc0NvbXBvbmVudD8uY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgIGlmICh0aGlzLmRldGFpbHNDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsc0NvbXBvbmVudC5zaG93QWRkb24gPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICByZWdpc3RlclRyYWNlKHRyYWNlOiBFdmVudFRyYWNlKTogdm9pZCB7XG4gICAgaWYgKHRyYWNlKSB7XG4gICAgICB0aGlzLmV2ZW50VHJhY2UgPSB0cmFjZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ldmVudFRyYWNlID0geyBvcmlnaW5QYXRoOiAnJywgcHJvcHM6IHt9IH07XG4gICAgfVxuICB9XG5cbiAgaGlkZShpc0RldGFpbCA9IGZhbHNlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FuQ2xvc2VNb2RhbCkge1xuICAgICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5kaXNwbGF5RXZlbnRXYXNTZW50ID0gZmFsc2U7XG4gICAgICB0aGlzLnJlY2lwZSA9IG51bGw7IC8vIHRyaWdnZXIgYWdhaW4gYSBjaGFuZ2Ugb24gcmVjaXBlIGlmIHdlIHJlLW9wZW4gdGhlIHZpZXdcbiAgICAgIGlmICghaXNEZXRhaWwpIHtcbiAgICAgICAgdGhpcy5zaG93ID0gZmFsc2U7XG4gICAgICAgIHRoaXMucmVjaXBlc1NlcnZpY2UuaGlkZSgpO1xuICAgICAgfVxuICAgICAgdGhpcy5wcmV2aWV3TW9kZS5uZXh0KGlzRGV0YWlsKTtcbiAgICAgIC8vIFB1dCBiYWNrIGlmL3doZW4gcHJpbnRpbmcgaXMgcmVpbXBsZW1lbnRlZFxuICAgICAgLy8gdGhpcy5wcmludFNlcnZpY2UuZGlzbWlzc1ByaW50aW5nKCk7XG4gICAgICB0aGlzLmhhc0NoYW5nZXNPbkNsb3NlLmVtaXQodGhpcy5iYXNrZXRDaGFuZ2VkU2luY2VPcGVuZWQpO1xuICAgICAgdGhpcy5wcm9kdWN0UmVwbGFjZW1lbnRTZXJ2aWNlLmNoYW5nZUFkZGl0aW9uTW9kYWxTdGF0ZShmYWxzZSk7XG4gICAgICB0aGlzLnByb2R1Y3RSZXBsYWNlbWVudFNlcnZpY2UuY2hhbmdlUmVwbGFjZU1vZGFsU3RhdGUoZmFsc2UpO1xuICAgICAgdGhpcy5iYXNrZXRDaGFuZ2VkU2luY2VPcGVuZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX3N0b3JlTG9jYXRvckluaXQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc3RvcmVMb2NhdG9yU2VydmljZS5jbG9zZVN0b3JlTG9jYXRvcigpO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVByZXZpZXdNb2RlKCk6IHZvaWQge1xuICAgIHRoaXMucHJldmlld01vZGUubmV4dCghdGhpcy5wcmV2aWV3TW9kZS52YWx1ZSk7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgLy8gTm90ZSA6IHVudXNlZFxuICByZW1vdmVSZWNpcGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FuQ2xvc2VNb2RhbCkge1xuICAgICAgdGhpcy5yZW1vdmVJc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgY29uc3QgcmVjaXBlSWQgPSAnJyArIHRoaXMucmVjaXBlLmlkO1xuICAgICAgdGhpcy5iYXNrZXRzU2VydmljZS5yZW1vdmVSZWNpcGVzRnJvbUJhc2tldChbcmVjaXBlSWRdLCB0aGlzLmV2ZW50VHJhY2UpO1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICAgIHRoaXMuYmFza2V0c1NlcnZpY2UucmVjaXBlV2lsbEJlUmVtb3ZlZChyZWNpcGVJZCkucGlwZShza2lwV2hpbGUod2lsbEJlUmVtb3ZlZCA9PiB3aWxsQmVSZW1vdmVkKSwgdGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAvLyBpZiByZW1vdmUgYW5kIHJlY2lwZSB3YXMgYWRkZWQsIHRoZW4gbm8gY2hhbmdlIHdhcyBtYWRlIHRvIGJhc2tldCwgYW5kIGlmIHJlbW92ZWQgYW5kIG5vdCBhZGRlZCBpdCdzIGEgY2hhbmdlIHRvIHRoZSBiYXNrZXRcbiAgICAgICAgICB0aGlzLmJhc2tldENoYW5nZWRTaW5jZU9wZW5lZCA9ICF0aGlzLnJlY2lwZVdhc0FkZGVkO1xuICAgICAgICAgIHRoaXMucmVtb3ZlSXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgcHJldmlldyBpcyBvcGVuZWQgYW5kIGxvYWRpbmcsIGJsb2NrIHRoZSB1c2VyIGZyb20gY2xvc2luZyB0aGUgbW9kYWxcbiAgICovXG4gIGluaXREaXNhYmxlZFN0YXRlcygpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICB0aGlzLmJhc2tldHNTZXJ2aWNlLnJlY2lwZXNXaWxsQmVBZGRlZCgpLFxuICAgICAgICB0aGlzLmJhc2tldHNTZXJ2aWNlLnJlY2lwZXNXaWxsQmVSZW1vdmVkKCksXG4gICAgICAgIHRoaXMuYmFza2V0c1NlcnZpY2UucmVjaXBlc1dpbGxCZVVwZGF0ZWQoKSxcbiAgICAgICAgdGhpcy5wcmV2aWV3TW9kZVxuICAgICAgXSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIGNvbnN0IHByZXZpZXdMb2FkaW5nID0gcmVzWzBdIHx8IHJlc1sxXSB8fCByZXNbMl07XG4gICAgICAgIHRoaXMuY2FuQ2xvc2VNb2RhbCA9ICEocHJldmlld0xvYWRpbmcgJiYgcmVzWzNdKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTaG93UGxhY2VPcmRlckZvb3RlcigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dQbGFjZU9yZGVyRm9vdGVyID0gdGhpcy5jb250ZXh0U2VydmljZS5ub1N1cHBsaWVyICYmICF0aGlzLnNob3dTdG9yZUxvY2F0b3IgJiYgdGhpcy50b3RhbFByaWNlID4gMDtcbiAgfVxufVxuIiwiXG48bmctbWlhbS1tb2RhbFxuICAqbmdJZj1cIiFwcm9kdWN0UmVwbGFjZW1lbnRNb2RhbE9wZW5lZCAmJiAhcHJvZHVjdEFkZGl0aW9uTW9kYWxPcGVuZWRcIlxuICBbKGRpc3BsYXkpXT1cInNob3dcIlxuICBbbm9IZWFkZXJNb2RlXT1cIiEocHJldmlld01vZGUgfCBhc3luYykgfHwgc2hvd1N0b3JlTG9jYXRvclwiXG4gIFtjb25maXJtQnV0dG9uRGlzYWJsZWRdPVwiIWNhbkNsb3NlTW9kYWxcIlxuICBbY2FuY2VsQnV0dG9uRGlzYWJsZWRdPVwiIWNhbkNsb3NlTW9kYWxcIlxuICBbY2FuY2VsQnV0dG9uSXNMb2FkaW5nXT1cInJlbW92ZUlzTG9hZGluZ1wiXG4gIFtwbGFjZU9yZGVyRm9vdGVyXT1cIihwcmV2aWV3TW9kZSB8IGFzeW5jKSAmJiBzaG93UGxhY2VPcmRlckZvb3RlclwiXG4gIFtyZWRpcmVjdFRvQ2FydEZvb3Rlcl09XCIocHJldmlld01vZGUgfCBhc3luYykgJiYgIWNvbnRleHRTZXJ2aWNlLm5vU3VwcGxpZXIgJiYgY29udGV4dFNlcnZpY2UucmV0YWlsZXJDYXJ0VXJsXCJcbiAgW3RvdGFsUHJpY2VdPVwidG90YWxQcmljZVwiXG4gIFt0aXRsZV09XCInTWVzIHJlcGFzJ1wiXG4gIGkxOG4tdGl0bGVcbiAgbW9kYWxTdHlsZT1cInJpZ2h0XCJcbiAgKGNsb3NlKT1cImhpZGUoKVwiXG4gIChjYW5jZWwpPVwicmVtb3ZlUmVjaXBlKClcIlxuICAoY29uZmlybSk9XCJoaWRlKClcIlxuICBbY2xhc3MubWlhbS1yZWNpcGUtbW9kYWxfX2Jhc2tldC1wcmV2aWV3LW1vZGFsXT1cIihwcmV2aWV3TW9kZSB8IGFzeW5jKVwiXG4gIFtuZ0NsYXNzXT1cInsgJ3N0b3JlLWxvY2F0b3InOiBzaG93U3RvcmVMb2NhdG9yIH1cIlxuPlxuICA8IS0tICAgICBTVE9SRSBMT0NBVE9SIExJTksgSU4gSEVBREVSIC0tPlxuICA8bmctbWlhbS1zdG9yZS1sb2NhdG9yLWxpbmtcbiAgICAqbmdJZj1cIihwcmV2aWV3TW9kZSB8IGFzeW5jKSAmJiBjb250ZXh0U2VydmljZS5ub1N1cHBsaWVyICYmICFzaG93U3RvcmVMb2NhdG9yXCJcbiAgICBoZWFkZXI+XG4gIDwvbmctbWlhbS1zdG9yZS1sb2NhdG9yLWxpbms+XG4gIDwhLS0gQkFTS0VUIFBSRVZJRVcgLS0+XG4gIDxkaXZcbiAgICAqbmdJZj1cInByZXZpZXdNb2RlIHwgYXN5bmNcIlxuICAgIGNsYXNzPVwibWlhbS13cmFwcGVyLXByZXZpZXdcIlxuICAgIFtjbGFzcy5oaWRkZW5dPVwic2hvd1N0b3JlTG9jYXRvclwiPlxuICAgIDxuZy1taWFtLWJhc2tldC1wcmV2aWV3LWJsb2NrXG4gICAgICBbcmVjaXBlSWRdPVwicmVjaXBlPy5pZFwiXG4gICAgICBbZGlzcGxheUl0ZW1zVW5pdGFyeVByaWNlXT1cInRydWVcIlxuICAgICAgW2lzU3RvcmVMb2NhdG9yRGlzcGxheWVkXT1cInNob3dTdG9yZUxvY2F0b3JcIlxuICAgICAgW29yaWdpblRyYWNlXT1cImV2ZW50VHJhY2VcIlxuICAgID48L25nLW1pYW0tYmFza2V0LXByZXZpZXctYmxvY2s+XG4gIDwvZGl2PlxuICA8IS0tIFJFQ0lQRS1ERVRBSUxTIC0tPlxuICA8bmctbWlhbS1yZWNpcGUtZGV0YWlsc1xuICAgICNkZXRhaWxzXG4gICAgKm5nSWY9XCJyZWNpcGUgJiYgIShwcmV2aWV3TW9kZSB8IGFzeW5jKVwiXG4gICAgW3JlY2lwZUlkXT1cInJlY2lwZS5pZFwiXG4gICAgW2d1ZXN0TnVtYmVyXT1cInJlY2lwZS5tb2RpZmllZEd1ZXN0c1wiXG4gICAgW3ByZXZpZXdBbGxvd2VkXT1cInByZXZpZXdBbGxvd2VkXCJcbiAgICBbc3RlcHNPbkxlZnRTaWRlXT1cImRldGFpbHNTdGVwc09uTGVmdFNpZGVcIlxuICAgIFttb3JlUmVjaXBlc0ltYWdlVVJMXT1cImRldGFpbHNNb3JlUmVjaXBlc0ltYWdlVVJMXCJcbiAgICBbcHJpY2luZ0d1ZXN0c1RleHRdPVwiZGV0YWlsc1ByaWNpbmdHdWVzdHNUZXh0XCJcbiAgICBbZGlzcGxheUd1ZXN0c109XCJkaXNwbGF5R3Vlc3RzSW5EZXRhaWxzXCJcbiAgICBbaGVscEJ1dHRvbkFsbG93ZWRdPVwiaGVscEJ1dHRvbkFsbG93ZWRJbkRldGFpbHNcIlxuICAgIChyZWNpcGVBZGRlZCk9XCJ0b2dnbGVQcmV2aWV3TW9kZSgpXCJcbiAgICAocmVjaXBlRXJyb3IpPVwiaGlkZSh0cnVlKVwiXG4gICAgKGNsb3NlRGV0YWlscyk9XCJoaWRlKHRydWUpXCJcbiAgPjwvbmctbWlhbS1yZWNpcGUtZGV0YWlscz5cbiAgPG5nLW1pYW0tc3RvcmUtbG9jYXRvclxuICAgICpuZ0lmPVwiY29udGV4dFNlcnZpY2Uubm9TdXBwbGllciAmJiBzaG93U3RvcmVMb2NhdG9yXCJcbiAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZVwiPlxuICA8L25nLW1pYW0tc3RvcmUtbG9jYXRvcj5cbjwvbmctbWlhbS1tb2RhbD5cblxuXG48IS0tIFBST0RVQ1QgQURESVRJT04gLS0+XG48bmctbWlhbS1tb2RhbFxuICAqbmdJZj1cInByb2R1Y3RBZGRpdGlvbk1vZGFsT3BlbmVkXCJcbiAgW25vSGVhZGVyTW9kZV09XCJ0cnVlXCJcbiAgW2Rpc3BsYXldPVwidHJ1ZVwiXG4gIFtjYW5jZWxCdXR0b25EaXNhYmxlZF09XCIhY2FuQ2xvc2VNb2RhbFwiXG4gIFtjYW5jZWxCdXR0b25Jc0xvYWRpbmddPVwicmVtb3ZlSXNMb2FkaW5nXCJcbiAgbW9kYWxTdHlsZT1cInJpZ2h0XCJcbiAgKGNsb3NlKT1cImhpZGUoKVwiPlxuICA8bmctbWlhbS1yZXBsYWNlLWl0ZW1cbiAgICBbYWRkUHJvZHVjdE1vZGVdPVwidHJ1ZVwiXG4gICAgKHNlbGVjdGVkKT1cInByb2R1Y3RSZXBsYWNlbWVudFNlcnZpY2Uuc2hvd1Byb2R1Y3RTZWN0aW9uKClcIlxuICAgIFtvcmlnaW5UcmFjZV09XCJldmVudFRyYWNlXCJcbiAgPlxuICA8L25nLW1pYW0tcmVwbGFjZS1pdGVtPlxuPC9uZy1taWFtLW1vZGFsPlxuXG48IS0tIFBST0RVQ1QgUkVQTEFDRU1FTlQgLS0+XG48bmctbWlhbS1tb2RhbFxuICAqbmdJZj1cInByb2R1Y3RSZXBsYWNlbWVudE1vZGFsT3BlbmVkXCJcbiAgW25vSGVhZGVyTW9kZV09XCJ0cnVlXCJcbiAgW2Rpc3BsYXldPVwidHJ1ZVwiXG4gIFtjYW5jZWxCdXR0b25EaXNhYmxlZF09XCIhY2FuQ2xvc2VNb2RhbFwiXG4gIFtjYW5jZWxCdXR0b25Jc0xvYWRpbmddPVwicmVtb3ZlSXNMb2FkaW5nXCJcbiAgbW9kYWxTdHlsZT1cInJpZ2h0XCJcbiAgKGNsb3NlKT1cImhpZGUoKVwiPlxuICA8bmctbWlhbS1yZXBsYWNlLWl0ZW1cbiAgICBbYmFza2V0RW50cnldPVwicHJvZHVjdFJlcGxhY2VtZW50U2VydmljZS5wcm9kdWN0VG9SZXBsYWNlXCJcbiAgICBbbG9hZE9uU2VsZWN0XT1cInRydWVcIlxuICAgIChzZWxlY3RlZCk9XCJwcm9kdWN0UmVwbGFjZW1lbnRTZXJ2aWNlLmNoYW5nZVJlcGxhY2VNb2RhbFN0YXRlKGZhbHNlKVwiXG4gICAgW29yaWdpblRyYWNlXT1cImV2ZW50VHJhY2VcIlxuICA+XG4gIDwvbmctbWlhbS1yZXBsYWNlLWl0ZW0+XG48L25nLW1pYW0tbW9kYWw+XG4iXX0=
320
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjaXBlLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9fd2ViLWNvbXBvbmVudHMvcmVjaXBlLW1vZGFsL3JlY2lwZS1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1taWFtL3NyYy9saWIvX3dlYi1jb21wb25lbnRzL3JlY2lwZS1tb2RhbC9yZWNpcGUtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFDTCxjQUFjLEVBQUUscUJBQXFCLEVBQ3JDLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQixjQUFjLEVBQ2YsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7Ozs7Ozs7SUNIMUUsZ0RBRzZCOzs7SUFFN0IsOEJBR29DO0lBQ2xDLGtEQUtnQztJQUNsQyxpQkFBTTs7O0lBUEosaURBQWlDO0lBRS9CLGVBQXVCO0lBQXZCLDBFQUF1QixrQ0FBQSxvREFBQSxrQ0FBQTs7OztJQU8zQixzREFjQztJQUhDLCtQQUFtQyxrT0FDZixJQUFJLEtB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ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBza2lwV2hpbGUsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBSZWNpcGUgfSBmcm9tICcuLi8uLi9fbW9kZWxzJztcbmltcG9ydCB7XG4gIEJhc2tldHNTZXJ2aWNlLCBCYXNrZXRUcmFuc2ZlclNlcnZpY2UsXG4gIENvbnRleHRTZXJ2aWNlLFxuICBQb2ludE9mU2FsZXNTZXJ2aWNlLFxuICBQcm9kdWN0UmVwbGFjZW1lbnRTZXJ2aWNlLFxuICBSZWNpcGVEZXRhaWxzU2VydmljZSxcbiAgUmVjaXBlc1NlcnZpY2Vcbn0gZnJvbSAnLi4vLi4vX3NlcnZpY2VzJztcbmltcG9ydCB7IFByaW50U2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy9wcmludC5zZXJ2aWNlJztcbmltcG9ydCB7IFN0b3JlTG9jYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvc3RvcmUtbG9jYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEV2ZW50VHJhY2UgfSBmcm9tICcuLi8uLi9fdHlwZXMvZXZlbnQtdHJhY2UnO1xuaW1wb3J0IHsgUmVjaXBlRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4uL3JlY2lwZS1kZXRhaWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmctbWlhbS1yZWNpcGUtbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVjaXBlLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmVjaXBlLW1vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFJlY2lwZU1vZGFsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICByZWNpcGU6IFJlY2lwZTtcbiAgc2hvdyA9IGZhbHNlO1xuICBwcmV2aWV3TW9kZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcmV2aWV3QWxsb3dlZDogYm9vbGVhbjtcbiAgZGlzcGxheUd1ZXN0c0luRGV0YWlscyA9IHRydWU7XG4gIGhlbHBCdXR0b25BbGxvd2VkSW5EZXRhaWxzID0gdHJ1ZTtcbiAgY2FuQ2xvc2VNb2RhbCA9IHRydWU7XG4gIHJlbW92ZUlzTG9hZGluZyA9IGZhbHNlO1xuICBiYXNrZXRDaGFuZ2VkU2luY2VPcGVuZWQgPSBmYWxzZTsgLy8gdHJ1ZSBpZiBzaG93ID0gdHJ1ZSBhbmQgYmFza2V0IGlzIGRpZmZlcmVudCBzaW5jZSBsYXN0IHRpbWUgc2hvdyB3YXMgZmFsc2VcbiAgcmVjaXBlV2FzQWRkZWQgPSBmYWxzZTtcbiAgZXZlbnRUcmFjZT86IEV2ZW50VHJhY2UgPSB7IG9yaWdpblBhdGg6ICcnLCBwcm9wczoge30gfTtcbiAgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgdG90YWxQcmljZTogbnVtYmVyO1xuICBzaG93U3RvcmVMb2NhdG9yID0gZmFsc2U7XG4gIHNob3dQbGFjZU9yZGVyRm9vdGVyID0gZmFsc2U7XG4gIHByb2R1Y3RBZGRpdGlvbk1vZGFsT3BlbmVkID0gZmFsc2U7XG4gIHByb2R1Y3RSZXBsYWNlbWVudE1vZGFsT3BlbmVkID0gZmFsc2U7XG4gIHByaXZhdGUgX3N0b3JlTG9jYXRvckluaXQgPSBmYWxzZTtcblxuICBASW5wdXQoKSBkZXRhaWxzU3RlcHNPbkxlZnRTaWRlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRldGFpbHNNb3JlUmVjaXBlc0ltYWdlVVJMOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRldGFpbHNQcmljaW5nR3Vlc3RzVGV4dCA9ICdwYXItcGVyc29ubmUnO1xuICBAT3V0cHV0KCkgaGFzQ2hhbmdlc09uQ2xvc2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIGRldGFpbHNDb21wb25lbnQ6IFJlY2lwZURldGFpbHNDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHB1YmxpYyByZWNpcGVzU2VydmljZTogUmVjaXBlc1NlcnZpY2UsXG4gICAgcHVibGljIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIHByaW50U2VydmljZTogUHJpbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmFza2V0VHJhbnNmZXJTZXJ2aWNlOiBCYXNrZXRUcmFuc2ZlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBiYXNrZXRzU2VydmljZTogQmFza2V0c1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWNpcGVEZXRhaWxzU2VydmljZTogUmVjaXBlRGV0YWlsc1NlcnZpY2UsXG4gICAgcHVibGljIHByb2R1Y3RSZXBsYWNlbWVudFNlcnZpY2U6IFByb2R1Y3RSZXBsYWNlbWVudFNlcnZpY2UsXG4gICAgcHVibGljIHBvc1NlcnZpY2U6IFBvaW50T2ZTYWxlc1NlcnZpY2UsXG4gICAgcHVibGljIHN0b3JlTG9jYXRvclNlcnZpY2U6IFN0b3JlTG9jYXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBiYXNrZXRUcmFuc2ZlcjogQmFza2V0VHJhbnNmZXJTZXJ2aWNlXG4gICkge1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5Ub1JlY2lwZURpc3BsYXllZCgpO1xuICAgIHRoaXMuaW5pdERpc2FibGVkU3RhdGVzKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLmJhc2tldHNTZXJ2aWNlLl9iYXNrZXQkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNob3cpIHtcbiAgICAgICAgICB0aGlzLmJhc2tldENoYW5nZWRTaW5jZU9wZW5lZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICAgIHRoaXMuYmFza2V0c1NlcnZpY2UuYmFza2V0JC5waXBlKFxuICAgICAgICBza2lwV2hpbGUoYmFza2V0ID0+ICFiYXNrZXQpLFxuICAgICAgICBtYXAoYmFza2V0ID0+IGJhc2tldC50b3RhbFByaWNlKVxuICAgICAgKS5zdWJzY3JpYmUodG90YWxQcmljZSA9PiB7XG4gICAgICAgIHRoaXMudG90YWxQcmljZSA9IHRvdGFsUHJpY2U7XG4gICAgICAgIHRoaXMudXBkYXRlU2hvd1BsYWNlT3JkZXJGb290ZXIoKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSksXG4gICAgICB0aGlzLnN0b3JlTG9jYXRvclNlcnZpY2Uuc3RvcmVMb2NhdG9yT3BlbmVkJC5zdWJzY3JpYmUoc2hvdyA9PiB7XG4gICAgICAgIHRoaXMuc2hvd1N0b3JlTG9jYXRvciA9IHNob3c7XG4gICAgICAgIHRoaXMudXBkYXRlU2hvd1BsYWNlT3JkZXJGb290ZXIoKTtcbiAgICAgICAgaWYgKHRoaXMuc2hvdyAmJiAhdGhpcy5zaG93U3RvcmVMb2NhdG9yICYmIHRoaXMuc3RvcmVMb2NhdG9yU2VydmljZS5jbG9zZU1vZGFsT25TZWxlY3RlZCkge1xuICAgICAgICAgIHRoaXMuc3RvcmVMb2NhdG9yU2VydmljZS5jbG9zZU1vZGFsT25TZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGlmICghdGhpcy5zaG93U3RvcmVMb2NhdG9yKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlTG9jYXRvclNlcnZpY2UuY2xvc2VNb2RhbE9uU2VsZWN0ZWQgPSBmYWxzZTsgLy8gcmVzZXQgdmFyaWFibGUgZXZlbiBpZiBzdG9yZUxvY2F0b3Igd2FzIGNsb3NlZCBlYXJseVxuICAgICAgICAgICAgLy8gSWYgdGhlIHVzZXIgY2xvc2VzIHRoZSBzdG9yZSBsb2NhdG9yIHdpdGhvdXQgc2VsZWN0aW5nIGEgUE9TLCBjbG9zZSB0aGUgbW9kYWxcbiAgICAgICAgICAgIGlmICh0aGlzLnN0b3JlTG9jYXRvclNlcnZpY2UuY2xvc2VNb2RhbE9uQ2FuY2VsKSB7XG4gICAgICAgICAgICAgIHRoaXMuc3RvcmVMb2NhdG9yU2VydmljZS5jbG9zZU1vZGFsT25DYW5jZWwgPSBmYWxzZTtcbiAgICAgICAgICAgICAgdGhpcy5oaWRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTsgLy8gaGlkZSBkb2VzIGEgZGV0ZWN0Q2hhbmdlcyBzbyB3ZSBhdm9pZCBhIGRvdWJsZSBjaGFuZ2VcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICB0aGlzLnByb2R1Y3RSZXBsYWNlbWVudFNlcnZpY2UuYWRkaXRpb25Nb2RhbE9wZW4kLnN1YnNjcmliZShpc09wZW5lZCA9PlxuICAgICAge1xuICAgICAgICB0aGlzLnByb2R1Y3RBZGRpdGlvbk1vZGFsT3BlbmVkID0gaXNPcGVuZWQ7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pLFxuICAgICAgdGhpcy5wcm9kdWN0UmVwbGFjZW1lbnRTZXJ2aWNlLnJlcGxhY2VNb2RhbE9wZW4kLnN1YnNjcmliZShpc09wZW5lZCA9PlxuICAgICAge1xuICAgICAgICB0aGlzLnByb2R1Y3RSZXBsYWNlbWVudE1vZGFsT3BlbmVkID0gaXNPcGVuZWQ7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuYmFza2V0VHJhbnNmZXJTZXJ2aWNlLnVuc3Vic2NyaWJlU2VydmljZSgpO1xuICB9XG5cbiAgbGlzdGVuVG9SZWNpcGVEaXNwbGF5ZWQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLmRpc3BsYXllZFJlY2lwZSQuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJUcmFjZSh7IG9yaWdpblBhdGg6ICcnLCBwcm9wczogeyByZWNpcGVfaWQ6IHJlc3VsdD8ucmVjaXBlPy5pZCB9IH0pO1xuICAgICAgICBpZiAoIXJlc3VsdD8ucmVjaXBlKSB7XG4gICAgICAgICAgaWYgKHJlc3VsdD8uZm9yY2UpIHtcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICAgICAgICB0aGlzLnBvc1NlcnZpY2UuaXNQb3NWYWxpZCgpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHdhc0luaXRpYWxpemVkID0+IHtcbiAgICAgICAgICAgICAgICAvLyBpZiBubyBwb3MgYW5kIHRoZSBtb2RhbCB3YXNuJ3Qgb3BlbmVkIGZyb20gdGhlIHByaWNpbmcsIG9wZW4gdGhlIHN0b3JlLWxvY2F0b3JcbiAgICAgICAgICAgICAgICBpZiAoIXdhc0luaXRpYWxpemVkICYmICF0aGlzLnN0b3JlTG9jYXRvclNlcnZpY2UuY2xvc2VNb2RhbE9uU2VsZWN0ZWQpIHtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc3RvcmVMb2NhdG9yU2VydmljZS5vcGVuU3RvcmVMb2NhdG9yKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucHJldmlld01vZGUubmV4dChyZXN1bHQucHJldmlld01vZGUpO1xuICAgICAgICAgICAgICAgIHRoaXMucHJldmlld0FsbG93ZWQgPSByZXN1bHQucHJldmlld0FsbG93ZWQ7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG93ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAvLyBQdXQgYmFjayBpZi93aGVuIHByaW50aW5nIGlzIHJlaW1wbGVtZW50ZWRcbiAgICAgICAgICAgICAgICAvLyB0aGlzLnByaW50U2VydmljZS5wcmVwYXJlRm9yUHJpbnQodGhpcy5lbFJlZik7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zaG93ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl9zdG9yZUxvY2F0b3JJbml0ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnN0b3JlTG9jYXRvclNlcnZpY2UuY2xvc2VTdG9yZUxvY2F0b3IoKTtcbiAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yZWNpcGVXYXNBZGRlZCA9IHJlc3VsdC53YXNBZGRlZDtcbiAgICAgICAgICB0aGlzLnJlY2lwZSA9IHJlc3VsdC5yZWNpcGU7XG4gICAgICAgICAgdGhpcy5wcmV2aWV3TW9kZS5uZXh0KHJlc3VsdC5wcmV2aWV3TW9kZSk7XG4gICAgICAgICAgdGhpcy5wcmV2aWV3QWxsb3dlZCA9IHJlc3VsdC5wcmV2aWV3QWxsb3dlZDtcbiAgICAgICAgICB0aGlzLmRpc3BsYXlHdWVzdHNJbkRldGFpbHMgPSByZXN1bHQuZGlzcGxheUd1ZXN0cztcbiAgICAgICAgICB0aGlzLmhlbHBCdXR0b25BbGxvd2VkSW5EZXRhaWxzID0gcmVzdWx0LmhlbHBCdXR0b25BbGxvd2VkO1xuICAgICAgICAgIHRoaXMuc2hvdyA9IHRydWU7XG4gICAgICAgICAgLy8gUHV0IGJhY2sgaWYvd2hlbiBwcmludGluZyBpcyByZWltcGxlbWVudGVkXG4gICAgICAgICAgLy8gdGhpcy5wcmludFNlcnZpY2UucHJlcGFyZUZvclByaW50KHRoaXMuZWxSZWYpO1xuICAgICAgICAgIHRoaXMuZGV0YWlsc0NvbXBvbmVudD8uY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgIGlmICh0aGlzLmRldGFpbHNDb21wb25lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZGV0YWlsc0NvbXBvbmVudC5zaG93QWRkb24gPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICByZWdpc3RlclRyYWNlKHRyYWNlOiBFdmVudFRyYWNlKTogdm9pZCB7XG4gICAgaWYgKHRyYWNlKSB7XG4gICAgICB0aGlzLmV2ZW50VHJhY2UgPSB0cmFjZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ldmVudFRyYWNlID0geyBvcmlnaW5QYXRoOiAnJywgcHJvcHM6IHt9IH07XG4gICAgfVxuICB9XG5cbiAgaGlkZShpc0RldGFpbCA9IGZhbHNlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FuQ2xvc2VNb2RhbCkge1xuICAgICAgdGhpcy5yZWNpcGVEZXRhaWxzU2VydmljZS5wYWdldmlld0V2ZW50V2FzU2VudCA9IGZhbHNlO1xuICAgICAgdGhpcy5yZWNpcGUgPSBudWxsOyAvLyB0cmlnZ2VyIGFnYWluIGEgY2hhbmdlIG9uIHJlY2lwZSBpZiB3ZSByZS1vcGVuIHRoZSB2aWV3XG4gICAgICBpZiAoIWlzRGV0YWlsKSB7XG4gICAgICAgIHRoaXMuc2hvdyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnJlY2lwZXNTZXJ2aWNlLmhpZGUoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucHJldmlld01vZGUubmV4dChpc0RldGFpbCk7XG4gICAgICAvLyBQdXQgYmFjayBpZi93aGVuIHByaW50aW5nIGlzIHJlaW1wbGVtZW50ZWRcbiAgICAgIC8vIHRoaXMucHJpbnRTZXJ2aWNlLmRpc21pc3NQcmludGluZygpO1xuICAgICAgdGhpcy5oYXNDaGFuZ2VzT25DbG9zZS5lbWl0KHRoaXMuYmFza2V0Q2hhbmdlZFNpbmNlT3BlbmVkKTtcbiAgICAgIHRoaXMucHJvZHVjdFJlcGxhY2VtZW50U2VydmljZS5jaGFuZ2VBZGRpdGlvbk1vZGFsU3RhdGUoZmFsc2UpO1xuICAgICAgdGhpcy5wcm9kdWN0UmVwbGFjZW1lbnRTZXJ2aWNlLmNoYW5nZVJlcGxhY2VNb2RhbFN0YXRlKGZhbHNlKTtcbiAgICAgIHRoaXMuYmFza2V0Q2hhbmdlZFNpbmNlT3BlbmVkID0gZmFsc2U7XG4gICAgICB0aGlzLl9zdG9yZUxvY2F0b3JJbml0ID0gZmFsc2U7XG4gICAgICB0aGlzLnN0b3JlTG9jYXRvclNlcnZpY2UuY2xvc2VTdG9yZUxvY2F0b3IoKTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGVQcmV2aWV3TW9kZSgpOiB2b2lkIHtcbiAgICB0aGlzLnByZXZpZXdNb2RlLm5leHQoIXRoaXMucHJldmlld01vZGUudmFsdWUpO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8vIE5vdGUgOiB1bnVzZWRcbiAgcmVtb3ZlUmVjaXBlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhbkNsb3NlTW9kYWwpIHtcbiAgICAgIHRoaXMucmVtb3ZlSXNMb2FkaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIGNvbnN0IHJlY2lwZUlkID0gJycgKyB0aGlzLnJlY2lwZS5pZDtcbiAgICAgIHRoaXMuYmFza2V0c1NlcnZpY2UucmVtb3ZlUmVjaXBlc0Zyb21CYXNrZXQoW3JlY2lwZUlkXSwgdGhpcy5ldmVudFRyYWNlKTtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICB0aGlzLmJhc2tldHNTZXJ2aWNlLnJlY2lwZVdpbGxCZVJlbW92ZWQocmVjaXBlSWQpLnBpcGUoc2tpcFdoaWxlKHdpbGxCZVJlbW92ZWQgPT4gd2lsbEJlUmVtb3ZlZCksIHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgLy8gaWYgcmVtb3ZlIGFuZCByZWNpcGUgd2FzIGFkZGVkLCB0aGVuIG5vIGNoYW5nZSB3YXMgbWFkZSB0byBiYXNrZXQsIGFuZCBpZiByZW1vdmVkIGFuZCBub3QgYWRkZWQgaXQncyBhIGNoYW5nZSB0byB0aGUgYmFza2V0XG4gICAgICAgICAgdGhpcy5iYXNrZXRDaGFuZ2VkU2luY2VPcGVuZWQgPSAhdGhpcy5yZWNpcGVXYXNBZGRlZDtcbiAgICAgICAgICB0aGlzLnJlbW92ZUlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhlIHByZXZpZXcgaXMgb3BlbmVkIGFuZCBsb2FkaW5nLCBibG9jayB0aGUgdXNlciBmcm9tIGNsb3NpbmcgdGhlIG1vZGFsXG4gICAqL1xuICBpbml0RGlzYWJsZWRTdGF0ZXMoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgdGhpcy5iYXNrZXRzU2VydmljZS5yZWNpcGVzV2lsbEJlQWRkZWQoKSxcbiAgICAgICAgdGhpcy5iYXNrZXRzU2VydmljZS5yZWNpcGVzV2lsbEJlUmVtb3ZlZCgpLFxuICAgICAgICB0aGlzLmJhc2tldHNTZXJ2aWNlLnJlY2lwZXNXaWxsQmVVcGRhdGVkKCksXG4gICAgICAgIHRoaXMucHJldmlld01vZGVcbiAgICAgIF0pLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICBjb25zdCBwcmV2aWV3TG9hZGluZyA9IHJlc1swXSB8fCByZXNbMV0gfHwgcmVzWzJdO1xuICAgICAgICB0aGlzLmNhbkNsb3NlTW9kYWwgPSAhKHByZXZpZXdMb2FkaW5nICYmIHJlc1szXSk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU2hvd1BsYWNlT3JkZXJGb290ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93UGxhY2VPcmRlckZvb3RlciA9IHRoaXMuY29udGV4dFNlcnZpY2Uubm9TdXBwbGllciAmJiAhdGhpcy5zaG93U3RvcmVMb2NhdG9yICYmIHRoaXMudG90YWxQcmljZSA+IDA7XG4gIH1cbn1cbiIsIlxuPG5nLW1pYW0tbW9kYWxcbiAgKm5nSWY9XCIhcHJvZHVjdFJlcGxhY2VtZW50TW9kYWxPcGVuZWQgJiYgIXByb2R1Y3RBZGRpdGlvbk1vZGFsT3BlbmVkXCJcbiAgWyhkaXNwbGF5KV09XCJzaG93XCJcbiAgW25vSGVhZGVyTW9kZV09XCIhKHByZXZpZXdNb2RlIHwgYXN5bmMpIHx8IHNob3dTdG9yZUxvY2F0b3JcIlxuICBbY29uZmlybUJ1dHRvbkRpc2FibGVkXT1cIiFjYW5DbG9zZU1vZGFsXCJcbiAgW2NhbmNlbEJ1dHRvbkRpc2FibGVkXT1cIiFjYW5DbG9zZU1vZGFsXCJcbiAgW2NhbmNlbEJ1dHRvbklzTG9hZGluZ109XCJyZW1vdmVJc0xvYWRpbmdcIlxuICBbcGxhY2VPcmRlckZvb3Rlcl09XCIocHJldmlld01vZGUgfCBhc3luYykgJiYgc2hvd1BsYWNlT3JkZXJGb290ZXJcIlxuICBbcmVkaXJlY3RUb0NhcnRGb290ZXJdPVwiKHByZXZpZXdNb2RlIHwgYXN5bmMpICYmICFjb250ZXh0U2VydmljZS5ub1N1cHBsaWVyICYmIGNvbnRleHRTZXJ2aWNlLnJldGFpbGVyQ2FydFVybFwiXG4gIFt0b3RhbFByaWNlXT1cInRvdGFsUHJpY2VcIlxuICBbdGl0bGVdPVwiJ01lcyByZXBhcydcIlxuICBpMThuLXRpdGxlXG4gIG1vZGFsU3R5bGU9XCJyaWdodFwiXG4gIChjbG9zZSk9XCJoaWRlKClcIlxuICAoY2FuY2VsKT1cInJlbW92ZVJlY2lwZSgpXCJcbiAgKGNvbmZpcm0pPVwiaGlkZSgpXCJcbiAgW2NsYXNzLm1pYW0tcmVjaXBlLW1vZGFsX19iYXNrZXQtcHJldmlldy1tb2RhbF09XCIocHJldmlld01vZGUgfCBhc3luYylcIlxuICBbbmdDbGFzc109XCJ7ICdzdG9yZS1sb2NhdG9yJzogc2hvd1N0b3JlTG9jYXRvciB9XCJcbj5cbiAgPCEtLSAgICAgU1RPUkUgTE9DQVRPUiBMSU5LIElOIEhFQURFUiAtLT5cbiAgPG5nLW1pYW0tc3RvcmUtbG9jYXRvci1saW5rXG4gICAgKm5nSWY9XCIocHJldmlld01vZGUgfCBhc3luYykgJiYgY29udGV4dFNlcnZpY2Uubm9TdXBwbGllciAmJiAhc2hvd1N0b3JlTG9jYXRvclwiXG4gICAgaGVhZGVyPlxuICA8L25nLW1pYW0tc3RvcmUtbG9jYXRvci1saW5rPlxuICA8IS0tIEJBU0tFVCBQUkVWSUVXIC0tPlxuICA8ZGl2XG4gICAgKm5nSWY9XCJwcmV2aWV3TW9kZSB8IGFzeW5jXCJcbiAgICBjbGFzcz1cIm1pYW0td3JhcHBlci1wcmV2aWV3XCJcbiAgICBbY2xhc3MuaGlkZGVuXT1cInNob3dTdG9yZUxvY2F0b3JcIj5cbiAgICA8bmctbWlhbS1iYXNrZXQtcHJldmlldy1ibG9ja1xuICAgICAgW3JlY2lwZUlkXT1cInJlY2lwZT8uaWRcIlxuICAgICAgW2Rpc3BsYXlJdGVtc1VuaXRhcnlQcmljZV09XCJ0cnVlXCJcbiAgICAgIFtpc1N0b3JlTG9jYXRvckRpc3BsYXllZF09XCJzaG93U3RvcmVMb2NhdG9yXCJcbiAgICAgIFtvcmlnaW5UcmFjZV09XCJldmVudFRyYWNlXCJcbiAgICA+PC9uZy1taWFtLWJhc2tldC1wcmV2aWV3LWJsb2NrPlxuICA8L2Rpdj5cbiAgPCEtLSBSRUNJUEUtREVUQUlMUyAtLT5cbiAgPG5nLW1pYW0tcmVjaXBlLWRldGFpbHNcbiAgICAjZGV0YWlsc1xuICAgICpuZ0lmPVwicmVjaXBlICYmICEocHJldmlld01vZGUgfCBhc3luYylcIlxuICAgIFtyZWNpcGVJZF09XCJyZWNpcGUuaWRcIlxuICAgIFtndWVzdE51bWJlcl09XCJyZWNpcGUubW9kaWZpZWRHdWVzdHNcIlxuICAgIFtwcmV2aWV3QWxsb3dlZF09XCJwcmV2aWV3QWxsb3dlZFwiXG4gICAgW3N0ZXBzT25MZWZ0U2lkZV09XCJkZXRhaWxzU3RlcHNPbkxlZnRTaWRlXCJcbiAgICBbbW9yZVJlY2lwZXNJbWFnZVVSTF09XCJkZXRhaWxzTW9yZVJlY2lwZXNJbWFnZVVSTFwiXG4gICAgW3ByaWNpbmdHdWVzdHNUZXh0XT1cImRldGFpbHNQcmljaW5nR3Vlc3RzVGV4dFwiXG4gICAgW2Rpc3BsYXlHdWVzdHNdPVwiZGlzcGxheUd1ZXN0c0luRGV0YWlsc1wiXG4gICAgW2hlbHBCdXR0b25BbGxvd2VkXT1cImhlbHBCdXR0b25BbGxvd2VkSW5EZXRhaWxzXCJcbiAgICAocmVjaXBlQWRkZWQpPVwidG9nZ2xlUHJldmlld01vZGUoKVwiXG4gICAgKHJlY2lwZUVycm9yKT1cImhpZGUodHJ1ZSlcIlxuICAgIChjbG9zZURldGFpbHMpPVwiaGlkZSh0cnVlKVwiXG4gID48L25nLW1pYW0tcmVjaXBlLWRldGFpbHM+XG4gIDxuZy1taWFtLXN0b3JlLWxvY2F0b3JcbiAgICAqbmdJZj1cImNvbnRleHRTZXJ2aWNlLm5vU3VwcGxpZXIgJiYgc2hvd1N0b3JlTG9jYXRvclwiXG4gICAgW29yaWdpblRyYWNlXT1cImV2ZW50VHJhY2VcIj5cbiAgPC9uZy1taWFtLXN0b3JlLWxvY2F0b3I+XG48L25nLW1pYW0tbW9kYWw+XG5cblxuPCEtLSBQUk9EVUNUIEFERElUSU9OIC0tPlxuPG5nLW1pYW0tbW9kYWxcbiAgKm5nSWY9XCJwcm9kdWN0QWRkaXRpb25Nb2RhbE9wZW5lZFwiXG4gIFtub0hlYWRlck1vZGVdPVwidHJ1ZVwiXG4gIFtkaXNwbGF5XT1cInRydWVcIlxuICBbY2FuY2VsQnV0dG9uRGlzYWJsZWRdPVwiIWNhbkNsb3NlTW9kYWxcIlxuICBbY2FuY2VsQnV0dG9uSXNMb2FkaW5nXT1cInJlbW92ZUlzTG9hZGluZ1wiXG4gIG1vZGFsU3R5bGU9XCJyaWdodFwiXG4gIChjbG9zZSk9XCJoaWRlKClcIj5cbiAgPG5nLW1pYW0tcmVwbGFjZS1pdGVtXG4gICAgW2FkZFByb2R1Y3RNb2RlXT1cInRydWVcIlxuICAgIChzZWxlY3RlZCk9XCJwcm9kdWN0UmVwbGFjZW1lbnRTZXJ2aWNlLnNob3dQcm9kdWN0U2VjdGlvbigpXCJcbiAgICBbb3JpZ2luVHJhY2VdPVwiZXZlbnRUcmFjZVwiXG4gID5cbiAgPC9uZy1taWFtLXJlcGxhY2UtaXRlbT5cbjwvbmctbWlhbS1tb2RhbD5cblxuPCEtLSBQUk9EVUNUIFJFUExBQ0VNRU5UIC0tPlxuPG5nLW1pYW0tbW9kYWxcbiAgKm5nSWY9XCJwcm9kdWN0UmVwbGFjZW1lbnRNb2RhbE9wZW5lZFwiXG4gIFtub0hlYWRlck1vZGVdPVwidHJ1ZVwiXG4gIFtkaXNwbGF5XT1cInRydWVcIlxuICBbY2FuY2VsQnV0dG9uRGlzYWJsZWRdPVwiIWNhbkNsb3NlTW9kYWxcIlxuICBbY2FuY2VsQnV0dG9uSXNMb2FkaW5nXT1cInJlbW92ZUlzTG9hZGluZ1wiXG4gIG1vZGFsU3R5bGU9XCJyaWdodFwiXG4gIChjbG9zZSk9XCJoaWRlKClcIj5cbiAgPG5nLW1pYW0tcmVwbGFjZS1pdGVtXG4gICAgW2Jhc2tldEVudHJ5XT1cInByb2R1Y3RSZXBsYWNlbWVudFNlcnZpY2UucHJvZHVjdFRvUmVwbGFjZVwiXG4gICAgW2xvYWRPblNlbGVjdF09XCJ0cnVlXCJcbiAgICAoc2VsZWN0ZWQpPVwicHJvZHVjdFJlcGxhY2VtZW50U2VydmljZS5jaGFuZ2VSZXBsYWNlTW9kYWxTdGF0ZShmYWxzZSlcIlxuICAgIFtvcmlnaW5UcmFjZV09XCJldmVudFRyYWNlXCJcbiAgPlxuICA8L25nLW1pYW0tcmVwbGFjZS1pdGVtPlxuPC9uZy1taWFtLW1vZGFsPlxuIl19
@@ -2,8 +2,8 @@ export const environment = {
2
2
  env: 'prod',
3
3
  miamAPI: 'https://api.miam.tech',
4
4
  miamWeb: 'https://miam.tech',
5
- mealzComponents: 'https://unpkg.com/mealz-components@1.2/dist',
5
+ mealzComponents: 'https://cdn.jsdelivr.net/npm/mealz-components@1.2/dist',
6
6
  mealzSsrApi: 'https://ssr-api.mealz.ai',
7
7
  lang: 'fr'
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1taWFtL3NyYy9saWIvZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixHQUFHLEVBQUUsTUFBTTtJQUNYLE9BQU8sRUFBRSx1QkFBdUI7SUFDaEMsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixlQUFlLEVBQUUsNkNBQTZDO0lBQzlELFdBQVcsRUFBRSwwQkFBMEI7SUFDdkMsSUFBSSxFQUFFLElBQUk7Q0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVudmlyb25tZW50ID0ge1xuICBlbnY6ICdwcm9kJyxcbiAgbWlhbUFQSTogJ2h0dHBzOi8vYXBpLm1pYW0udGVjaCcsXG4gIG1pYW1XZWI6ICdodHRwczovL21pYW0udGVjaCcsXG4gIG1lYWx6Q29tcG9uZW50czogJ2h0dHBzOi8vdW5wa2cuY29tL21lYWx6LWNvbXBvbmVudHNAMS4yL2Rpc3QnLFxuICBtZWFselNzckFwaTogJ2h0dHBzOi8vc3NyLWFwaS5tZWFsei5haScsXG4gIGxhbmc6ICdmcidcbn07XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1taWFtL3NyYy9saWIvZW52aXJvbm1lbnRzL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixHQUFHLEVBQUUsTUFBTTtJQUNYLE9BQU8sRUFBRSx1QkFBdUI7SUFDaEMsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixlQUFlLEVBQUUsd0RBQXdEO0lBQ3pFLFdBQVcsRUFBRSwwQkFBMEI7SUFDdkMsSUFBSSxFQUFFLElBQUk7Q0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGVudmlyb25tZW50ID0ge1xuICBlbnY6ICdwcm9kJyxcbiAgbWlhbUFQSTogJ2h0dHBzOi8vYXBpLm1pYW0udGVjaCcsXG4gIG1pYW1XZWI6ICdodHRwczovL21pYW0udGVjaCcsXG4gIG1lYWx6Q29tcG9uZW50czogJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbWVhbHotY29tcG9uZW50c0AxLjIvZGlzdCcsXG4gIG1lYWx6U3NyQXBpOiAnaHR0cHM6Ly9zc3ItYXBpLm1lYWx6LmFpJyxcbiAgbGFuZzogJ2ZyJ1xufTtcbiJdfQ==
@@ -2,8 +2,8 @@ export const environment = {
2
2
  env: 'prod',
3
3
  miamAPI: 'https://api.miam.tech',
4
4
  miamWeb: 'https://miam.tech',
5
- mealzComponents: 'https://unpkg.com/mealz-components@1.2/dist',
5
+ mealzComponents: 'https://cdn.jsdelivr.net/npm/mealz-components@1.2/dist',
6
6
  mealzSsrApi: 'https://ssr-api.mealz.ai',
7
7
  lang: 'fr'
8
8
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQucHJvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQucHJvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsR0FBRyxFQUFFLE1BQU07SUFDWCxPQUFPLEVBQUUsdUJBQXVCO0lBQ2hDLE9BQU8sRUFBRSxtQkFBbUI7SUFDNUIsZUFBZSxFQUFFLDZDQUE2QztJQUM5RCxXQUFXLEVBQUUsMEJBQTBCO0lBQ3ZDLElBQUksRUFBRSxJQUFJO0NBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlbnZpcm9ubWVudCA9IHtcbiAgZW52OiAncHJvZCcsXG4gIG1pYW1BUEk6ICdodHRwczovL2FwaS5taWFtLnRlY2gnLFxuICBtaWFtV2ViOiAnaHR0cHM6Ly9taWFtLnRlY2gnLFxuICBtZWFsekNvbXBvbmVudHM6ICdodHRwczovL3VucGtnLmNvbS9tZWFsei1jb21wb25lbnRzQDEuMi9kaXN0JyxcbiAgbWVhbHpTc3JBcGk6ICdodHRwczovL3Nzci1hcGkubWVhbHouYWknLFxuICBsYW5nOiAnZnInXG59O1xuIl19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQucHJvZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQucHJvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsR0FBRyxFQUFFLE1BQU07SUFDWCxPQUFPLEVBQUUsdUJBQXVCO0lBQ2hDLE9BQU8sRUFBRSxtQkFBbUI7SUFDNUIsZUFBZSxFQUFFLHdEQUF3RDtJQUN6RSxXQUFXLEVBQUUsMEJBQTBCO0lBQ3ZDLElBQUksRUFBRSxJQUFJO0NBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlbnZpcm9ubWVudCA9IHtcbiAgZW52OiAncHJvZCcsXG4gIG1pYW1BUEk6ICdodHRwczovL2FwaS5taWFtLnRlY2gnLFxuICBtaWFtV2ViOiAnaHR0cHM6Ly9taWFtLnRlY2gnLFxuICBtZWFsekNvbXBvbmVudHM6ICdodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL21lYWx6LWNvbXBvbmVudHNAMS4yL2Rpc3QnLFxuICBtZWFselNzckFwaTogJ2h0dHBzOi8vc3NyLWFwaS5tZWFsei5haScsXG4gIGxhbmc6ICdmcidcbn07XG4iXX0=
@@ -1,2 +1,2 @@
1
- export const VERSION = '9.2.0'; // TODO: replace by ##VERSION## and update it in the CI/CD
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9lbnZpcm9ubWVudHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsMERBQTBEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFZFUlNJT04gPSAnOS4yLjAnOyAvLyBUT0RPOiByZXBsYWNlIGJ5ICMjVkVSU0lPTiMjIGFuZCB1cGRhdGUgaXQgaW4gdGhlIENJL0NEXG4iXX0=
1
+ export const VERSION = '9.2.2'; // TODO: replace by ##VERSION## and update it in the CI/CD
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1pYW0vc3JjL2xpYi9lbnZpcm9ubWVudHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLENBQUMsMERBQTBEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFZFUlNJT04gPSAnOS4yLjInOyAvLyBUT0RPOiByZXBsYWNlIGJ5ICMjVkVSU0lPTiMjIGFuZCB1cGRhdGUgaXQgaW4gdGhlIENJL0NEXG4iXX0=
@@ -11,6 +11,7 @@ import { StoreLocatorService } from './_services/store-locator.service';
11
11
  import { WebComponentsModule, RecipeModalComponent, RecipeHelperComponent, ToasterStackComponent, BasketTransferModalComponent, NoSupplierOnboardingComponent } from './_web-components';
12
12
  import { WarningStoreLocatorComponent } from './_web-components/warning-store-locator/warning-store-locator.component';
13
13
  import { environment } from './environments/environment';
14
+ import { BasketRecipeCleanupService } from './_services/basket-recipe-cleanup.service';
14
15
  import * as i0 from "@angular/core";
15
16
  import * as i1 from "./_services";
16
17
  import * as i2 from "miam-jsonapi";
@@ -55,6 +56,7 @@ NgMiamModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
55
56
  BasketsService,
56
57
  BasketEntriesService,
57
58
  ItemsService,
59
+ BasketRecipeCleanupService,
58
60
  CatalogSettingsService,
59
61
  ListScanService,
60
62
  PreferencesService,
@@ -94,6 +96,7 @@ NgMiamModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
94
96
  BasketsService,
95
97
  BasketEntriesService,
96
98
  ItemsService,
99
+ BasketRecipeCleanupService,
97
100
  CatalogSettingsService,
98
101
  ListScanService,
99
102
  PreferencesService,
@@ -111,4 +114,4 @@ NgMiamModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
111
114
  ]
112
115
  }]
113
116
  }], function () { return [{ type: i1.ContextService }, { type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.ApplicationRef }]; }, null); })();
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWlhbS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1taWFtL3NyYy9saWIvbmctbWlhbS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxFQUNMLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIscUJBQXFCLEVBRXJCLFFBQVEsRUFDUixTQUFTLEVBQ1QsUUFBUSxFQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsY0FBYyxFQUNkLGVBQWUsRUFDZixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLGVBQWUsRUFDZixnQ0FBZ0MsRUFDaEMsY0FBYyxFQUNmLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsNEJBQTRCLEVBQzVCLDZCQUE2QixFQUM5QixNQUFNLG1CQUFtQixD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akQsZ0JBQWdCO29CQUNoQixtQkFBbUI7b0JBQ25CLHVCQUF1QjtpQkFDeEI7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGNBQWM7b0JBQ2Qsa0JBQWtCO29CQUNsQixvQkFBb0I7b0JBQ3BCLG1CQUFtQjtvQkFDbkIscUJBQXFCO29CQUNyQixjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsWUFBWTtvQkFDWixzQkFBc0I7b0JBQ3RCLGVBQWU7b0JBQ2Ysa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtvQkFDdEUsZ0JBQWdCO29CQUNoQixnQ0FBZ0M7b0JBQ2hDLDBCQUEwQjtvQkFDMUIsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7b0JBQ3pDLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7aUJBQ3BEO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxnQkFBZ0I7b0JBQ2hCLG1CQUFtQjtpQkFDcEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlZ2lzdGVyTG9jYWxlRGF0YSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCBsb2NhbGVGciBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9mcic7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBERUZBVUxUX0NVUlJFTkNZX0NPREUsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgSW5qZWN0b3IsXG4gIExPQ0FMRV9JRCxcbiAgTmdNb2R1bGUsXG4gIFR5cGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBNaWFtSnNvbmFwaU1vZHVsZSB9IGZyb20gJ21pYW0tanNvbmFwaSc7XG5pbXBvcnQgeyBDb21wb25lbnRzTW9kdWxlIH0gZnJvbSAnLi9fY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICBCYXNrZXRzU3luY2hyb25pemVyU2VydmljZSxcbiAgQW5hbHl0aWNzU2VydmljZSxcbiAgQmFza2V0RW50cmllc1NlcnZpY2UsXG4gIEJhc2tldHNTZXJ2aWNlLFxuICBDYXRhbG9nU2V0dGluZ3NTZXJ2aWNlLFxuICBDb250ZXh0U2VydmljZSxcbiAgTWlhbUludGVyY2VwdG9yLFxuICBJdGVtc1NlcnZpY2UsXG4gIFJlY2lwZUxpa2VzU2VydmljZSxcbiAgUmVjaXBlc1NlcnZpY2UsXG4gIFJlY2lwZURldGFpbHNTZXJ2aWNlLFxuICBCYXNrZXRUcmFuc2ZlclNlcnZpY2UsXG4gIExpc3RTY2FuU2VydmljZSxcbiAgTGVnYWN5QmFza2V0c1N5bmNocm9uaXplclNlcnZpY2UsXG4gIEhpc3RvcnlTZXJ2aWNlXG59IGZyb20gJy4vX3NlcnZpY2VzJztcbmltcG9ydCB7IFByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gJy4vX3NlcnZpY2VzL3ByZWZlcmVuY2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmVMb2NhdG9yU2VydmljZSB9IGZyb20gJy4vX3NlcnZpY2VzL3N0b3JlLWxvY2F0b3Iuc2VydmljZSc7XG5pbXBvcnQge1xuICBXZWJDb21wb25lbnRzTW9kdWxlLFxuICBSZWNpcGVNb2RhbENvbXBvbmVudCxcbiAgUmVjaXBlSGVscGVyQ29tcG9uZW50LFxuICBUb2FzdGVyU3RhY2tDb21wb25lbnQsXG4gIEJhc2tldFRyYW5zZmVyTW9kYWxDb21wb25lbnQsXG4gIE5vU3VwcGxpZXJPbmJvYXJkaW5nQ29tcG9uZW50XG59IGZyb20gJy4vX3dlYi1jb21wb25lbnRzJztcbmltcG9ydCB7IFdhcm5pbmdTdG9yZUxvY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL193ZWItY29tcG9uZW50cy93YXJuaW5nLXN0b3JlLWxvY2F0b3Ivd2FybmluZy1zdG9yZS1sb2NhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcblxuY29uc3QgTUlBTV9BUElfSE9TVCA9IGAke2Vudmlyb25tZW50Lm1pYW1BUEl9L2FwaS92MS9gO1xuXG5yZWdpc3RlckxvY2FsZURhdGEobG9jYWxlRnIsICdmcicpO1xuXG4vLyBAZHluYW1pY1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIE1pYW1Kc29uYXBpTW9kdWxlLmZvclJvb3QoeyB1cmw6IE1JQU1fQVBJX0hPU1QgfSksXG4gICAgQ29tcG9uZW50c01vZHVsZSxcbiAgICBXZWJDb21wb25lbnRzTW9kdWxlLFxuICAgIEJyb3dzZXJBbmltYXRpb25zTW9kdWxlXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIFJlY2lwZXNTZXJ2aWNlLFxuICAgIFJlY2lwZUxpa2VzU2VydmljZSxcbiAgICBSZWNpcGVEZXRhaWxzU2VydmljZSxcbiAgICBTdG9yZUxvY2F0b3JTZXJ2aWNlLFxuICAgIEJhc2tldFRyYW5zZmVyU2VydmljZSxcbiAgICBCYXNrZXRzU2VydmljZSxcbiAgICBCYXNrZXRFbnRyaWVzU2VydmljZSxcbiAgICBJdGVtc1NlcnZpY2UsXG4gICAgQ2F0YWxvZ1NldHRpbmdzU2VydmljZSxcbiAgICBMaXN0U2NhblNlcnZpY2UsXG4gICAgUHJlZmVyZW5jZXNTZXJ2aWNlLFxuICAgIEhpc3RvcnlTZXJ2aWNlLFxuICAgIHsgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsIHVzZUNsYXNzOiBNaWFtSW50ZXJjZXB0b3IsIG11bHRpOiB0cnVlIH0sXG4gICAgQW5hbHl0aWNzU2VydmljZSxcbiAgICBMZWdhY3lCYXNrZXRzU3luY2hyb25pemVyU2VydmljZSxcbiAgICBCYXNrZXRzU3luY2hyb25pemVyU2VydmljZSxcbiAgICB7IHByb3ZpZGU6IExPQ0FMRV9JRCwgdXNlVmFsdWU6ICdmci1GUicgfSxcbiAgICB7IHByb3ZpZGU6IERFRkFVTFRfQ1VSUkVOQ1lfQ09ERSwgdXNlVmFsdWU6ICdFVVInIH1cbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIENvbXBvbmVudHNNb2R1bGUsXG4gICAgV2ViQ29tcG9uZW50c01vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE5nTWlhbU1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29udGV4dDogQ29udGV4dFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBmYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGFwcFJlZjogQXBwbGljYXRpb25SZWZcbiAgKSB7XG4gICAgdGhpcy5pbmplY3RNb2RhbHMoKTtcbiAgfVxuXG4gIC8vIEluamVjdCBSZWNpcGVEZXRhaWxzTW9kYWwgY29tcG9uZW50IGR5bmFtaWNhbGx5IHdoZW4gbGliIHN0YXJ0c1xuICBwcml2YXRlIGluamVjdE1vZGFscygpOiB2b2lkIHtcbiAgICB0aGlzLmluamVjdE1vZGFsKFJlY2lwZU1vZGFsQ29tcG9uZW50KTtcbiAgICB0aGlzLmluamVjdE1vZGFsKFJlY2lwZUhlbHBlckNvbXBvbmVudCk7XG4gICAgdGhpcy5pbmplY3RNb2RhbChUb2FzdGVyU3RhY2tDb21wb25lbnQpO1xuICAgIHRoaXMuaW5qZWN0TW9kYWwoQmFza2V0VHJhbnNmZXJNb2RhbENvbXBvbmVudCk7XG4gICAgdGhpcy5pbmplY3RNb2RhbChXYXJuaW5nU3RvcmVMb2NhdG9yQ29tcG9uZW50KTtcbiAgICB0aGlzLmluamVjdE1vZGFsKE5vU3VwcGxpZXJPbmJvYXJkaW5nQ29tcG9uZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5qZWN0TW9kYWwoZWxlbWVudENsYXNzOiBUeXBlPHVua25vd24+KTogdm9pZCB7XG4gICAgLy8gSW5zdGFudGlhdGUgUmVjaXBlRGV0YWlsc01vZGFsQ29tcG9uZW50ICYgYXR0YWNoIGl0IHRvIHJvb3QgdmlldyByZWZcbiAgICBjb25zdCBmYWN0b3J5TW9kYWwgPSB0aGlzLmZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShlbGVtZW50Q2xhc3MpO1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IGZhY3RvcnlNb2RhbC5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG4gICAgdGhpcy5hcHBSZWYuYXR0YWNoVmlldyhjb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuXG4gICAgLy8gQXBwZW5kIGNvcnJlc3BvbmRpbmcgZWxlbWVudHMgdG8gRE9NXG4gICAgY29uc3Qgcm9vdERvbUVsZW0gPSAoY29tcG9uZW50UmVmLmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyb290RG9tRWxlbSk7XG4gIH1cbn1cbiJdfQ==
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWlhbS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1taWFtL3NyYy9saWIvbmctbWlhbS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxRQUFRLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxFQUNMLGNBQWMsRUFDZCx3QkFBd0IsRUFDeEIscUJBQXFCLEVBRXJCLFFBQVEsRUFDUixTQUFTLEVBQ1QsUUFBUSxFQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsY0FBYyxFQUNkLGVBQWUsRUFDZixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLGVBQWUsRUFDZixnQ0FBZ0MsRUFDaEMsY0FBYyxFQUNmLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsb0JBQW9CLEVBQ3BCLHFCQUFxQixFQUNyQixxQkFBcUIsRUFDckIsNEJBQTRCLEVBQzVCLDZCQUE2QixFQUM5QixNQUFNLG1CQUFtQixD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UCxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLENBQUM7b0JBQ2pELGdCQUFnQjtvQkFDaEIsbUJBQW1CO29CQUNuQix1QkFBdUI7aUJBQ3hCO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxjQUFjO29CQUNkLGtCQUFrQjtvQkFDbEIsb0JBQW9CO29CQUNwQixtQkFBbUI7b0JBQ25CLHFCQUFxQjtvQkFDckIsY0FBYztvQkFDZCxvQkFBb0I7b0JBQ3BCLFlBQVk7b0JBQ1osMEJBQTBCO29CQUMxQixzQkFBc0I7b0JBQ3RCLGVBQWU7b0JBQ2Ysa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtvQkFDdEUsZ0JBQWdCO29CQUNoQixnQ0FBZ0M7b0JBQ2hDLDBCQUEwQjtvQkFDMUIsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7b0JBQ3pDLEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUU7aUJBQ3BEO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxnQkFBZ0I7b0JBQ2hCLG1CQUFtQjtpQkFDcEI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlZ2lzdGVyTG9jYWxlRGF0YSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBIVFRQX0lOVEVSQ0VQVE9SUyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCBsb2NhbGVGciBmcm9tICdAYW5ndWxhci9jb21tb24vbG9jYWxlcy9mcic7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvblJlZixcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBERUZBVUxUX0NVUlJFTkNZX0NPREUsXG4gIEVtYmVkZGVkVmlld1JlZixcbiAgSW5qZWN0b3IsXG4gIExPQ0FMRV9JRCxcbiAgTmdNb2R1bGUsXG4gIFR5cGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBNaWFtSnNvbmFwaU1vZHVsZSB9IGZyb20gJ21pYW0tanNvbmFwaSc7XG5pbXBvcnQgeyBDb21wb25lbnRzTW9kdWxlIH0gZnJvbSAnLi9fY29tcG9uZW50cyc7XG5pbXBvcnQge1xuICBCYXNrZXRzU3luY2hyb25pemVyU2VydmljZSxcbiAgQW5hbHl0aWNzU2VydmljZSxcbiAgQmFza2V0RW50cmllc1NlcnZpY2UsXG4gIEJhc2tldHNTZXJ2aWNlLFxuICBDYXRhbG9nU2V0dGluZ3NTZXJ2aWNlLFxuICBDb250ZXh0U2VydmljZSxcbiAgTWlhbUludGVyY2VwdG9yLFxuICBJdGVtc1NlcnZpY2UsXG4gIFJlY2lwZUxpa2VzU2VydmljZSxcbiAgUmVjaXBlc1NlcnZpY2UsXG4gIFJlY2lwZURldGFpbHNTZXJ2aWNlLFxuICBCYXNrZXRUcmFuc2ZlclNlcnZpY2UsXG4gIExpc3RTY2FuU2VydmljZSxcbiAgTGVnYWN5QmFza2V0c1N5bmNocm9uaXplclNlcnZpY2UsXG4gIEhpc3RvcnlTZXJ2aWNlXG59IGZyb20gJy4vX3NlcnZpY2VzJztcbmltcG9ydCB7IFByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gJy4vX3NlcnZpY2VzL3ByZWZlcmVuY2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmVMb2NhdG9yU2VydmljZSB9IGZyb20gJy4vX3NlcnZpY2VzL3N0b3JlLWxvY2F0b3Iuc2VydmljZSc7XG5pbXBvcnQge1xuICBXZWJDb21wb25lbnRzTW9kdWxlLFxuICBSZWNpcGVNb2RhbENvbXBvbmVudCxcbiAgUmVjaXBlSGVscGVyQ29tcG9uZW50LFxuICBUb2FzdGVyU3RhY2tDb21wb25lbnQsXG4gIEJhc2tldFRyYW5zZmVyTW9kYWxDb21wb25lbnQsXG4gIE5vU3VwcGxpZXJPbmJvYXJkaW5nQ29tcG9uZW50XG59IGZyb20gJy4vX3dlYi1jb21wb25lbnRzJztcbmltcG9ydCB7IFdhcm5pbmdTdG9yZUxvY2F0b3JDb21wb25lbnQgfSBmcm9tICcuL193ZWItY29tcG9uZW50cy93YXJuaW5nLXN0b3JlLWxvY2F0b3Ivd2FybmluZy1zdG9yZS1sb2NhdG9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcbmltcG9ydCB7IEJhc2tldFJlY2lwZUNsZWFudXBTZXJ2aWNlIH0gZnJvbSAnLi9fc2VydmljZXMvYmFza2V0LXJlY2lwZS1jbGVhbnVwLnNlcnZpY2UnO1xuXG5jb25zdCBNSUFNX0FQSV9IT1NUID0gYCR7ZW52aXJvbm1lbnQubWlhbUFQSX0vYXBpL3YxL2A7XG5cbnJlZ2lzdGVyTG9jYWxlRGF0YShsb2NhbGVGciwgJ2ZyJyk7XG5cbi8vIEBkeW5hbWljXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgTWlhbUpzb25hcGlNb2R1bGUuZm9yUm9vdCh7IHVybDogTUlBTV9BUElfSE9TVCB9KSxcbiAgICBDb21wb25lbnRzTW9kdWxlLFxuICAgIFdlYkNvbXBvbmVudHNNb2R1bGUsXG4gICAgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgUmVjaXBlc1NlcnZpY2UsXG4gICAgUmVjaXBlTGlrZXNTZXJ2aWNlLFxuICAgIFJlY2lwZURldGFpbHNTZXJ2aWNlLFxuICAgIFN0b3JlTG9jYXRvclNlcnZpY2UsXG4gICAgQmFza2V0VHJhbnNmZXJTZXJ2aWNlLFxuICAgIEJhc2tldHNTZXJ2aWNlLFxuICAgIEJhc2tldEVudHJpZXNTZXJ2aWNlLFxuICAgIEl0ZW1zU2VydmljZSxcbiAgICBCYXNrZXRSZWNpcGVDbGVhbnVwU2VydmljZSxcbiAgICBDYXRhbG9nU2V0dGluZ3NTZXJ2aWNlLFxuICAgIExpc3RTY2FuU2VydmljZSxcbiAgICBQcmVmZXJlbmNlc1NlcnZpY2UsXG4gICAgSGlzdG9yeVNlcnZpY2UsXG4gICAgeyBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUywgdXNlQ2xhc3M6IE1pYW1JbnRlcmNlcHRvciwgbXVsdGk6IHRydWUgfSxcbiAgICBBbmFseXRpY3NTZXJ2aWNlLFxuICAgIExlZ2FjeUJhc2tldHNTeW5jaHJvbml6ZXJTZXJ2aWNlLFxuICAgIEJhc2tldHNTeW5jaHJvbml6ZXJTZXJ2aWNlLFxuICAgIHsgcHJvdmlkZTogTE9DQUxFX0lELCB1c2VWYWx1ZTogJ2ZyLUZSJyB9LFxuICAgIHsgcHJvdmlkZTogREVGQVVMVF9DVVJSRU5DWV9DT0RFLCB1c2VWYWx1ZTogJ0VVUicgfVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgQ29tcG9uZW50c01vZHVsZSxcbiAgICBXZWJDb21wb25lbnRzTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTmdNaWFtTW9kdWxlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb250ZXh0OiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIGZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgYXBwUmVmOiBBcHBsaWNhdGlvblJlZlxuICApIHtcbiAgICB0aGlzLmluamVjdE1vZGFscygpO1xuICB9XG5cbiAgLy8gSW5qZWN0IFJlY2lwZURldGFpbHNNb2RhbCBjb21wb25lbnQgZHluYW1pY2FsbHkgd2hlbiBsaWIgc3RhcnRzXG4gIHByaXZhdGUgaW5qZWN0TW9kYWxzKCk6IHZvaWQge1xuICAgIHRoaXMuaW5qZWN0TW9kYWwoUmVjaXBlTW9kYWxDb21wb25lbnQpO1xuICAgIHRoaXMuaW5qZWN0TW9kYWwoUmVjaXBlSGVscGVyQ29tcG9uZW50KTtcbiAgICB0aGlzLmluamVjdE1vZGFsKFRvYXN0ZXJTdGFja0NvbXBvbmVudCk7XG4gICAgdGhpcy5pbmplY3RNb2RhbChCYXNrZXRUcmFuc2Zlck1vZGFsQ29tcG9uZW50KTtcbiAgICB0aGlzLmluamVjdE1vZGFsKFdhcm5pbmdTdG9yZUxvY2F0b3JDb21wb25lbnQpO1xuICAgIHRoaXMuaW5qZWN0TW9kYWwoTm9TdXBwbGllck9uYm9hcmRpbmdDb21wb25lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbmplY3RNb2RhbChlbGVtZW50Q2xhc3M6IFR5cGU8dW5rbm93bj4pOiB2b2lkIHtcbiAgICAvLyBJbnN0YW50aWF0ZSBSZWNpcGVEZXRhaWxzTW9kYWxDb21wb25lbnQgJiBhdHRhY2ggaXQgdG8gcm9vdCB2aWV3IHJlZlxuICAgIGNvbnN0IGZhY3RvcnlNb2RhbCA9IHRoaXMuZmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGVsZW1lbnRDbGFzcyk7XG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gZmFjdG9yeU1vZGFsLmNyZWF0ZSh0aGlzLmluamVjdG9yKTtcbiAgICB0aGlzLmFwcFJlZi5hdHRhY2hWaWV3KGNvbXBvbmVudFJlZi5ob3N0Vmlldyk7XG5cbiAgICAvLyBBcHBlbmQgY29ycmVzcG9uZGluZyBlbGVtZW50cyB0byBET01cbiAgICBjb25zdCByb290RG9tRWxlbSA9IChjb21wb25lbnRSZWYuaG9zdFZpZXcgYXMgRW1iZWRkZWRWaWV3UmVmPGFueT4pLnJvb3ROb2Rlc1swXSBhcyBIVE1MRWxlbWVudDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHJvb3REb21FbGVtKTtcbiAgfVxufVxuIl19