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.
- package/bundles/ng-miam.umd.js +927 -634
- package/bundles/ng-miam.umd.js.map +1 -1
- package/bundles/ng-miam.umd.min.js +1 -1
- package/bundles/ng-miam.umd.min.js.map +1 -1
- package/esm2015/lib/_components/accordion/accordion.component.js +2 -2
- package/esm2015/lib/_components/addon-link/addon-link.component.js +3 -3
- package/esm2015/lib/_components/counter-input/counter-input.component.js +14 -12
- package/esm2015/lib/_components/guests-dropdown/guests-dropdown.component.js +8 -5
- package/esm2015/lib/_components/icon/icon.component.js +2 -2
- package/esm2015/lib/_components/like-button/like-button.component.js +6 -5
- package/esm2015/lib/_components/modal/modal.component.js +39 -36
- package/esm2015/lib/_components/no-pos-selected/no-pos-selected.component.js +2 -2
- package/esm2015/lib/_components/product-card/out-of-stock-overlay/out-of-stock-overlay.component.js +15 -6
- package/esm2015/lib/_components/product-card/product-card-skeleton/product-card-skeleton.component.js +1 -1
- package/esm2015/lib/_components/product-card/product-card.component.js +25 -7
- package/esm2015/lib/_components/products-picker/products-picker.component.js +2 -2
- package/esm2015/lib/_components/recipe-promotion-badge/recipe-promotion-badge.component.js +2 -2
- package/esm2015/lib/_components/sponsor-blocks/sponsor-image-and-text-block/sponsor-image-and-text-block.component.js +4 -4
- package/esm2015/lib/_components/sponsor-blocks/sponsor-logo-block/sponsor-logo-block.component.js +4 -4
- package/esm2015/lib/_components/sponsor-blocks/sponsor-picture-block/sponsor-picture-block.component.js +3 -3
- package/esm2015/lib/_components/sponsor-blocks/sponsor-small-picture-block/sponsor-small-picture-block.component.js +3 -3
- package/esm2015/lib/_components/sponsor-blocks/sponsor-text-and-image-block/sponsor-text-and-image-block.component.js +4 -4
- package/esm2015/lib/_models/basket-actions/basket-action.js +2 -2
- package/esm2015/lib/_services/basket-recipe-cleanup.service.js +62 -0
- package/esm2015/lib/_services/basket-transfer.service.js +3 -2
- package/esm2015/lib/_services/baskets-synchronizing/baskets-synchronizer.service.js +9 -3
- package/esm2015/lib/_services/context.service.js +17 -13
- package/esm2015/lib/_services/interceptor.service.js +10 -3
- package/esm2015/lib/_services/recipe-details.service.js +22 -7
- package/esm2015/lib/_services/recipes.service.js +5 -5
- package/esm2015/lib/_services/store-locator.service.js +10 -3
- package/esm2015/lib/_services/store-out-of-stock.service.js +57 -0
- package/esm2015/lib/_services/user.service.js +3 -3
- package/esm2015/lib/_types/builded/mealz-interface.js +1 -1
- package/esm2015/lib/_web-components/basket-preview/basket-preview-block/basket-preview-block.component.js +3 -2
- package/esm2015/lib/_web-components/basket-preview/basket-preview-line/basket-preview-line.component.js +130 -122
- package/esm2015/lib/_web-components/basket-preview/basket-preview-product/basket-preview-product.component.js +44 -34
- package/esm2015/lib/_web-components/basket-preview/replace-item/replace-item.component.js +14 -7
- package/esm2015/lib/_web-components/list-scan/files-inputs/files-inputs.component.js +2 -2
- package/esm2015/lib/_web-components/meals-planner/meals-planner-form/meals-planner-form.component.js +13 -13
- package/esm2015/lib/_web-components/no-supplier-onboarding/no-supplier-onboarding.component.js +8 -12
- package/esm2015/lib/_web-components/preferences/preferences-search/preferences-search.component.js +2 -2
- package/esm2015/lib/_web-components/preferences/preferences.component.js +28 -28
- package/esm2015/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.js +118 -97
- package/esm2015/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.js +21 -14
- package/esm2015/lib/_web-components/recipe-catalog/catalog-article-card/catalog-article-card.component.js +9 -8
- package/esm2015/lib/_web-components/recipe-catalog/catalog-category/catalog-category.component.js +10 -8
- package/esm2015/lib/_web-components/recipe-catalog/catalog-header/catalog-header.component.js +3 -3
- package/esm2015/lib/_web-components/recipe-catalog/catalog-toolbar/catalog-toolbar.component.js +14 -10
- package/esm2015/lib/_web-components/recipe-catalog/recipe-catalog.component.js +42 -37
- package/esm2015/lib/_web-components/recipe-details/last-order-modal/last-order-modal.component.js +2 -2
- package/esm2015/lib/_web-components/recipe-details/recipe-addon/recipe-addon.component.js +4 -3
- package/esm2015/lib/_web-components/recipe-details/recipe-details-infos/recipe-details-infos.component.js +16 -13
- package/esm2015/lib/_web-components/recipe-details/recipe-details-ingredients/recipe-details-ingredients.component.js +4 -3
- package/esm2015/lib/_web-components/recipe-details/recipe-details.component.js +98 -103
- package/esm2015/lib/_web-components/recipe-details/store-locator-link/store-locator-link.component.js +8 -7
- package/esm2015/lib/_web-components/recipe-modal/recipe-modal.component.js +7 -2
- package/esm2015/lib/environments/environment.js +2 -2
- package/esm2015/lib/environments/environment.prod.js +2 -2
- package/esm2015/lib/environments/version.js +2 -2
- package/esm2015/lib/ng-miam.module.js +4 -1
- package/fesm2015/ng-miam.js +882 -627
- package/fesm2015/ng-miam.js.map +1 -1
- package/lib/_components/components.module.d.ts +2 -1
- package/lib/_components/components.module.d.ts.map +1 -1
- package/lib/_components/product-card/out-of-stock-overlay/out-of-stock-overlay.component.d.ts +7 -3
- package/lib/_components/product-card/out-of-stock-overlay/out-of-stock-overlay.component.d.ts.map +1 -1
- package/lib/_components/product-card/product-card.component.d.ts +2 -0
- package/lib/_components/product-card/product-card.component.d.ts.map +1 -1
- package/lib/_models/basket-actions/basket-action.d.ts.map +1 -1
- package/lib/_services/basket-recipe-cleanup.service.d.ts +21 -0
- package/lib/_services/basket-recipe-cleanup.service.d.ts.map +1 -0
- package/lib/_services/basket-transfer.service.d.ts.map +1 -1
- package/lib/_services/baskets-synchronizing/baskets-synchronizer.service.d.ts +1 -1
- package/lib/_services/baskets-synchronizing/baskets-synchronizer.service.d.ts.map +1 -1
- package/lib/_services/context.service.d.ts +3 -1
- package/lib/_services/context.service.d.ts.map +1 -1
- package/lib/_services/interceptor.service.d.ts +1 -0
- package/lib/_services/interceptor.service.d.ts.map +1 -1
- package/lib/_services/recipe-details.service.d.ts +8 -2
- package/lib/_services/recipe-details.service.d.ts.map +1 -1
- package/lib/_services/recipes.service.d.ts +2 -6
- package/lib/_services/recipes.service.d.ts.map +1 -1
- package/lib/_services/store-locator.service.d.ts +1 -0
- package/lib/_services/store-locator.service.d.ts.map +1 -1
- package/lib/_services/store-out-of-stock.service.d.ts +13 -0
- package/lib/_services/store-out-of-stock.service.d.ts.map +1 -0
- package/lib/_services/user.service.d.ts +2 -2
- package/lib/_services/user.service.d.ts.map +1 -1
- package/lib/_types/builded/mealz-interface.d.ts +4 -0
- package/lib/_types/builded/mealz-interface.d.ts.map +1 -1
- package/lib/_web-components/basket-preview/replace-item/replace-item.component.d.ts +1 -0
- package/lib/_web-components/basket-preview/replace-item/replace-item.component.d.ts.map +1 -1
- package/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.d.ts +1 -0
- package/lib/_web-components/recipe-cards/recipe-card/recipe-card.component.d.ts.map +1 -1
- package/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.d.ts +1 -1
- package/lib/_web-components/recipe-cards/recipe-card-cta/recipe-card-cta.component.d.ts.map +1 -1
- package/lib/_web-components/recipe-details/recipe-details.component.d.ts +1 -1
- package/lib/_web-components/recipe-details/recipe-details.component.d.ts.map +1 -1
- package/lib/_web-components/recipe-modal/recipe-modal.component.d.ts.map +1 -1
- package/lib/environments/version.d.ts +1 -1
- package/lib/ng-miam.module.d.ts.map +1 -1
- package/miam-style.css +1 -1
- package/package.json +1 -1
|
@@ -59,39 +59,38 @@ function PreferencesComponent_ng_container_5_div_11_Template(rf, ctx) { if (rf &
|
|
|
59
59
|
i0.ɵɵtextInterpolate1(" ", diet_r12.tag.name, " ");
|
|
60
60
|
i0.ɵɵadvance(1);
|
|
61
61
|
i0.ɵɵproperty("checked", diet_r12.checked);
|
|
62
|
+
i0.ɵɵattribute("aria-label", "S\u00E9lectionner " + diet_r12.tag.name);
|
|
62
63
|
} }
|
|
63
64
|
function PreferencesComponent_ng_container_5_button_17_img_5_Template(rf, ctx) { if (rf & 1) {
|
|
64
65
|
i0.ɵɵelement(0, "img", 42);
|
|
65
|
-
} if (rf & 2) {
|
|
66
|
-
const ingredient_r15 = i0.ɵɵnextContext().$implicit;
|
|
67
|
-
i0.ɵɵproperty("alt", "remove " + ingredient_r15.tag.attributes.name);
|
|
68
66
|
} }
|
|
69
67
|
const _c18 = function (a0) { return { "checked": a0 }; };
|
|
70
68
|
function PreferencesComponent_ng_container_5_button_17_Template(rf, ctx) { if (rf & 1) {
|
|
71
|
-
const
|
|
69
|
+
const _r18 = i0.ɵɵgetCurrentView();
|
|
72
70
|
i0.ɵɵelementStart(0, "button", 40);
|
|
73
|
-
i0.ɵɵlistener("click", function PreferencesComponent_ng_container_5_button_17_Template_button_click_0_listener() { i0.ɵɵrestoreView(
|
|
71
|
+
i0.ɵɵlistener("click", function PreferencesComponent_ng_container_5_button_17_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r18); const ingredient_r15 = ctx.$implicit; const ctx_r17 = i0.ɵɵnextContext(2); return ctx_r17.toggleTag(ingredient_r15); });
|
|
74
72
|
i0.ɵɵelementStart(1, "div", 27);
|
|
75
73
|
i0.ɵɵelementStart(2, "span");
|
|
76
74
|
i0.ɵɵtext(3);
|
|
77
75
|
i0.ɵɵpipe(4, "titlecase");
|
|
78
76
|
i0.ɵɵelementEnd();
|
|
79
|
-
i0.ɵɵtemplate(5, PreferencesComponent_ng_container_5_button_17_img_5_Template, 1,
|
|
77
|
+
i0.ɵɵtemplate(5, PreferencesComponent_ng_container_5_button_17_img_5_Template, 1, 0, "img", 41);
|
|
80
78
|
i0.ɵɵelementEnd();
|
|
81
79
|
i0.ɵɵelementEnd();
|
|
82
80
|
} if (rf & 2) {
|
|
83
81
|
const ingredient_r15 = ctx.$implicit;
|
|
84
82
|
const ctx_r10 = i0.ɵɵnextContext(2);
|
|
85
|
-
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(
|
|
83
|
+
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(6, _c18, ingredient_r15.checked));
|
|
84
|
+
i0.ɵɵattribute("aria-pressed", ingredient_r15.checked);
|
|
86
85
|
i0.ɵɵadvance(3);
|
|
87
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4,
|
|
86
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 4, ingredient_r15.tag.attributes.name));
|
|
88
87
|
i0.ɵɵadvance(2);
|
|
89
88
|
i0.ɵɵproperty("ngIf", ctx_r10.isAdditionalIngredient(ingredient_r15));
|
|
90
89
|
} }
|
|
91
90
|
function PreferencesComponent_ng_container_5_div_30_Template(rf, ctx) { if (rf & 1) {
|
|
92
|
-
const
|
|
91
|
+
const _r21 = i0.ɵɵgetCurrentView();
|
|
93
92
|
i0.ɵɵelementStart(0, "div", 37);
|
|
94
|
-
i0.ɵɵlistener("click", function PreferencesComponent_ng_container_5_div_30_Template_div_click_0_listener() { i0.ɵɵrestoreView(
|
|
93
|
+
i0.ɵɵlistener("click", function PreferencesComponent_ng_container_5_div_30_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r21); const equipment_r19 = ctx.$implicit; const ctx_r20 = i0.ɵɵnextContext(2); return ctx_r20.toggleTag(equipment_r19); });
|
|
95
94
|
i0.ɵɵelementStart(1, "div", 43);
|
|
96
95
|
i0.ɵɵtext(2);
|
|
97
96
|
i0.ɵɵpipe(3, "titlecase");
|
|
@@ -99,25 +98,26 @@ function PreferencesComponent_ng_container_5_div_30_Template(rf, ctx) { if (rf &
|
|
|
99
98
|
i0.ɵɵelement(4, "input", 39);
|
|
100
99
|
i0.ɵɵelementEnd();
|
|
101
100
|
} if (rf & 2) {
|
|
102
|
-
const
|
|
101
|
+
const equipment_r19 = ctx.$implicit;
|
|
103
102
|
i0.ɵɵadvance(2);
|
|
104
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3,
|
|
103
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 3, equipment_r19.tag.name), " ");
|
|
105
104
|
i0.ɵɵadvance(2);
|
|
106
|
-
i0.ɵɵproperty("checked",
|
|
105
|
+
i0.ɵɵproperty("checked", equipment_r19.checked);
|
|
106
|
+
i0.ɵɵattribute("aria-label", "S\u00E9lectionner " + equipment_r19.tag.name);
|
|
107
107
|
} }
|
|
108
108
|
function PreferencesComponent_ng_container_5_Template(rf, ctx) { if (rf & 1) {
|
|
109
|
-
const
|
|
109
|
+
const _r23 = i0.ɵɵgetCurrentView();
|
|
110
110
|
i0.ɵɵelementContainerStart(0);
|
|
111
111
|
i0.ɵɵelementStart(1, "div", 14);
|
|
112
112
|
i0.ɵɵelementStart(2, "span", 15);
|
|
113
113
|
i0.ɵɵi18n(3, 16);
|
|
114
114
|
i0.ɵɵelementEnd();
|
|
115
115
|
i0.ɵɵelementStart(4, "ng-miam-counter-input", 17);
|
|
116
|
-
i0.ɵɵlistener("valueChange", function PreferencesComponent_ng_container_5_Template_ng_miam_counter_input_valueChange_4_listener($event) { i0.ɵɵrestoreView(
|
|
116
|
+
i0.ɵɵlistener("valueChange", function PreferencesComponent_ng_container_5_Template_ng_miam_counter_input_valueChange_4_listener($event) { i0.ɵɵrestoreView(_r23); const ctx_r22 = i0.ɵɵnextContext(); return ctx_r22.preferencesService.guests = $event; });
|
|
117
117
|
i0.ɵɵelementEnd();
|
|
118
118
|
i0.ɵɵelementEnd();
|
|
119
119
|
i0.ɵɵelementStart(5, "ng-miam-accordion", 18);
|
|
120
|
-
i0.ɵɵlistener("isCollapsedChange", function PreferencesComponent_ng_container_5_Template_ng_miam_accordion_isCollapsedChange_5_listener() { i0.ɵɵrestoreView(
|
|
120
|
+
i0.ɵɵlistener("isCollapsedChange", function PreferencesComponent_ng_container_5_Template_ng_miam_accordion_isCollapsedChange_5_listener() { i0.ɵɵrestoreView(_r23); const ctx_r24 = i0.ɵɵnextContext(); return ctx_r24.cdr.detectChanges(); });
|
|
121
121
|
i0.ɵɵelementStart(6, "ng-miam-accordion-title");
|
|
122
122
|
i0.ɵɵelementStart(7, "span", 19);
|
|
123
123
|
i0.ɵɵi18n(8, 20);
|
|
@@ -125,21 +125,21 @@ function PreferencesComponent_ng_container_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
125
125
|
i0.ɵɵelementEnd();
|
|
126
126
|
i0.ɵɵelementStart(9, "ng-miam-accordion-content");
|
|
127
127
|
i0.ɵɵelementStart(10, "div", 21);
|
|
128
|
-
i0.ɵɵtemplate(11, PreferencesComponent_ng_container_5_div_11_Template, 4,
|
|
128
|
+
i0.ɵɵtemplate(11, PreferencesComponent_ng_container_5_div_11_Template, 4, 3, "div", 22);
|
|
129
129
|
i0.ɵɵelementEnd();
|
|
130
130
|
i0.ɵɵelementEnd();
|
|
131
131
|
i0.ɵɵelementEnd();
|
|
132
132
|
i0.ɵɵelementStart(12, "ng-miam-accordion", 23);
|
|
133
|
-
i0.ɵɵlistener("isCollapsedChange", function PreferencesComponent_ng_container_5_Template_ng_miam_accordion_isCollapsedChange_12_listener() { i0.ɵɵrestoreView(
|
|
133
|
+
i0.ɵɵlistener("isCollapsedChange", function PreferencesComponent_ng_container_5_Template_ng_miam_accordion_isCollapsedChange_12_listener() { i0.ɵɵrestoreView(_r23); const ctx_r25 = i0.ɵɵnextContext(); return ctx_r25.cdr.detectChanges(); });
|
|
134
134
|
i0.ɵɵelementStart(13, "ng-miam-accordion-title");
|
|
135
135
|
i0.ɵɵelementStart(14, "span", 19);
|
|
136
136
|
i0.ɵɵi18n(15, 24);
|
|
137
137
|
i0.ɵɵelementEnd();
|
|
138
138
|
i0.ɵɵelementEnd();
|
|
139
139
|
i0.ɵɵelementStart(16, "ng-miam-accordion-content");
|
|
140
|
-
i0.ɵɵtemplate(17, PreferencesComponent_ng_container_5_button_17_Template, 6,
|
|
140
|
+
i0.ɵɵtemplate(17, PreferencesComponent_ng_container_5_button_17_Template, 6, 8, "button", 25);
|
|
141
141
|
i0.ɵɵelementStart(18, "button", 26);
|
|
142
|
-
i0.ɵɵlistener("click", function PreferencesComponent_ng_container_5_Template_button_click_18_listener() { i0.ɵɵrestoreView(
|
|
142
|
+
i0.ɵɵlistener("click", function PreferencesComponent_ng_container_5_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r23); const ctx_r26 = i0.ɵɵnextContext(); return ctx_r26.goToSearchView(); });
|
|
143
143
|
i0.ɵɵelementStart(19, "div", 27);
|
|
144
144
|
i0.ɵɵelementStart(20, "span");
|
|
145
145
|
i0.ɵɵi18n(21, 28);
|
|
@@ -150,7 +150,7 @@ function PreferencesComponent_ng_container_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
150
150
|
i0.ɵɵelementEnd();
|
|
151
151
|
i0.ɵɵelementEnd();
|
|
152
152
|
i0.ɵɵelementStart(23, "ng-miam-accordion", 30);
|
|
153
|
-
i0.ɵɵlistener("isCollapsedChange", function PreferencesComponent_ng_container_5_Template_ng_miam_accordion_isCollapsedChange_23_listener() { i0.ɵɵrestoreView(
|
|
153
|
+
i0.ɵɵlistener("isCollapsedChange", function PreferencesComponent_ng_container_5_Template_ng_miam_accordion_isCollapsedChange_23_listener() { i0.ɵɵrestoreView(_r23); const ctx_r27 = i0.ɵɵnextContext(); return ctx_r27.cdr.detectChanges(); });
|
|
154
154
|
i0.ɵɵelementStart(24, "ng-miam-accordion-title");
|
|
155
155
|
i0.ɵɵelementStart(25, "span", 19);
|
|
156
156
|
i0.ɵɵi18n(26, 31);
|
|
@@ -159,20 +159,20 @@ function PreferencesComponent_ng_container_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
159
159
|
i0.ɵɵelementStart(27, "ng-miam-accordion-content");
|
|
160
160
|
i0.ɵɵelementStart(28, "ng-miam-accordion-content");
|
|
161
161
|
i0.ɵɵelementStart(29, "div", 21);
|
|
162
|
-
i0.ɵɵtemplate(30, PreferencesComponent_ng_container_5_div_30_Template, 5,
|
|
162
|
+
i0.ɵɵtemplate(30, PreferencesComponent_ng_container_5_div_30_Template, 5, 5, "div", 22);
|
|
163
163
|
i0.ɵɵelementEnd();
|
|
164
164
|
i0.ɵɵelementEnd();
|
|
165
165
|
i0.ɵɵelementEnd();
|
|
166
166
|
i0.ɵɵelementEnd();
|
|
167
167
|
i0.ɵɵelementStart(31, "div", 32);
|
|
168
168
|
i0.ɵɵelementStart(32, "button", 33);
|
|
169
|
-
i0.ɵɵlistener("click", function PreferencesComponent_ng_container_5_Template_button_click_32_listener() { i0.ɵɵrestoreView(
|
|
169
|
+
i0.ɵɵlistener("click", function PreferencesComponent_ng_container_5_Template_button_click_32_listener() { i0.ɵɵrestoreView(_r23); const ctx_r28 = i0.ɵɵnextContext(); return ctx_r28.reset(); });
|
|
170
170
|
i0.ɵɵelementStart(33, "span");
|
|
171
171
|
i0.ɵɵi18n(34, 34);
|
|
172
172
|
i0.ɵɵelementEnd();
|
|
173
173
|
i0.ɵɵelementEnd();
|
|
174
174
|
i0.ɵɵelementStart(35, "button", 35);
|
|
175
|
-
i0.ɵɵlistener("click", function PreferencesComponent_ng_container_5_Template_button_click_35_listener() { i0.ɵɵrestoreView(
|
|
175
|
+
i0.ɵɵlistener("click", function PreferencesComponent_ng_container_5_Template_button_click_35_listener() { i0.ɵɵrestoreView(_r23); const ctx_r29 = i0.ɵɵnextContext(); return ctx_r29.updateAndBack(); });
|
|
176
176
|
i0.ɵɵelementStart(36, "span");
|
|
177
177
|
i0.ɵɵi18n(37, 36);
|
|
178
178
|
i0.ɵɵelementEnd();
|
|
@@ -197,10 +197,10 @@ function PreferencesComponent_ng_container_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
197
197
|
i0.ɵɵproperty("ngForOf", ctx_r2.equipments);
|
|
198
198
|
} }
|
|
199
199
|
function PreferencesComponent_ng_container_6_Template(rf, ctx) { if (rf & 1) {
|
|
200
|
-
const
|
|
200
|
+
const _r31 = i0.ɵɵgetCurrentView();
|
|
201
201
|
i0.ɵɵelementContainerStart(0);
|
|
202
202
|
i0.ɵɵelementStart(1, "ng-miam-preferences-search", 44);
|
|
203
|
-
i0.ɵɵlistener("backAndReload", function PreferencesComponent_ng_container_6_Template_ng_miam_preferences_search_backAndReload_1_listener() { i0.ɵɵrestoreView(
|
|
203
|
+
i0.ɵɵlistener("backAndReload", function PreferencesComponent_ng_container_6_Template_ng_miam_preferences_search_backAndReload_1_listener() { i0.ɵɵrestoreView(_r31); const ctx_r30 = i0.ɵɵnextContext(); ctx_r30.fetchTags(); return ctx_r30.goToDefaultView(); });
|
|
204
204
|
i0.ɵɵelementEnd();
|
|
205
205
|
i0.ɵɵelementContainerEnd();
|
|
206
206
|
} }
|
|
@@ -455,7 +455,7 @@ PreferencesComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PreferencesComponent
|
|
|
455
455
|
}
|
|
456
456
|
else {
|
|
457
457
|
i18n_16 = $localize `:␟d52eb7599c75829bf96401d33dfdad4f9857822b␟4160637687093543290:Appliquer`;
|
|
458
|
-
} return [["modalStyle", "right", 1, "miam-preferences-modal", 3, "noHeaderMode", "display", "close"], [1, "miam-preferences"], [1, "miam-preferences__header"], [4, "ngIf"], ["class", "miam-preferences_nav-and-title", 4, "ngIf"], [1, "miam-ds-button", "ghost", "square", "miam-preferences__back-button", 3, "click"], ["alt", "
|
|
458
|
+
} return [["modalStyle", "right", 1, "miam-preferences-modal", 3, "noHeaderMode", "display", "close"], [1, "miam-preferences"], [1, "miam-preferences__header"], [4, "ngIf"], ["class", "miam-preferences_nav-and-title", 4, "ngIf"], ["aria-label", "Retour", 1, "miam-ds-button", "ghost", "square", "miam-preferences__back-button", 3, "click"], ["alt", "", "aria-hidden", "true", "src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/arrow-right.svg", 1, "miam-preferences__back-image"], [1, "miam-ds-text", "size-l", "weight-xxl", "miam-preferences__title"], i18n_0, ["aria-label", "Fermer", 1, "miam-ds-button", "ghost", "square", "miam-preferences__close-button", 3, "click"], ["alt", "", "aria-hidden", "true", "src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Cross_primary.svg", 1, "miam-preferences__close-image"], [1, "miam-preferences_nav-and-title"], ["aria-label", "Retour", 1, "miam-ds-button", "ghost", "square", "miam-preferences__search-back-button", 3, "click"], i18n_2, [1, "miam-preferences__guests"], [1, "miam-ds-text", "miam-preferences_guest-label"], i18n_4, [1, "miam-preferences_guest-counter", 3, "value", "valueChange"], [1, "miam-preferences__diet-section", 3, "isCollapsed", "isCollapsedChange"], [1, "miam-ds-text", "weight-xl"], i18n_6, [1, "miam-preferences__list"], ["class", "miam-preferences__list__item miam-ds-checkbox", 3, "click", 4, "ngFor", "ngForOf"], [1, "miam-preferences__dislikes-section", 3, "isCollapsed", "isCollapsedChange"], i18n_8, ["class", "miam-ds-badge miam-preferences__badge", 3, "ngClass", "click", 4, "ngFor", "ngForOf"], ["aria-label", "Ajouter un ingr\u00E9dient \u00E0 exclure", 1, "miam-ds-badge", "miam-preferences__badge", 3, "click"], [1, "miam-preferences__badge_label"], i18n_10, ["alt", "", "aria-hidden", "true", "src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/plus-neutral-black.svg"], [1, "miam-preferences__equipments-section", 3, "isCollapsed", "isCollapsedChange"], i18n_12, [1, "miam-preferences__footer"], [1, "miam-ds-button", "secondary", "miam-preferences__footer__reset", 3, "click"], i18n_14, [1, "miam-ds-button", "primary", "miam-preferences__footer__recipes", 3, "click"], i18n_16, [1, "miam-preferences__list__item", "miam-ds-checkbox", 3, "click"], [1, "miam-ds-text", "miam-preferences__list__item__name"], ["type", "checkbox", 3, "checked"], [1, "miam-ds-badge", "miam-preferences__badge", 3, "ngClass", "click"], ["alt", "", "aria-hidden", "true", "class", "miam-preferences__remove-tag", "src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Cross.svg", 4, "ngIf"], ["alt", "", "aria-hidden", "true", "src", "https://storage.googleapis.com/assets.miam.tech/generic/icons/Cross.svg", 1, "miam-preferences__remove-tag"], [1, "miam-preferences__list__item__name"], [3, "backAndReload"]]; }, template: function PreferencesComponent_Template(rf, ctx) { if (rf & 1) {
|
|
459
459
|
i0.ɵɵelementStart(0, "ng-miam-modal", 0);
|
|
460
460
|
i0.ɵɵlistener("close", function PreferencesComponent_Template_ng_miam_modal_close_0_listener() { return ctx.close(); });
|
|
461
461
|
i0.ɵɵelementStart(1, "div", 1);
|
|
@@ -496,4 +496,4 @@ PreferencesComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PreferencesComponent
|
|
|
496
496
|
}], isOpen: [{
|
|
497
497
|
type: Input
|
|
498
498
|
}] }); })();
|
|
499
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyZW5jZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWlhbS9zcmMvbGliL193ZWItY29tcG9uZW50cy9wcmVmZXJlbmNlcy9wcmVmZXJlbmNlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1taWFtL3NyYy9saWIvX3dlYi1jb21wb25lbnRzL3ByZWZlcmVuY2VzL3ByZWZlcmVuY2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUUxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsSCxPQUFPLEVBQWdCLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7OztJQ1B0RCw2QkFBaUU7SUFFL0QsaUNBQTRGO0lBQWxCLDRMQUFpQjtJQUN6Rix5QkFDeUY7SUFDM0YsaUJBQVM7SUFDVCw4QkFBb0U7SUFDbEUsNEJBQVc7SUFBWCxlQUFXO0lBQWUsaUJBQU87SUFDbkMsaUJBQU07SUFFTixpQ0FBNkY7SUFBbEIsNExBQWlCO0lBQzFGLDBCQUMyRjtJQUM3RixpQkFBUztJQUNYLDBCQUFlOzs7O0lBQ2YsK0JBQThGO0lBQzVGLGtDQUNvQztJ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Ozs7Ozs7a0JBaUJpQixVQUFBLHNFQUFPOzs7Ozs7a0JBY3RCLFVBQUEsa0ZBQ0Y7Ozs7OztrQkFrQmEsVUFBQSw4RUFBYTs7Ozs7O2tCQUdiLFVBQUEsMEVBQVM7O1FBMUg5Qix3Q0FNQztRQUZHLHdHQUFTLFdBQU8sSUFBQztRQUduQiw4QkFBOEI7UUFFNUIsOEJBQXNDO1FBRXBDLHVGQWNlO1FBQ2YscUVBU007UUFDUixpQkFBTTtRQUNOLHdGQXdGZTtRQUNmLHVGQUVlO1FBQ2pCLGlCQUFNO1FBQ1IsaUJBQWdCOztRQWpJWixtQ0FBcUIsdUJBQUE7UUFVSixlQUFnRDtRQUFoRCx5RUFBZ0Q7UUFlbEIsZUFBK0M7UUFBL0Msd0VBQStDO1FBVy9FLGVBQWdEO1FBQWhELHlFQUFnRDtRQXlGaEQsZUFBK0M7UUFBL0Msd0VBQStDOzt1RkQ1RnJELG9CQUFvQjtjQVJoQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsV0FBVyxFQUFFLDhCQUE4QjtnQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7Z0JBQzNDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDt1UEFHVSxPQUFPO2tCQUFmLEtBQUs7WUFDSSxZQUFZO2tCQUFyQixNQUFNO1lBQ0csa0JBQWtCO2tCQUEzQixNQUFNO1lBb0NNLE1BQU07a0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgc2tpcFdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRXZlbnRUcmFjZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9fY29tcG9uZW50cy9hYnN0cmFjdHMvZXZlbnQtdHJhY2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWcgfSBmcm9tICcuLi8uLi9fbW9kZWxzJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UsIENvbnRleHRTZXJ2aWNlLCBSZWNpcGVzU2VydmljZSwgU3VwcGxpZXJzU2VydmljZSwgVGFnc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgQ2hlY2thYmxlVGFnLCBQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvcHJlZmVyZW5jZXMuc2VydmljZSc7XG5pbXBvcnQgeyBSZWNpcGVGaWx0ZXJzIH0gZnJvbSAnLi4vLi4vX3R5cGVzL3JlY2lwZS1maWx0ZXJzJztcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcblxuZW51bSBQcmVmZXJlbmNlVmlldyB7XG4gIERFRkFVTFQsXG4gIFNFQVJDSFxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXByZWZlcmVuY2VzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ByZWZlcmVuY2VzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJlZmVyZW5jZXMuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5cbmV4cG9ydCBjbGFzcyBQcmVmZXJlbmNlc0NvbXBvbmVudCBleHRlbmRzIEV2ZW50VHJhY2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBmaWx0ZXJzOiBSZWNpcGVGaWx0ZXJzO1xuICBAT3V0cHV0KCkgaXNPcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgcHJlZmVyZW5jZXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIF9pc09wZW4gPSBmYWxzZTtcbiAgZGlldHM6IENoZWNrYWJsZVRhZ1tdID0gW107XG4gIGluZ3JlZGllbnRzOiBDaGVja2FibGVUYWdbXSA9IFtdO1xuICBlcXVpcG1lbnRzOiBDaGVja2FibGVUYWdbXSA9IFtdO1xuICBkaXNwbGF5VHlwZTogUHJlZmVyZW5jZVZpZXcgPSBQcmVmZXJlbmNlVmlldy5ERUZBVUxUO1xuICBwcmVmZXJlbmNlVmlld0VudW0gPSBQcmVmZXJlbmNlVmlldztcblxuICBwcml2YXRlIG9wZW5lZE1vZGFsU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBwcml2YXRlIGZvcmNlZEluZ3JlZGllbnRzID0gW1xuICAgIHsgaWQ6ICdpbmdyZWRpZW50X2NhdGVnb3J5X2xndW1lcycsIG5hbWU6ICdMw6lndW1lJyB9LFxuICAgIHsgaWQ6ICdpbmdyZWRpZW50X2NhdGVnb3J5X3ZpYW5kZXMtYmxhbmNoZXMnLCBuYW1lOiAnVmlhbmRlIGJsYW5jaGUnIH0sXG4gICAgeyBpZDogJ2luZ3JlZGllbnRfY2F0ZWdvcnlfZnJvbWFnZScsIG5hbWU6ICdGcm9tYWdlJyB9LFxuICAgIHsgaWQ6ICdpbmdyZWRpZW50X2NhdGVnb3J5X3BvaXNzb25zJywgbmFtZTogJ1BvaXNzb24nIH0sXG4gICAgeyBpZDogJ2luZ3JlZGllbnRfY2F0ZWdvcnlfZnJ1aXRzJywgbmFtZTogJ0ZydWl0JyB9LFxuICAgIHsgaWQ6ICdpbmdyZWRpZW50c2RlZmluaXRpb25fY29yaWFuZHJlJywgbmFtZTogJ0NvcmlhbmRyZScgfSxcbiAgICB7IGlkOiAnaW5ncmVkaWVudHNkZWZpbml0aW9uX2Jyb2NvbGknLCBuYW1lOiAnQnJvY29saScgfSxcbiAgICB7IGlkOiAnaW5ncmVkaWVudHNkZWZpbml0aW9uX29ldWYnLCBuYW1lOiAnT2V1ZicgfSxcbiAgICB7IGlkOiAnaW5ncmVkaWVudF9jYXRlZ29yeV9hbGNvb2wnLCBuYW1lOiAnQWxjb29sJyB9XG4gIF07XG4gIHByaXZhdGUgc3VwcGxpZXJJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHVibGljIHRhZ3NTZXJ2aWNlOiBUYWdzU2VydmljZSxcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgcHJlZmVyZW5jZXNTZXJ2aWNlOiBQcmVmZXJlbmNlc1NlcnZpY2UsXG4gICAgcHVibGljIHJlY2lwZXNTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIHN1cHBsaWVyc1NlcnZpY2U6IFN1cHBsaWVyc1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoYW5hbHl0aWNzU2VydmljZSk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaXNPcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmZldGNoVGFncygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW5lZE1vZGFsU3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9pc09wZW4gJiYgdmFsdWUpIHtcbiAgICAgIHRoaXMucGFnZXZpZXcoKTtcbiAgICB9XG4gICAgdGhpcy5faXNPcGVuID0gdmFsdWU7XG4gICAgdGhpcy5pc09wZW5DaGFuZ2UuZW1pdCh0aGlzLmlzT3Blbik7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNPcGVuO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuZWRNb2RhbFN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMucHJlZmVyZW5jZXNTZXJ2aWNlLmd1ZXN0cyQuc3Vic2NyaWJlKCgpID0+XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICAgICAgKSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnByZWZlcmVuY2VzU2VydmljZS5pc09wZW5lZCQuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgIHRoaXMuaXNPcGVuID0gcmVzdWx0O1xuICAgICAgfSksXG4gICAgICB0aGlzLnN1cHBsaWVyc1NlcnZpY2Uuc3VwcGxpZXIkLnBpcGUoZmlsdGVyKHN1cHBsaWVyID0+ICEhc3VwcGxpZXIpKS5zdWJzY3JpYmUoc3VwcGxpZXIgPT4ge1xuICAgICAgICB0aGlzLnN1cHBsaWVySWQgPSBzdXBwbGllci5pZDtcbiAgICAgICAgdGhpcy5mZXRjaFRhZ3MoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5lZE1vZGFsU3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBmZXRjaFRhZ3MoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuZWRNb2RhbFN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMudGFnc1NlcnZpY2UuYWxsKHsgcmVtb3RlZmlsdGVyOiB7IHRhZ190eXBlOiAnZGlldCcsIGZvcl9zdXBwbGllcjogdGhpcy5zdXBwbGllcklkIH0gfSkucGlwZShza2lwV2hpbGUocmVzID0+IHJlcy5pc19sb2FkaW5nKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIHRoaXMuZGlldHMgPSByZXMuZGF0YS5tYXAoZCA9PiAoe1xuICAgICAgICAgIHRhZzogZCxcbiAgICAgICAgICBjaGVja2VkOiB0aGlzLnByZWZlcmVuY2VzU2VydmljZS50YWdTaG91bGRCZUNoZWNrZWQoZCwgZmFsc2UpLFxuICAgICAgICAgIHdpdGhvdXQ6IGZhbHNlXG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSksXG4gICAgICB0aGlzLnRhZ3NTZXJ2aWNlLmFsbCh7IHJlbW90ZWZpbHRlcjogeyB0YWdfdHlwZTogJ2VxdWlwbWVudCcsIGZvcl9zdXBwbGllcjogdGhpcy5zdXBwbGllcklkIH0gfSkucGlwZShza2lwV2hpbGUocmVzID0+IHJlcy5pc19sb2FkaW5nKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIHRoaXMuZXF1aXBtZW50cyA9IHJlcy5kYXRhLm1hcChlID0+ICh7XG4gICAgICAgICAgdGFnOiBlLFxuICAgICAgICAgIGNoZWNrZWQ6IHRoaXMucHJlZmVyZW5jZXNTZXJ2aWNlLnRhZ1Nob3VsZEJlQ2hlY2tlZChlLCB0cnVlKSxcbiAgICAgICAgICB3aXRob3V0OiB0cnVlXG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuaW5pdEluZ3JlZGllbnRUYWdzKCk7XG4gIH1cblxuICByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnByZWZlcmVuY2VzU2VydmljZS5yZXNldFByZWZlcmVuY2VzKCk7XG4gICAgaWYgKHRoaXMuY29udGV4dFNlcnZpY2UuaXNQcmVmZXJlbmNlc1NTUikge1xuICAgICAgdGhpcy5wcmVmZXJlbmNlc1NlcnZpY2Uuc2VuZENhY2hlUmVxdWVzdCgncmVtb3ZlJywgJ3ByZWZlcmVuY2VzJykuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuZmV0Y2hUYWdzKCk7XG4gIH1cblxuICBpbml0SW5ncmVkaWVudFRhZ3MoKTogdm9pZCB7XG4gICAgdGhpcy5pbmdyZWRpZW50cyA9IFtdO1xuICAgIHRoaXMuZm9yY2VkSW5ncmVkaWVudHMuZm9yRWFjaChpID0+IHtcbiAgICAgIGNvbnN0IHRhZyA9IHRoaXMudGFnc1NlcnZpY2UubmV3KCk7XG4gICAgICB0YWcuaWQgPSBpLmlkO1xuICAgICAgdGFnLmF0dHJpYnV0ZXMubmFtZSA9IGkubmFtZTtcbiAgICAgIHRoaXMuaW5ncmVkaWVudHMucHVzaCh7XG4gICAgICAgIHRhZyxcbiAgICAgICAgY2hlY2tlZDogdGhpcy5wcmVmZXJlbmNlc1NlcnZpY2UudGFnU2hvdWxkQmVDaGVja2VkKHRhZywgdHJ1ZSksXG4gICAgICAgIHdpdGhvdXQ6IHRydWVcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuZ2V0QWRkaXRpb25hbEluZ3JlZGllbnRzKCk7XG4gIH1cblxuICBpc0FkZGl0aW9uYWxJbmdyZWRpZW50KGluZ3JlZGllbnQ6IENoZWNrYWJsZVRhZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZvcmNlZEluZ3JlZGllbnRzLmZpbmRJbmRleChpID0+IGkuaWQgPT09IGluZ3JlZGllbnQudGFnLmlkKSA9PT0gLTEgJiZcbiAgICAgIChpbmdyZWRpZW50LnRhZy5pZC5pbmNsdWRlcygnaW5ncmVkaWVudF9jYXRlZ29yeV8nKSB8fCBpbmdyZWRpZW50LnRhZy5pZC5pbmNsdWRlcygnaW5ncmVkaWVudHNkZWZpbml0aW9uXycpKTtcbiAgfVxuXG4gIGdldEFkZGl0aW9uYWxJbmdyZWRpZW50cygpOiB2b2lkIHtcbiAgICAvLyBGcm9tIGxvY2FsU3RvcmFnZVxuICAgIGNvbnN0IHByZWZlcmVuY2VzID0gdGhpcy5wcmVmZXJlbmNlc1NlcnZpY2UucHJlZmVyZW5jZXNJblN0b3JhZ2UgfHwgeyB3aXRoOiBbXSwgd2l0aG91dDogW10gfTtcblxuICAgIGNvbnN0IHN0b3JlZEluZ3JlZGllbnRzID0gcHJlZmVyZW5jZXMud2l0aG91dC5maWx0ZXIoaSA9PlxuICAgICAgaS5pZC5pbmNsdWRlcygnaW5ncmVkaWVudF9jYXRlZ29yeV8nKSB8fCBpLmlkLmluY2x1ZGVzKCdpbmdyZWRpZW50c2RlZmluaXRpb25fJykgfHwgaS5pZC5pbmNsdWRlcygnbWVhbF90eXBlXycpXG4gICAgKTtcbiAgICBzdG9yZWRJbmdyZWRpZW50cy5mb3JFYWNoKGkgPT4ge1xuICAgICAgaWYgKHRoaXMuZm9yY2VkSW5ncmVkaWVudHMuZmluZEluZGV4KGYgPT4gZi5pZCA9PT0gaS5pZCkgPT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHRhZyA9IHRoaXMudGFnc1NlcnZpY2UubmV3KCk7XG4gICAgICAgIHRhZy5pZCA9IGkuaWQ7XG4gICAgICAgIHRhZy5hdHRyaWJ1dGVzLm5hbWUgPSBpLm5hbWU7XG4gICAgICAgIGlmICh0aGlzLnByZWZlcmVuY2VzU2VydmljZS50YWdTaG91bGRCZUNoZWNrZWQodGFnLCB0cnVlKSkge1xuICAgICAgICAgIHRoaXMuaW5ncmVkaWVudHMucHVzaCh7XG4gICAgICAgICAgICB0YWcsXG4gICAgICAgICAgICBjaGVja2VkOiB0cnVlLFxuICAgICAgICAgICAgd2l0aG91dDogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBGcm9tIHRhZ3NUb0FkZFxuICAgIHRoaXMucHJlZmVyZW5jZXNTZXJ2aWNlLnRhZ3NUb0FkZC5mb3JFYWNoKHRhZyA9PiB7XG4gICAgICBpZiAoKHRhZy50YWcuaWQuaW5jbHVkZXMoJ2luZ3JlZGllbnRfY2F0ZWdvcnlfJykgfHxcbiAgICAgICAgdGFnLnRhZy5pZC5pbmNsdWRlcygnaW5ncmVkaWVudHNkZWZpbml0aW9uXycpIHx8XG4gICAgICAgIHRhZy50YWcuaWQuaW5jbHVkZXMoJ21lYWxfdHlwZV8nKSkgJiYgdGhpcy5pbmdyZWRpZW50cy5maW5kSW5kZXgodCA9PiB0LnRhZy5pZCA9PT0gdGFnLnRhZy5pZCkgPT09IC0xKSB7XG4gICAgICAgIHRoaXMuaW5ncmVkaWVudHMucHVzaCh0YWcpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuY29udGV4dFNlcnZpY2UuaXNQcmVmZXJlbmNlc1NTUikge1xuICAgICAgdGhpcy51cGRhdGVGaWx0ZXJzSW5DYWNoZSgpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVRhZyh0YWc6IENoZWNrYWJsZVRhZyk6IHZvaWQge1xuICAgIHRhZy5jaGVja2VkID0gIXRhZy5jaGVja2VkO1xuICAgIGlmICgodGFnLnRhZy5hdHRyaWJ1dGVzWyd0YWctdHlwZS1pZCddID09PSAnZXF1aXBtZW50JykgIT09IHRhZy5jaGVja2VkKSB7XG4gICAgICB0aGlzLnByZWZlcmVuY2VzU2VydmljZS5hZGRUYWcodGFnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcmVmZXJlbmNlc1NlcnZpY2UucmVtb3ZlVGFnKHRhZyk7XG4gICAgICBpZiAodGhpcy5pc0FkZGl0aW9uYWxJbmdyZWRpZW50KHRhZykpIHtcbiAgICAgICAgdGhpcy5pbmdyZWRpZW50cy5zcGxpY2UodGhpcy5pbmdyZWRpZW50cy5maW5kSW5kZXgoaSA9PiBpLnRhZy5pZCA9PT0gdGFnLnRhZy5pZCksIDEpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICB1cGRhdGVBbmRCYWNrKCk6IHZvaWQge1xuICAgIHRoaXMucHJlZmVyZW5jZXNTZXJ2aWNlLnVwZGF0ZVByZWZlcmVuY2VzKCk7XG4gICAgdGhpcy5wcmVmZXJlbmNlc0NoYW5nZWQuZW1pdCgpO1xuICAgIGlmICh0aGlzLmNvbnRleHRTZXJ2aWNlLmlzUHJlZmVyZW5jZXNTU1IpIHtcbiAgICAgIHRoaXMudXBkYXRlRmlsdGVyc0luQ2FjaGUodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UucHJlZmVyZW5jZXNDaGFuZ2VkLmVtaXQoKTtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgIHRoaXMucHJlZmVyZW5jZXNTZXJ2aWNlLnJlc2V0VGFnc0FjdGlvbnMoKTtcbiAgfVxuXG4gIGdvVG9EZWZhdWx0VmlldygpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXlUeXBlID0gUHJlZmVyZW5jZVZpZXcuREVGQVVMVDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBnb1RvU2VhcmNoVmlldygpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXlUeXBlID0gUHJlZmVyZW5jZVZpZXcuU0VBUkNIO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGN1cnJlbnRQYXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdwcmVmZXJlbmNlcyc7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUZpbHRlcnNJbkNhY2hlKGNsb3NlTW9kYWwgPSBmYWxzZSk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlcnMgPSBuZXcgUmVjaXBlRmlsdGVycygpO1xuICAgIGNvbnN0IGFsbEZpbHRlcnMgPSB0aGlzLnByZWZlcmVuY2VzU2VydmljZS5hZGRQcmVmZXJlbmNlc1RvUmVtb3RlRmlsdGVycyhmaWx0ZXJzLCB0cnVlKTtcblxuICAgIGNvbnN0IGZpbHRlcnNUb0FkZDogeyBleGNsdWRlX3RhZ3M/OiBhbnk7IGluY2x1ZGVfdGFncz86IGFueTsgZ3Vlc3RzPzogbnVtYmVyIH0gPSB7XG4gICAgICBleGNsdWRlX3RhZ3M6IGFsbEZpbHRlcnMuZXhjbHVkZV90YWdzLFxuICAgICAgaW5jbHVkZV90YWdzOiBhbGxGaWx0ZXJzLmluY2x1ZGVfdGFncyxcbiAgICAgIC4uLih0aGlzLnByZWZlcmVuY2VzU2VydmljZS5ndWVzdHMgIT09IDQgJiYgeyBndWVzdHM6IHRoaXMucHJlZmVyZW5jZXNTZXJ2aWNlLmd1ZXN0cyB9KVxuICAgIH07XG5cbiAgICBjb25zdCBzZW5kUmVxdWVzdCA9IE9iamVjdC5rZXlzKGZpbHRlcnNUb0FkZCkubGVuZ3RoID4gMFxuICAgICAgPyB0aGlzLnByZWZlcmVuY2VzU2VydmljZS5zZW5kQ2FjaGVSZXF1ZXN0KCdzZXQnLCAncHJlZmVyZW5jZXMnLCBmaWx0ZXJzVG9BZGQpXG4gICAgICA6IHRoaXMucHJlZmVyZW5jZXNTZXJ2aWNlLnNlbmRDYWNoZVJlcXVlc3QoJ3JlbW92ZScsICdwcmVmZXJlbmNlcycpO1xuXG4gICAgc2VuZFJlcXVlc3Quc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmIChjbG9zZU1vZGFsKSB7XG4gICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UucHJlZmVyZW5jZXNDaGFuZ2VkLmVtaXQoKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8bmctbWlhbS1tb2RhbFxuICAgIFtub0hlYWRlck1vZGVdPVwidHJ1ZVwiXG4gICAgW2Rpc3BsYXldPVwiaXNPcGVuXCJcbiAgICBtb2RhbFN0eWxlPVwicmlnaHRcIlxuICAgIChjbG9zZSk9XCJjbG9zZSgpXCJcbiAgICBjbGFzcz1cIm1pYW0tcHJlZmVyZW5jZXMtbW9kYWxcIlxuPlxuICA8ZGl2IGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc1wiPlxuICAgIDwhLS0gREVTS1RPUCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc19faGVhZGVyXCI+XG4gICAgICA8IS0tIERFRkFVTFQgUFJFRkVSRU5DRSBIRUFERVIgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheVR5cGUgPT09IHByZWZlcmVuY2VWaWV3RW51bS5ERUZBVUxUXCI+XG4gICAgICAgIDwhLS0gTU9CSUxFIEJBQ0sgQlVUVE9OIC0tPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWlhbS1kcy1idXR0b24gZ2hvc3Qgc3F1YXJlIG1pYW0tcHJlZmVyZW5jZXNfX2JhY2stYnV0dG9uXCIgKGNsaWNrKT1cImNsb3NlKClcIj5cbiAgICAgICAgICA8aW1nIGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc19fYmFjay1pbWFnZVwiIGFsdD1cImdvIGJhY2tcIlxuICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9pY29ucy9hcnJvdy1yaWdodC5zdmdcIj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWRzLXRleHQgc2l6ZS1sIHdlaWdodC14eGwgbWlhbS1wcmVmZXJlbmNlc19fdGl0bGVcIj5cbiAgICAgICAgICA8c3BhbiBpMThuPk1lcyBwcsOpZsOpcmVuY2VzPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBERVNLVE9QIENMT1NFIEJVVFRPTiAtLT5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1pYW0tZHMtYnV0dG9uIGdob3N0IHNxdWFyZSBtaWFtLXByZWZlcmVuY2VzX19jbG9zZS1idXR0b25cIiAoY2xpY2spPVwiY2xvc2UoKVwiPlxuICAgICAgICAgIDxpbWcgY2xhc3M9XCJtaWFtLXByZWZlcmVuY2VzX19jbG9zZS1pbWFnZVwiIGFsdD1cImNsb3NlIG1vZGFsXCJcbiAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9hc3NldHMubWlhbS50ZWNoL2dlbmVyaWMvaWNvbnMvQ3Jvc3NfcHJpbWFyeS5zdmdcIj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXByZWZlcmVuY2VzX25hdi1hbmQtdGl0bGVcIiAqbmdJZj1cImRpc3BsYXlUeXBlID09PSBwcmVmZXJlbmNlVmlld0VudW0uU0VBUkNIXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJtaWFtLWRzLWJ1dHRvbiBnaG9zdCBzcXVhcmUgbWlhbS1wcmVmZXJlbmNlc19fc2VhcmNoLWJhY2stYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZ29Ub0RlZmF1bHRWaWV3KClcIj5cbiAgICAgICAgICA8aW1nIGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc19fYmFjay1pbWFnZVwiIGFsdD1cImdvIGJhY2tcIlxuICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9pY29ucy9hcnJvdy1yaWdodC5zdmdcIj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWRzLXRleHQgc2l6ZS1sIHdlaWdodC14eGwgbWlhbS1wcmVmZXJlbmNlc19fdGl0bGVcIj5cbiAgICAgICAgICA8c3BhbiBpMThuPkplIG4nYWltZSBwYXM8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlUeXBlID09PSBwcmVmZXJlbmNlVmlld0VudW0uREVGQVVMVFwiPlxuICAgICAgPCEtLSBHVUVTVFMgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc19fZ3Vlc3RzXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1kcy10ZXh0IG1pYW0tcHJlZmVyZW5jZXNfZ3Vlc3QtbGFiZWxcIiBpMThuPk5vbWJyZSBkZSBwZXJzb25uZXM8L3NwYW4+XG4gICAgICAgIDxuZy1taWFtLWNvdW50ZXItaW5wdXQgY2xhc3M9XCJtaWFtLXByZWZlcmVuY2VzX2d1ZXN0LWNvdW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsodmFsdWUpXT1cInByZWZlcmVuY2VzU2VydmljZS5ndWVzdHNcIj48L25nLW1pYW0tY291bnRlci1pbnB1dD5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBESUVUIFRZUEUgLS0+XG4gICAgICA8bmctbWlhbS1hY2NvcmRpb24gY2xhc3M9XCJtaWFtLXByZWZlcmVuY2VzX19kaWV0LXNlY3Rpb25cIiBbaXNDb2xsYXBzZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIChpc0NvbGxhcHNlZENoYW5nZSk9XCJjZHIuZGV0ZWN0Q2hhbmdlcygpXCI+XG4gICAgICAgIDxuZy1taWFtLWFjY29yZGlvbi10aXRsZT5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWRzLXRleHQgd2VpZ2h0LXhsXCIgaTE4bj5cbiAgICAgICAgICBBdmV6LXZvdXMgdW4gcsOpZ2ltZSBwYXJ0aWN1bGllciA/XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9uZy1taWFtLWFjY29yZGlvbi10aXRsZT5cbiAgICAgICAgPG5nLW1pYW0tYWNjb3JkaW9uLWNvbnRlbnQ+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcHJlZmVyZW5jZXNfX2xpc3RcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGRpZXQgb2YgZGlldHNcIiBjbGFzcz1cIm1pYW0tcHJlZmVyZW5jZXNfX2xpc3RfX2l0ZW0gbWlhbS1kcy1jaGVja2JveFwiIChjbGljayk9XCJ0b2dnbGVUYWcoZGlldClcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tZHMtdGV4dCBtaWFtLXByZWZlcmVuY2VzX19saXN0X19pdGVtX19uYW1lXCI+XG4gICAgICAgICAgICAgICAge3sgZGlldC50YWcubmFtZSB9fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIFtjaGVja2VkXT1cImRpZXQuY2hlY2tlZFwiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctbWlhbS1hY2NvcmRpb24tY29udGVudD5cbiAgICAgIDwvbmctbWlhbS1hY2NvcmRpb24+XG4gICAgICA8IS0tIERJU0xJS0VTIC0tPlxuICAgICAgPG5nLW1pYW0tYWNjb3JkaW9uIGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc19fZGlzbGlrZXMtc2VjdGlvblwiIFtpc0NvbGxhcHNlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGlzQ29sbGFwc2VkQ2hhbmdlKT1cImNkci5kZXRlY3RDaGFuZ2VzKClcIj5cbiAgICAgICAgPG5nLW1pYW0tYWNjb3JkaW9uLXRpdGxlPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tZHMtdGV4dCB3ZWlnaHQteGxcIiBpMThuPlxuICAgICAgICAgIEplIG4nYWltZSBwYXNcbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L25nLW1pYW0tYWNjb3JkaW9uLXRpdGxlPlxuICAgICAgICA8bmctbWlhbS1hY2NvcmRpb24tY29udGVudD5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpbmdyZWRpZW50IG9mIGluZ3JlZGllbnRzXCIgY2xhc3M9XCJtaWFtLWRzLWJhZGdlIG1pYW0tcHJlZmVyZW5jZXNfX2JhZGdlXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjaGVja2VkJzogaW5ncmVkaWVudC5jaGVja2VkfVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVUYWcoaW5ncmVkaWVudClcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXByZWZlcmVuY2VzX19iYWRnZV9sYWJlbFwiPlxuICAgICAgICAgICAgICA8c3Bhbj57eyBpbmdyZWRpZW50LnRhZy5hdHRyaWJ1dGVzLm5hbWUgfCB0aXRsZWNhc2UgfX08L3NwYW4+XG4gICAgICAgICAgICAgIDxpbWcgW2FsdF09XCIncmVtb3ZlICcgKyBpbmdyZWRpZW50LnRhZy5hdHRyaWJ1dGVzLm5hbWUgXCJcbiAgICAgICAgICAgICAgICAgICAqbmdJZj1cImlzQWRkaXRpb25hbEluZ3JlZGllbnQoaW5ncmVkaWVudClcIlxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc19fcmVtb3ZlLXRhZ1wiXG4gICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9pY29ucy9Dcm9zcy5zdmdcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJtaWFtLWRzLWJhZGdlIG1pYW0tcHJlZmVyZW5jZXNfX2JhZGdlXCIgKGNsaWNrKT1cImdvVG9TZWFyY2hWaWV3KClcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXByZWZlcmVuY2VzX19iYWRnZV9sYWJlbFwiPlxuICAgICAgICAgICAgICA8c3BhbiBpMThuPkFqb3V0ZXI8L3NwYW4+XG4gICAgICAgICAgICAgIDxpbWcgYWx0PVwiYWRkIGRpc2xpa2VzXCJcbiAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ljb25zL3BsdXMtbmV1dHJhbC1ibGFjay5zdmdcIj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L25nLW1pYW0tYWNjb3JkaW9uLWNvbnRlbnQ+XG4gICAgICA8L25nLW1pYW0tYWNjb3JkaW9uPlxuXG4gICAgICA8IS0tIEVRVUlQTUVOVFMgLS0+XG4gICAgICA8bmctbWlhbS1hY2NvcmRpb25cbiAgICAgICAgICBjbGFzcz1cIm1pYW0tcHJlZmVyZW5jZXNfX2VxdWlwbWVudHMtc2VjdGlvblwiIFtpc0NvbGxhcHNlZF09XCJmYWxzZVwiXG4gICAgICAgICAgKGlzQ29sbGFwc2VkQ2hhbmdlKT1cImNkci5kZXRlY3RDaGFuZ2VzKClcIj5cbiAgICAgICAgPG5nLW1pYW0tYWNjb3JkaW9uLXRpdGxlPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tZHMtdGV4dCB3ZWlnaHQteGxcIiBpMThuPlxuICAgICAgICAgIE1lcyDDqXF1aXBlbWVudHNcbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L25nLW1pYW0tYWNjb3JkaW9uLXRpdGxlPlxuICAgICAgICA8bmctbWlhbS1hY2NvcmRpb24tY29udGVudD5cbiAgICAgICAgICA8bmctbWlhbS1hY2NvcmRpb24tY29udGVudD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXByZWZlcmVuY2VzX19saXN0XCI+XG4gICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGVxdWlwbWVudCBvZiBlcXVpcG1lbnRzXCIgY2xhc3M9XCJtaWFtLXByZWZlcmVuY2VzX19saXN0X19pdGVtIG1pYW0tZHMtY2hlY2tib3hcIlxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVUYWcoZXF1aXBtZW50KVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXByZWZlcmVuY2VzX19saXN0X19pdGVtX19uYW1lXCI+XG4gICAgICAgICAgICAgICAgICB7eyBlcXVpcG1lbnQudGFnLm5hbWUgfCB0aXRsZWNhc2UgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgW2NoZWNrZWRdPVwiZXF1aXBtZW50LmNoZWNrZWRcIj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L25nLW1pYW0tYWNjb3JkaW9uLWNvbnRlbnQ+XG4gICAgICAgIDwvbmctbWlhbS1hY2NvcmRpb24tY29udGVudD5cbiAgICAgIDwvbmctbWlhbS1hY2NvcmRpb24+XG4gICAgICA8ZGl2IGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc19fZm9vdGVyXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJtaWFtLWRzLWJ1dHRvbiBzZWNvbmRhcnkgbWlhbS1wcmVmZXJlbmNlc19fZm9vdGVyX19yZXNldFwiIChjbGljayk9XCJyZXNldCgpXCI+XG4gICAgICAgICAgPHNwYW4gaTE4bj5Sw6lpbml0aWFsaXNlcjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJtaWFtLWRzLWJ1dHRvbiBwcmltYXJ5IG1pYW0tcHJlZmVyZW5jZXNfX2Zvb3Rlcl9fcmVjaXBlc1wiIChjbGljayk9XCJ1cGRhdGVBbmRCYWNrKClcIj5cbiAgICAgICAgICA8c3BhbiBpMThuPkFwcGxpcXVlcjwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheVR5cGUgPT09IHByZWZlcmVuY2VWaWV3RW51bS5TRUFSQ0hcIj5cbiAgICAgIDxuZy1taWFtLXByZWZlcmVuY2VzLXNlYXJjaCAoYmFja0FuZFJlbG9hZCk9XCJmZXRjaFRhZ3MoKTsgZ29Ub0RlZmF1bHRWaWV3KClcIj48L25nLW1pYW0tcHJlZmVyZW5jZXMtc2VhcmNoPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctbWlhbS1tb2RhbD5cbiJdfQ==
|
|
499
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyZW5jZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWlhbS9zcmMvbGliL193ZWItY29tcG9uZW50cy9wcmVmZXJlbmNlcy9wcmVmZXJlbmNlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1taWFtL3NyYy9saWIvX3dlYi1jb21wb25lbnRzL3ByZWZlcmVuY2VzL3ByZWZlcmVuY2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUUxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsSCxPQUFPLEVBQWdCLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDdkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7OztJQ1B0RCw2QkFBaUU7SUFFL0QsaUNBQWdIO0lBQXRDLDRMQUFpQjtJQUN6Rix5QkFDeUY7SUFDM0YsaUJBQVM7SUFDVCw4QkFBb0U7SUFDbEUsNEJBQVc7SUFBWCxlQUFXO0lBQWUsaUJBQU87SUFDbkMsaUJBQU07SUFFTixpQ0FBaUg7SUFBdEMsNExBQWlCO0lBQzFGLDBCQUMyRjtJQUM3RixpQkFBUztJQUNYLDBCQUFlOzs7O0lBQ2YsK0JBQThGO0lBQzVGLGtDQUN3RDtJ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Ozs7O2lCQWtCRSxVQUFBLCtFQUNGOzs7Ozs7a0JBaUJpQixVQUFBLHNFQUFPOzs7Ozs7a0JBY3RCLFVBQUEsa0ZBQ0Y7Ozs7OztrQkFrQmEsVUFBQSw4RUFBYTs7Ozs7O2tCQUdiLFVBQUEsMEVBQVM7O1FBMUg5Qix3Q0FNQztRQUZHLHdHQUFTLFdBQU8sSUFBQztRQUduQiw4QkFBOEI7UUFFNUIsOEJBQXNDO1FBRXBDLHVGQWNlO1FBQ2YscUVBU007UUFDUixpQkFBTTtRQUNOLHdGQXdGZTtRQUNmLHVGQUVlO1FBQ2pCLGlCQUFNO1FBQ1IsaUJBQWdCOztRQWpJWixtQ0FBcUIsdUJBQUE7UUFVSixlQUFnRDtRQUFoRCx5RUFBZ0Q7UUFlbEIsZUFBK0M7UUFBL0Msd0VBQStDO1FBVy9FLGVBQWdEO1FBQWhELHlFQUFnRDtRQXlGaEQsZUFBK0M7UUFBL0Msd0VBQStDOzt1RkQ1RnJELG9CQUFvQjtjQVJoQyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtnQkFDL0IsV0FBVyxFQUFFLDhCQUE4QjtnQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7Z0JBQzNDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNoRDt1UEFHVSxPQUFPO2tCQUFmLEtBQUs7WUFDSSxZQUFZO2tCQUFyQixNQUFNO1lBQ0csa0JBQWtCO2tCQUEzQixNQUFNO1lBb0NNLE1BQU07a0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgc2tpcFdoaWxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRXZlbnRUcmFjZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9fY29tcG9uZW50cy9hYnN0cmFjdHMvZXZlbnQtdHJhY2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUYWcgfSBmcm9tICcuLi8uLi9fbW9kZWxzJztcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UsIENvbnRleHRTZXJ2aWNlLCBSZWNpcGVzU2VydmljZSwgU3VwcGxpZXJzU2VydmljZSwgVGFnc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMnO1xuaW1wb3J0IHsgQ2hlY2thYmxlVGFnLCBQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvcHJlZmVyZW5jZXMuc2VydmljZSc7XG5pbXBvcnQgeyBSZWNpcGVGaWx0ZXJzIH0gZnJvbSAnLi4vLi4vX3R5cGVzL3JlY2lwZS1maWx0ZXJzJztcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vLi4vZW52aXJvbm1lbnRzL2Vudmlyb25tZW50JztcblxuZW51bSBQcmVmZXJlbmNlVmlldyB7XG4gIERFRkFVTFQsXG4gIFNFQVJDSFxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1taWFtLXByZWZlcmVuY2VzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ByZWZlcmVuY2VzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJlZmVyZW5jZXMuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5cbmV4cG9ydCBjbGFzcyBQcmVmZXJlbmNlc0NvbXBvbmVudCBleHRlbmRzIEV2ZW50VHJhY2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBmaWx0ZXJzOiBSZWNpcGVGaWx0ZXJzO1xuICBAT3V0cHV0KCkgaXNPcGVuQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgcHJlZmVyZW5jZXNDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIF9pc09wZW4gPSBmYWxzZTtcbiAgZGlldHM6IENoZWNrYWJsZVRhZ1tdID0gW107XG4gIGluZ3JlZGllbnRzOiBDaGVja2FibGVUYWdbXSA9IFtdO1xuICBlcXVpcG1lbnRzOiBDaGVja2FibGVUYWdbXSA9IFtdO1xuICBkaXNwbGF5VHlwZTogUHJlZmVyZW5jZVZpZXcgPSBQcmVmZXJlbmNlVmlldy5ERUZBVUxUO1xuICBwcmVmZXJlbmNlVmlld0VudW0gPSBQcmVmZXJlbmNlVmlldztcblxuICBwcml2YXRlIG9wZW5lZE1vZGFsU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuICBwcml2YXRlIGZvcmNlZEluZ3JlZGllbnRzID0gW1xuICAgIHsgaWQ6ICdpbmdyZWRpZW50X2NhdGVnb3J5X2xndW1lcycsIG5hbWU6ICdMw6lndW1lJyB9LFxuICAgIHsgaWQ6ICdpbmdyZWRpZW50X2NhdGVnb3J5X3ZpYW5kZXMtYmxhbmNoZXMnLCBuYW1lOiAnVmlhbmRlIGJsYW5jaGUnIH0sXG4gICAgeyBpZDogJ2luZ3JlZGllbnRfY2F0ZWdvcnlfZnJvbWFnZScsIG5hbWU6ICdGcm9tYWdlJyB9LFxuICAgIHsgaWQ6ICdpbmdyZWRpZW50X2NhdGVnb3J5X3BvaXNzb25zJywgbmFtZTogJ1BvaXNzb24nIH0sXG4gICAgeyBpZDogJ2luZ3JlZGllbnRfY2F0ZWdvcnlfZnJ1aXRzJywgbmFtZTogJ0ZydWl0JyB9LFxuICAgIHsgaWQ6ICdpbmdyZWRpZW50c2RlZmluaXRpb25fY29yaWFuZHJlJywgbmFtZTogJ0NvcmlhbmRyZScgfSxcbiAgICB7IGlkOiAnaW5ncmVkaWVudHNkZWZpbml0aW9uX2Jyb2NvbGknLCBuYW1lOiAnQnJvY29saScgfSxcbiAgICB7IGlkOiAnaW5ncmVkaWVudHNkZWZpbml0aW9uX29ldWYnLCBuYW1lOiAnT2V1ZicgfSxcbiAgICB7IGlkOiAnaW5ncmVkaWVudF9jYXRlZ29yeV9hbGNvb2wnLCBuYW1lOiAnQWxjb29sJyB9XG4gIF07XG4gIHByaXZhdGUgc3VwcGxpZXJJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2UsXG4gICAgcHVibGljIHRhZ3NTZXJ2aWNlOiBUYWdzU2VydmljZSxcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwdWJsaWMgcHJlZmVyZW5jZXNTZXJ2aWNlOiBQcmVmZXJlbmNlc1NlcnZpY2UsXG4gICAgcHVibGljIHJlY2lwZXNTZXJ2aWNlOiBSZWNpcGVzU2VydmljZSxcbiAgICBwcml2YXRlIGNvbnRleHRTZXJ2aWNlOiBDb250ZXh0U2VydmljZSxcbiAgICBwcml2YXRlIHN1cHBsaWVyc1NlcnZpY2U6IFN1cHBsaWVyc1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoYW5hbHl0aWNzU2VydmljZSk7XG4gIH1cblxuICBASW5wdXQoKSBzZXQgaXNPcGVuKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmZldGNoVGFncygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW5lZE1vZGFsU3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLl9pc09wZW4gJiYgdmFsdWUpIHtcbiAgICAgIHRoaXMucGFnZXZpZXcoKTtcbiAgICB9XG4gICAgdGhpcy5faXNPcGVuID0gdmFsdWU7XG4gICAgdGhpcy5pc09wZW5DaGFuZ2UuZW1pdCh0aGlzLmlzT3Blbik7XG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNPcGVuO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuZWRNb2RhbFN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMucHJlZmVyZW5jZXNTZXJ2aWNlLmd1ZXN0cyQuc3Vic2NyaWJlKCgpID0+XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKVxuICAgICAgKSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXG4gICAgICB0aGlzLnByZWZlcmVuY2VzU2VydmljZS5pc09wZW5lZCQuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICAgIHRoaXMuaXNPcGVuID0gcmVzdWx0O1xuICAgICAgfSksXG4gICAgICB0aGlzLnN1cHBsaWVyc1NlcnZpY2Uuc3VwcGxpZXIkLnBpcGUoZmlsdGVyKHN1cHBsaWVyID0+ICEhc3VwcGxpZXIpKS5zdWJzY3JpYmUoc3VwcGxpZXIgPT4ge1xuICAgICAgICB0aGlzLnN1cHBsaWVySWQgPSBzdXBwbGllci5pZDtcbiAgICAgICAgdGhpcy5mZXRjaFRhZ3MoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB3aW5kb3cuc2Nyb2xsVG8oMCwgMCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5lZE1vZGFsU3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gIH1cblxuICBmZXRjaFRhZ3MoKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuZWRNb2RhbFN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMudGFnc1NlcnZpY2UuYWxsKHsgcmVtb3RlZmlsdGVyOiB7IHRhZ190eXBlOiAnZGlldCcsIGZvcl9zdXBwbGllcjogdGhpcy5zdXBwbGllcklkIH0gfSkucGlwZShza2lwV2hpbGUocmVzID0+IHJlcy5pc19sb2FkaW5nKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIHRoaXMuZGlldHMgPSByZXMuZGF0YS5tYXAoZCA9PiAoe1xuICAgICAgICAgIHRhZzogZCxcbiAgICAgICAgICBjaGVja2VkOiB0aGlzLnByZWZlcmVuY2VzU2VydmljZS50YWdTaG91bGRCZUNoZWNrZWQoZCwgZmFsc2UpLFxuICAgICAgICAgIHdpdGhvdXQ6IGZhbHNlXG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSksXG4gICAgICB0aGlzLnRhZ3NTZXJ2aWNlLmFsbCh7IHJlbW90ZWZpbHRlcjogeyB0YWdfdHlwZTogJ2VxdWlwbWVudCcsIGZvcl9zdXBwbGllcjogdGhpcy5zdXBwbGllcklkIH0gfSkucGlwZShza2lwV2hpbGUocmVzID0+IHJlcy5pc19sb2FkaW5nKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgIHRoaXMuZXF1aXBtZW50cyA9IHJlcy5kYXRhLm1hcChlID0+ICh7XG4gICAgICAgICAgdGFnOiBlLFxuICAgICAgICAgIGNoZWNrZWQ6IHRoaXMucHJlZmVyZW5jZXNTZXJ2aWNlLnRhZ1Nob3VsZEJlQ2hlY2tlZChlLCB0cnVlKSxcbiAgICAgICAgICB3aXRob3V0OiB0cnVlXG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuaW5pdEluZ3JlZGllbnRUYWdzKCk7XG4gIH1cblxuICByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnByZWZlcmVuY2VzU2VydmljZS5yZXNldFByZWZlcmVuY2VzKCk7XG4gICAgaWYgKHRoaXMuY29udGV4dFNlcnZpY2UuaXNQcmVmZXJlbmNlc1NTUikge1xuICAgICAgdGhpcy5wcmVmZXJlbmNlc1NlcnZpY2Uuc2VuZENhY2hlUmVxdWVzdCgncmVtb3ZlJywgJ3ByZWZlcmVuY2VzJykuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuZmV0Y2hUYWdzKCk7XG4gIH1cblxuICBpbml0SW5ncmVkaWVudFRhZ3MoKTogdm9pZCB7XG4gICAgdGhpcy5pbmdyZWRpZW50cyA9IFtdO1xuICAgIHRoaXMuZm9yY2VkSW5ncmVkaWVudHMuZm9yRWFjaChpID0+IHtcbiAgICAgIGNvbnN0IHRhZyA9IHRoaXMudGFnc1NlcnZpY2UubmV3KCk7XG4gICAgICB0YWcuaWQgPSBpLmlkO1xuICAgICAgdGFnLmF0dHJpYnV0ZXMubmFtZSA9IGkubmFtZTtcbiAgICAgIHRoaXMuaW5ncmVkaWVudHMucHVzaCh7XG4gICAgICAgIHRhZyxcbiAgICAgICAgY2hlY2tlZDogdGhpcy5wcmVmZXJlbmNlc1NlcnZpY2UudGFnU2hvdWxkQmVDaGVja2VkKHRhZywgdHJ1ZSksXG4gICAgICAgIHdpdGhvdXQ6IHRydWVcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuZ2V0QWRkaXRpb25hbEluZ3JlZGllbnRzKCk7XG4gIH1cblxuICBpc0FkZGl0aW9uYWxJbmdyZWRpZW50KGluZ3JlZGllbnQ6IENoZWNrYWJsZVRhZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZvcmNlZEluZ3JlZGllbnRzLmZpbmRJbmRleChpID0+IGkuaWQgPT09IGluZ3JlZGllbnQudGFnLmlkKSA9PT0gLTEgJiZcbiAgICAgIChpbmdyZWRpZW50LnRhZy5pZC5pbmNsdWRlcygnaW5ncmVkaWVudF9jYXRlZ29yeV8nKSB8fCBpbmdyZWRpZW50LnRhZy5pZC5pbmNsdWRlcygnaW5ncmVkaWVudHNkZWZpbml0aW9uXycpKTtcbiAgfVxuXG4gIGdldEFkZGl0aW9uYWxJbmdyZWRpZW50cygpOiB2b2lkIHtcbiAgICAvLyBGcm9tIGxvY2FsU3RvcmFnZVxuICAgIGNvbnN0IHByZWZlcmVuY2VzID0gdGhpcy5wcmVmZXJlbmNlc1NlcnZpY2UucHJlZmVyZW5jZXNJblN0b3JhZ2UgfHwgeyB3aXRoOiBbXSwgd2l0aG91dDogW10gfTtcblxuICAgIGNvbnN0IHN0b3JlZEluZ3JlZGllbnRzID0gcHJlZmVyZW5jZXMud2l0aG91dC5maWx0ZXIoaSA9PlxuICAgICAgaS5pZC5pbmNsdWRlcygnaW5ncmVkaWVudF9jYXRlZ29yeV8nKSB8fCBpLmlkLmluY2x1ZGVzKCdpbmdyZWRpZW50c2RlZmluaXRpb25fJykgfHwgaS5pZC5pbmNsdWRlcygnbWVhbF90eXBlXycpXG4gICAgKTtcbiAgICBzdG9yZWRJbmdyZWRpZW50cy5mb3JFYWNoKGkgPT4ge1xuICAgICAgaWYgKHRoaXMuZm9yY2VkSW5ncmVkaWVudHMuZmluZEluZGV4KGYgPT4gZi5pZCA9PT0gaS5pZCkgPT09IC0xKSB7XG4gICAgICAgIGNvbnN0IHRhZyA9IHRoaXMudGFnc1NlcnZpY2UubmV3KCk7XG4gICAgICAgIHRhZy5pZCA9IGkuaWQ7XG4gICAgICAgIHRhZy5hdHRyaWJ1dGVzLm5hbWUgPSBpLm5hbWU7XG4gICAgICAgIGlmICh0aGlzLnByZWZlcmVuY2VzU2VydmljZS50YWdTaG91bGRCZUNoZWNrZWQodGFnLCB0cnVlKSkge1xuICAgICAgICAgIHRoaXMuaW5ncmVkaWVudHMucHVzaCh7XG4gICAgICAgICAgICB0YWcsXG4gICAgICAgICAgICBjaGVja2VkOiB0cnVlLFxuICAgICAgICAgICAgd2l0aG91dDogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBGcm9tIHRhZ3NUb0FkZFxuICAgIHRoaXMucHJlZmVyZW5jZXNTZXJ2aWNlLnRhZ3NUb0FkZC5mb3JFYWNoKHRhZyA9PiB7XG4gICAgICBpZiAoKHRhZy50YWcuaWQuaW5jbHVkZXMoJ2luZ3JlZGllbnRfY2F0ZWdvcnlfJykgfHxcbiAgICAgICAgdGFnLnRhZy5pZC5pbmNsdWRlcygnaW5ncmVkaWVudHNkZWZpbml0aW9uXycpIHx8XG4gICAgICAgIHRhZy50YWcuaWQuaW5jbHVkZXMoJ21lYWxfdHlwZV8nKSkgJiYgdGhpcy5pbmdyZWRpZW50cy5maW5kSW5kZXgodCA9PiB0LnRhZy5pZCA9PT0gdGFnLnRhZy5pZCkgPT09IC0xKSB7XG4gICAgICAgIHRoaXMuaW5ncmVkaWVudHMucHVzaCh0YWcpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuY29udGV4dFNlcnZpY2UuaXNQcmVmZXJlbmNlc1NTUikge1xuICAgICAgdGhpcy51cGRhdGVGaWx0ZXJzSW5DYWNoZSgpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVRhZyh0YWc6IENoZWNrYWJsZVRhZyk6IHZvaWQge1xuICAgIHRhZy5jaGVja2VkID0gIXRhZy5jaGVja2VkO1xuICAgIGlmICgodGFnLnRhZy5hdHRyaWJ1dGVzWyd0YWctdHlwZS1pZCddID09PSAnZXF1aXBtZW50JykgIT09IHRhZy5jaGVja2VkKSB7XG4gICAgICB0aGlzLnByZWZlcmVuY2VzU2VydmljZS5hZGRUYWcodGFnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wcmVmZXJlbmNlc1NlcnZpY2UucmVtb3ZlVGFnKHRhZyk7XG4gICAgICBpZiAodGhpcy5pc0FkZGl0aW9uYWxJbmdyZWRpZW50KHRhZykpIHtcbiAgICAgICAgdGhpcy5pbmdyZWRpZW50cy5zcGxpY2UodGhpcy5pbmdyZWRpZW50cy5maW5kSW5kZXgoaSA9PiBpLnRhZy5pZCA9PT0gdGFnLnRhZy5pZCksIDEpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICB1cGRhdGVBbmRCYWNrKCk6IHZvaWQge1xuICAgIHRoaXMucHJlZmVyZW5jZXNTZXJ2aWNlLnVwZGF0ZVByZWZlcmVuY2VzKCk7XG4gICAgdGhpcy5wcmVmZXJlbmNlc0NoYW5nZWQuZW1pdCgpO1xuICAgIGlmICh0aGlzLmNvbnRleHRTZXJ2aWNlLmlzUHJlZmVyZW5jZXNTU1IpIHtcbiAgICAgIHRoaXMudXBkYXRlRmlsdGVyc0luQ2FjaGUodHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UucHJlZmVyZW5jZXNDaGFuZ2VkLmVtaXQoKTtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH1cblxuICBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xuICAgIHRoaXMucHJlZmVyZW5jZXNTZXJ2aWNlLnJlc2V0VGFnc0FjdGlvbnMoKTtcbiAgfVxuXG4gIGdvVG9EZWZhdWx0VmlldygpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXlUeXBlID0gUHJlZmVyZW5jZVZpZXcuREVGQVVMVDtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBnb1RvU2VhcmNoVmlldygpOiB2b2lkIHtcbiAgICB0aGlzLmRpc3BsYXlUeXBlID0gUHJlZmVyZW5jZVZpZXcuU0VBUkNIO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIGN1cnJlbnRQYXRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICdwcmVmZXJlbmNlcyc7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUZpbHRlcnNJbkNhY2hlKGNsb3NlTW9kYWwgPSBmYWxzZSk6IHZvaWQge1xuICAgIGNvbnN0IGZpbHRlcnMgPSBuZXcgUmVjaXBlRmlsdGVycygpO1xuICAgIGNvbnN0IGFsbEZpbHRlcnMgPSB0aGlzLnByZWZlcmVuY2VzU2VydmljZS5hZGRQcmVmZXJlbmNlc1RvUmVtb3RlRmlsdGVycyhmaWx0ZXJzLCB0cnVlKTtcblxuICAgIGNvbnN0IGZpbHRlcnNUb0FkZDogeyBleGNsdWRlX3RhZ3M/OiBhbnk7IGluY2x1ZGVfdGFncz86IGFueTsgZ3Vlc3RzPzogbnVtYmVyIH0gPSB7XG4gICAgICBleGNsdWRlX3RhZ3M6IGFsbEZpbHRlcnMuZXhjbHVkZV90YWdzLFxuICAgICAgaW5jbHVkZV90YWdzOiBhbGxGaWx0ZXJzLmluY2x1ZGVfdGFncyxcbiAgICAgIC4uLih0aGlzLnByZWZlcmVuY2VzU2VydmljZS5ndWVzdHMgIT09IDQgJiYgeyBndWVzdHM6IHRoaXMucHJlZmVyZW5jZXNTZXJ2aWNlLmd1ZXN0cyB9KVxuICAgIH07XG5cbiAgICBjb25zdCBzZW5kUmVxdWVzdCA9IE9iamVjdC5rZXlzKGZpbHRlcnNUb0FkZCkubGVuZ3RoID4gMFxuICAgICAgPyB0aGlzLnByZWZlcmVuY2VzU2VydmljZS5zZW5kQ2FjaGVSZXF1ZXN0KCdzZXQnLCAncHJlZmVyZW5jZXMnLCBmaWx0ZXJzVG9BZGQpXG4gICAgICA6IHRoaXMucHJlZmVyZW5jZXNTZXJ2aWNlLnNlbmRDYWNoZVJlcXVlc3QoJ3JlbW92ZScsICdwcmVmZXJlbmNlcycpO1xuXG4gICAgc2VuZFJlcXVlc3Quc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmIChjbG9zZU1vZGFsKSB7XG4gICAgICAgIHRoaXMuY29udGV4dFNlcnZpY2UucHJlZmVyZW5jZXNDaGFuZ2VkLmVtaXQoKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCI8bmctbWlhbS1tb2RhbFxuICAgIFtub0hlYWRlck1vZGVdPVwidHJ1ZVwiXG4gICAgW2Rpc3BsYXldPVwiaXNPcGVuXCJcbiAgICBtb2RhbFN0eWxlPVwicmlnaHRcIlxuICAgIChjbG9zZSk9XCJjbG9zZSgpXCJcbiAgICBjbGFzcz1cIm1pYW0tcHJlZmVyZW5jZXMtbW9kYWxcIlxuPlxuICA8ZGl2IGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc1wiPlxuICAgIDwhLS0gREVTS1RPUCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc19faGVhZGVyXCI+XG4gICAgICA8IS0tIERFRkFVTFQgUFJFRkVSRU5DRSBIRUFERVIgLS0+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheVR5cGUgPT09IHByZWZlcmVuY2VWaWV3RW51bS5ERUZBVUxUXCI+XG4gICAgICAgIDwhLS0gTU9CSUxFIEJBQ0sgQlVUVE9OIC0tPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWlhbS1kcy1idXR0b24gZ2hvc3Qgc3F1YXJlIG1pYW0tcHJlZmVyZW5jZXNfX2JhY2stYnV0dG9uXCIgKGNsaWNrKT1cImNsb3NlKClcIiBhcmlhLWxhYmVsPVwiUmV0b3VyXCI+XG4gICAgICAgICAgPGltZyBjbGFzcz1cIm1pYW0tcHJlZmVyZW5jZXNfX2JhY2staW1hZ2VcIiBhbHQ9XCJcIiBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9pY29ucy9hcnJvdy1yaWdodC5zdmdcIj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLWRzLXRleHQgc2l6ZS1sIHdlaWdodC14eGwgbWlhbS1wcmVmZXJlbmNlc19fdGl0bGVcIj5cbiAgICAgICAgICA8c3BhbiBpMThuPk1lcyBwcsOpZsOpcmVuY2VzPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLSBERVNLVE9QIENMT1NFIEJVVFRPTiAtLT5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1pYW0tZHMtYnV0dG9uIGdob3N0IHNxdWFyZSBtaWFtLXByZWZlcmVuY2VzX19jbG9zZS1idXR0b25cIiAoY2xpY2spPVwiY2xvc2UoKVwiIGFyaWEtbGFiZWw9XCJGZXJtZXJcIj5cbiAgICAgICAgICA8aW1nIGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc19fY2xvc2UtaW1hZ2VcIiBhbHQ9XCJcIiBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL2Fzc2V0cy5taWFtLnRlY2gvZ2VuZXJpYy9pY29ucy9Dcm9zc19wcmltYXJ5LnN2Z1wiPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcHJlZmVyZW5jZXNfbmF2LWFuZC10aXRsZVwiICpuZ0lmPVwiZGlzcGxheVR5cGUgPT09IHByZWZlcmVuY2VWaWV3RW51bS5TRUFSQ0hcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1pYW0tZHMtYnV0dG9uIGdob3N0IHNxdWFyZSBtaWFtLXByZWZlcmVuY2VzX19zZWFyY2gtYmFjay1idXR0b25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJnb1RvRGVmYXVsdFZpZXcoKVwiIGFyaWEtbGFiZWw9XCJSZXRvdXJcIj5cbiAgICAgICAgICA8aW1nIGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc19fYmFjay1pbWFnZVwiIGFsdD1cIlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICBzcmM9XCJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vYXNzZXRzLm1pYW0udGVjaC9nZW5lcmljL2ljb25zL2Fycm93LXJpZ2h0LnN2Z1wiPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tZHMtdGV4dCBzaXplLWwgd2VpZ2h0LXh4bCBtaWFtLXByZWZlcmVuY2VzX190aXRsZVwiPlxuICAgICAgICAgIDxzcGFuIGkxOG4+SmUgbidhaW1lIHBhczwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheVR5cGUgPT09IHByZWZlcmVuY2VWaWV3RW51bS5ERUZBVUxUXCI+XG4gICAgICA8IS0tIEdVRVNUUyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXByZWZlcmVuY2VzX19ndWVzdHNcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtaWFtLWRzLXRleHQgbWlhbS1wcmVmZXJlbmNlc19ndWVzdC1sYWJlbFwiIGkxOG4+Tm9tYnJlIGRlIHBlcnNvbm5lczwvc3Bhbj5cbiAgICAgICAgPG5nLW1pYW0tY291bnRlci1pbnB1dCBjbGFzcz1cIm1pYW0tcHJlZmVyZW5jZXNfZ3Vlc3QtY291bnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwicHJlZmVyZW5jZXNTZXJ2aWNlLmd1ZXN0c1wiPjwvbmctbWlhbS1jb3VudGVyLWlucHV0PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIERJRVQgVFlQRSAtLT5cbiAgICAgIDxuZy1taWFtLWFjY29yZGlvbiBjbGFzcz1cIm1pYW0tcHJlZmVyZW5jZXNfX2RpZXQtc2VjdGlvblwiIFtpc0NvbGxhcHNlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGlzQ29sbGFwc2VkQ2hhbmdlKT1cImNkci5kZXRlY3RDaGFuZ2VzKClcIj5cbiAgICAgICAgPG5nLW1pYW0tYWNjb3JkaW9uLXRpdGxlPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tZHMtdGV4dCB3ZWlnaHQteGxcIiBpMThuPlxuICAgICAgICAgIEF2ZXotdm91cyB1biByw6lnaW1lIHBhcnRpY3VsaWVyID9cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L25nLW1pYW0tYWNjb3JkaW9uLXRpdGxlPlxuICAgICAgICA8bmctbWlhbS1hY2NvcmRpb24tY29udGVudD5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc19fbGlzdFwiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZGlldCBvZiBkaWV0c1wiIGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc19fbGlzdF9faXRlbSBtaWFtLWRzLWNoZWNrYm94XCIgKGNsaWNrKT1cInRvZ2dsZVRhZyhkaWV0KVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1kcy10ZXh0IG1pYW0tcHJlZmVyZW5jZXNfX2xpc3RfX2l0ZW1fX25hbWVcIj5cbiAgICAgICAgICAgICAgICB7eyBkaWV0LnRhZy5uYW1lIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgW2NoZWNrZWRdPVwiZGlldC5jaGVja2VkXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInU8OpbGVjdGlvbm5lciAnICsgZGlldC50YWcubmFtZVwiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctbWlhbS1hY2NvcmRpb24tY29udGVudD5cbiAgICAgIDwvbmctbWlhbS1hY2NvcmRpb24+XG4gICAgICA8IS0tIERJU0xJS0VTIC0tPlxuICAgICAgPG5nLW1pYW0tYWNjb3JkaW9uIGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc19fZGlzbGlrZXMtc2VjdGlvblwiIFtpc0NvbGxhcHNlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgKGlzQ29sbGFwc2VkQ2hhbmdlKT1cImNkci5kZXRlY3RDaGFuZ2VzKClcIj5cbiAgICAgICAgPG5nLW1pYW0tYWNjb3JkaW9uLXRpdGxlPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1pYW0tZHMtdGV4dCB3ZWlnaHQteGxcIiBpMThuPlxuICAgICAgICAgIEplIG4nYWltZSBwYXNcbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L25nLW1pYW0tYWNjb3JkaW9uLXRpdGxlPlxuICAgICAgICA8bmctbWlhbS1hY2NvcmRpb24tY29udGVudD5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpbmdyZWRpZW50IG9mIGluZ3JlZGllbnRzXCIgY2xhc3M9XCJtaWFtLWRzLWJhZGdlIG1pYW0tcHJlZmVyZW5jZXNfX2JhZGdlXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydjaGVja2VkJzogaW5ncmVkaWVudC5jaGVja2VkfVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVUYWcoaW5ncmVkaWVudClcIiBbYXR0ci5hcmlhLXByZXNzZWRdPVwiaW5ncmVkaWVudC5jaGVja2VkXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc19fYmFkZ2VfbGFiZWxcIj5cbiAgICAgICAgICAgICAgPHNwYW4+e3sgaW5ncmVkaWVudC50YWcuYXR0cmlidXRlcy5uYW1lIHwgdGl0bGVjYXNlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8aW1nIGFsdD1cIlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpc0FkZGl0aW9uYWxJbmdyZWRpZW50KGluZ3JlZGllbnQpXCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm1pYW0tcHJlZmVyZW5jZXNfX3JlbW92ZS10YWdcIlxuICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9hc3NldHMubWlhbS50ZWNoL2dlbmVyaWMvaWNvbnMvQ3Jvc3Muc3ZnXCI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwibWlhbS1kcy1iYWRnZSBtaWFtLXByZWZlcmVuY2VzX19iYWRnZVwiIChjbGljayk9XCJnb1RvU2VhcmNoVmlldygpXCIgYXJpYS1sYWJlbD1cIkFqb3V0ZXIgdW4gaW5ncsOpZGllbnQgw6AgZXhjbHVyZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcHJlZmVyZW5jZXNfX2JhZGdlX2xhYmVsXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGkxOG4+QWpvdXRlcjwvc3Bhbj5cbiAgICAgICAgICAgICAgPGltZyBhbHQ9XCJcIiBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9hc3NldHMubWlhbS50ZWNoL2dlbmVyaWMvaWNvbnMvcGx1cy1uZXV0cmFsLWJsYWNrLnN2Z1wiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbmctbWlhbS1hY2NvcmRpb24tY29udGVudD5cbiAgICAgIDwvbmctbWlhbS1hY2NvcmRpb24+XG5cbiAgICAgIDwhLS0gRVFVSVBNRU5UUyAtLT5cbiAgICAgIDxuZy1taWFtLWFjY29yZGlvblxuICAgICAgICAgIGNsYXNzPVwibWlhbS1wcmVmZXJlbmNlc19fZXF1aXBtZW50cy1zZWN0aW9uXCIgW2lzQ29sbGFwc2VkXT1cImZhbHNlXCJcbiAgICAgICAgICAoaXNDb2xsYXBzZWRDaGFuZ2UpPVwiY2RyLmRldGVjdENoYW5nZXMoKVwiPlxuICAgICAgICA8bmctbWlhbS1hY2NvcmRpb24tdGl0bGU+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWlhbS1kcy10ZXh0IHdlaWdodC14bFwiIGkxOG4+XG4gICAgICAgICAgTWVzIMOpcXVpcGVtZW50c1xuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvbmctbWlhbS1hY2NvcmRpb24tdGl0bGU+XG4gICAgICAgIDxuZy1taWFtLWFjY29yZGlvbi1jb250ZW50PlxuICAgICAgICAgIDxuZy1taWFtLWFjY29yZGlvbi1jb250ZW50PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcHJlZmVyZW5jZXNfX2xpc3RcIj5cbiAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZXF1aXBtZW50IG9mIGVxdWlwbWVudHNcIiBjbGFzcz1cIm1pYW0tcHJlZmVyZW5jZXNfX2xpc3RfX2l0ZW0gbWlhbS1kcy1jaGVja2JveFwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVRhZyhlcXVpcG1lbnQpXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1pYW0tcHJlZmVyZW5jZXNfX2xpc3RfX2l0ZW1fX25hbWVcIj5cbiAgICAgICAgICAgICAgICAgIHt7IGVxdWlwbWVudC50YWcubmFtZSB8IHRpdGxlY2FzZSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBbY2hlY2tlZF09XCJlcXVpcG1lbnQuY2hlY2tlZFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1PDqWxlY3Rpb25uZXIgJyArIGVxdWlwbWVudC50YWcubmFtZVwiPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctbWlhbS1hY2NvcmRpb24tY29udGVudD5cbiAgICAgICAgPC9uZy1taWFtLWFjY29yZGlvbi1jb250ZW50PlxuICAgICAgPC9uZy1taWFtLWFjY29yZGlvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtaWFtLXByZWZlcmVuY2VzX19mb290ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1pYW0tZHMtYnV0dG9uIHNlY29uZGFyeSBtaWFtLXByZWZlcmVuY2VzX19mb290ZXJfX3Jlc2V0XCIgKGNsaWNrKT1cInJlc2V0KClcIj5cbiAgICAgICAgICA8c3BhbiBpMThuPlLDqWluaXRpYWxpc2VyPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cIm1pYW0tZHMtYnV0dG9uIHByaW1hcnkgbWlhbS1wcmVmZXJlbmNlc19fZm9vdGVyX19yZWNpcGVzXCIgKGNsaWNrKT1cInVwZGF0ZUFuZEJhY2soKVwiPlxuICAgICAgICAgIDxzcGFuIGkxOG4+QXBwbGlxdWVyPC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkaXNwbGF5VHlwZSA9PT0gcHJlZmVyZW5jZVZpZXdFbnVtLlNFQVJDSFwiPlxuICAgICAgPG5nLW1pYW0tcHJlZmVyZW5jZXMtc2VhcmNoIChiYWNrQW5kUmVsb2FkKT1cImZldGNoVGFncygpOyBnb1RvRGVmYXVsdFZpZXcoKVwiPjwvbmctbWlhbS1wcmVmZXJlbmNlcy1zZWFyY2g+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy1taWFtLW1vZGFsPlxuIl19
|