ctt-babylon 0.22.133 → 0.22.134
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/esm2022/lib/components/core/babylon-engine-modal-v2/babylon-engine-modal-v2.component.mjs +62 -23
- package/esm2022/lib/components/core/babylon-guests-popup/babylon-guests-popup.interface.mjs +1 -1
- package/esm2022/lib/services/mapper/mapper.service.mjs +7 -2
- package/fesm2022/ctt-babylon.mjs +67 -23
- package/fesm2022/ctt-babylon.mjs.map +1 -1
- package/lib/components/core/babylon-engine-modal-v2/babylon-engine-modal-v2.component.d.ts +8 -1
- package/lib/components/core/babylon-guests-popup/babylon-guests-popup.interface.d.ts +2 -0
- package/package.json +1 -1
package/esm2022/lib/components/core/babylon-engine-modal-v2/babylon-engine-modal-v2.component.mjs
CHANGED
|
@@ -13,11 +13,11 @@ export class BabylonEngineModalV2Component {
|
|
|
13
13
|
this.close = new EventEmitter();
|
|
14
14
|
this.form = new FormGroup({
|
|
15
15
|
dates: new FormControl(null, Validators.required),
|
|
16
|
-
guests: new FormControl('
|
|
16
|
+
guests: new FormControl('01', Validators.required),
|
|
17
17
|
promo: new FormControl(''),
|
|
18
18
|
});
|
|
19
19
|
this.generatedUrl = '';
|
|
20
|
-
this.guestsValue = '
|
|
20
|
+
this.guestsValue = '01';
|
|
21
21
|
this.fallbackChildAgeOptions = Array.from({ length: 12 }, (_, index) => {
|
|
22
22
|
const age = index + 3;
|
|
23
23
|
return {
|
|
@@ -25,12 +25,17 @@ export class BabylonEngineModalV2Component {
|
|
|
25
25
|
name: age < 10 ? `0${age}` : `${age}`,
|
|
26
26
|
};
|
|
27
27
|
});
|
|
28
|
+
this.fallbackBabyAgeOptions = Array.from({ length: 3 }, (_, index) => ({
|
|
29
|
+
code: index,
|
|
30
|
+
name: index < 10 ? `0${index}` : `${index}`,
|
|
31
|
+
}));
|
|
28
32
|
this.guestsValueSeparates = {
|
|
29
|
-
adults:
|
|
33
|
+
adults: 1,
|
|
30
34
|
kids: 0,
|
|
31
35
|
infants: 0,
|
|
32
36
|
};
|
|
33
37
|
this.childrenAgeSelections = [];
|
|
38
|
+
this.babiesAgeSelections = [];
|
|
34
39
|
this.showSubfields = false;
|
|
35
40
|
this.showChildrenAges = false;
|
|
36
41
|
this.showBabiesAges = false;
|
|
@@ -43,7 +48,9 @@ export class BabylonEngineModalV2Component {
|
|
|
43
48
|
this.form.patchValue({
|
|
44
49
|
dates: [today, tomorrow],
|
|
45
50
|
});
|
|
51
|
+
this.guestsValueSeparates.adults = this.getDefaultAdultValue();
|
|
46
52
|
this.syncChildrenAgeSelections(this.guestsValueSeparates.kids);
|
|
53
|
+
this.syncBabiesAgeSelections(this.guestsValueSeparates.infants);
|
|
47
54
|
this.refreshGuestsValue();
|
|
48
55
|
this.updateGeneratedUrl();
|
|
49
56
|
this.form.get('promo')?.valueChanges.subscribe(() => {
|
|
@@ -67,17 +74,6 @@ export class BabylonEngineModalV2Component {
|
|
|
67
74
|
togglePersonas() {
|
|
68
75
|
this.showSubfields = !this.showSubfields;
|
|
69
76
|
}
|
|
70
|
-
toggleAgeGroup(kind) {
|
|
71
|
-
if (kind === 'children') {
|
|
72
|
-
this.showChildrenAges = this.guestsValueSeparates.kids > 0
|
|
73
|
-
? !this.showChildrenAges
|
|
74
|
-
: false;
|
|
75
|
-
this.cdr.markForCheck();
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
this.showBabiesAges = !this.showBabiesAges;
|
|
79
|
-
this.cdr.markForCheck();
|
|
80
|
-
}
|
|
81
77
|
onAdultsChange(event) {
|
|
82
78
|
this.guestsValueSeparates.adults = this.getSelectValue(event);
|
|
83
79
|
this.refreshGuestsValue();
|
|
@@ -93,13 +89,24 @@ export class BabylonEngineModalV2Component {
|
|
|
93
89
|
}
|
|
94
90
|
onBabiesChange(event) {
|
|
95
91
|
this.guestsValueSeparates.infants = this.getSelectValue(event);
|
|
92
|
+
this.syncBabiesAgeSelections(this.guestsValueSeparates.infants);
|
|
96
93
|
this.refreshGuestsValue();
|
|
97
94
|
this.updateGeneratedUrl();
|
|
98
95
|
this.cdr.markForCheck();
|
|
99
96
|
}
|
|
100
97
|
onChildAgeChange(index, event) {
|
|
101
|
-
const value = this.
|
|
102
|
-
this.childrenAgeSelections[index] =
|
|
98
|
+
const value = this.getAgeSelectValue(event);
|
|
99
|
+
this.childrenAgeSelections[index] = Number.isNaN(value)
|
|
100
|
+
? this.getDefaultChildAge()
|
|
101
|
+
: value;
|
|
102
|
+
this.updateGeneratedUrl();
|
|
103
|
+
this.cdr.markForCheck();
|
|
104
|
+
}
|
|
105
|
+
onBabiesAgeChange(index, event) {
|
|
106
|
+
const value = this.getAgeSelectValue(event);
|
|
107
|
+
this.babiesAgeSelections[index] = Number.isNaN(value)
|
|
108
|
+
? this.getDefaultBabyAge()
|
|
109
|
+
: value;
|
|
103
110
|
this.updateGeneratedUrl();
|
|
104
111
|
this.cdr.markForCheck();
|
|
105
112
|
}
|
|
@@ -108,6 +115,7 @@ export class BabylonEngineModalV2Component {
|
|
|
108
115
|
this.guestsValueSeparates.kids = Number(children) || 0;
|
|
109
116
|
this.guestsValueSeparates.infants = Number(babies) || 0;
|
|
110
117
|
this.syncChildrenAgeSelections(this.guestsValueSeparates.kids);
|
|
118
|
+
this.syncBabiesAgeSelections(this.guestsValueSeparates.infants);
|
|
111
119
|
this.refreshGuestsValue();
|
|
112
120
|
this.showSubfields = false;
|
|
113
121
|
this.finalizedGuests = true;
|
|
@@ -172,13 +180,28 @@ export class BabylonEngineModalV2Component {
|
|
|
172
180
|
? this.guests.agesDropdown.options
|
|
173
181
|
: this.fallbackChildAgeOptions;
|
|
174
182
|
}
|
|
183
|
+
get babyAgeOptions() {
|
|
184
|
+
return this.guests?.babiesAgesDropdown?.options?.length
|
|
185
|
+
? this.guests.babiesAgesDropdown.options
|
|
186
|
+
: this.fallbackBabyAgeOptions;
|
|
187
|
+
}
|
|
175
188
|
getSelectValue(event) {
|
|
176
189
|
const target = event.target;
|
|
177
190
|
return Number(target?.value ?? 0) || 0;
|
|
178
191
|
}
|
|
192
|
+
getAgeSelectValue(event) {
|
|
193
|
+
const target = event.target;
|
|
194
|
+
return Number(target?.value);
|
|
195
|
+
}
|
|
196
|
+
getDefaultAdultValue() {
|
|
197
|
+
return Number(this.guests?.adultsDropdown?.options?.[0]?.code ?? 1) || 1;
|
|
198
|
+
}
|
|
179
199
|
getDefaultChildAge() {
|
|
180
200
|
return Number(this.childAgeOptions[0]?.code ?? 3) || 3;
|
|
181
201
|
}
|
|
202
|
+
getDefaultBabyAge() {
|
|
203
|
+
return Number(this.babyAgeOptions[0]?.code ?? 0) || 0;
|
|
204
|
+
}
|
|
182
205
|
syncChildrenAgeSelections(count) {
|
|
183
206
|
if (count <= 0) {
|
|
184
207
|
this.childrenAgeSelections = [];
|
|
@@ -193,6 +216,20 @@ export class BabylonEngineModalV2Component {
|
|
|
193
216
|
this.childrenAgeSelections = nextValues;
|
|
194
217
|
this.showChildrenAges = true;
|
|
195
218
|
}
|
|
219
|
+
syncBabiesAgeSelections(count) {
|
|
220
|
+
if (count <= 0) {
|
|
221
|
+
this.babiesAgeSelections = [];
|
|
222
|
+
this.showBabiesAges = false;
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
const defaultAge = this.getDefaultBabyAge();
|
|
226
|
+
const nextValues = this.babiesAgeSelections.slice(0, count);
|
|
227
|
+
while (nextValues.length < count) {
|
|
228
|
+
nextValues.push(defaultAge);
|
|
229
|
+
}
|
|
230
|
+
this.babiesAgeSelections = nextValues;
|
|
231
|
+
this.showBabiesAges = true;
|
|
232
|
+
}
|
|
196
233
|
refreshGuestsValue() {
|
|
197
234
|
const total = this.guestsValueSeparates.adults +
|
|
198
235
|
this.guestsValueSeparates.kids +
|
|
@@ -201,15 +238,17 @@ export class BabylonEngineModalV2Component {
|
|
|
201
238
|
this.form.get('guests')?.setValue(this.guestsValue);
|
|
202
239
|
}
|
|
203
240
|
appendGuestAges(params) {
|
|
204
|
-
Array.from({ length: this.guestsValueSeparates.infants }).forEach(() => {
|
|
205
|
-
params.append('guestAges',
|
|
241
|
+
Array.from({ length: this.guestsValueSeparates.infants }).forEach((_, index) => {
|
|
242
|
+
params.append('guestAges', String(this.babiesAgeSelections[index] ??
|
|
243
|
+
this.getDefaultBabyAge()));
|
|
206
244
|
});
|
|
207
|
-
this.
|
|
208
|
-
params.append('guestAges', String(
|
|
245
|
+
Array.from({ length: this.guestsValueSeparates.kids }).forEach((_, index) => {
|
|
246
|
+
params.append('guestAges', String(this.childrenAgeSelections[index] ??
|
|
247
|
+
this.getDefaultChildAge()));
|
|
209
248
|
});
|
|
210
249
|
}
|
|
211
250
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonEngineModalV2Component, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
212
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BabylonEngineModalV2Component, isStandalone: true, selector: "lib-babylon-engine-modal-v2", inputs: { title: "title", subtitle: "subtitle", datepickerData: "datepickerData", guestsInput: "guestsInput", promoInput: "promoInput", button: "button", guests: "guests", openInNewWindow: "openInNewWindow" }, outputs: { close: "close" }, viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datepicker"], descendants: true }], ngImport: i0, template: "<div class=\"modal modal__reservar\">\n <div class=\"modal__inner\">\n <div\n class=\"modal__close js-close\"\n data-modal_name=\"reservar\"\n role=\"button\"\n (click)=\"closeModal()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use href=\"/assets/babylon/svg/icon-close.svg#icon-close\"></use>\n </svg>\n </div>\n <figure class=\"modal__reservar-graphic\">\n <img src=\"/assets/babylon/images/img-40.webp\" />\n </figure>\n <div class=\"modal__box\">\n @if (title) {\n <h2>{{ title }}</h2>\n }\n <div class=\"modal__reservar-form\">\n @if (datepickerData) {\n <div class=\"input-group\" (click)=\"openCalendar()\">\n <label class=\"input-group--label\" for=\"In-date\">{{\n datepickerData.placeholder\n }}</label>\n\n <p-calendar\n class=\"input-control\"\n [showOtherMonths]=\"false\"\n dateFormat=\"dd-mm-yy\"\n selectionMode=\"range\"\n [placeholder]=\"displayDates\"\n formControlName=\"dates\"\n [numberOfMonths]=\"2\"\n #datepicker\n [readonlyInput]=\"true\"\n [showOnFocus]=\"false\"\n (onSelect)=\"onDateSelect()\"\n ></p-calendar>\n <span\n class=\"input-group--icon\"\n (click)=\"openCalendar()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-calender.svg#icon-calender\"\n ></use>\n </svg>\n </span>\n </div>\n }\n\n @if (guestsInput) {\n <div\n class=\"input-group js-personas-subfields\"\n role=\"button\"\n (click)=\"togglePersonas()\"\n [class.open]=\"showSubfields\"\n [class.final]=\"finalizedGuests\"\n >\n <span class=\"input-control\">{{\n guestsValue || '02'\n }}</span>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"persons\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-persons.svg#icon-persons\"\n ></use>\n </svg>\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (guests) {\n <div\n class=\"sub-fields\"\n [style.display]=\"showSubfields ? 'block' : 'none'\"\n >\n @if (guests.adultsDropdown) {\n <div class=\"input-group\">\n <label\n class=\"input-group--label\"\n for=\"adult1\"\n >{{ guests.adultsDropdown.title }}</label\n >\n <select\n class=\"select-control\"\n name=\"Adultos\"\n id=\"adult1\"\n #adult1\n [value]=\"guestsValueSeparates.adults\"\n (change)=\"onAdultsChange($event)\"\n >\n <!-- <option value=\"0\" selected>00</option> -->\n @for (\n option of guests.adultsDropdown.options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-persons.svg#icon-persons\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (guests.kidsDropdown) {\n <div class=\"input-group\">\n <div\n class=\"input-group--inner childAge-group-list\"\n >\n <label\n class=\"input-group--label\"\n for=\"child1\"\n >{{ guests.kidsDropdown.title }}</label\n >\n <select\n class=\"select-control\"\n name=\"Ni\u00F1os\"\n id=\"child1\"\n #child1\n [value]=\"guestsValueSeparates.kids\"\n (change)=\"onChildrenChange($event)\"\n >\n @for (\n option of guests.kidsDropdown\n .options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"user\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-user.svg#icon-user\"\n ></use>\n </svg>\n </span>\n </div>\n <div\n class=\"age-group-box children-list\"\n [style.display]=\"\n showChildrenAges ? 'block' : 'none'\n \"\n >\n <legend class=\"age-group-box--heading\">\n {{ guests.agesLabel }}\n </legend>\n <div class=\"age-group\">\n @for (\n childAge of childrenAgeSelections;\n track $index\n ) {\n <div class=\"input-group-inner\">\n <label\n class=\"label\"\n [for]=\"\n 'children-age' +\n ($index + 1)\n \"\n >{{ guests.kidsLabel || 'Nino' }}\n {{ $index + 1 }}</label\n >\n <select\n class=\"select-control\"\n [name]=\"\n 'children-age' +\n ($index + 1)\n \"\n [id]=\"\n 'children-age' +\n ($index + 1)\n \"\n [value]=\"childAge\"\n (change)=\"\n onChildAgeChange(\n $index,\n $event\n )\n \"\n >\n @for (\n option of childAgeOptions;\n track option.code\n ) {\n <option\n [value]=\"option.code\"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <span\n class=\"input-group--icon\"\n >\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n @if (guests.babiesDropdown) {\n <div class=\"input-group\">\n <div\n class=\"input-group--inner babiesAge-group-list\"\n role=\"button\"\n (click)=\"toggleAgeGroup('babies')\"\n >\n <label\n class=\"input-group--label\"\n for=\"babies1\"\n >{{\n guests.babiesDropdown.title\n }}</label\n >\n <select\n class=\"select-control\"\n name=\"Beb\u00E9s\"\n id=\"babies1\"\n #babies1\n [value]=\"guestsValueSeparates.infants\"\n (change)=\"onBabiesChange($event)\"\n >\n @for (\n option of guests.babiesDropdown\n .options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"baby\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-user.svg#icon-user\"\n ></use>\n </svg>\n </span>\n </div>\n </div>\n }\n <div class=\"btn__group\">\n <button\n type=\"submit\"\n class=\"btn btn__secondary js-apply-guests1\"\n role=\"button\"\n (click)=\"applyGuestsFromViewChildren()\"\n >\n <span>{{ guests.btn?.label }}</span>\n </button>\n </div>\n </div>\n }\n @if (promoInput) {\n <div class=\"input-group\">\n <label class=\"input-group--label\" for=\"email\">{{\n promoInput.placeholder\n }}</label>\n <input\n type=\"text\"\n class=\"input-control\"\n name=\"email\"\n id=\"email\"\n placeholder=\"...\"\n />\n <span class=\"input-group--icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-promo.svg#icon-promo\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (button) {\n <div class=\"btn__group\">\n <a\n class=\"btn btn__primary\"\n [attr.target]=\"openInNewWindow ? '_blank' : '_self'\"\n [attr.aria-label]=\"button.label\"\n [href]=\"generatedUrl\"\n (click)=\"updateGeneratedUrl(); closeModal()\"\n >\n <span>{{ button.label }}</span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n", styles: ["@media (min-width: 1280px){.order-custom-xl-xxl-1{order:1}.order-custom-xl-xxl-2{order:2}}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width: 540px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width: 768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width: 1025px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width: 1280px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}@media (min-width: 1366px){.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.m-xxl-auto{margin:auto!important}.mt-xxl-auto,.my-xxl-auto{margin-top:auto!important}.mr-xxl-auto,.mx-xxl-auto{margin-right:auto!important}.mb-xxl-auto,.my-xxl-auto{margin-bottom:auto!important}.ml-xxl-auto,.mx-xxl-auto{margin-left:auto!important}}@media (min-width: 1680px){.flex-xxxl-row{flex-direction:row!important}.flex-xxxl-column{flex-direction:column!important}.flex-xxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxl-wrap{flex-wrap:wrap!important}.flex-xxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxl-fill{flex:1 1 auto!important}.flex-xxxl-grow-0{flex-grow:0!important}.flex-xxxl-grow-1{flex-grow:1!important}.flex-xxxl-shrink-0{flex-shrink:0!important}.flex-xxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxl-start{justify-content:flex-start!important}.justify-content-xxxl-end{justify-content:flex-end!important}.justify-content-xxxl-center{justify-content:center!important}.justify-content-xxxl-between{justify-content:space-between!important}.justify-content-xxxl-around{justify-content:space-around!important}.align-items-xxxl-start{align-items:flex-start!important}.align-items-xxxl-end{align-items:flex-end!important}.align-items-xxxl-center{align-items:center!important}.align-items-xxxl-baseline{align-items:baseline!important}.align-items-xxxl-stretch{align-items:stretch!important}.align-content-xxxl-start{align-content:flex-start!important}.align-content-xxxl-end{align-content:flex-end!important}.align-content-xxxl-center{align-content:center!important}.align-content-xxxl-between{align-content:space-between!important}.align-content-xxxl-around{align-content:space-around!important}.align-content-xxxl-stretch{align-content:stretch!important}.align-self-xxxl-auto{align-self:auto!important}.align-self-xxxl-start{align-self:flex-start!important}.align-self-xxxl-end{align-self:flex-end!important}.align-self-xxxl-center{align-self:center!important}.align-self-xxxl-baseline{align-self:baseline!important}.align-self-xxxl-stretch{align-self:stretch!important}.m-xxxl-auto{margin:auto!important}.mt-xxxl-auto,.my-xxxl-auto{margin-top:auto!important}.mr-xxxl-auto,.mx-xxxl-auto{margin-right:auto!important}.mb-xxxl-auto,.my-xxxl-auto{margin-bottom:auto!important}.ml-xxxl-auto,.mx-xxxl-auto{margin-left:auto!important}}@media (min-width: 1921px){.flex-xxxxl-row{flex-direction:row!important}.flex-xxxxl-column{flex-direction:column!important}.flex-xxxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxxl-wrap{flex-wrap:wrap!important}.flex-xxxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxxl-fill{flex:1 1 auto!important}.flex-xxxxl-grow-0{flex-grow:0!important}.flex-xxxxl-grow-1{flex-grow:1!important}.flex-xxxxl-shrink-0{flex-shrink:0!important}.flex-xxxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxxl-start{justify-content:flex-start!important}.justify-content-xxxxl-end{justify-content:flex-end!important}.justify-content-xxxxl-center{justify-content:center!important}.justify-content-xxxxl-between{justify-content:space-between!important}.justify-content-xxxxl-around{justify-content:space-around!important}.align-items-xxxxl-start{align-items:flex-start!important}.align-items-xxxxl-end{align-items:flex-end!important}.align-items-xxxxl-center{align-items:center!important}.align-items-xxxxl-baseline{align-items:baseline!important}.align-items-xxxxl-stretch{align-items:stretch!important}.align-content-xxxxl-start{align-content:flex-start!important}.align-content-xxxxl-end{align-content:flex-end!important}.align-content-xxxxl-center{align-content:center!important}.align-content-xxxxl-between{align-content:space-between!important}.align-content-xxxxl-around{align-content:space-around!important}.align-content-xxxxl-stretch{align-content:stretch!important}.align-self-xxxxl-auto{align-self:auto!important}.align-self-xxxxl-start{align-self:flex-start!important}.align-self-xxxxl-end{align-self:flex-end!important}.align-self-xxxxl-center{align-self:center!important}.align-self-xxxxl-baseline{align-self:baseline!important}.align-self-xxxxl-stretch{align-self:stretch!important}.m-xxxxl-auto{margin:auto!important}.mt-xxxxl-auto,.my-xxxxl-auto{margin-top:auto!important}.mr-xxxxl-auto,.mx-xxxxl-auto{margin-right:auto!important}.mb-xxxxl-auto,.my-xxxxl-auto{margin-bottom:auto!important}.ml-xxxxl-auto,.mx-xxxxl-auto{margin-left:auto!important}}.mt--0{margin-top:0!important}.mb--0{margin-bottom:0!important}.pt--0{padding-top:0}.pb--0{padding-bottom:0}.mblock--0{margin-block:0px}.pblock--0{padding-block:0px}.mt--10{margin-top:10px!important}.mb--10{margin-bottom:10px!important}.pt--10{padding-top:10px}.pb--10{padding-bottom:10px}.mblock--10{margin-block:10px}.pblock--10{padding-block:10px}.mt--20{margin-top:20px!important}.mb--20{margin-bottom:20px!important}.pt--20{padding-top:20px}.pb--20{padding-bottom:20px}.mblock--20{margin-block:20px}.pblock--20{padding-block:20px}.mt--25{margin-top:25px!important}.mb--25{margin-bottom:25px!important}.pt--25{padding-top:25px}.pb--25{padding-bottom:25px}.mblock--25{margin-block:25px}.pblock--25{padding-block:25px}.mt--30{margin-top:30px!important}.mb--30{margin-bottom:30px!important}.pt--30{padding-top:30px}.pb--30{padding-bottom:30px}.mblock--30{margin-block:30px}.pblock--30{padding-block:30px}.mt--40{margin-top:40px!important}.mb--40{margin-bottom:40px!important}.pt--40{padding-top:40px}.pb--40{padding-bottom:40px}.mblock--40{margin-block:40px}.pblock--40{padding-block:40px}.mt--50{margin-top:50px!important}.mb--50{margin-bottom:50px!important}.pt--50{padding-top:50px}.pb--50{padding-bottom:50px}.mblock--50{margin-block:50px}.pblock--50{padding-block:50px}.mt--60{margin-top:60px!important}.mb--60{margin-bottom:60px!important}.pt--60{padding-top:60px}.pb--60{padding-bottom:60px}.mblock--60{margin-block:60px}.pblock--60{padding-block:60px}.mt--70{margin-top:70px!important}.mb--70{margin-bottom:70px!important}.pt--70{padding-top:70px}.pb--70{padding-bottom:70px}.mblock--70{margin-block:70px}.pblock--70{padding-block:70px}.mt--80{margin-top:80px!important}.mb--80{margin-bottom:80px!important}.pt--80{padding-top:80px}.pb--80{padding-bottom:80px}.mblock--80{margin-block:80px}.pblock--80{padding-block:80px}.mt--90{margin-top:90px!important}.mb--90{margin-bottom:90px!important}.pt--90{padding-top:90px}.pb--90{padding-bottom:90px}.mblock--90{margin-block:90px}.pblock--90{padding-block:90px}.mt--100{margin-top:100px!important}.mb--100{margin-bottom:100px!important}.pt--100{padding-top:100px}.pb--100{padding-bottom:100px}.mblock--100{margin-block:100px}.pblock--100{padding-block:100px}.mt--150{margin-top:150px!important}.mb--150{margin-bottom:150px!important}.pt--150{padding-top:150px}.pb--150{padding-bottom:150px}.mblock--150{margin-block:150px}.pblock--150{padding-block:150px}.mt--180{margin-top:180px!important}.mb--180{margin-bottom:180px!important}.pt--180{padding-top:180px}.pb--180{padding-bottom:180px}.mblock--180{margin-block:180px}.pblock--180{padding-block:180px}@keyframes move-right{0%{right:30px}50%{right:20px}to{right:30px}}:root{--font-title: \"the-seasons\", Helvetica, sans-serif;--font-pretitle: \"Poppins\", Helvetica, sans-serif;--font-text: \"Poppins\", Helvetica, sans-serif;--font-claim: \"turbinado-pro\", Helvetica, sans-serif;--cl_corp: #24262d;--cl_accent: #aa8453;--cl_icon: #978667;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #24262d;--cl_breadcrumb-hover: #978667;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #fdfbf8;--cl_background_white: #fff;--cl_background_dark: #19314b;--cl_background_gray: #eee;--cl_background_dark-opacity: #19314bbf;--cl_background_dark-opacity-v2: #1326398b;--cl_background_body-transparent: #ffffffe7;--cl_title: #978667;--cl_subtitle: #19314b;--cl_pretitle: #19314b;--cl_text: #3c3b3b;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_text-disable: #888;--w_title: 600;--w_text: 300;--w_subtitle: 300;--w_pretitle: 300;--padding-bottom-slider: 0px;--lh_pretitle-slider: 1.2;--lh_title-slider: 1.2;--cl_header-bg-nosticky: #0000001a;--cl_header-text-nosticky: #fff;--cl_header-bg-sticky: #eee;--cl_header-text-sticky: #19314b;--cl_header-bg-mobile: #b6b6b6;--cl_headerBottom-bg-mobile: #b6b6b6;--cl_header-text-mobile: #19314b;--cl_menu-modal-bg: #19314b;--cl_menu-modal-items: #978667;--cl_menu-modal-items-hover: #fff;--cl_menu-modal-text: #fff;--cl_menu-modal-text-hover: #fff;--ls_menu-modal-items: 1px;--w_menu-modal-items: 300;--hg_menu-img-height: 15rem;--cl_submenu-bg: #19314b;--cl_submenu-text: #fff;--cl_submenu-hover: #978667;--w_btn: 400;--size_btn: 14px;--size_link: 14px;--ls_link: 1px;--ls_btn: 1px;--upper_btn: uppercase;--upper_link: uppercase;--font-btn: \"Poppins\", Helvetica, sans-serif;--font-link: \"Poppins\", Helvetica, sans-serif;--cl_btn-box: #19314b;--cl_btn-box-text: #19314b;--cl_btn-box-hover: #978667;--cl_btn-box-text-hover: #fff;--cl_btn-call: #19314bf2;--cl_btn-call-text: #fff;--cl_btn-call-hover: #978667;--cl_btn-call-text-hover: #fff;--cl_btn-link: #19314b;--cl_btn-link-hover: #978667;--cl_btn-arrow: #19314b;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #978667;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #24262d;--cl_btn-dots-active: #978667;--cl_btn-dots-hover: #978667;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #978667;--cl_btn-light-text-hover: #978667;--cl_footer-bg: #19314b;--cl_footer-bg-bottom: #0a1d31;--cl_footer-bg-logos: #f8f7f3;--cl_footer-scroll: #978667;--cl_footer-text: #fff;--cl_footer-text-hover: #978667;--btn_radius: 5px;--img_radius: 5px;--img_border: #fff;--img_border-width: 1px;--dropdown-radius: 20px;--cl_background_dropdown: #fdfbf8;--cl_border-dropdown: #d9e1e6;--font-size-engine-text: 14px;--cl_engine-text: #19314b;--cl_engine-bg-nosticky: #ffffffcf;--cl_engine-text-nosticky: #19314b;--cl_engine-bg-sticky: #ffffff00;--cl_engine-text-sticky: #19314b;--cl_engine-bg-modal: #19314bbf;--cl_engine-input-bg: #ebebeb;--cl_engine-input-bg-select: #ebebeb;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a;--cl_error: #ff7173;--cl_desde: #bcbbc3;--cl_price: #19314b;--cl_badget: #ff8874;--cl_badget-text: #fff;--alg-service-room-detail: center;--cl_alert-text: #19314b;--cl_alert-text-error: #fff;--cl_alert-background: #fff;--cl_alert-background-error: rgb(230, 92, 92);--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: var(--cl_corp);--mdc-checkbox-selected-hover-icon-color: var(--cl_corp);--mdc-checkbox-selected-icon-color: var(--cl_corp);--mdc-checkbox-selected-pressed-icon-color: var(--cl_corp);--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-hover-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-pressed-state-layer-color: var(--cl_corp);--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black;--mat-checkbox-disabled-label-color: rgba(0, 0, 0, .38);--primary: #4a4a49;--cream: #f9f8f5;--white: #ffffff;--black: #000000;--whatsapp: #24cc63;--logo: #616161;--grey: #dcdcdc;--darkgrey: #1e1e1e;--instagram: #61bdff;--facebook: #3782f4;--twitter: #4a4a49;--youtube: #d9464b;--tripadvisor: #34e0a1;--booking: #0c3b7c;--silver: #c0bebe;--gold: #ffca64;--platinum: #b5d9e2}.cs_dark{--cl_corp: #181818;--cl_accent: #aa8453;--cl_icon: #aa8453;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #fff;--cl_breadcrumb-hover: #aa8453;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #181818;--cl_background_white: transparent;--cl_background_dark: #aa8453;--cl_background_gray: #333;--type-align: center;--cl_title: #fff;--cl_subtitle: #aa8453;--cl_pretitle: #aa8453;--cl_text: #fff;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_header-bg: #aa8453;--cl_header-text-light: #fff;--cl_menu-bg: #79582c;--cl_menu-text: #fff;--cl_btn-box: #aa8453;--cl_btn-box-text: #aa8453;--cl_btn-box-hover: #79582c;--cl_btn-box-text-hover: #fff;--cl_btn-call: #aa8453;--cl_btn-call-text: white;--cl_btn-call-hover: #79582c;--cl_btn-call-text-hover: #fff;--cl_btn-link: #aa8453;--cl_btn-link-hover: #79582c;--cl_btn-arrow: #ffffff3a;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #79582c;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #eee;--cl_btn-dots-active: #79582c;--cl_btn-dots-hover: #79582c;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #79582c;--cl_btn-light-text-hover: #79582c;--cl_footer-bg: #aa8453;--cl_footer-bg-bottom: #79582c;--cl_footer-scroll: #aa8453;--cl_footer-text: #fff;--cl_footer-text-hover: #aa8453;--btn_radius: 1px;--img_radius: 0px;--img_border: #fff;--img_border-width: 2px;--cl_engine-bg: #181818;--cl_engine-input-bg: #79582c;--cl_engine-input-bg-hover: #081523;--cl_engine-text: #fff;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_dropdown-radius: 20px;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a}.container{max-width:100%}.modal{opacity:1!important;pointer-events:all!important}.modal.modal__reservar{background:var(--white);display:flex;isolation:isolate}.modal--open.reservar .modal.modal__reservar{opacity:1;pointer-events:auto}.modal.modal__reservar .modal__inner{display:flex;justify-content:center;width:100%;position:relative}.modal.modal__reservar .modal__box{overflow-x:clip;padding-block:6rem 15.3rem;width:100%;background:var(--white);display:flex;flex-direction:column;gap:3rem;align-items:center;height:max-content;min-height:100%}@media (min-width: 540px){.modal.modal__reservar .modal__box{padding-block:6rem 14.3rem;gap:4rem}}@media (min-width: 768px){.modal.modal__reservar .modal__box{max-width:48rem;padding-block:10rem 18.505rem;gap:5rem}}@media (min-width: 1024px){.modal.modal__reservar .modal__box{padding-block:10rem}}@media (min-width: 1680px){.modal.modal__reservar .modal__box{max-width:60rem;padding-block:13rem}}@media (min-width: 1800px){.modal.modal__reservar .modal__box{padding-block:18rem}}.modal.modal__reservar .modal__box h2{text-align:center;width:min-content;font-size:4.6rem;line-height:1}@media (min-width: 540px){.modal.modal__reservar .modal__box h2{font-size:6.4rem;line-height:1}}@media (min-width: 768px){.modal.modal__reservar .modal__box h2{font-size:8rem;line-height:1}}@media (min-width: 1680px){.modal.modal__reservar .modal__box h2{font-size:9rem;line-height:1}}.modal.modal__reservar .modal__close{top:2rem}@media (min-width: 540px){.modal.modal__reservar .modal__close{top:3rem;right:3rem}}@media (min-width: 768px){.modal.modal__reservar .modal__close{top:4rem;right:4rem}}@media (min-width: 1024px){.modal.modal__reservar .modal__close{top:3rem;right:3rem}}@media (min-width: 1680px){.modal.modal__reservar .modal__close{top:5rem;right:5rem}}.modal.modal__reservar .modal__reservar-graphic{opacity:0;pointer-events:none;position:fixed;inset:0;z-index:-1;overflow:clip}@media (min-width: 1024px){.modal.modal__reservar .modal__reservar-graphic{opacity:1}}.modal.modal__reservar .modal__reservar-graphic img{animation:zoomInOut 5s infinite ease-in-out;transform-origin:center}.modal.modal__reservar .modal__reservar-form .btn__group{justify-content:center}.modal.modal__reservar .modal__reservar-form{display:flex;flex-direction:column;gap:3rem;width:100%;max-width:28rem}.modal.modal__reservar .modal__reservar-form .sub-fields{display:none;background:var(--cream);transform:translateY(-1rem);margin-inline:-20rem;padding:3rem 20rem}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group{margin-bottom:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .select-control,.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-control{border-color:var(--grey);background:var(--white)}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--label{padding-top:1.1rem;padding-bottom:3.2rem;line-height:1;background:transparent}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--inner{position:relative;max-height:fit-content}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group-box{display:none;width:calc(100% - 11.5rem);margin-top:0rem;margin-left:2rem;background:var(--white);padding:2.5rem 2rem 2.4rem 1.8rem;border:1px solid var(--grey)}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group-box--heading{font-size:1.6rem;line-height:1;text-transform:uppercase;margin-bottom:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner{position:relative}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .select-control{height:3.8rem;padding:1rem 2rem 1rem 1rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .label{font-size:1.4rem;line-height:1;margin-bottom:.6rem;display:block}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .input-group--icon{top:3.2rem;right:.5rem;transform:translateY(0)}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .input-group--icon svg.down-arrow{display:block!important}.modal.modal__reservar .modal__reservar-form .sub-fields[style=\"display: block;\"]{display:flex!important;flex-direction:column}.js-personas-subfields.final .input-group--label{padding-top:1.1rem;padding-bottom:3.2rem;line-height:1;background:transparent}:host ::ng-deep .p-calendar{width:100%}:host ::ng-deep .p-inputtext{background:transparent;border:none;padding:1rem 0 0!important}:host ::ng-deep input:focus-visible{outline:none!important}:host ::ng-deep .p-calendar:not(.p-calendar-disabled).p-focus>.p-inputtext{box-shadow:0 0 0 .2rem transparent!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i2.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: DropdownModule }, { kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
251
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: BabylonEngineModalV2Component, isStandalone: true, selector: "lib-babylon-engine-modal-v2", inputs: { title: "title", subtitle: "subtitle", datepickerData: "datepickerData", guestsInput: "guestsInput", promoInput: "promoInput", button: "button", guests: "guests", openInNewWindow: "openInNewWindow" }, outputs: { close: "close" }, viewQueries: [{ propertyName: "datepicker", first: true, predicate: ["datepicker"], descendants: true }], ngImport: i0, template: "<div class=\"modal modal__reservar\">\n <div class=\"modal__inner\">\n <div\n class=\"modal__close js-close\"\n data-modal_name=\"reservar\"\n role=\"button\"\n (click)=\"closeModal()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use href=\"/assets/babylon/svg/icon-close.svg#icon-close\"></use>\n </svg>\n </div>\n <figure class=\"modal__reservar-graphic\">\n <img src=\"/assets/babylon/images/img-40.webp\" />\n </figure>\n <div class=\"modal__box\">\n @if (title) {\n <h2>{{ title }}</h2>\n }\n <div class=\"modal__reservar-form\" [formGroup]=\"form\">\n @if (datepickerData) {\n <div class=\"input-group\" (click)=\"openCalendar()\">\n <label class=\"input-group--label\" for=\"In-date\">{{\n datepickerData.placeholder\n }}</label>\n\n <p-calendar\n class=\"input-control\"\n [showOtherMonths]=\"false\"\n dateFormat=\"dd-mm-yy\"\n selectionMode=\"range\"\n [placeholder]=\"displayDates\"\n formControlName=\"dates\"\n [numberOfMonths]=\"2\"\n #datepicker\n [readonlyInput]=\"true\"\n [showOnFocus]=\"false\"\n (onSelect)=\"onDateSelect()\"\n ></p-calendar>\n <span\n class=\"input-group--icon\"\n (click)=\"openCalendar()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-calender.svg#icon-calender\"\n ></use>\n </svg>\n </span>\n </div>\n }\n\n @if (guestsInput) {\n <div\n class=\"input-group js-personas-subfields\"\n role=\"button\"\n (click)=\"togglePersonas()\"\n [class.open]=\"showSubfields\"\n [class.final]=\"finalizedGuests\"\n >\n <span class=\"input-control\">{{\n guestsValue || '01'\n }}</span>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"persons\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-persons.svg#icon-persons\"\n ></use>\n </svg>\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (guests) {\n <div\n class=\"sub-fields\"\n [style.display]=\"showSubfields ? 'block' : 'none'\"\n >\n @if (guests.adultsDropdown) {\n <div class=\"input-group\">\n <label\n class=\"input-group--label\"\n for=\"adult1\"\n >{{ guests.adultsDropdown.title }}</label\n >\n <select\n class=\"select-control\"\n name=\"Adultos\"\n id=\"adult1\"\n #adult1\n [value]=\"guestsValueSeparates.adults\"\n (change)=\"onAdultsChange($event)\"\n >\n <!-- <option value=\"0\" selected>00</option> -->\n @for (\n option of guests.adultsDropdown.options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-persons.svg#icon-persons\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (guests.kidsDropdown) {\n <div class=\"input-group\">\n <div\n class=\"input-group--inner childAge-group-list\"\n >\n <label\n class=\"input-group--label\"\n for=\"child1\"\n >{{ guests.kidsDropdown.title }}</label\n >\n <select\n class=\"select-control\"\n name=\"Ni\u00F1os\"\n id=\"child1\"\n #child1\n [value]=\"guestsValueSeparates.kids\"\n (change)=\"onChildrenChange($event)\"\n >\n @for (\n option of guests.kidsDropdown\n .options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"user\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-user.svg#icon-user\"\n ></use>\n </svg>\n </span>\n </div>\n <div\n class=\"age-group-box children-list\"\n [style.display]=\"\n showChildrenAges ? 'block' : 'none'\n \"\n >\n <legend class=\"age-group-box--heading\">\n {{ guests.agesLabel }}\n </legend>\n <div class=\"age-group\">\n @for (\n childAge of childrenAgeSelections;\n track $index\n ) {\n <div class=\"input-group-inner\">\n <label\n class=\"label\"\n [for]=\"\n 'children-age' +\n ($index + 1)\n \"\n >{{ guests.kidsLabel || 'Nino' }}\n {{ $index + 1 }}</label\n >\n <select\n class=\"select-control\"\n [name]=\"\n 'children-age' +\n ($index + 1)\n \"\n [id]=\"\n 'children-age' +\n ($index + 1)\n \"\n [value]=\"childAge\"\n (change)=\"\n onChildAgeChange(\n $index,\n $event\n )\n \"\n >\n @for (\n option of childAgeOptions;\n track option.code\n ) {\n <option\n [value]=\"option.code\"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <span\n class=\"input-group--icon\"\n >\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n @if (guests.babiesDropdown) {\n <div class=\"input-group\">\n <div class=\"input-group--inner babiesAge-group-list\">\n <label\n class=\"input-group--label\"\n for=\"babies1\"\n >{{\n guests.babiesDropdown.title\n }}</label\n >\n <select\n class=\"select-control\"\n name=\"Beb\u00E9s\"\n id=\"babies1\"\n #babies1\n [value]=\"guestsValueSeparates.infants\"\n (change)=\"onBabiesChange($event)\"\n >\n @for (\n option of guests.babiesDropdown\n .options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"baby\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-user.svg#icon-user\"\n ></use>\n </svg>\n </span>\n </div>\n <div\n class=\"age-group-box babies-list\"\n [style.display]=\"\n showBabiesAges ? 'block' : 'none'\n \"\n >\n <legend class=\"age-group-box--heading\">\n {{ guests.agesLabel }}\n </legend>\n <div class=\"age-group\">\n @for (\n babyAge of babiesAgeSelections;\n track $index\n ) {\n <div class=\"input-group-inner\">\n <label\n class=\"label\"\n [for]=\"\n 'babies-age' +\n ($index + 1)\n \"\n >{{\n guests.babiesLabel ||\n 'Bebe'\n }}\n {{ $index + 1 }}</label\n >\n <select\n class=\"select-control\"\n [name]=\"\n 'babies-age' +\n ($index + 1)\n \"\n [id]=\"\n 'babies-age' +\n ($index + 1)\n \"\n [value]=\"babyAge\"\n (change)=\"\n onBabiesAgeChange(\n $index,\n $event\n )\n \"\n >\n @for (\n option of babyAgeOptions;\n track option.code\n ) {\n <option\n [value]=\"option.code\"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <span\n class=\"input-group--icon\"\n >\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n <div class=\"btn__group\">\n <button\n type=\"submit\"\n class=\"btn btn__secondary js-apply-guests1\"\n role=\"button\"\n (click)=\"applyGuestsFromViewChildren()\"\n >\n <span>{{ guests.btn?.label }}</span>\n </button>\n </div>\n </div>\n }\n @if (promoInput) {\n <div class=\"input-group\">\n <label class=\"input-group--label\" for=\"email\">{{\n promoInput.placeholder\n }}</label>\n <input\n type=\"text\"\n class=\"input-control\"\n name=\"email\"\n id=\"email\"\n placeholder=\"...\"\n formControlName=\"promo\"\n />\n <span class=\"input-group--icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-promo.svg#icon-promo\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (button) {\n <div class=\"btn__group\">\n <a\n class=\"btn btn__primary\"\n [attr.target]=\"openInNewWindow ? '_blank' : '_self'\"\n [attr.aria-label]=\"button.label\"\n [href]=\"generatedUrl\"\n (click)=\"updateGeneratedUrl(); closeModal()\"\n >\n <span>{{ button.label }}</span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n", styles: ["@media (min-width: 1280px){.order-custom-xl-xxl-1{order:1}.order-custom-xl-xxl-2{order:2}}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width: 540px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width: 768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width: 1025px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width: 1280px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}@media (min-width: 1366px){.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.m-xxl-auto{margin:auto!important}.mt-xxl-auto,.my-xxl-auto{margin-top:auto!important}.mr-xxl-auto,.mx-xxl-auto{margin-right:auto!important}.mb-xxl-auto,.my-xxl-auto{margin-bottom:auto!important}.ml-xxl-auto,.mx-xxl-auto{margin-left:auto!important}}@media (min-width: 1680px){.flex-xxxl-row{flex-direction:row!important}.flex-xxxl-column{flex-direction:column!important}.flex-xxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxl-wrap{flex-wrap:wrap!important}.flex-xxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxl-fill{flex:1 1 auto!important}.flex-xxxl-grow-0{flex-grow:0!important}.flex-xxxl-grow-1{flex-grow:1!important}.flex-xxxl-shrink-0{flex-shrink:0!important}.flex-xxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxl-start{justify-content:flex-start!important}.justify-content-xxxl-end{justify-content:flex-end!important}.justify-content-xxxl-center{justify-content:center!important}.justify-content-xxxl-between{justify-content:space-between!important}.justify-content-xxxl-around{justify-content:space-around!important}.align-items-xxxl-start{align-items:flex-start!important}.align-items-xxxl-end{align-items:flex-end!important}.align-items-xxxl-center{align-items:center!important}.align-items-xxxl-baseline{align-items:baseline!important}.align-items-xxxl-stretch{align-items:stretch!important}.align-content-xxxl-start{align-content:flex-start!important}.align-content-xxxl-end{align-content:flex-end!important}.align-content-xxxl-center{align-content:center!important}.align-content-xxxl-between{align-content:space-between!important}.align-content-xxxl-around{align-content:space-around!important}.align-content-xxxl-stretch{align-content:stretch!important}.align-self-xxxl-auto{align-self:auto!important}.align-self-xxxl-start{align-self:flex-start!important}.align-self-xxxl-end{align-self:flex-end!important}.align-self-xxxl-center{align-self:center!important}.align-self-xxxl-baseline{align-self:baseline!important}.align-self-xxxl-stretch{align-self:stretch!important}.m-xxxl-auto{margin:auto!important}.mt-xxxl-auto,.my-xxxl-auto{margin-top:auto!important}.mr-xxxl-auto,.mx-xxxl-auto{margin-right:auto!important}.mb-xxxl-auto,.my-xxxl-auto{margin-bottom:auto!important}.ml-xxxl-auto,.mx-xxxl-auto{margin-left:auto!important}}@media (min-width: 1921px){.flex-xxxxl-row{flex-direction:row!important}.flex-xxxxl-column{flex-direction:column!important}.flex-xxxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxxl-wrap{flex-wrap:wrap!important}.flex-xxxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxxl-fill{flex:1 1 auto!important}.flex-xxxxl-grow-0{flex-grow:0!important}.flex-xxxxl-grow-1{flex-grow:1!important}.flex-xxxxl-shrink-0{flex-shrink:0!important}.flex-xxxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxxl-start{justify-content:flex-start!important}.justify-content-xxxxl-end{justify-content:flex-end!important}.justify-content-xxxxl-center{justify-content:center!important}.justify-content-xxxxl-between{justify-content:space-between!important}.justify-content-xxxxl-around{justify-content:space-around!important}.align-items-xxxxl-start{align-items:flex-start!important}.align-items-xxxxl-end{align-items:flex-end!important}.align-items-xxxxl-center{align-items:center!important}.align-items-xxxxl-baseline{align-items:baseline!important}.align-items-xxxxl-stretch{align-items:stretch!important}.align-content-xxxxl-start{align-content:flex-start!important}.align-content-xxxxl-end{align-content:flex-end!important}.align-content-xxxxl-center{align-content:center!important}.align-content-xxxxl-between{align-content:space-between!important}.align-content-xxxxl-around{align-content:space-around!important}.align-content-xxxxl-stretch{align-content:stretch!important}.align-self-xxxxl-auto{align-self:auto!important}.align-self-xxxxl-start{align-self:flex-start!important}.align-self-xxxxl-end{align-self:flex-end!important}.align-self-xxxxl-center{align-self:center!important}.align-self-xxxxl-baseline{align-self:baseline!important}.align-self-xxxxl-stretch{align-self:stretch!important}.m-xxxxl-auto{margin:auto!important}.mt-xxxxl-auto,.my-xxxxl-auto{margin-top:auto!important}.mr-xxxxl-auto,.mx-xxxxl-auto{margin-right:auto!important}.mb-xxxxl-auto,.my-xxxxl-auto{margin-bottom:auto!important}.ml-xxxxl-auto,.mx-xxxxl-auto{margin-left:auto!important}}.mt--0{margin-top:0!important}.mb--0{margin-bottom:0!important}.pt--0{padding-top:0}.pb--0{padding-bottom:0}.mblock--0{margin-block:0px}.pblock--0{padding-block:0px}.mt--10{margin-top:10px!important}.mb--10{margin-bottom:10px!important}.pt--10{padding-top:10px}.pb--10{padding-bottom:10px}.mblock--10{margin-block:10px}.pblock--10{padding-block:10px}.mt--20{margin-top:20px!important}.mb--20{margin-bottom:20px!important}.pt--20{padding-top:20px}.pb--20{padding-bottom:20px}.mblock--20{margin-block:20px}.pblock--20{padding-block:20px}.mt--25{margin-top:25px!important}.mb--25{margin-bottom:25px!important}.pt--25{padding-top:25px}.pb--25{padding-bottom:25px}.mblock--25{margin-block:25px}.pblock--25{padding-block:25px}.mt--30{margin-top:30px!important}.mb--30{margin-bottom:30px!important}.pt--30{padding-top:30px}.pb--30{padding-bottom:30px}.mblock--30{margin-block:30px}.pblock--30{padding-block:30px}.mt--40{margin-top:40px!important}.mb--40{margin-bottom:40px!important}.pt--40{padding-top:40px}.pb--40{padding-bottom:40px}.mblock--40{margin-block:40px}.pblock--40{padding-block:40px}.mt--50{margin-top:50px!important}.mb--50{margin-bottom:50px!important}.pt--50{padding-top:50px}.pb--50{padding-bottom:50px}.mblock--50{margin-block:50px}.pblock--50{padding-block:50px}.mt--60{margin-top:60px!important}.mb--60{margin-bottom:60px!important}.pt--60{padding-top:60px}.pb--60{padding-bottom:60px}.mblock--60{margin-block:60px}.pblock--60{padding-block:60px}.mt--70{margin-top:70px!important}.mb--70{margin-bottom:70px!important}.pt--70{padding-top:70px}.pb--70{padding-bottom:70px}.mblock--70{margin-block:70px}.pblock--70{padding-block:70px}.mt--80{margin-top:80px!important}.mb--80{margin-bottom:80px!important}.pt--80{padding-top:80px}.pb--80{padding-bottom:80px}.mblock--80{margin-block:80px}.pblock--80{padding-block:80px}.mt--90{margin-top:90px!important}.mb--90{margin-bottom:90px!important}.pt--90{padding-top:90px}.pb--90{padding-bottom:90px}.mblock--90{margin-block:90px}.pblock--90{padding-block:90px}.mt--100{margin-top:100px!important}.mb--100{margin-bottom:100px!important}.pt--100{padding-top:100px}.pb--100{padding-bottom:100px}.mblock--100{margin-block:100px}.pblock--100{padding-block:100px}.mt--150{margin-top:150px!important}.mb--150{margin-bottom:150px!important}.pt--150{padding-top:150px}.pb--150{padding-bottom:150px}.mblock--150{margin-block:150px}.pblock--150{padding-block:150px}.mt--180{margin-top:180px!important}.mb--180{margin-bottom:180px!important}.pt--180{padding-top:180px}.pb--180{padding-bottom:180px}.mblock--180{margin-block:180px}.pblock--180{padding-block:180px}@keyframes move-right{0%{right:30px}50%{right:20px}to{right:30px}}:root{--font-title: \"the-seasons\", Helvetica, sans-serif;--font-pretitle: \"Poppins\", Helvetica, sans-serif;--font-text: \"Poppins\", Helvetica, sans-serif;--font-claim: \"turbinado-pro\", Helvetica, sans-serif;--cl_corp: #24262d;--cl_accent: #aa8453;--cl_icon: #978667;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #24262d;--cl_breadcrumb-hover: #978667;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #fdfbf8;--cl_background_white: #fff;--cl_background_dark: #19314b;--cl_background_gray: #eee;--cl_background_dark-opacity: #19314bbf;--cl_background_dark-opacity-v2: #1326398b;--cl_background_body-transparent: #ffffffe7;--cl_title: #978667;--cl_subtitle: #19314b;--cl_pretitle: #19314b;--cl_text: #3c3b3b;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_text-disable: #888;--w_title: 600;--w_text: 300;--w_subtitle: 300;--w_pretitle: 300;--padding-bottom-slider: 0px;--lh_pretitle-slider: 1.2;--lh_title-slider: 1.2;--cl_header-bg-nosticky: #0000001a;--cl_header-text-nosticky: #fff;--cl_header-bg-sticky: #eee;--cl_header-text-sticky: #19314b;--cl_header-bg-mobile: #b6b6b6;--cl_headerBottom-bg-mobile: #b6b6b6;--cl_header-text-mobile: #19314b;--cl_menu-modal-bg: #19314b;--cl_menu-modal-items: #978667;--cl_menu-modal-items-hover: #fff;--cl_menu-modal-text: #fff;--cl_menu-modal-text-hover: #fff;--ls_menu-modal-items: 1px;--w_menu-modal-items: 300;--hg_menu-img-height: 15rem;--cl_submenu-bg: #19314b;--cl_submenu-text: #fff;--cl_submenu-hover: #978667;--w_btn: 400;--size_btn: 14px;--size_link: 14px;--ls_link: 1px;--ls_btn: 1px;--upper_btn: uppercase;--upper_link: uppercase;--font-btn: \"Poppins\", Helvetica, sans-serif;--font-link: \"Poppins\", Helvetica, sans-serif;--cl_btn-box: #19314b;--cl_btn-box-text: #19314b;--cl_btn-box-hover: #978667;--cl_btn-box-text-hover: #fff;--cl_btn-call: #19314bf2;--cl_btn-call-text: #fff;--cl_btn-call-hover: #978667;--cl_btn-call-text-hover: #fff;--cl_btn-link: #19314b;--cl_btn-link-hover: #978667;--cl_btn-arrow: #19314b;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #978667;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #24262d;--cl_btn-dots-active: #978667;--cl_btn-dots-hover: #978667;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #978667;--cl_btn-light-text-hover: #978667;--cl_footer-bg: #19314b;--cl_footer-bg-bottom: #0a1d31;--cl_footer-bg-logos: #f8f7f3;--cl_footer-scroll: #978667;--cl_footer-text: #fff;--cl_footer-text-hover: #978667;--btn_radius: 5px;--img_radius: 5px;--img_border: #fff;--img_border-width: 1px;--dropdown-radius: 20px;--cl_background_dropdown: #fdfbf8;--cl_border-dropdown: #d9e1e6;--font-size-engine-text: 14px;--cl_engine-text: #19314b;--cl_engine-bg-nosticky: #ffffffcf;--cl_engine-text-nosticky: #19314b;--cl_engine-bg-sticky: #ffffff00;--cl_engine-text-sticky: #19314b;--cl_engine-bg-modal: #19314bbf;--cl_engine-input-bg: #ebebeb;--cl_engine-input-bg-select: #ebebeb;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a;--cl_error: #ff7173;--cl_desde: #bcbbc3;--cl_price: #19314b;--cl_badget: #ff8874;--cl_badget-text: #fff;--alg-service-room-detail: center;--cl_alert-text: #19314b;--cl_alert-text-error: #fff;--cl_alert-background: #fff;--cl_alert-background-error: rgb(230, 92, 92);--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: var(--cl_corp);--mdc-checkbox-selected-hover-icon-color: var(--cl_corp);--mdc-checkbox-selected-icon-color: var(--cl_corp);--mdc-checkbox-selected-pressed-icon-color: var(--cl_corp);--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-hover-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-pressed-state-layer-color: var(--cl_corp);--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black;--mat-checkbox-disabled-label-color: rgba(0, 0, 0, .38);--primary: #4a4a49;--cream: #f9f8f5;--white: #ffffff;--black: #000000;--whatsapp: #24cc63;--logo: #616161;--grey: #dcdcdc;--darkgrey: #1e1e1e;--instagram: #61bdff;--facebook: #3782f4;--twitter: #4a4a49;--youtube: #d9464b;--tripadvisor: #34e0a1;--booking: #0c3b7c;--silver: #c0bebe;--gold: #ffca64;--platinum: #b5d9e2}.cs_dark{--cl_corp: #181818;--cl_accent: #aa8453;--cl_icon: #aa8453;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #fff;--cl_breadcrumb-hover: #aa8453;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #181818;--cl_background_white: transparent;--cl_background_dark: #aa8453;--cl_background_gray: #333;--type-align: center;--cl_title: #fff;--cl_subtitle: #aa8453;--cl_pretitle: #aa8453;--cl_text: #fff;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_header-bg: #aa8453;--cl_header-text-light: #fff;--cl_menu-bg: #79582c;--cl_menu-text: #fff;--cl_btn-box: #aa8453;--cl_btn-box-text: #aa8453;--cl_btn-box-hover: #79582c;--cl_btn-box-text-hover: #fff;--cl_btn-call: #aa8453;--cl_btn-call-text: white;--cl_btn-call-hover: #79582c;--cl_btn-call-text-hover: #fff;--cl_btn-link: #aa8453;--cl_btn-link-hover: #79582c;--cl_btn-arrow: #ffffff3a;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #79582c;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #eee;--cl_btn-dots-active: #79582c;--cl_btn-dots-hover: #79582c;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #79582c;--cl_btn-light-text-hover: #79582c;--cl_footer-bg: #aa8453;--cl_footer-bg-bottom: #79582c;--cl_footer-scroll: #aa8453;--cl_footer-text: #fff;--cl_footer-text-hover: #aa8453;--btn_radius: 1px;--img_radius: 0px;--img_border: #fff;--img_border-width: 2px;--cl_engine-bg: #181818;--cl_engine-input-bg: #79582c;--cl_engine-input-bg-hover: #081523;--cl_engine-text: #fff;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_dropdown-radius: 20px;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a}.container{max-width:100%}.modal{opacity:1!important;pointer-events:all!important}.modal.modal__reservar{background:var(--white);display:flex;isolation:isolate}.modal--open.reservar .modal.modal__reservar{opacity:1;pointer-events:auto}.modal.modal__reservar .modal__inner{display:flex;justify-content:center;width:100%;position:relative}.modal.modal__reservar .modal__box{overflow-x:clip;padding-block:6rem 15.3rem;width:100%;background:var(--white);display:flex;flex-direction:column;gap:3rem;align-items:center;height:max-content;min-height:100%}@media (min-width: 540px){.modal.modal__reservar .modal__box{padding-block:6rem 14.3rem;gap:4rem}}@media (min-width: 768px){.modal.modal__reservar .modal__box{max-width:48rem;padding-block:10rem 18.505rem;gap:5rem}}@media (min-width: 1024px){.modal.modal__reservar .modal__box{padding-block:10rem}}@media (min-width: 1680px){.modal.modal__reservar .modal__box{max-width:60rem;padding-block:13rem}}@media (min-width: 1800px){.modal.modal__reservar .modal__box{padding-block:18rem}}.modal.modal__reservar .modal__box h2{text-align:center;width:min-content;font-size:4.6rem;line-height:1}@media (min-width: 540px){.modal.modal__reservar .modal__box h2{font-size:6.4rem;line-height:1}}@media (min-width: 768px){.modal.modal__reservar .modal__box h2{font-size:8rem;line-height:1}}@media (min-width: 1680px){.modal.modal__reservar .modal__box h2{font-size:9rem;line-height:1}}.modal.modal__reservar .modal__close{top:2rem}@media (min-width: 540px){.modal.modal__reservar .modal__close{top:3rem;right:3rem}}@media (min-width: 768px){.modal.modal__reservar .modal__close{top:4rem;right:4rem}}@media (min-width: 1024px){.modal.modal__reservar .modal__close{top:3rem;right:3rem}}@media (min-width: 1680px){.modal.modal__reservar .modal__close{top:5rem;right:5rem}}.modal.modal__reservar .modal__reservar-graphic{opacity:0;pointer-events:none;position:fixed;inset:0;z-index:-1;overflow:clip}@media (min-width: 1024px){.modal.modal__reservar .modal__reservar-graphic{opacity:1}}.modal.modal__reservar .modal__reservar-graphic img{animation:zoomInOut 5s infinite ease-in-out;transform-origin:center}.modal.modal__reservar .modal__reservar-form .btn__group{justify-content:center}.modal.modal__reservar .modal__reservar-form{display:flex;flex-direction:column;gap:3rem;width:100%;max-width:28rem}.modal.modal__reservar .modal__reservar-form .sub-fields{display:none;background:var(--cream);transform:translateY(-1rem);margin-inline:-20rem;padding:3rem 20rem}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group{margin-bottom:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .select-control,.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-control{border-color:var(--grey);background:var(--white)}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--label{padding-top:1.1rem;padding-bottom:3.2rem;line-height:1;background:transparent}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--inner{position:relative;max-height:fit-content}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group-box{display:none;width:calc(100% - 11.5rem);margin-top:0rem;margin-left:2rem;background:var(--white);padding:2.5rem 2rem 2.4rem 1.8rem;border:1px solid var(--grey)}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group-box--heading{font-size:1.6rem;line-height:1;text-transform:uppercase;margin-bottom:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner{position:relative}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .select-control{height:3.8rem;padding:1rem 2rem 1rem 1rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .label{font-size:1.4rem;line-height:1;margin-bottom:.6rem;display:block}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .input-group--icon{top:3.2rem;right:.5rem;transform:translateY(0)}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .input-group--icon svg.down-arrow{display:block!important}.modal.modal__reservar .modal__reservar-form .sub-fields[style=\"display: block;\"]{display:flex!important;flex-direction:column}.js-personas-subfields.final .input-group--label{padding-top:1.1rem;padding-bottom:3.2rem;line-height:1;background:transparent}:host ::ng-deep .p-calendar{width:100%}:host ::ng-deep .p-inputtext{background:transparent;border:none;padding:1rem 0 0!important}:host ::ng-deep input:focus-visible{outline:none!important}:host ::ng-deep .p-calendar:not(.p-calendar-disabled).p-focus>.p-inputtext{box-shadow:0 0 0 .2rem transparent!important}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i2.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: DropdownModule }, { kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
213
252
|
}
|
|
214
253
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BabylonEngineModalV2Component, decorators: [{
|
|
215
254
|
type: Component,
|
|
@@ -220,7 +259,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
220
259
|
DialogModule,
|
|
221
260
|
DropdownModule,
|
|
222
261
|
CommonModule,
|
|
223
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"modal modal__reservar\">\n <div class=\"modal__inner\">\n <div\n class=\"modal__close js-close\"\n data-modal_name=\"reservar\"\n role=\"button\"\n (click)=\"closeModal()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use href=\"/assets/babylon/svg/icon-close.svg#icon-close\"></use>\n </svg>\n </div>\n <figure class=\"modal__reservar-graphic\">\n <img src=\"/assets/babylon/images/img-40.webp\" />\n </figure>\n <div class=\"modal__box\">\n @if (title) {\n <h2>{{ title }}</h2>\n }\n <div class=\"modal__reservar-form\">\n @if (datepickerData) {\n <div class=\"input-group\" (click)=\"openCalendar()\">\n <label class=\"input-group--label\" for=\"In-date\">{{\n datepickerData.placeholder\n }}</label>\n\n <p-calendar\n class=\"input-control\"\n [showOtherMonths]=\"false\"\n dateFormat=\"dd-mm-yy\"\n selectionMode=\"range\"\n [placeholder]=\"displayDates\"\n formControlName=\"dates\"\n [numberOfMonths]=\"2\"\n #datepicker\n [readonlyInput]=\"true\"\n [showOnFocus]=\"false\"\n (onSelect)=\"onDateSelect()\"\n ></p-calendar>\n <span\n class=\"input-group--icon\"\n (click)=\"openCalendar()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-calender.svg#icon-calender\"\n ></use>\n </svg>\n </span>\n </div>\n }\n\n @if (guestsInput) {\n <div\n class=\"input-group js-personas-subfields\"\n role=\"button\"\n (click)=\"togglePersonas()\"\n [class.open]=\"showSubfields\"\n [class.final]=\"finalizedGuests\"\n >\n <span class=\"input-control\">{{\n guestsValue || '02'\n }}</span>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"persons\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-persons.svg#icon-persons\"\n ></use>\n </svg>\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (guests) {\n <div\n class=\"sub-fields\"\n [style.display]=\"showSubfields ? 'block' : 'none'\"\n >\n @if (guests.adultsDropdown) {\n <div class=\"input-group\">\n <label\n class=\"input-group--label\"\n for=\"adult1\"\n >{{ guests.adultsDropdown.title }}</label\n >\n <select\n class=\"select-control\"\n name=\"Adultos\"\n id=\"adult1\"\n #adult1\n [value]=\"guestsValueSeparates.adults\"\n (change)=\"onAdultsChange($event)\"\n >\n <!-- <option value=\"0\" selected>00</option> -->\n @for (\n option of guests.adultsDropdown.options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-persons.svg#icon-persons\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (guests.kidsDropdown) {\n <div class=\"input-group\">\n <div\n class=\"input-group--inner childAge-group-list\"\n >\n <label\n class=\"input-group--label\"\n for=\"child1\"\n >{{ guests.kidsDropdown.title }}</label\n >\n <select\n class=\"select-control\"\n name=\"Ni\u00F1os\"\n id=\"child1\"\n #child1\n [value]=\"guestsValueSeparates.kids\"\n (change)=\"onChildrenChange($event)\"\n >\n @for (\n option of guests.kidsDropdown\n .options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"user\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-user.svg#icon-user\"\n ></use>\n </svg>\n </span>\n </div>\n <div\n class=\"age-group-box children-list\"\n [style.display]=\"\n showChildrenAges ? 'block' : 'none'\n \"\n >\n <legend class=\"age-group-box--heading\">\n {{ guests.agesLabel }}\n </legend>\n <div class=\"age-group\">\n @for (\n childAge of childrenAgeSelections;\n track $index\n ) {\n <div class=\"input-group-inner\">\n <label\n class=\"label\"\n [for]=\"\n 'children-age' +\n ($index + 1)\n \"\n >{{ guests.kidsLabel || 'Nino' }}\n {{ $index + 1 }}</label\n >\n <select\n class=\"select-control\"\n [name]=\"\n 'children-age' +\n ($index + 1)\n \"\n [id]=\"\n 'children-age' +\n ($index + 1)\n \"\n [value]=\"childAge\"\n (change)=\"\n onChildAgeChange(\n $index,\n $event\n )\n \"\n >\n @for (\n option of childAgeOptions;\n track option.code\n ) {\n <option\n [value]=\"option.code\"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <span\n class=\"input-group--icon\"\n >\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n @if (guests.babiesDropdown) {\n <div class=\"input-group\">\n <div\n class=\"input-group--inner babiesAge-group-list\"\n role=\"button\"\n (click)=\"toggleAgeGroup('babies')\"\n >\n <label\n class=\"input-group--label\"\n for=\"babies1\"\n >{{\n guests.babiesDropdown.title\n }}</label\n >\n <select\n class=\"select-control\"\n name=\"Beb\u00E9s\"\n id=\"babies1\"\n #babies1\n [value]=\"guestsValueSeparates.infants\"\n (change)=\"onBabiesChange($event)\"\n >\n @for (\n option of guests.babiesDropdown\n .options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"baby\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-user.svg#icon-user\"\n ></use>\n </svg>\n </span>\n </div>\n </div>\n }\n <div class=\"btn__group\">\n <button\n type=\"submit\"\n class=\"btn btn__secondary js-apply-guests1\"\n role=\"button\"\n (click)=\"applyGuestsFromViewChildren()\"\n >\n <span>{{ guests.btn?.label }}</span>\n </button>\n </div>\n </div>\n }\n @if (promoInput) {\n <div class=\"input-group\">\n <label class=\"input-group--label\" for=\"email\">{{\n promoInput.placeholder\n }}</label>\n <input\n type=\"text\"\n class=\"input-control\"\n name=\"email\"\n id=\"email\"\n placeholder=\"...\"\n />\n <span class=\"input-group--icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-promo.svg#icon-promo\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (button) {\n <div class=\"btn__group\">\n <a\n class=\"btn btn__primary\"\n [attr.target]=\"openInNewWindow ? '_blank' : '_self'\"\n [attr.aria-label]=\"button.label\"\n [href]=\"generatedUrl\"\n (click)=\"updateGeneratedUrl(); closeModal()\"\n >\n <span>{{ button.label }}</span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n", styles: ["@media (min-width: 1280px){.order-custom-xl-xxl-1{order:1}.order-custom-xl-xxl-2{order:2}}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width: 540px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width: 768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width: 1025px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width: 1280px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}@media (min-width: 1366px){.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.m-xxl-auto{margin:auto!important}.mt-xxl-auto,.my-xxl-auto{margin-top:auto!important}.mr-xxl-auto,.mx-xxl-auto{margin-right:auto!important}.mb-xxl-auto,.my-xxl-auto{margin-bottom:auto!important}.ml-xxl-auto,.mx-xxl-auto{margin-left:auto!important}}@media (min-width: 1680px){.flex-xxxl-row{flex-direction:row!important}.flex-xxxl-column{flex-direction:column!important}.flex-xxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxl-wrap{flex-wrap:wrap!important}.flex-xxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxl-fill{flex:1 1 auto!important}.flex-xxxl-grow-0{flex-grow:0!important}.flex-xxxl-grow-1{flex-grow:1!important}.flex-xxxl-shrink-0{flex-shrink:0!important}.flex-xxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxl-start{justify-content:flex-start!important}.justify-content-xxxl-end{justify-content:flex-end!important}.justify-content-xxxl-center{justify-content:center!important}.justify-content-xxxl-between{justify-content:space-between!important}.justify-content-xxxl-around{justify-content:space-around!important}.align-items-xxxl-start{align-items:flex-start!important}.align-items-xxxl-end{align-items:flex-end!important}.align-items-xxxl-center{align-items:center!important}.align-items-xxxl-baseline{align-items:baseline!important}.align-items-xxxl-stretch{align-items:stretch!important}.align-content-xxxl-start{align-content:flex-start!important}.align-content-xxxl-end{align-content:flex-end!important}.align-content-xxxl-center{align-content:center!important}.align-content-xxxl-between{align-content:space-between!important}.align-content-xxxl-around{align-content:space-around!important}.align-content-xxxl-stretch{align-content:stretch!important}.align-self-xxxl-auto{align-self:auto!important}.align-self-xxxl-start{align-self:flex-start!important}.align-self-xxxl-end{align-self:flex-end!important}.align-self-xxxl-center{align-self:center!important}.align-self-xxxl-baseline{align-self:baseline!important}.align-self-xxxl-stretch{align-self:stretch!important}.m-xxxl-auto{margin:auto!important}.mt-xxxl-auto,.my-xxxl-auto{margin-top:auto!important}.mr-xxxl-auto,.mx-xxxl-auto{margin-right:auto!important}.mb-xxxl-auto,.my-xxxl-auto{margin-bottom:auto!important}.ml-xxxl-auto,.mx-xxxl-auto{margin-left:auto!important}}@media (min-width: 1921px){.flex-xxxxl-row{flex-direction:row!important}.flex-xxxxl-column{flex-direction:column!important}.flex-xxxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxxl-wrap{flex-wrap:wrap!important}.flex-xxxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxxl-fill{flex:1 1 auto!important}.flex-xxxxl-grow-0{flex-grow:0!important}.flex-xxxxl-grow-1{flex-grow:1!important}.flex-xxxxl-shrink-0{flex-shrink:0!important}.flex-xxxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxxl-start{justify-content:flex-start!important}.justify-content-xxxxl-end{justify-content:flex-end!important}.justify-content-xxxxl-center{justify-content:center!important}.justify-content-xxxxl-between{justify-content:space-between!important}.justify-content-xxxxl-around{justify-content:space-around!important}.align-items-xxxxl-start{align-items:flex-start!important}.align-items-xxxxl-end{align-items:flex-end!important}.align-items-xxxxl-center{align-items:center!important}.align-items-xxxxl-baseline{align-items:baseline!important}.align-items-xxxxl-stretch{align-items:stretch!important}.align-content-xxxxl-start{align-content:flex-start!important}.align-content-xxxxl-end{align-content:flex-end!important}.align-content-xxxxl-center{align-content:center!important}.align-content-xxxxl-between{align-content:space-between!important}.align-content-xxxxl-around{align-content:space-around!important}.align-content-xxxxl-stretch{align-content:stretch!important}.align-self-xxxxl-auto{align-self:auto!important}.align-self-xxxxl-start{align-self:flex-start!important}.align-self-xxxxl-end{align-self:flex-end!important}.align-self-xxxxl-center{align-self:center!important}.align-self-xxxxl-baseline{align-self:baseline!important}.align-self-xxxxl-stretch{align-self:stretch!important}.m-xxxxl-auto{margin:auto!important}.mt-xxxxl-auto,.my-xxxxl-auto{margin-top:auto!important}.mr-xxxxl-auto,.mx-xxxxl-auto{margin-right:auto!important}.mb-xxxxl-auto,.my-xxxxl-auto{margin-bottom:auto!important}.ml-xxxxl-auto,.mx-xxxxl-auto{margin-left:auto!important}}.mt--0{margin-top:0!important}.mb--0{margin-bottom:0!important}.pt--0{padding-top:0}.pb--0{padding-bottom:0}.mblock--0{margin-block:0px}.pblock--0{padding-block:0px}.mt--10{margin-top:10px!important}.mb--10{margin-bottom:10px!important}.pt--10{padding-top:10px}.pb--10{padding-bottom:10px}.mblock--10{margin-block:10px}.pblock--10{padding-block:10px}.mt--20{margin-top:20px!important}.mb--20{margin-bottom:20px!important}.pt--20{padding-top:20px}.pb--20{padding-bottom:20px}.mblock--20{margin-block:20px}.pblock--20{padding-block:20px}.mt--25{margin-top:25px!important}.mb--25{margin-bottom:25px!important}.pt--25{padding-top:25px}.pb--25{padding-bottom:25px}.mblock--25{margin-block:25px}.pblock--25{padding-block:25px}.mt--30{margin-top:30px!important}.mb--30{margin-bottom:30px!important}.pt--30{padding-top:30px}.pb--30{padding-bottom:30px}.mblock--30{margin-block:30px}.pblock--30{padding-block:30px}.mt--40{margin-top:40px!important}.mb--40{margin-bottom:40px!important}.pt--40{padding-top:40px}.pb--40{padding-bottom:40px}.mblock--40{margin-block:40px}.pblock--40{padding-block:40px}.mt--50{margin-top:50px!important}.mb--50{margin-bottom:50px!important}.pt--50{padding-top:50px}.pb--50{padding-bottom:50px}.mblock--50{margin-block:50px}.pblock--50{padding-block:50px}.mt--60{margin-top:60px!important}.mb--60{margin-bottom:60px!important}.pt--60{padding-top:60px}.pb--60{padding-bottom:60px}.mblock--60{margin-block:60px}.pblock--60{padding-block:60px}.mt--70{margin-top:70px!important}.mb--70{margin-bottom:70px!important}.pt--70{padding-top:70px}.pb--70{padding-bottom:70px}.mblock--70{margin-block:70px}.pblock--70{padding-block:70px}.mt--80{margin-top:80px!important}.mb--80{margin-bottom:80px!important}.pt--80{padding-top:80px}.pb--80{padding-bottom:80px}.mblock--80{margin-block:80px}.pblock--80{padding-block:80px}.mt--90{margin-top:90px!important}.mb--90{margin-bottom:90px!important}.pt--90{padding-top:90px}.pb--90{padding-bottom:90px}.mblock--90{margin-block:90px}.pblock--90{padding-block:90px}.mt--100{margin-top:100px!important}.mb--100{margin-bottom:100px!important}.pt--100{padding-top:100px}.pb--100{padding-bottom:100px}.mblock--100{margin-block:100px}.pblock--100{padding-block:100px}.mt--150{margin-top:150px!important}.mb--150{margin-bottom:150px!important}.pt--150{padding-top:150px}.pb--150{padding-bottom:150px}.mblock--150{margin-block:150px}.pblock--150{padding-block:150px}.mt--180{margin-top:180px!important}.mb--180{margin-bottom:180px!important}.pt--180{padding-top:180px}.pb--180{padding-bottom:180px}.mblock--180{margin-block:180px}.pblock--180{padding-block:180px}@keyframes move-right{0%{right:30px}50%{right:20px}to{right:30px}}:root{--font-title: \"the-seasons\", Helvetica, sans-serif;--font-pretitle: \"Poppins\", Helvetica, sans-serif;--font-text: \"Poppins\", Helvetica, sans-serif;--font-claim: \"turbinado-pro\", Helvetica, sans-serif;--cl_corp: #24262d;--cl_accent: #aa8453;--cl_icon: #978667;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #24262d;--cl_breadcrumb-hover: #978667;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #fdfbf8;--cl_background_white: #fff;--cl_background_dark: #19314b;--cl_background_gray: #eee;--cl_background_dark-opacity: #19314bbf;--cl_background_dark-opacity-v2: #1326398b;--cl_background_body-transparent: #ffffffe7;--cl_title: #978667;--cl_subtitle: #19314b;--cl_pretitle: #19314b;--cl_text: #3c3b3b;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_text-disable: #888;--w_title: 600;--w_text: 300;--w_subtitle: 300;--w_pretitle: 300;--padding-bottom-slider: 0px;--lh_pretitle-slider: 1.2;--lh_title-slider: 1.2;--cl_header-bg-nosticky: #0000001a;--cl_header-text-nosticky: #fff;--cl_header-bg-sticky: #eee;--cl_header-text-sticky: #19314b;--cl_header-bg-mobile: #b6b6b6;--cl_headerBottom-bg-mobile: #b6b6b6;--cl_header-text-mobile: #19314b;--cl_menu-modal-bg: #19314b;--cl_menu-modal-items: #978667;--cl_menu-modal-items-hover: #fff;--cl_menu-modal-text: #fff;--cl_menu-modal-text-hover: #fff;--ls_menu-modal-items: 1px;--w_menu-modal-items: 300;--hg_menu-img-height: 15rem;--cl_submenu-bg: #19314b;--cl_submenu-text: #fff;--cl_submenu-hover: #978667;--w_btn: 400;--size_btn: 14px;--size_link: 14px;--ls_link: 1px;--ls_btn: 1px;--upper_btn: uppercase;--upper_link: uppercase;--font-btn: \"Poppins\", Helvetica, sans-serif;--font-link: \"Poppins\", Helvetica, sans-serif;--cl_btn-box: #19314b;--cl_btn-box-text: #19314b;--cl_btn-box-hover: #978667;--cl_btn-box-text-hover: #fff;--cl_btn-call: #19314bf2;--cl_btn-call-text: #fff;--cl_btn-call-hover: #978667;--cl_btn-call-text-hover: #fff;--cl_btn-link: #19314b;--cl_btn-link-hover: #978667;--cl_btn-arrow: #19314b;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #978667;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #24262d;--cl_btn-dots-active: #978667;--cl_btn-dots-hover: #978667;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #978667;--cl_btn-light-text-hover: #978667;--cl_footer-bg: #19314b;--cl_footer-bg-bottom: #0a1d31;--cl_footer-bg-logos: #f8f7f3;--cl_footer-scroll: #978667;--cl_footer-text: #fff;--cl_footer-text-hover: #978667;--btn_radius: 5px;--img_radius: 5px;--img_border: #fff;--img_border-width: 1px;--dropdown-radius: 20px;--cl_background_dropdown: #fdfbf8;--cl_border-dropdown: #d9e1e6;--font-size-engine-text: 14px;--cl_engine-text: #19314b;--cl_engine-bg-nosticky: #ffffffcf;--cl_engine-text-nosticky: #19314b;--cl_engine-bg-sticky: #ffffff00;--cl_engine-text-sticky: #19314b;--cl_engine-bg-modal: #19314bbf;--cl_engine-input-bg: #ebebeb;--cl_engine-input-bg-select: #ebebeb;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a;--cl_error: #ff7173;--cl_desde: #bcbbc3;--cl_price: #19314b;--cl_badget: #ff8874;--cl_badget-text: #fff;--alg-service-room-detail: center;--cl_alert-text: #19314b;--cl_alert-text-error: #fff;--cl_alert-background: #fff;--cl_alert-background-error: rgb(230, 92, 92);--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: var(--cl_corp);--mdc-checkbox-selected-hover-icon-color: var(--cl_corp);--mdc-checkbox-selected-icon-color: var(--cl_corp);--mdc-checkbox-selected-pressed-icon-color: var(--cl_corp);--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-hover-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-pressed-state-layer-color: var(--cl_corp);--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black;--mat-checkbox-disabled-label-color: rgba(0, 0, 0, .38);--primary: #4a4a49;--cream: #f9f8f5;--white: #ffffff;--black: #000000;--whatsapp: #24cc63;--logo: #616161;--grey: #dcdcdc;--darkgrey: #1e1e1e;--instagram: #61bdff;--facebook: #3782f4;--twitter: #4a4a49;--youtube: #d9464b;--tripadvisor: #34e0a1;--booking: #0c3b7c;--silver: #c0bebe;--gold: #ffca64;--platinum: #b5d9e2}.cs_dark{--cl_corp: #181818;--cl_accent: #aa8453;--cl_icon: #aa8453;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #fff;--cl_breadcrumb-hover: #aa8453;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #181818;--cl_background_white: transparent;--cl_background_dark: #aa8453;--cl_background_gray: #333;--type-align: center;--cl_title: #fff;--cl_subtitle: #aa8453;--cl_pretitle: #aa8453;--cl_text: #fff;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_header-bg: #aa8453;--cl_header-text-light: #fff;--cl_menu-bg: #79582c;--cl_menu-text: #fff;--cl_btn-box: #aa8453;--cl_btn-box-text: #aa8453;--cl_btn-box-hover: #79582c;--cl_btn-box-text-hover: #fff;--cl_btn-call: #aa8453;--cl_btn-call-text: white;--cl_btn-call-hover: #79582c;--cl_btn-call-text-hover: #fff;--cl_btn-link: #aa8453;--cl_btn-link-hover: #79582c;--cl_btn-arrow: #ffffff3a;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #79582c;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #eee;--cl_btn-dots-active: #79582c;--cl_btn-dots-hover: #79582c;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #79582c;--cl_btn-light-text-hover: #79582c;--cl_footer-bg: #aa8453;--cl_footer-bg-bottom: #79582c;--cl_footer-scroll: #aa8453;--cl_footer-text: #fff;--cl_footer-text-hover: #aa8453;--btn_radius: 1px;--img_radius: 0px;--img_border: #fff;--img_border-width: 2px;--cl_engine-bg: #181818;--cl_engine-input-bg: #79582c;--cl_engine-input-bg-hover: #081523;--cl_engine-text: #fff;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_dropdown-radius: 20px;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a}.container{max-width:100%}.modal{opacity:1!important;pointer-events:all!important}.modal.modal__reservar{background:var(--white);display:flex;isolation:isolate}.modal--open.reservar .modal.modal__reservar{opacity:1;pointer-events:auto}.modal.modal__reservar .modal__inner{display:flex;justify-content:center;width:100%;position:relative}.modal.modal__reservar .modal__box{overflow-x:clip;padding-block:6rem 15.3rem;width:100%;background:var(--white);display:flex;flex-direction:column;gap:3rem;align-items:center;height:max-content;min-height:100%}@media (min-width: 540px){.modal.modal__reservar .modal__box{padding-block:6rem 14.3rem;gap:4rem}}@media (min-width: 768px){.modal.modal__reservar .modal__box{max-width:48rem;padding-block:10rem 18.505rem;gap:5rem}}@media (min-width: 1024px){.modal.modal__reservar .modal__box{padding-block:10rem}}@media (min-width: 1680px){.modal.modal__reservar .modal__box{max-width:60rem;padding-block:13rem}}@media (min-width: 1800px){.modal.modal__reservar .modal__box{padding-block:18rem}}.modal.modal__reservar .modal__box h2{text-align:center;width:min-content;font-size:4.6rem;line-height:1}@media (min-width: 540px){.modal.modal__reservar .modal__box h2{font-size:6.4rem;line-height:1}}@media (min-width: 768px){.modal.modal__reservar .modal__box h2{font-size:8rem;line-height:1}}@media (min-width: 1680px){.modal.modal__reservar .modal__box h2{font-size:9rem;line-height:1}}.modal.modal__reservar .modal__close{top:2rem}@media (min-width: 540px){.modal.modal__reservar .modal__close{top:3rem;right:3rem}}@media (min-width: 768px){.modal.modal__reservar .modal__close{top:4rem;right:4rem}}@media (min-width: 1024px){.modal.modal__reservar .modal__close{top:3rem;right:3rem}}@media (min-width: 1680px){.modal.modal__reservar .modal__close{top:5rem;right:5rem}}.modal.modal__reservar .modal__reservar-graphic{opacity:0;pointer-events:none;position:fixed;inset:0;z-index:-1;overflow:clip}@media (min-width: 1024px){.modal.modal__reservar .modal__reservar-graphic{opacity:1}}.modal.modal__reservar .modal__reservar-graphic img{animation:zoomInOut 5s infinite ease-in-out;transform-origin:center}.modal.modal__reservar .modal__reservar-form .btn__group{justify-content:center}.modal.modal__reservar .modal__reservar-form{display:flex;flex-direction:column;gap:3rem;width:100%;max-width:28rem}.modal.modal__reservar .modal__reservar-form .sub-fields{display:none;background:var(--cream);transform:translateY(-1rem);margin-inline:-20rem;padding:3rem 20rem}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group{margin-bottom:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .select-control,.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-control{border-color:var(--grey);background:var(--white)}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--label{padding-top:1.1rem;padding-bottom:3.2rem;line-height:1;background:transparent}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--inner{position:relative;max-height:fit-content}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group-box{display:none;width:calc(100% - 11.5rem);margin-top:0rem;margin-left:2rem;background:var(--white);padding:2.5rem 2rem 2.4rem 1.8rem;border:1px solid var(--grey)}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group-box--heading{font-size:1.6rem;line-height:1;text-transform:uppercase;margin-bottom:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner{position:relative}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .select-control{height:3.8rem;padding:1rem 2rem 1rem 1rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .label{font-size:1.4rem;line-height:1;margin-bottom:.6rem;display:block}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .input-group--icon{top:3.2rem;right:.5rem;transform:translateY(0)}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .input-group--icon svg.down-arrow{display:block!important}.modal.modal__reservar .modal__reservar-form .sub-fields[style=\"display: block;\"]{display:flex!important;flex-direction:column}.js-personas-subfields.final .input-group--label{padding-top:1.1rem;padding-bottom:3.2rem;line-height:1;background:transparent}:host ::ng-deep .p-calendar{width:100%}:host ::ng-deep .p-inputtext{background:transparent;border:none;padding:1rem 0 0!important}:host ::ng-deep input:focus-visible{outline:none!important}:host ::ng-deep .p-calendar:not(.p-calendar-disabled).p-focus>.p-inputtext{box-shadow:0 0 0 .2rem transparent!important}\n"] }]
|
|
262
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"modal modal__reservar\">\n <div class=\"modal__inner\">\n <div\n class=\"modal__close js-close\"\n data-modal_name=\"reservar\"\n role=\"button\"\n (click)=\"closeModal()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use href=\"/assets/babylon/svg/icon-close.svg#icon-close\"></use>\n </svg>\n </div>\n <figure class=\"modal__reservar-graphic\">\n <img src=\"/assets/babylon/images/img-40.webp\" />\n </figure>\n <div class=\"modal__box\">\n @if (title) {\n <h2>{{ title }}</h2>\n }\n <div class=\"modal__reservar-form\" [formGroup]=\"form\">\n @if (datepickerData) {\n <div class=\"input-group\" (click)=\"openCalendar()\">\n <label class=\"input-group--label\" for=\"In-date\">{{\n datepickerData.placeholder\n }}</label>\n\n <p-calendar\n class=\"input-control\"\n [showOtherMonths]=\"false\"\n dateFormat=\"dd-mm-yy\"\n selectionMode=\"range\"\n [placeholder]=\"displayDates\"\n formControlName=\"dates\"\n [numberOfMonths]=\"2\"\n #datepicker\n [readonlyInput]=\"true\"\n [showOnFocus]=\"false\"\n (onSelect)=\"onDateSelect()\"\n ></p-calendar>\n <span\n class=\"input-group--icon\"\n (click)=\"openCalendar()\"\n >\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-calender.svg#icon-calender\"\n ></use>\n </svg>\n </span>\n </div>\n }\n\n @if (guestsInput) {\n <div\n class=\"input-group js-personas-subfields\"\n role=\"button\"\n (click)=\"togglePersonas()\"\n [class.open]=\"showSubfields\"\n [class.final]=\"finalizedGuests\"\n >\n <span class=\"input-control\">{{\n guestsValue || '01'\n }}</span>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"persons\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-persons.svg#icon-persons\"\n ></use>\n </svg>\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (guests) {\n <div\n class=\"sub-fields\"\n [style.display]=\"showSubfields ? 'block' : 'none'\"\n >\n @if (guests.adultsDropdown) {\n <div class=\"input-group\">\n <label\n class=\"input-group--label\"\n for=\"adult1\"\n >{{ guests.adultsDropdown.title }}</label\n >\n <select\n class=\"select-control\"\n name=\"Adultos\"\n id=\"adult1\"\n #adult1\n [value]=\"guestsValueSeparates.adults\"\n (change)=\"onAdultsChange($event)\"\n >\n <!-- <option value=\"0\" selected>00</option> -->\n @for (\n option of guests.adultsDropdown.options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-persons.svg#icon-persons\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (guests.kidsDropdown) {\n <div class=\"input-group\">\n <div\n class=\"input-group--inner childAge-group-list\"\n >\n <label\n class=\"input-group--label\"\n for=\"child1\"\n >{{ guests.kidsDropdown.title }}</label\n >\n <select\n class=\"select-control\"\n name=\"Ni\u00F1os\"\n id=\"child1\"\n #child1\n [value]=\"guestsValueSeparates.kids\"\n (change)=\"onChildrenChange($event)\"\n >\n @for (\n option of guests.kidsDropdown\n .options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"user\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-user.svg#icon-user\"\n ></use>\n </svg>\n </span>\n </div>\n <div\n class=\"age-group-box children-list\"\n [style.display]=\"\n showChildrenAges ? 'block' : 'none'\n \"\n >\n <legend class=\"age-group-box--heading\">\n {{ guests.agesLabel }}\n </legend>\n <div class=\"age-group\">\n @for (\n childAge of childrenAgeSelections;\n track $index\n ) {\n <div class=\"input-group-inner\">\n <label\n class=\"label\"\n [for]=\"\n 'children-age' +\n ($index + 1)\n \"\n >{{ guests.kidsLabel || 'Nino' }}\n {{ $index + 1 }}</label\n >\n <select\n class=\"select-control\"\n [name]=\"\n 'children-age' +\n ($index + 1)\n \"\n [id]=\"\n 'children-age' +\n ($index + 1)\n \"\n [value]=\"childAge\"\n (change)=\"\n onChildAgeChange(\n $index,\n $event\n )\n \"\n >\n @for (\n option of childAgeOptions;\n track option.code\n ) {\n <option\n [value]=\"option.code\"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <span\n class=\"input-group--icon\"\n >\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n @if (guests.babiesDropdown) {\n <div class=\"input-group\">\n <div class=\"input-group--inner babiesAge-group-list\">\n <label\n class=\"input-group--label\"\n for=\"babies1\"\n >{{\n guests.babiesDropdown.title\n }}</label\n >\n <select\n class=\"select-control\"\n name=\"Beb\u00E9s\"\n id=\"babies1\"\n #babies1\n [value]=\"guestsValueSeparates.infants\"\n (change)=\"onBabiesChange($event)\"\n >\n @for (\n option of guests.babiesDropdown\n .options;\n track $index\n ) {\n <option [value]=\"option.code\">\n {{ option.name }}\n </option>\n }\n </select>\n <span class=\"input-group--icon\">\n <svg\n aria-hidden=\"true\"\n class=\"baby\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-user.svg#icon-user\"\n ></use>\n </svg>\n </span>\n </div>\n <div\n class=\"age-group-box babies-list\"\n [style.display]=\"\n showBabiesAges ? 'block' : 'none'\n \"\n >\n <legend class=\"age-group-box--heading\">\n {{ guests.agesLabel }}\n </legend>\n <div class=\"age-group\">\n @for (\n babyAge of babiesAgeSelections;\n track $index\n ) {\n <div class=\"input-group-inner\">\n <label\n class=\"label\"\n [for]=\"\n 'babies-age' +\n ($index + 1)\n \"\n >{{\n guests.babiesLabel ||\n 'Bebe'\n }}\n {{ $index + 1 }}</label\n >\n <select\n class=\"select-control\"\n [name]=\"\n 'babies-age' +\n ($index + 1)\n \"\n [id]=\"\n 'babies-age' +\n ($index + 1)\n \"\n [value]=\"babyAge\"\n (change)=\"\n onBabiesAgeChange(\n $index,\n $event\n )\n \"\n >\n @for (\n option of babyAgeOptions;\n track option.code\n ) {\n <option\n [value]=\"option.code\"\n >\n {{ option.name }}\n </option>\n }\n </select>\n <span\n class=\"input-group--icon\"\n >\n <svg\n aria-hidden=\"true\"\n class=\"down-arrow\"\n focusable=\"false\"\n >\n <use\n href=\"/assets/babylon/svg/icon-arrow.svg#icon-arrow\"\n ></use>\n </svg>\n </span>\n </div>\n }\n </div>\n </div>\n </div>\n }\n <div class=\"btn__group\">\n <button\n type=\"submit\"\n class=\"btn btn__secondary js-apply-guests1\"\n role=\"button\"\n (click)=\"applyGuestsFromViewChildren()\"\n >\n <span>{{ guests.btn?.label }}</span>\n </button>\n </div>\n </div>\n }\n @if (promoInput) {\n <div class=\"input-group\">\n <label class=\"input-group--label\" for=\"email\">{{\n promoInput.placeholder\n }}</label>\n <input\n type=\"text\"\n class=\"input-control\"\n name=\"email\"\n id=\"email\"\n placeholder=\"...\"\n formControlName=\"promo\"\n />\n <span class=\"input-group--icon\">\n <svg aria-hidden=\"true\" focusable=\"false\">\n <use\n href=\"/assets/babylon/svg/icon-promo.svg#icon-promo\"\n ></use>\n </svg>\n </span>\n </div>\n }\n @if (button) {\n <div class=\"btn__group\">\n <a\n class=\"btn btn__primary\"\n [attr.target]=\"openInNewWindow ? '_blank' : '_self'\"\n [attr.aria-label]=\"button.label\"\n [href]=\"generatedUrl\"\n (click)=\"updateGeneratedUrl(); closeModal()\"\n >\n <span>{{ button.label }}</span>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n</div>\n", styles: ["@media (min-width: 1280px){.order-custom-xl-xxl-1{order:1}.order-custom-xl-xxl-2{order:2}}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width: 540px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width: 768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width: 1025px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width: 1280px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}@media (min-width: 1366px){.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.m-xxl-auto{margin:auto!important}.mt-xxl-auto,.my-xxl-auto{margin-top:auto!important}.mr-xxl-auto,.mx-xxl-auto{margin-right:auto!important}.mb-xxl-auto,.my-xxl-auto{margin-bottom:auto!important}.ml-xxl-auto,.mx-xxl-auto{margin-left:auto!important}}@media (min-width: 1680px){.flex-xxxl-row{flex-direction:row!important}.flex-xxxl-column{flex-direction:column!important}.flex-xxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxl-wrap{flex-wrap:wrap!important}.flex-xxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxl-fill{flex:1 1 auto!important}.flex-xxxl-grow-0{flex-grow:0!important}.flex-xxxl-grow-1{flex-grow:1!important}.flex-xxxl-shrink-0{flex-shrink:0!important}.flex-xxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxl-start{justify-content:flex-start!important}.justify-content-xxxl-end{justify-content:flex-end!important}.justify-content-xxxl-center{justify-content:center!important}.justify-content-xxxl-between{justify-content:space-between!important}.justify-content-xxxl-around{justify-content:space-around!important}.align-items-xxxl-start{align-items:flex-start!important}.align-items-xxxl-end{align-items:flex-end!important}.align-items-xxxl-center{align-items:center!important}.align-items-xxxl-baseline{align-items:baseline!important}.align-items-xxxl-stretch{align-items:stretch!important}.align-content-xxxl-start{align-content:flex-start!important}.align-content-xxxl-end{align-content:flex-end!important}.align-content-xxxl-center{align-content:center!important}.align-content-xxxl-between{align-content:space-between!important}.align-content-xxxl-around{align-content:space-around!important}.align-content-xxxl-stretch{align-content:stretch!important}.align-self-xxxl-auto{align-self:auto!important}.align-self-xxxl-start{align-self:flex-start!important}.align-self-xxxl-end{align-self:flex-end!important}.align-self-xxxl-center{align-self:center!important}.align-self-xxxl-baseline{align-self:baseline!important}.align-self-xxxl-stretch{align-self:stretch!important}.m-xxxl-auto{margin:auto!important}.mt-xxxl-auto,.my-xxxl-auto{margin-top:auto!important}.mr-xxxl-auto,.mx-xxxl-auto{margin-right:auto!important}.mb-xxxl-auto,.my-xxxl-auto{margin-bottom:auto!important}.ml-xxxl-auto,.mx-xxxl-auto{margin-left:auto!important}}@media (min-width: 1921px){.flex-xxxxl-row{flex-direction:row!important}.flex-xxxxl-column{flex-direction:column!important}.flex-xxxxl-row-reverse{flex-direction:row-reverse!important}.flex-xxxxl-column-reverse{flex-direction:column-reverse!important}.flex-xxxxl-wrap{flex-wrap:wrap!important}.flex-xxxxl-nowrap{flex-wrap:nowrap!important}.flex-xxxxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxxxl-fill{flex:1 1 auto!important}.flex-xxxxl-grow-0{flex-grow:0!important}.flex-xxxxl-grow-1{flex-grow:1!important}.flex-xxxxl-shrink-0{flex-shrink:0!important}.flex-xxxxl-shrink-1{flex-shrink:1!important}.justify-content-xxxxl-start{justify-content:flex-start!important}.justify-content-xxxxl-end{justify-content:flex-end!important}.justify-content-xxxxl-center{justify-content:center!important}.justify-content-xxxxl-between{justify-content:space-between!important}.justify-content-xxxxl-around{justify-content:space-around!important}.align-items-xxxxl-start{align-items:flex-start!important}.align-items-xxxxl-end{align-items:flex-end!important}.align-items-xxxxl-center{align-items:center!important}.align-items-xxxxl-baseline{align-items:baseline!important}.align-items-xxxxl-stretch{align-items:stretch!important}.align-content-xxxxl-start{align-content:flex-start!important}.align-content-xxxxl-end{align-content:flex-end!important}.align-content-xxxxl-center{align-content:center!important}.align-content-xxxxl-between{align-content:space-between!important}.align-content-xxxxl-around{align-content:space-around!important}.align-content-xxxxl-stretch{align-content:stretch!important}.align-self-xxxxl-auto{align-self:auto!important}.align-self-xxxxl-start{align-self:flex-start!important}.align-self-xxxxl-end{align-self:flex-end!important}.align-self-xxxxl-center{align-self:center!important}.align-self-xxxxl-baseline{align-self:baseline!important}.align-self-xxxxl-stretch{align-self:stretch!important}.m-xxxxl-auto{margin:auto!important}.mt-xxxxl-auto,.my-xxxxl-auto{margin-top:auto!important}.mr-xxxxl-auto,.mx-xxxxl-auto{margin-right:auto!important}.mb-xxxxl-auto,.my-xxxxl-auto{margin-bottom:auto!important}.ml-xxxxl-auto,.mx-xxxxl-auto{margin-left:auto!important}}.mt--0{margin-top:0!important}.mb--0{margin-bottom:0!important}.pt--0{padding-top:0}.pb--0{padding-bottom:0}.mblock--0{margin-block:0px}.pblock--0{padding-block:0px}.mt--10{margin-top:10px!important}.mb--10{margin-bottom:10px!important}.pt--10{padding-top:10px}.pb--10{padding-bottom:10px}.mblock--10{margin-block:10px}.pblock--10{padding-block:10px}.mt--20{margin-top:20px!important}.mb--20{margin-bottom:20px!important}.pt--20{padding-top:20px}.pb--20{padding-bottom:20px}.mblock--20{margin-block:20px}.pblock--20{padding-block:20px}.mt--25{margin-top:25px!important}.mb--25{margin-bottom:25px!important}.pt--25{padding-top:25px}.pb--25{padding-bottom:25px}.mblock--25{margin-block:25px}.pblock--25{padding-block:25px}.mt--30{margin-top:30px!important}.mb--30{margin-bottom:30px!important}.pt--30{padding-top:30px}.pb--30{padding-bottom:30px}.mblock--30{margin-block:30px}.pblock--30{padding-block:30px}.mt--40{margin-top:40px!important}.mb--40{margin-bottom:40px!important}.pt--40{padding-top:40px}.pb--40{padding-bottom:40px}.mblock--40{margin-block:40px}.pblock--40{padding-block:40px}.mt--50{margin-top:50px!important}.mb--50{margin-bottom:50px!important}.pt--50{padding-top:50px}.pb--50{padding-bottom:50px}.mblock--50{margin-block:50px}.pblock--50{padding-block:50px}.mt--60{margin-top:60px!important}.mb--60{margin-bottom:60px!important}.pt--60{padding-top:60px}.pb--60{padding-bottom:60px}.mblock--60{margin-block:60px}.pblock--60{padding-block:60px}.mt--70{margin-top:70px!important}.mb--70{margin-bottom:70px!important}.pt--70{padding-top:70px}.pb--70{padding-bottom:70px}.mblock--70{margin-block:70px}.pblock--70{padding-block:70px}.mt--80{margin-top:80px!important}.mb--80{margin-bottom:80px!important}.pt--80{padding-top:80px}.pb--80{padding-bottom:80px}.mblock--80{margin-block:80px}.pblock--80{padding-block:80px}.mt--90{margin-top:90px!important}.mb--90{margin-bottom:90px!important}.pt--90{padding-top:90px}.pb--90{padding-bottom:90px}.mblock--90{margin-block:90px}.pblock--90{padding-block:90px}.mt--100{margin-top:100px!important}.mb--100{margin-bottom:100px!important}.pt--100{padding-top:100px}.pb--100{padding-bottom:100px}.mblock--100{margin-block:100px}.pblock--100{padding-block:100px}.mt--150{margin-top:150px!important}.mb--150{margin-bottom:150px!important}.pt--150{padding-top:150px}.pb--150{padding-bottom:150px}.mblock--150{margin-block:150px}.pblock--150{padding-block:150px}.mt--180{margin-top:180px!important}.mb--180{margin-bottom:180px!important}.pt--180{padding-top:180px}.pb--180{padding-bottom:180px}.mblock--180{margin-block:180px}.pblock--180{padding-block:180px}@keyframes move-right{0%{right:30px}50%{right:20px}to{right:30px}}:root{--font-title: \"the-seasons\", Helvetica, sans-serif;--font-pretitle: \"Poppins\", Helvetica, sans-serif;--font-text: \"Poppins\", Helvetica, sans-serif;--font-claim: \"turbinado-pro\", Helvetica, sans-serif;--cl_corp: #24262d;--cl_accent: #aa8453;--cl_icon: #978667;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #24262d;--cl_breadcrumb-hover: #978667;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #fdfbf8;--cl_background_white: #fff;--cl_background_dark: #19314b;--cl_background_gray: #eee;--cl_background_dark-opacity: #19314bbf;--cl_background_dark-opacity-v2: #1326398b;--cl_background_body-transparent: #ffffffe7;--cl_title: #978667;--cl_subtitle: #19314b;--cl_pretitle: #19314b;--cl_text: #3c3b3b;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_text-disable: #888;--w_title: 600;--w_text: 300;--w_subtitle: 300;--w_pretitle: 300;--padding-bottom-slider: 0px;--lh_pretitle-slider: 1.2;--lh_title-slider: 1.2;--cl_header-bg-nosticky: #0000001a;--cl_header-text-nosticky: #fff;--cl_header-bg-sticky: #eee;--cl_header-text-sticky: #19314b;--cl_header-bg-mobile: #b6b6b6;--cl_headerBottom-bg-mobile: #b6b6b6;--cl_header-text-mobile: #19314b;--cl_menu-modal-bg: #19314b;--cl_menu-modal-items: #978667;--cl_menu-modal-items-hover: #fff;--cl_menu-modal-text: #fff;--cl_menu-modal-text-hover: #fff;--ls_menu-modal-items: 1px;--w_menu-modal-items: 300;--hg_menu-img-height: 15rem;--cl_submenu-bg: #19314b;--cl_submenu-text: #fff;--cl_submenu-hover: #978667;--w_btn: 400;--size_btn: 14px;--size_link: 14px;--ls_link: 1px;--ls_btn: 1px;--upper_btn: uppercase;--upper_link: uppercase;--font-btn: \"Poppins\", Helvetica, sans-serif;--font-link: \"Poppins\", Helvetica, sans-serif;--cl_btn-box: #19314b;--cl_btn-box-text: #19314b;--cl_btn-box-hover: #978667;--cl_btn-box-text-hover: #fff;--cl_btn-call: #19314bf2;--cl_btn-call-text: #fff;--cl_btn-call-hover: #978667;--cl_btn-call-text-hover: #fff;--cl_btn-link: #19314b;--cl_btn-link-hover: #978667;--cl_btn-arrow: #19314b;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #978667;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #24262d;--cl_btn-dots-active: #978667;--cl_btn-dots-hover: #978667;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #978667;--cl_btn-light-text-hover: #978667;--cl_footer-bg: #19314b;--cl_footer-bg-bottom: #0a1d31;--cl_footer-bg-logos: #f8f7f3;--cl_footer-scroll: #978667;--cl_footer-text: #fff;--cl_footer-text-hover: #978667;--btn_radius: 5px;--img_radius: 5px;--img_border: #fff;--img_border-width: 1px;--dropdown-radius: 20px;--cl_background_dropdown: #fdfbf8;--cl_border-dropdown: #d9e1e6;--font-size-engine-text: 14px;--cl_engine-text: #19314b;--cl_engine-bg-nosticky: #ffffffcf;--cl_engine-text-nosticky: #19314b;--cl_engine-bg-sticky: #ffffff00;--cl_engine-text-sticky: #19314b;--cl_engine-bg-modal: #19314bbf;--cl_engine-input-bg: #ebebeb;--cl_engine-input-bg-select: #ebebeb;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a;--cl_error: #ff7173;--cl_desde: #bcbbc3;--cl_price: #19314b;--cl_badget: #ff8874;--cl_badget-text: #fff;--alg-service-room-detail: center;--cl_alert-text: #19314b;--cl_alert-text-error: #fff;--cl_alert-background: #fff;--cl_alert-background-error: rgb(230, 92, 92);--mdc-checkbox-disabled-selected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-disabled-unselected-icon-color: rgba(0, 0, 0, .38);--mdc-checkbox-selected-checkmark-color: white;--mdc-checkbox-selected-focus-icon-color: var(--cl_corp);--mdc-checkbox-selected-hover-icon-color: var(--cl_corp);--mdc-checkbox-selected-icon-color: var(--cl_corp);--mdc-checkbox-selected-pressed-icon-color: var(--cl_corp);--mdc-checkbox-unselected-focus-icon-color: #212121;--mdc-checkbox-unselected-hover-icon-color: #212121;--mdc-checkbox-unselected-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-unselected-pressed-icon-color: rgba(0, 0, 0, .54);--mdc-checkbox-selected-focus-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-hover-state-layer-color: var(--cl_corp);--mdc-checkbox-selected-pressed-state-layer-color: var(--cl_corp);--mdc-checkbox-unselected-focus-state-layer-color: black;--mdc-checkbox-unselected-hover-state-layer-color: black;--mdc-checkbox-unselected-pressed-state-layer-color: black;--mat-checkbox-disabled-label-color: rgba(0, 0, 0, .38);--primary: #4a4a49;--cream: #f9f8f5;--white: #ffffff;--black: #000000;--whatsapp: #24cc63;--logo: #616161;--grey: #dcdcdc;--darkgrey: #1e1e1e;--instagram: #61bdff;--facebook: #3782f4;--twitter: #4a4a49;--youtube: #d9464b;--tripadvisor: #34e0a1;--booking: #0c3b7c;--silver: #c0bebe;--gold: #ffca64;--platinum: #b5d9e2}.cs_dark{--cl_corp: #181818;--cl_accent: #aa8453;--cl_icon: #aa8453;--cl_icon-light: #fff;--cl_border-light: #ededed;--cl_border-dark: #d9e1e6;--cl_shadow: rgba(0, 0, 0, .1);--cl_breadcrumb: #fff;--cl_breadcrumb-hover: #aa8453;--cl_preload-bg: #ededed;--cl_preload: #24262d;--cl_background_body: #181818;--cl_background_white: transparent;--cl_background_dark: #aa8453;--cl_background_gray: #333;--type-align: center;--cl_title: #fff;--cl_subtitle: #aa8453;--cl_pretitle: #aa8453;--cl_text: #fff;--cl_title-light: #fff;--cl_subtitle-light: #fff;--cl_pretitle-light: #fff;--cl_text-light: #fff;--cl_header-bg: #aa8453;--cl_header-text-light: #fff;--cl_menu-bg: #79582c;--cl_menu-text: #fff;--cl_btn-box: #aa8453;--cl_btn-box-text: #aa8453;--cl_btn-box-hover: #79582c;--cl_btn-box-text-hover: #fff;--cl_btn-call: #aa8453;--cl_btn-call-text: white;--cl_btn-call-hover: #79582c;--cl_btn-call-text-hover: #fff;--cl_btn-link: #aa8453;--cl_btn-link-hover: #79582c;--cl_btn-arrow: #ffffff3a;--cl_btn-arrow-icon: #fff;--cl_btn-arrow-hover: #79582c;--cl_btn-arrow-icon-hover: #fff;--cl_btn-dots: #eee;--cl_btn-dots-active: #79582c;--cl_btn-dots-hover: #79582c;--cl_btn-light: #fff;--cl_btn-light-text: #fff;--cl_btn-light-hover: #79582c;--cl_btn-light-text-hover: #79582c;--cl_footer-bg: #aa8453;--cl_footer-bg-bottom: #79582c;--cl_footer-scroll: #aa8453;--cl_footer-text: #fff;--cl_footer-text-hover: #aa8453;--btn_radius: 1px;--img_radius: 0px;--img_border: #fff;--img_border-width: 2px;--cl_engine-bg: #181818;--cl_engine-input-bg: #79582c;--cl_engine-input-bg-hover: #081523;--cl_engine-text: #fff;--cl_dropdown: #19314b;--cl_dropdown-text: #5a5a5a;--cl_dropdown-hover: #19314b;--cl_dropdown-radius: 20px;--cl_newsletter-input-background: #d1d1d1;--cl_newsletter-input-text: #5a5a5a}.container{max-width:100%}.modal{opacity:1!important;pointer-events:all!important}.modal.modal__reservar{background:var(--white);display:flex;isolation:isolate}.modal--open.reservar .modal.modal__reservar{opacity:1;pointer-events:auto}.modal.modal__reservar .modal__inner{display:flex;justify-content:center;width:100%;position:relative}.modal.modal__reservar .modal__box{overflow-x:clip;padding-block:6rem 15.3rem;width:100%;background:var(--white);display:flex;flex-direction:column;gap:3rem;align-items:center;height:max-content;min-height:100%}@media (min-width: 540px){.modal.modal__reservar .modal__box{padding-block:6rem 14.3rem;gap:4rem}}@media (min-width: 768px){.modal.modal__reservar .modal__box{max-width:48rem;padding-block:10rem 18.505rem;gap:5rem}}@media (min-width: 1024px){.modal.modal__reservar .modal__box{padding-block:10rem}}@media (min-width: 1680px){.modal.modal__reservar .modal__box{max-width:60rem;padding-block:13rem}}@media (min-width: 1800px){.modal.modal__reservar .modal__box{padding-block:18rem}}.modal.modal__reservar .modal__box h2{text-align:center;width:min-content;font-size:4.6rem;line-height:1}@media (min-width: 540px){.modal.modal__reservar .modal__box h2{font-size:6.4rem;line-height:1}}@media (min-width: 768px){.modal.modal__reservar .modal__box h2{font-size:8rem;line-height:1}}@media (min-width: 1680px){.modal.modal__reservar .modal__box h2{font-size:9rem;line-height:1}}.modal.modal__reservar .modal__close{top:2rem}@media (min-width: 540px){.modal.modal__reservar .modal__close{top:3rem;right:3rem}}@media (min-width: 768px){.modal.modal__reservar .modal__close{top:4rem;right:4rem}}@media (min-width: 1024px){.modal.modal__reservar .modal__close{top:3rem;right:3rem}}@media (min-width: 1680px){.modal.modal__reservar .modal__close{top:5rem;right:5rem}}.modal.modal__reservar .modal__reservar-graphic{opacity:0;pointer-events:none;position:fixed;inset:0;z-index:-1;overflow:clip}@media (min-width: 1024px){.modal.modal__reservar .modal__reservar-graphic{opacity:1}}.modal.modal__reservar .modal__reservar-graphic img{animation:zoomInOut 5s infinite ease-in-out;transform-origin:center}.modal.modal__reservar .modal__reservar-form .btn__group{justify-content:center}.modal.modal__reservar .modal__reservar-form{display:flex;flex-direction:column;gap:3rem;width:100%;max-width:28rem}.modal.modal__reservar .modal__reservar-form .sub-fields{display:none;background:var(--cream);transform:translateY(-1rem);margin-inline:-20rem;padding:3rem 20rem}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group{margin-bottom:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .select-control,.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-control{border-color:var(--grey);background:var(--white)}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--label{padding-top:1.1rem;padding-bottom:3.2rem;line-height:1;background:transparent}.modal.modal__reservar .modal__reservar-form .sub-fields>.input-group .input-group--inner{position:relative;max-height:fit-content}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group-box{display:none;width:calc(100% - 11.5rem);margin-top:0rem;margin-left:2rem;background:var(--white);padding:2.5rem 2rem 2.4rem 1.8rem;border:1px solid var(--grey)}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group-box--heading{font-size:1.6rem;line-height:1;text-transform:uppercase;margin-bottom:2rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner{position:relative}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .select-control{height:3.8rem;padding:1rem 2rem 1rem 1rem}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .label{font-size:1.4rem;line-height:1;margin-bottom:.6rem;display:block}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .input-group--icon{top:3.2rem;right:.5rem;transform:translateY(0)}.modal.modal__reservar .modal__reservar-form .sub-fields .age-group .input-group-inner .input-group--icon svg.down-arrow{display:block!important}.modal.modal__reservar .modal__reservar-form .sub-fields[style=\"display: block;\"]{display:flex!important;flex-direction:column}.js-personas-subfields.final .input-group--label{padding-top:1.1rem;padding-bottom:3.2rem;line-height:1;background:transparent}:host ::ng-deep .p-calendar{width:100%}:host ::ng-deep .p-inputtext{background:transparent;border:none;padding:1rem 0 0!important}:host ::ng-deep input:focus-visible{outline:none!important}:host ::ng-deep .p-calendar:not(.p-calendar-disabled).p-focus>.p-inputtext{box-shadow:0 0 0 .2rem transparent!important}\n"] }]
|
|
224
263
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { datepicker: [{
|
|
225
264
|
type: ViewChild,
|
|
226
265
|
args: ['datepicker']
|
|
@@ -243,4 +282,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
243
282
|
}], close: [{
|
|
244
283
|
type: Output
|
|
245
284
|
}] } });
|
|
246
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1lbmdpbmUtbW9kYWwtdjIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9iYWJ5bG9uLWVuZ2luZS1tb2RhbC12Mi9iYWJ5bG9uLWVuZ2luZS1tb2RhbC12Mi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tZW5naW5lLW1vZGFsLXYyL2JhYnlsb24tZW5naW5lLW1vZGFsLXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFdBQVcsRUFDWCxTQUFTLEVBQ1QsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixVQUFVLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQVksY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQXdCbEQsTUFBTSxPQUFPLDZCQUE2QjtJQWdEdEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFwQ2hDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTNDLFNBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUNqQixLQUFLLEVBQUUsSUFBSSxXQUFXLENBQWdCLElBQUksRUFBRSxVQUFV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MUMsc2ppQkE0VUEsc284QkQzU1EsV0FBVyxtVkFDWCxtQkFBbUIsOExBQ25CLGNBQWMsMHpDQUNkLFlBQVksOEJBQ1osY0FBYyw4QkFDZCxZQUFZOzs0RkFNUCw2QkFBNkI7a0JBZnpDLFNBQVM7K0JBQ0ksNkJBQTZCLGNBQzNCLElBQUksV0FDUDt3QkFDTCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsWUFBWTtxQkFDZixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTTtzRkFHdEIsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUVkLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFFSSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgRm9ybUNvbnRyb2wsXG4gICAgRm9ybUdyb3VwLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVmFsaWRhdG9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2FsZW5kYXIsIENhbGVuZGFyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jYWxlbmRhcic7XG5pbXBvcnQgeyBEaWFsb2dNb2R1bGUgfSBmcm9tICdwcmltZW5nL2RpYWxvZyc7XG5pbXBvcnQgeyBEcm9wZG93bk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xuaW1wb3J0IHsgQmFieWxvbkJ1dHRvbkksIEJhYnlsb25JbnB1dEkgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IEJhYnlsb25HdWVzdHNQb3B1cEkgfSBmcm9tICcuLi9iYWJ5bG9uLWd1ZXN0cy1wb3B1cC9iYWJ5bG9uLWd1ZXN0cy1wb3B1cC5pbnRlcmZhY2UnO1xuXG50eXBlIEFnZU9wdGlvbiA9IHtcbiAgICBjb2RlOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdsaWItYmFieWxvbi1lbmdpbmUtbW9kYWwtdjInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgQ2FsZW5kYXJNb2R1bGUsXG4gICAgICAgIERpYWxvZ01vZHVsZSxcbiAgICAgICAgRHJvcGRvd25Nb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICBdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYWJ5bG9uLWVuZ2luZS1tb2RhbC12Mi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2JhYnlsb24tZW5naW5lLW1vZGFsLXYyLmNvbXBvbmVudC5zY3NzJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQmFieWxvbkVuZ2luZU1vZGFsVjJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBWaWV3Q2hpbGQoJ2RhdGVwaWNrZXInKSBkYXRlcGlja2VyITogQ2FsZW5kYXI7XG5cbiAgICBASW5wdXQoKSB0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBzdWJ0aXRsZT86IHN0cmluZztcbiAgICBASW5wdXQoKSBkYXRlcGlja2VyRGF0YT86IEJhYnlsb25JbnB1dEk7XG4gICAgQElucHV0KCkgZ3Vlc3RzSW5wdXQ/OiBCYWJ5bG9uSW5wdXRJO1xuICAgIEBJbnB1dCgpIHByb21vSW5wdXQ/OiBCYWJ5bG9uSW5wdXRJO1xuICAgIEBJbnB1dCgpIGJ1dHRvbj86IEJhYnlsb25CdXR0b25JO1xuICAgIEBJbnB1dCgpIGd1ZXN0cz86IEJhYnlsb25HdWVzdHNQb3B1cEk7XG4gICAgQElucHV0KCkgb3BlbkluTmV3V2luZG93PzogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHtcbiAgICAgICAgZGF0ZXM6IG5ldyBGb3JtQ29udHJvbDxEYXRlW10gfCBudWxsPihudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgZ3Vlc3RzOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPignMDInLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAgICAgcHJvbW86IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnKSxcbiAgICB9KTtcblxuICAgIGdlbmVyYXRlZFVybCA9ICcnO1xuICAgIGd1ZXN0c1ZhbHVlID0gJzAyJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFsbGJhY2tDaGlsZEFnZU9wdGlvbnM6IEFnZU9wdGlvbltdID0gQXJyYXkuZnJvbShcbiAgICAgICAgeyBsZW5ndGg6IDEyIH0sXG4gICAgICAgIChfLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWdlID0gaW5kZXggKyAzO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGNvZGU6IGFnZSxcbiAgICAgICAgICAgICAgICBuYW1lOiBhZ2UgPCAxMCA/IGAwJHthZ2V9YCA6IGAke2FnZX1gLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICk7XG5cbiAgICBndWVzdHNWYWx1ZVNlcGFyYXRlcyA9IHtcbiAgICAgICAgYWR1bHRzOiAyLFxuICAgICAgICBraWRzOiAwLFxuICAgICAgICBpbmZhbnRzOiAwLFxuICAgIH07XG5cbiAgICBjaGlsZHJlbkFnZVNlbGVjdGlvbnM6IG51bWJlcltdID0gW107XG5cbiAgICBzaG93U3ViZmllbGRzID0gZmFsc2U7XG4gICAgc2hvd0NoaWxkcmVuQWdlcyA9IGZhbHNlO1xuICAgIHNob3dCYWJpZXNBZ2VzID0gZmFsc2U7XG4gICAgZmluYWxpemVkR3Vlc3RzID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBjb25zdCB0b21vcnJvdyA9IG5ldyBEYXRlKCk7XG4gICAgICAgIHRvbW9ycm93LnNldERhdGUodG9kYXkuZ2V0RGF0ZSgpICsgMSk7XG5cbiAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgZGF0ZXM6IFt0b2RheSwgdG9tb3Jyb3ddLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnN5bmNDaGlsZHJlbkFnZVNlbGVjdGlvbnModGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5raWRzKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoR3Vlc3RzVmFsdWUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVHZW5lcmF0ZWRVcmwoKTtcblxuICAgICAgICB0aGlzLmZvcm0uZ2V0KCdwcm9tbycpPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb3BlbkNhbGVuZGFyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGVwaWNrZXIub3ZlcmxheVZpc2libGUgPSB0cnVlO1xuICAgIH1cblxuICAgIG9uRGF0ZVNlbGVjdCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmRhdGVwaWNrZXIudmFsdWU7XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICAgICAgZGF0ZXM6IHZhbHVlIGFzIERhdGVbXSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy51cGRhdGVHZW5lcmF0ZWRVcmwoKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgdG9nZ2xlUGVyc29uYXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2hvd1N1YmZpZWxkcyA9ICF0aGlzLnNob3dTdWJmaWVsZHM7XG4gICAgfVxuXG4gICAgdG9nZ2xlQWdlR3JvdXAoa2luZDogJ2NoaWxkcmVuJyB8ICdiYWJpZXMnKTogdm9pZCB7XG4gICAgICAgIGlmIChraW5kID09PSAnY2hpbGRyZW4nKSB7XG4gICAgICAgICAgICB0aGlzLnNob3dDaGlsZHJlbkFnZXMgPSB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMgPiAwXG4gICAgICAgICAgICAgICAgPyAhdGhpcy5zaG93Q2hpbGRyZW5BZ2VzXG4gICAgICAgICAgICAgICAgOiBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaG93QmFiaWVzQWdlcyA9ICF0aGlzLnNob3dCYWJpZXNBZ2VzO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvbkFkdWx0c0NoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5hZHVsdHMgPSB0aGlzLmdldFNlbGVjdFZhbHVlKGV2ZW50KTtcbiAgICAgICAgdGhpcy5yZWZyZXNoR3Vlc3RzVmFsdWUoKTtcbiAgICAgICAgdGhpcy51cGRhdGVHZW5lcmF0ZWRVcmwoKTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgb25DaGlsZHJlbkNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5raWRzID0gdGhpcy5nZXRTZWxlY3RWYWx1ZShldmVudCk7XG4gICAgICAgIHRoaXMuc3luY0NoaWxkcmVuQWdlU2VsZWN0aW9ucyh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMpO1xuICAgICAgICB0aGlzLnJlZnJlc2hHdWVzdHNWYWx1ZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUdlbmVyYXRlZFVybCgpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvbkJhYmllc0NoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzID0gdGhpcy5nZXRTZWxlY3RWYWx1ZShldmVudCk7XG4gICAgICAgIHRoaXMucmVmcmVzaEd1ZXN0c1ZhbHVlKCk7XG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIG9uQ2hpbGRBZ2VDaGFuZ2UoaW5kZXg6IG51bWJlciwgZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRTZWxlY3RWYWx1ZShldmVudCk7XG4gICAgICAgIHRoaXMuY2hpbGRyZW5BZ2VTZWxlY3Rpb25zW2luZGV4XSA9IHZhbHVlIHx8IHRoaXMuZ2V0RGVmYXVsdENoaWxkQWdlKCk7XG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGFwcGx5R3Vlc3RzKGFkdWx0czogYW55LCBjaGlsZHJlbjogYW55LCBiYWJpZXM6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cyA9IE51bWJlcihhZHVsdHMpIHx8IDA7XG4gICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcyA9IE51bWJlcihjaGlsZHJlbikgfHwgMDtcbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzID0gTnVtYmVyKGJhYmllcykgfHwgMDtcbiAgICAgICAgdGhpcy5zeW5jQ2hpbGRyZW5BZ2VTZWxlY3Rpb25zKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcyk7XG4gICAgICAgIHRoaXMucmVmcmVzaEd1ZXN0c1ZhbHVlKCk7XG5cbiAgICAgICAgdGhpcy5zaG93U3ViZmllbGRzID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZmluYWxpemVkR3Vlc3RzID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUdlbmVyYXRlZFVybCgpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICB1cGRhdGVHZW5lcmF0ZWRVcmwoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5idXR0b24/LnVybCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICAgICAgY29uc3QgZGF0ZXMgPSB0aGlzLmZvcm0uZ2V0KCdkYXRlcycpPy52YWx1ZTtcbiAgICAgICAgY29uc3QgcHJvbW8gPSB0aGlzLmZvcm0uZ2V0KCdwcm9tbycpPy52YWx1ZTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBBcnJheS5pc0FycmF5KGRhdGVzKSAmJlxuICAgICAgICAgICAgZGF0ZXMubGVuZ3RoID09PSAyICYmXG4gICAgICAgICAgICBkYXRlc1swXSBpbnN0YW5jZW9mIERhdGUgJiZcbiAgICAgICAgICAgIGRhdGVzWzFdIGluc3RhbmNlb2YgRGF0ZVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGVpbiA9IHRoaXMuZm9ybWF0RGF0ZShkYXRlc1swXSk7XG4gICAgICAgICAgICBjb25zdCBkYXRlb3V0ID0gdGhpcy5mb3JtYXREYXRlKGRhdGVzWzFdKTtcblxuICAgICAgICAgICAgcGFyYW1zLnNldCgnZGF0ZWluJywgZGF0ZWluKTtcbiAgICAgICAgICAgIHBhcmFtcy5zZXQoJ2RhdGVvdXQnLCBkYXRlb3V0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhcmFtcy5zZXQoJ2FkdWx0b3MnLCBTdHJpbmcodGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5hZHVsdHMpKTtcbiAgICAgICAgcGFyYW1zLnNldCgnY2hpbGRyZW4nLCBTdHJpbmcodGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5raWRzKSk7XG4gICAgICAgIHBhcmFtcy5zZXQoJ2JhYmllcycsIFN0cmluZyh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmluZmFudHMpKTtcbiAgICAgICAgdGhpcy5hcHBlbmRHdWVzdEFnZXMocGFyYW1zKTtcblxuICAgICAgICBpZiAocHJvbW8pIHtcbiAgICAgICAgICAgIHBhcmFtcy5zZXQoJ3Byb20nLCBwcm9tbyk7XG4gICAgICAgICAgICBwYXJhbXMuc2V0KCdwcm9tX2NsZWFuJywgJzAnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHBhcmFtcy5zZXQoJ3Byb21fY2xlYW4nLCAnMScpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5nZW5lcmF0ZWRVcmwgPSBgJHt0aGlzLmJ1dHRvbi51cmx9PyR7cGFyYW1zLnRvU3RyaW5nKCl9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvcm1hdERhdGUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBkYXRlXG4gICAgICAgICAgICAudG9Mb2NhbGVEYXRlU3RyaW5nKCdlcy1FUycsIHtcbiAgICAgICAgICAgICAgICBkYXk6ICcyLWRpZ2l0JyxcbiAgICAgICAgICAgICAgICBtb250aDogJzItZGlnaXQnLFxuICAgICAgICAgICAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucmVwbGFjZSgvXFwvL2csICctJyk7XG4gICAgfVxuXG4gICAgY2xvc2VNb2RhbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZS5lbWl0KCk7XG4gICAgfVxuXG4gICAgZ2V0IGRpc3BsYXlEYXRlcygpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBkYXRlcyA9IHRoaXMuZm9ybS5nZXQoJ2RhdGVzJyk/LnZhbHVlO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICFBcnJheS5pc0FycmF5KGRhdGVzKSB8fFxuICAgICAgICAgICAgZGF0ZXMubGVuZ3RoICE9PSAyIHx8XG4gICAgICAgICAgICAhKGRhdGVzWzBdIGluc3RhbmNlb2YgRGF0ZSkgfHxcbiAgICAgICAgICAgICEoZGF0ZXNbMV0gaW5zdGFuY2VvZiBEYXRlKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdERhdGUobmV3IERhdGUoKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYCR7dGhpcy5mb3JtYXREYXRlKGRhdGVzWzBdKX0gLSAke3RoaXMuZm9ybWF0RGF0ZShkYXRlc1sxXSl9YDtcbiAgICB9XG5cbiAgICBhcHBseUd1ZXN0c0Zyb21WaWV3Q2hpbGRyZW4oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXBwbHlHdWVzdHMoXG4gICAgICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cyxcbiAgICAgICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcyxcbiAgICAgICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuaW5mYW50c1xuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldCBjaGlsZEFnZU9wdGlvbnMoKTogQWdlT3B0aW9uW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5ndWVzdHM/LmFnZXNEcm9wZG93bj8ub3B0aW9ucz8ubGVuZ3RoXG4gICAgICAgICAgICA/ICh0aGlzLmd1ZXN0cy5hZ2VzRHJvcGRvd24ub3B0aW9ucyBhcyBBZ2VPcHRpb25bXSlcbiAgICAgICAgICAgIDogdGhpcy5mYWxsYmFja0NoaWxkQWdlT3B0aW9ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNlbGVjdFZhbHVlKGV2ZW50OiBFdmVudCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MU2VsZWN0RWxlbWVudCB8IG51bGw7XG5cbiAgICAgICAgcmV0dXJuIE51bWJlcih0YXJnZXQ/LnZhbHVlID8/IDApIHx8IDA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREZWZhdWx0Q2hpbGRBZ2UoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE51bWJlcih0aGlzLmNoaWxkQWdlT3B0aW9uc1swXT8uY29kZSA/PyAzKSB8fCAzO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3luY0NoaWxkcmVuQWdlU2VsZWN0aW9ucyhjb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChjb3VudCA8PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmNoaWxkcmVuQWdlU2VsZWN0aW9ucyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5zaG93Q2hpbGRyZW5BZ2VzID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWZhdWx0QWdlID0gdGhpcy5nZXREZWZhdWx0Q2hpbGRBZ2UoKTtcbiAgICAgICAgY29uc3QgbmV4dFZhbHVlcyA9IHRoaXMuY2hpbGRyZW5BZ2VTZWxlY3Rpb25zLnNsaWNlKDAsIGNvdW50KTtcblxuICAgICAgICB3aGlsZSAobmV4dFZhbHVlcy5sZW5ndGggPCBjb3VudCkge1xuICAgICAgICAgICAgbmV4dFZhbHVlcy5wdXNoKGRlZmF1bHRBZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGlsZHJlbkFnZVNlbGVjdGlvbnMgPSBuZXh0VmFsdWVzO1xuICAgICAgICB0aGlzLnNob3dDaGlsZHJlbkFnZXMgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVmcmVzaEd1ZXN0c1ZhbHVlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB0b3RhbCA9XG4gICAgICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cyArXG4gICAgICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMgK1xuICAgICAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzO1xuXG4gICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWUgPSB0b3RhbCA8IDEwID8gYDAke3RvdGFsfWAgOiBTdHJpbmcodG90YWwpO1xuICAgICAgICB0aGlzLmZvcm0uZ2V0KCdndWVzdHMnKT8uc2V0VmFsdWUodGhpcy5ndWVzdHNWYWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBlbmRHdWVzdEFnZXMocGFyYW1zOiBVUkxTZWFyY2hQYXJhbXMpOiB2b2lkIHtcbiAgICAgICAgQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzIH0pLmZvckVhY2goKCkgPT4ge1xuICAgICAgICAgICAgcGFyYW1zLmFwcGVuZCgnZ3Vlc3RBZ2VzJywgJzAnKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jaGlsZHJlbkFnZVNlbGVjdGlvbnMuZm9yRWFjaCgoYWdlKSA9PiB7XG4gICAgICAgICAgICBwYXJhbXMuYXBwZW5kKCdndWVzdEFnZXMnLCBTdHJpbmcoYWdlKSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtb2RhbCBtb2RhbF9fcmVzZXJ2YXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWxfX2lubmVyXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwibW9kYWxfX2Nsb3NlIGpzLWNsb3NlXCJcbiAgICAgICAgICAgIGRhdGEtbW9kYWxfbmFtZT1cInJlc2VydmFyXCJcbiAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlTW9kYWwoKVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICA8dXNlIGhyZWY9XCIvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tY2xvc2Uuc3ZnI2ljb24tY2xvc2VcIj48L3VzZT5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGZpZ3VyZSBjbGFzcz1cIm1vZGFsX19yZXNlcnZhci1ncmFwaGljXCI+XG4gICAgICAgICAgICA8aW1nIHNyYz1cIi9hc3NldHMvYmFieWxvbi9pbWFnZXMvaW1nLTQwLndlYnBcIiAvPlxuICAgICAgICA8L2ZpZ3VyZT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsX19ib3hcIj5cbiAgICAgICAgICAgIEBpZiAodGl0bGUpIHtcbiAgICAgICAgICAgICAgICA8aDI+e3sgdGl0bGUgfX08L2gyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsX19yZXNlcnZhci1mb3JtXCI+XG4gICAgICAgICAgICAgICAgQGlmIChkYXRlcGlja2VyRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIiAoY2xpY2spPVwib3BlbkNhbGVuZGFyKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImlucHV0LWdyb3VwLS1sYWJlbFwiIGZvcj1cIkluLWRhdGVcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVwaWNrZXJEYXRhLnBsYWNlaG9sZGVyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvbGFiZWw+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd090aGVyTW9udGhzXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwiZGQtbW0teXlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGlvbk1vZGU9XCJyYW5nZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRpc3BsYXlEYXRlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZGF0ZXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtudW1iZXJPZk1vbnRoc109XCIyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZGF0ZXBpY2tlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seUlucHV0XT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93T25Gb2N1c109XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L3AtY2FsZW5kYXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuQ2FsZW5kYXIoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9pY29uLWNhbGVuZGVyLnN2ZyNpY29uLWNhbGVuZGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaWYgKGd1ZXN0c0lucHV0KSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAganMtcGVyc29uYXMtc3ViZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVBlcnNvbmFzKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLm9wZW5dPVwic2hvd1N1YmZpZWxkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmluYWxdPVwiZmluYWxpemVkR3Vlc3RzXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1jb250cm9sXCI+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWVzdHNWYWx1ZSB8fCAnMDInXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGVyc29uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tcGVyc29ucy5zdmcjaWNvbi1wZXJzb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3duLWFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1hcnJvdy5zdmcjaWNvbi1hcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3VzZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoZ3Vlc3RzKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3ViLWZpZWxkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJzaG93U3ViZmllbGRzID8gJ2Jsb2NrJyA6ICdub25lJ1wiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZ3Vlc3RzLmFkdWx0c0Ryb3Bkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1ncm91cC0tbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yPVwiYWR1bHQxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBndWVzdHMuYWR1bHRzRHJvcGRvd24udGl0bGUgfX08L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QtY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiQWR1bHRvc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImFkdWx0MVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYWR1bHQxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuYWR1bHRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25BZHVsdHNDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPG9wdGlvbiB2YWx1ZT1cIjBcIiBzZWxlY3RlZD4wMDwvb3B0aW9uPiAtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiBvZiBndWVzdHMuYWR1bHRzRHJvcGRvd24ub3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjayAkaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLS1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZvY3VzYWJsZT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9pY29uLXBlcnNvbnMuc3ZnI2ljb24tcGVyc29uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZ3Vlc3RzLmtpZHNEcm9wZG93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwLS1pbm5lciBjaGlsZEFnZS1ncm91cC1saXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1ncm91cC0tbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcj1cImNoaWxkMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGd1ZXN0cy5raWRzRHJvcGRvd24udGl0bGUgfX08L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QtY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cIk5pw7Fvc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJjaGlsZDFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNjaGlsZDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkNoaWxkcmVuQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24gb2YgZ3Vlc3RzLmtpZHNEcm9wZG93blxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrICRpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCJvcHRpb24uY29kZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLS1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInVzZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9pY29uLXVzZXIuc3ZnI2ljb24tdXNlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3VzZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWdlLWdyb3VwLWJveCBjaGlsZHJlbi1saXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dDaGlsZHJlbkFnZXMgPyAnYmxvY2snIDogJ25vbmUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGVnZW5kIGNsYXNzPVwiYWdlLWdyb3VwLWJveC0taGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGd1ZXN0cy5hZ2VzTGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbGVnZW5kPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFnZS1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZEFnZSBvZiBjaGlsZHJlbkFnZVNlbGVjdGlvbnM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrICRpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtaW5uZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGlsZHJlbi1hZ2UnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRpbmRleCArIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgZ3Vlc3RzLmtpZHNMYWJlbCB8fCAnTmlubycgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAkaW5kZXggKyAxIH19PC9sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0LWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2hpbGRyZW4tYWdlJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgkaW5kZXggKyAxKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2hpbGRyZW4tYWdlJyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgkaW5kZXggKyAxKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNoaWxkQWdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNoaWxkQWdlQ2hhbmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV2ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24gb2YgY2hpbGRBZ2VPcHRpb25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjayBvcHRpb24uY29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLmNvZGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1ncm91cC0taWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvd24tYXJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9pY29uLWFycm93LnN2ZyNpY29uLWFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGd1ZXN0cy5iYWJpZXNEcm9wZG93bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwLS1pbm5lciBiYWJpZXNBZ2UtZ3JvdXAtbGlzdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVBZ2VHcm91cCgnYmFiaWVzJylcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwLS1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yPVwiYmFiaWVzMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1ZXN0cy5iYWJpZXNEcm9wZG93bi50aXRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0LWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJCZWLDqXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYmFiaWVzMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2JhYmllczFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuaW5mYW50c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkJhYmllc0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uIG9mIGd1ZXN0cy5iYWJpZXNEcm9wZG93blxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLm9wdGlvbnM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrICRpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIFt2YWx1ZV09XCJvcHRpb24uY29kZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLS1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJhYnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9pY29uLXVzZXIuc3ZnI2ljb24tdXNlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3VzZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnRuX19ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fc2Vjb25kYXJ5IGpzLWFwcGx5LWd1ZXN0czFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImFwcGx5R3Vlc3RzRnJvbVZpZXdDaGlsZHJlbigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGd1ZXN0cy5idG4/LmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgKHByb21vSW5wdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJpbnB1dC1ncm91cC0tbGFiZWxcIiBmb3I9XCJlbWFpbFwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvbW9JbnB1dC5wbGFjZWhvbGRlclxuICAgICAgICAgICAgICAgICAgICAgICAgfX08L2xhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImVtYWlsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIi4uLlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC0taWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1wcm9tby5zdmcjaWNvbi1wcm9tb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3VzZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJidG5fX2dyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bl9fcHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIudGFyZ2V0XT1cIm9wZW5Jbk5ld1dpbmRvdyA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJidXR0b24ubGFiZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtocmVmXT1cImdlbmVyYXRlZFVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInVwZGF0ZUdlbmVyYXRlZFVybCgpOyBjbG9zZU1vZGFsKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPnt7IGJ1dHRvbi5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFieWxvbi1lbmdpbmUtbW9kYWwtdjIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFieWxvbi9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9iYWJ5bG9uLWVuZ2luZS1tb2RhbC12Mi9iYWJ5bG9uLWVuZ2luZS1tb2RhbC12Mi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWJ5bG9uL3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2JhYnlsb24tZW5naW5lLW1vZGFsLXYyL2JhYnlsb24tZW5naW5lLW1vZGFsLXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILFdBQVcsRUFDWCxTQUFTLEVBQ1QsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixVQUFVLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQVksY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQXdCbEQsTUFBTSxPQUFPLDZCQUE2QjtJQXlEdEMsWUFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE3Q2hDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRTNDLFNBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUNqQixLQUFLLEVBQUUsSUFBSSxXQUFXLENBQWdCLElBQUksRUFBRSxVQUFV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bkIsY0FBYywwekNBQ2QsWUFBWSw4QkFDWixjQUFjLDhCQUNkLFlBQVk7OzRGQU1QLDZCQUE2QjtrQkFmekMsU0FBUzsrQkFDSSw2QkFBNkIsY0FDM0IsSUFBSSxXQUNQO3dCQUNMLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxZQUFZO3FCQUNmLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNO3NGQUd0QixVQUFVO3NCQUFsQyxTQUFTO3VCQUFDLFlBQVk7Z0JBRWQsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBGb3JtQ29udHJvbCxcbiAgICBGb3JtR3JvdXAsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDYWxlbmRhciwgQ2FsZW5kYXJNb2R1bGUgfSBmcm9tICdwcmltZW5nL2NhbGVuZGFyJztcbmltcG9ydCB7IERpYWxvZ01vZHVsZSB9IGZyb20gJ3ByaW1lbmcvZGlhbG9nJztcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5pbXBvcnQgeyBCYWJ5bG9uQnV0dG9uSSwgQmFieWxvbklucHV0SSB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQmFieWxvbkd1ZXN0c1BvcHVwSSB9IGZyb20gJy4uL2JhYnlsb24tZ3Vlc3RzLXBvcHVwL2JhYnlsb24tZ3Vlc3RzLXBvcHVwLmludGVyZmFjZSc7XG5cbnR5cGUgQWdlT3B0aW9uID0ge1xuICAgIGNvZGU6IG51bWJlcjtcbiAgICBuYW1lOiBzdHJpbmc7XG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1iYWJ5bG9uLWVuZ2luZS1tb2RhbC12MicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBDYWxlbmRhck1vZHVsZSxcbiAgICAgICAgRGlhbG9nTW9kdWxlLFxuICAgICAgICBEcm9wZG93bk1vZHVsZSxcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhYnlsb24tZW5naW5lLW1vZGFsLXYyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vYmFieWxvbi1lbmdpbmUtbW9kYWwtdjIuY29tcG9uZW50LnNjc3MnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCYWJ5bG9uRW5naW5lTW9kYWxWMkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQFZpZXdDaGlsZCgnZGF0ZXBpY2tlcicpIGRhdGVwaWNrZXIhOiBDYWxlbmRhcjtcblxuICAgIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGRhdGVwaWNrZXJEYXRhPzogQmFieWxvbklucHV0STtcbiAgICBASW5wdXQoKSBndWVzdHNJbnB1dD86IEJhYnlsb25JbnB1dEk7XG4gICAgQElucHV0KCkgcHJvbW9JbnB1dD86IEJhYnlsb25JbnB1dEk7XG4gICAgQElucHV0KCkgYnV0dG9uPzogQmFieWxvbkJ1dHRvbkk7XG4gICAgQElucHV0KCkgZ3Vlc3RzPzogQmFieWxvbkd1ZXN0c1BvcHVwSTtcbiAgICBASW5wdXQoKSBvcGVuSW5OZXdXaW5kb3c/OiBib29sZWFuO1xuXG4gICAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgICBkYXRlczogbmV3IEZvcm1Db250cm9sPERhdGVbXSB8IG51bGw+KG51bGwsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICBndWVzdHM6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcwMScsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgICBwcm9tbzogbmV3IEZvcm1Db250cm9sPHN0cmluZz4oJycpLFxuICAgIH0pO1xuXG4gICAgZ2VuZXJhdGVkVXJsID0gJyc7XG4gICAgZ3Vlc3RzVmFsdWUgPSAnMDEnO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmYWxsYmFja0NoaWxkQWdlT3B0aW9uczogQWdlT3B0aW9uW10gPSBBcnJheS5mcm9tKFxuICAgICAgICB7IGxlbmd0aDogMTIgfSxcbiAgICAgICAgKF8sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBhZ2UgPSBpbmRleCArIDM7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgY29kZTogYWdlLFxuICAgICAgICAgICAgICAgIG5hbWU6IGFnZSA8IDEwID8gYDAke2FnZX1gIDogYCR7YWdlfWAsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZmFsbGJhY2tCYWJ5QWdlT3B0aW9uczogQWdlT3B0aW9uW10gPSBBcnJheS5mcm9tKFxuICAgICAgICB7IGxlbmd0aDogMyB9LFxuICAgICAgICAoXywgaW5kZXgpID0+ICh7XG4gICAgICAgICAgICBjb2RlOiBpbmRleCxcbiAgICAgICAgICAgIG5hbWU6IGluZGV4IDwgMTAgPyBgMCR7aW5kZXh9YCA6IGAke2luZGV4fWAsXG4gICAgICAgIH0pXG4gICAgKTtcblxuICAgIGd1ZXN0c1ZhbHVlU2VwYXJhdGVzID0ge1xuICAgICAgICBhZHVsdHM6IDEsXG4gICAgICAgIGtpZHM6IDAsXG4gICAgICAgIGluZmFudHM6IDAsXG4gICAgfTtcblxuICAgIGNoaWxkcmVuQWdlU2VsZWN0aW9uczogbnVtYmVyW10gPSBbXTtcbiAgICBiYWJpZXNBZ2VTZWxlY3Rpb25zOiBudW1iZXJbXSA9IFtdO1xuXG4gICAgc2hvd1N1YmZpZWxkcyA9IGZhbHNlO1xuICAgIHNob3dDaGlsZHJlbkFnZXMgPSBmYWxzZTtcbiAgICBzaG93QmFiaWVzQWdlcyA9IGZhbHNlO1xuICAgIGZpbmFsaXplZEd1ZXN0cyA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgdG9tb3Jyb3cgPSBuZXcgRGF0ZSgpO1xuICAgICAgICB0b21vcnJvdy5zZXREYXRlKHRvZGF5LmdldERhdGUoKSArIDEpO1xuXG4gICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIGRhdGVzOiBbdG9kYXksIHRvbW9ycm93XSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5hZHVsdHMgPSB0aGlzLmdldERlZmF1bHRBZHVsdFZhbHVlKCk7XG4gICAgICAgIHRoaXMuc3luY0NoaWxkcmVuQWdlU2VsZWN0aW9ucyh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMpO1xuICAgICAgICB0aGlzLnN5bmNCYWJpZXNBZ2VTZWxlY3Rpb25zKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuaW5mYW50cyk7XG4gICAgICAgIHRoaXMucmVmcmVzaEd1ZXN0c1ZhbHVlKCk7XG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG5cbiAgICAgICAgdGhpcy5mb3JtLmdldCgncHJvbW8nKT8udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUdlbmVyYXRlZFVybCgpO1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9wZW5DYWxlbmRhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyLm92ZXJsYXlWaXNpYmxlID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvbkRhdGVTZWxlY3QoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5kYXRlcGlja2VyLnZhbHVlO1xuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5mb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICAgICAgICAgIGRhdGVzOiB2YWx1ZSBhcyBEYXRlW10sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHRvZ2dsZVBlcnNvbmFzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNob3dTdWJmaWVsZHMgPSAhdGhpcy5zaG93U3ViZmllbGRzO1xuICAgIH1cblxuICAgIG9uQWR1bHRzQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cyA9IHRoaXMuZ2V0U2VsZWN0VmFsdWUoZXZlbnQpO1xuICAgICAgICB0aGlzLnJlZnJlc2hHdWVzdHNWYWx1ZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUdlbmVyYXRlZFVybCgpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvbkNoaWxkcmVuQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMgPSB0aGlzLmdldFNlbGVjdFZhbHVlKGV2ZW50KTtcbiAgICAgICAgdGhpcy5zeW5jQ2hpbGRyZW5BZ2VTZWxlY3Rpb25zKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcyk7XG4gICAgICAgIHRoaXMucmVmcmVzaEd1ZXN0c1ZhbHVlKCk7XG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIG9uQmFiaWVzQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmluZmFudHMgPSB0aGlzLmdldFNlbGVjdFZhbHVlKGV2ZW50KTtcbiAgICAgICAgdGhpcy5zeW5jQmFiaWVzQWdlU2VsZWN0aW9ucyh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmluZmFudHMpO1xuICAgICAgICB0aGlzLnJlZnJlc2hHdWVzdHNWYWx1ZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUdlbmVyYXRlZFVybCgpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvbkNoaWxkQWdlQ2hhbmdlKGluZGV4OiBudW1iZXIsIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0QWdlU2VsZWN0VmFsdWUoZXZlbnQpO1xuICAgICAgICB0aGlzLmNoaWxkcmVuQWdlU2VsZWN0aW9uc1tpbmRleF0gPSBOdW1iZXIuaXNOYU4odmFsdWUpXG4gICAgICAgICAgICA/IHRoaXMuZ2V0RGVmYXVsdENoaWxkQWdlKClcbiAgICAgICAgICAgIDogdmFsdWU7XG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIG9uQmFiaWVzQWdlQ2hhbmdlKGluZGV4OiBudW1iZXIsIGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0QWdlU2VsZWN0VmFsdWUoZXZlbnQpO1xuICAgICAgICB0aGlzLmJhYmllc0FnZVNlbGVjdGlvbnNbaW5kZXhdID0gTnVtYmVyLmlzTmFOKHZhbHVlKVxuICAgICAgICAgICAgPyB0aGlzLmdldERlZmF1bHRCYWJ5QWdlKClcbiAgICAgICAgICAgIDogdmFsdWU7XG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIGFwcGx5R3Vlc3RzKGFkdWx0czogYW55LCBjaGlsZHJlbjogYW55LCBiYWJpZXM6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cyA9IE51bWJlcihhZHVsdHMpIHx8IDA7XG4gICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcyA9IE51bWJlcihjaGlsZHJlbikgfHwgMDtcbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzID0gTnVtYmVyKGJhYmllcykgfHwgMDtcbiAgICAgICAgdGhpcy5zeW5jQ2hpbGRyZW5BZ2VTZWxlY3Rpb25zKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcyk7XG4gICAgICAgIHRoaXMuc3luY0JhYmllc0FnZVNlbGVjdGlvbnModGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzKTtcbiAgICAgICAgdGhpcy5yZWZyZXNoR3Vlc3RzVmFsdWUoKTtcblxuICAgICAgICB0aGlzLnNob3dTdWJmaWVsZHMgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5maW5hbGl6ZWRHdWVzdHMgPSB0cnVlO1xuXG4gICAgICAgIHRoaXMudXBkYXRlR2VuZXJhdGVkVXJsKCk7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHVwZGF0ZUdlbmVyYXRlZFVybCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmJ1dHRvbj8udXJsKSByZXR1cm47XG5cbiAgICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgICAgICBjb25zdCBkYXRlcyA9IHRoaXMuZm9ybS5nZXQoJ2RhdGVzJyk/LnZhbHVlO1xuICAgICAgICBjb25zdCBwcm9tbyA9IHRoaXMuZm9ybS5nZXQoJ3Byb21vJyk/LnZhbHVlO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIEFycmF5LmlzQXJyYXkoZGF0ZXMpICYmXG4gICAgICAgICAgICBkYXRlcy5sZW5ndGggPT09IDIgJiZcbiAgICAgICAgICAgIGRhdGVzWzBdIGluc3RhbmNlb2YgRGF0ZSAmJlxuICAgICAgICAgICAgZGF0ZXNbMV0gaW5zdGFuY2VvZiBEYXRlXG4gICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgZGF0ZWluID0gdGhpcy5mb3JtYXREYXRlKGRhdGVzWzBdKTtcbiAgICAgICAgICAgIGNvbnN0IGRhdGVvdXQgPSB0aGlzLmZvcm1hdERhdGUoZGF0ZXNbMV0pO1xuXG4gICAgICAgICAgICBwYXJhbXMuc2V0KCdkYXRlaW4nLCBkYXRlaW4pO1xuICAgICAgICAgICAgcGFyYW1zLnNldCgnZGF0ZW91dCcsIGRhdGVvdXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcGFyYW1zLnNldCgnYWR1bHRvcycsIFN0cmluZyh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmFkdWx0cykpO1xuICAgICAgICBwYXJhbXMuc2V0KCdjaGlsZHJlbicsIFN0cmluZyh0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmtpZHMpKTtcbiAgICAgICAgcGFyYW1zLnNldCgnYmFiaWVzJywgU3RyaW5nKHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuaW5mYW50cykpO1xuICAgICAgICB0aGlzLmFwcGVuZEd1ZXN0QWdlcyhwYXJhbXMpO1xuXG4gICAgICAgIGlmIChwcm9tbykge1xuICAgICAgICAgICAgcGFyYW1zLnNldCgncHJvbScsIHByb21vKTtcbiAgICAgICAgICAgIHBhcmFtcy5zZXQoJ3Byb21fY2xlYW4nLCAnMCcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGFyYW1zLnNldCgncHJvbV9jbGVhbicsICcxJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmdlbmVyYXRlZFVybCA9IGAke3RoaXMuYnV0dG9uLnVybH0/JHtwYXJhbXMudG9TdHJpbmcoKX1gO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybWF0RGF0ZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGRhdGVcbiAgICAgICAgICAgIC50b0xvY2FsZURhdGVTdHJpbmcoJ2VzLUVTJywge1xuICAgICAgICAgICAgICAgIGRheTogJzItZGlnaXQnLFxuICAgICAgICAgICAgICAgIG1vbnRoOiAnMi1kaWdpdCcsXG4gICAgICAgICAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5yZXBsYWNlKC9cXC8vZywgJy0nKTtcbiAgICB9XG5cbiAgICBjbG9zZU1vZGFsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgICB9XG5cbiAgICBnZXQgZGlzcGxheURhdGVzKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGRhdGVzID0gdGhpcy5mb3JtLmdldCgnZGF0ZXMnKT8udmFsdWU7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIUFycmF5LmlzQXJyYXkoZGF0ZXMpIHx8XG4gICAgICAgICAgICBkYXRlcy5sZW5ndGggIT09IDIgfHxcbiAgICAgICAgICAgICEoZGF0ZXNbMF0gaW5zdGFuY2VvZiBEYXRlKSB8fFxuICAgICAgICAgICAgIShkYXRlc1sxXSBpbnN0YW5jZW9mIERhdGUpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0RGF0ZShuZXcgRGF0ZSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgJHt0aGlzLmZvcm1hdERhdGUoZGF0ZXNbMF0pfSAtICR7dGhpcy5mb3JtYXREYXRlKGRhdGVzWzFdKX1gO1xuICAgIH1cblxuICAgIGFwcGx5R3Vlc3RzRnJvbVZpZXdDaGlsZHJlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hcHBseUd1ZXN0cyhcbiAgICAgICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuYWR1bHRzLFxuICAgICAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5raWRzLFxuICAgICAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGNoaWxkQWdlT3B0aW9ucygpOiBBZ2VPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmd1ZXN0cz8uYWdlc0Ryb3Bkb3duPy5vcHRpb25zPy5sZW5ndGhcbiAgICAgICAgICAgID8gKHRoaXMuZ3Vlc3RzLmFnZXNEcm9wZG93bi5vcHRpb25zIGFzIEFnZU9wdGlvbltdKVxuICAgICAgICAgICAgOiB0aGlzLmZhbGxiYWNrQ2hpbGRBZ2VPcHRpb25zO1xuICAgIH1cblxuICAgIGdldCBiYWJ5QWdlT3B0aW9ucygpOiBBZ2VPcHRpb25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmd1ZXN0cz8uYmFiaWVzQWdlc0Ryb3Bkb3duPy5vcHRpb25zPy5sZW5ndGhcbiAgICAgICAgICAgID8gKHRoaXMuZ3Vlc3RzLmJhYmllc0FnZXNEcm9wZG93bi5vcHRpb25zIGFzIEFnZU9wdGlvbltdKVxuICAgICAgICAgICAgOiB0aGlzLmZhbGxiYWNrQmFieUFnZU9wdGlvbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RWYWx1ZShldmVudDogRXZlbnQpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTFNlbGVjdEVsZW1lbnQgfCBudWxsO1xuXG4gICAgICAgIHJldHVybiBOdW1iZXIodGFyZ2V0Py52YWx1ZSA/PyAwKSB8fCAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWdlU2VsZWN0VmFsdWUoZXZlbnQ6IEV2ZW50KTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxTZWxlY3RFbGVtZW50IHwgbnVsbDtcblxuICAgICAgICByZXR1cm4gTnVtYmVyKHRhcmdldD8udmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGVmYXVsdEFkdWx0VmFsdWUoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIE51bWJlcih0aGlzLmd1ZXN0cz8uYWR1bHRzRHJvcGRvd24/Lm9wdGlvbnM/LlswXT8uY29kZSA/PyAxKSB8fCAxO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGVmYXVsdENoaWxkQWdlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5jaGlsZEFnZU9wdGlvbnNbMF0/LmNvZGUgPz8gMykgfHwgMztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlZmF1bHRCYWJ5QWdlKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5iYWJ5QWdlT3B0aW9uc1swXT8uY29kZSA/PyAwKSB8fCAwO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3luY0NoaWxkcmVuQWdlU2VsZWN0aW9ucyhjb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGlmIChjb3VudCA8PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmNoaWxkcmVuQWdlU2VsZWN0aW9ucyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5zaG93Q2hpbGRyZW5BZ2VzID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWZhdWx0QWdlID0gdGhpcy5nZXREZWZhdWx0Q2hpbGRBZ2UoKTtcbiAgICAgICAgY29uc3QgbmV4dFZhbHVlcyA9IHRoaXMuY2hpbGRyZW5BZ2VTZWxlY3Rpb25zLnNsaWNlKDAsIGNvdW50KTtcblxuICAgICAgICB3aGlsZSAobmV4dFZhbHVlcy5sZW5ndGggPCBjb3VudCkge1xuICAgICAgICAgICAgbmV4dFZhbHVlcy5wdXNoKGRlZmF1bHRBZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGlsZHJlbkFnZVNlbGVjdGlvbnMgPSBuZXh0VmFsdWVzO1xuICAgICAgICB0aGlzLnNob3dDaGlsZHJlbkFnZXMgPSB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3luY0JhYmllc0FnZVNlbGVjdGlvbnMoY291bnQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAoY291bnQgPD0gMCkge1xuICAgICAgICAgICAgdGhpcy5iYWJpZXNBZ2VTZWxlY3Rpb25zID0gW107XG4gICAgICAgICAgICB0aGlzLnNob3dCYWJpZXNBZ2VzID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWZhdWx0QWdlID0gdGhpcy5nZXREZWZhdWx0QmFieUFnZSgpO1xuICAgICAgICBjb25zdCBuZXh0VmFsdWVzID0gdGhpcy5iYWJpZXNBZ2VTZWxlY3Rpb25zLnNsaWNlKDAsIGNvdW50KTtcblxuICAgICAgICB3aGlsZSAobmV4dFZhbHVlcy5sZW5ndGggPCBjb3VudCkge1xuICAgICAgICAgICAgbmV4dFZhbHVlcy5wdXNoKGRlZmF1bHRBZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5iYWJpZXNBZ2VTZWxlY3Rpb25zID0gbmV4dFZhbHVlcztcbiAgICAgICAgdGhpcy5zaG93QmFiaWVzQWdlcyA9IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWZyZXNoR3Vlc3RzVmFsdWUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRvdGFsID1cbiAgICAgICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMuYWR1bHRzICtcbiAgICAgICAgICAgIHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcyArXG4gICAgICAgICAgICB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmluZmFudHM7XG5cbiAgICAgICAgdGhpcy5ndWVzdHNWYWx1ZSA9IHRvdGFsIDwgMTAgPyBgMCR7dG90YWx9YCA6IFN0cmluZyh0b3RhbCk7XG4gICAgICAgIHRoaXMuZm9ybS5nZXQoJ2d1ZXN0cycpPy5zZXRWYWx1ZSh0aGlzLmd1ZXN0c1ZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGVuZEd1ZXN0QWdlcyhwYXJhbXM6IFVSTFNlYXJjaFBhcmFtcyk6IHZvaWQge1xuICAgICAgICBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLmd1ZXN0c1ZhbHVlU2VwYXJhdGVzLmluZmFudHMgfSkuZm9yRWFjaChcbiAgICAgICAgICAgIChfLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIHBhcmFtcy5hcHBlbmQoXG4gICAgICAgICAgICAgICAgICAgICdndWVzdEFnZXMnLFxuICAgICAgICAgICAgICAgICAgICBTdHJpbmcoXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmJhYmllc0FnZVNlbGVjdGlvbnNbaW5kZXhdID8/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXREZWZhdWx0QmFieUFnZSgpXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIEFycmF5LmZyb20oeyBsZW5ndGg6IHRoaXMuZ3Vlc3RzVmFsdWVTZXBhcmF0ZXMua2lkcyB9KS5mb3JFYWNoKFxuICAgICAgICAgICAgKF8sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgcGFyYW1zLmFwcGVuZChcbiAgICAgICAgICAgICAgICAgICAgJ2d1ZXN0QWdlcycsXG4gICAgICAgICAgICAgICAgICAgIFN0cmluZyhcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW5BZ2VTZWxlY3Rpb25zW2luZGV4XSA/P1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0RGVmYXVsdENoaWxkQWdlKClcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsIG1vZGFsX19yZXNlcnZhclwiPlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbF9faW5uZXJcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJtb2RhbF9fY2xvc2UganMtY2xvc2VcIlxuICAgICAgICAgICAgZGF0YS1tb2RhbF9uYW1lPVwicmVzZXJ2YXJcIlxuICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VNb2RhbCgpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPHN2ZyBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgIDx1c2UgaHJlZj1cIi9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1jbG9zZS5zdmcjaWNvbi1jbG9zZVwiPjwvdXNlPlxuICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZmlndXJlIGNsYXNzPVwibW9kYWxfX3Jlc2VydmFyLWdyYXBoaWNcIj5cbiAgICAgICAgICAgIDxpbWcgc3JjPVwiL2Fzc2V0cy9iYWJ5bG9uL2ltYWdlcy9pbWctNDAud2VicFwiIC8+XG4gICAgICAgIDwvZmlndXJlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWxfX2JveFwiPlxuICAgICAgICAgICAgQGlmICh0aXRsZSkge1xuICAgICAgICAgICAgICAgIDxoMj57eyB0aXRsZSB9fTwvaDI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWxfX3Jlc2VydmFyLWZvcm1cIiBbZm9ybUdyb3VwXT1cImZvcm1cIj5cbiAgICAgICAgICAgICAgICBAaWYgKGRhdGVwaWNrZXJEYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiIChjbGljayk9XCJvcGVuQ2FsZW5kYXIoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWxhYmVsXCIgZm9yPVwiSW4tZGF0ZVwiPnt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0ZXBpY2tlckRhdGEucGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9sYWJlbD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93T3RoZXJNb250aHNdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQ9XCJkZC1tbS15eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0aW9uTW9kZT1cInJhbmdlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZGlzcGxheURhdGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkYXRlc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW251bWJlck9mTW9udGhzXT1cIjJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICNkYXRlcGlja2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5SW5wdXRdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAob25TZWxlY3QpPVwib25EYXRlU2VsZWN0KClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvcC1jYWxlbmRhcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1ncm91cC0taWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5DYWxlbmRhcigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGZvY3VzYWJsZT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tY2FsZW5kZXIuc3ZnI2ljb24tY2FsZW5kZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpZiAoZ3Vlc3RzSW5wdXQpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC1ncm91cCBqcy1wZXJzb25hcy1zdWJmaWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlUGVyc29uYXMoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3Mub3Blbl09XCJzaG93U3ViZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5maW5hbF09XCJmaW5hbGl6ZWRHdWVzdHNcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWNvbnRyb2xcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1ZXN0c1ZhbHVlIHx8ICcwMSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC0taWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwZXJzb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1wZXJzb25zLnN2ZyNpY29uLXBlcnNvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvd24tYXJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2N1c2FibGU9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9pY29uLWFycm93LnN2ZyNpY29uLWFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChndWVzdHMpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdWItZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cInNob3dTdWJmaWVsZHMgPyAnYmxvY2snIDogJ25vbmUnXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChndWVzdHMuYWR1bHRzRHJvcGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwLS1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJhZHVsdDFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPnt7IGd1ZXN0cy5hZHVsdHNEcm9wZG93bi50aXRsZSB9fTwvbGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdC1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJBZHVsdG9zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYWR1bHQxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNhZHVsdDFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJndWVzdHNWYWx1ZVNlcGFyYXRlcy5hZHVsdHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkFkdWx0c0NoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8b3B0aW9uIHZhbHVlPVwiMFwiIHNlbGVjdGVkPjAwPC9vcHRpb24+IC0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uIG9mIGd1ZXN0cy5hZHVsdHNEcm9wZG93bi5vcHRpb25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrICRpbmRleFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwib3B0aW9uLmNvZGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgYXJpYS1oaWRkZW49XCJ0cnVlXCIgZm9jdXNhYmxlPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tcGVyc29ucy5zdmcjaWNvbi1wZXJzb25zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChndWVzdHMua2lkc0Ryb3Bkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWlubmVyIGNoaWxkQWdlLWdyb3VwLWxpc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwLS1sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yPVwiY2hpbGQxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3sgZ3Vlc3RzLmtpZHNEcm9wZG93bi50aXRsZSB9fTwvbGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlbGVjdC1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiTmnDsW9zXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cImNoaWxkMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2NoaWxkMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJndWVzdHNWYWx1ZVNlcGFyYXRlcy5raWRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2hpbGRyZW5DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiBvZiBndWVzdHMua2lkc0Ryb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAub3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgJGluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidXNlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tdXNlci5zdmcjaWNvbi11c2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZ2UtZ3JvdXAtYm94IGNoaWxkcmVuLWxpc3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd0NoaWxkcmVuQWdlcyA/ICdibG9jaycgOiAnbm9uZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsZWdlbmQgY2xhc3M9XCJhZ2UtZ3JvdXAtYm94LS1oZWFkaW5nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZ3Vlc3RzLmFnZXNMYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9sZWdlbmQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWdlLWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkQWdlIG9mIGNoaWxkcmVuQWdlU2VsZWN0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgJGluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1pbm5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJsYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcl09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NoaWxkcmVuLWFnZScgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGluZGV4ICsgMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57eyBndWVzdHMua2lkc0xhYmVsIHx8ICdOaW5vJyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICRpbmRleCArIDEgfX08L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QtY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGlsZHJlbi1hZ2UnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRpbmRleCArIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRdPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjaGlsZHJlbi1hZ2UnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRpbmRleCArIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiY2hpbGRBZ2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hpbGRBZ2VDaGFuZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiBvZiBjaGlsZEFnZU9wdGlvbnM7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrIG9wdGlvbi5jb2RlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJvcHRpb24uY29kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IG9wdGlvbi5uYW1lIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwLS1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZG93bi1hcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tYXJyb3cuc3ZnI2ljb24tYXJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC91c2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoZ3Vlc3RzLmJhYmllc0Ryb3Bkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC0taW5uZXIgYmFiaWVzQWdlLWdyb3VwLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJiYWJpZXMxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3Vlc3RzLmJhYmllc0Ryb3Bkb3duLnRpdGxlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX08L2xhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3QtY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cIkJlYsOpc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJiYWJpZXMxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYmFiaWVzMVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJndWVzdHNWYWx1ZVNlcGFyYXRlcy5pbmZhbnRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uQmFiaWVzQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBmb3IgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24gb2YgZ3Vlc3RzLmJhYmllc0Ryb3Bkb3duXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAub3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgJGluZGV4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBvcHRpb24ubmFtZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYmFieVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzYWJsZT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYXNzZXRzL2JhYnlsb24vc3ZnL2ljb24tdXNlci5zdmcjaWNvbi11c2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZ2UtZ3JvdXAtYm94IGJhYmllcy1saXN0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdHlsZS5kaXNwbGF5XT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dCYWJpZXNBZ2VzID8gJ2Jsb2NrJyA6ICdub25lJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxlZ2VuZCBjbGFzcz1cImFnZS1ncm91cC1ib3gtLWhlYWRpbmdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBndWVzdHMuYWdlc0xhYmVsIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2xlZ2VuZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZ2UtZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFieUFnZSBvZiBiYWJpZXNBZ2VTZWxlY3Rpb25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFjayAkaW5kZXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLWlubmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZm9yXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFiaWVzLWFnZScgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGluZGV4ICsgMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWVzdHMuYmFiaWVzTGFiZWwgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0JlYmUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAkaW5kZXggKyAxIH19PC9sYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0LWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFiaWVzLWFnZScgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGluZGV4ICsgMSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZF09XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhYmllcy1hZ2UnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRpbmRleCArIDEpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiYmFieUFnZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25CYWJpZXNBZ2VDaGFuZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW5kZXgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZXZlbnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGZvciAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiBvZiBiYWJ5QWdlT3B0aW9ucztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2sgb3B0aW9uLmNvZGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi5jb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgb3B0aW9uLm5hbWUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3duLWFycm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9jdXNhYmxlPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIi9hc3NldHMvYmFieWxvbi9zdmcvaWNvbi1hcnJvdy5zdmcjaWNvbi1hcnJvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID48L3VzZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG5fX3NlY29uZGFyeSBqcy1hcHBseS1ndWVzdHMxXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhcHBseUd1ZXN0c0Zyb21WaWV3Q2hpbGRyZW4oKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBndWVzdHMuYnRuPy5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChwcm9tb0lucHV0KSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiaW5wdXQtZ3JvdXAtLWxhYmVsXCIgZm9yPVwiZW1haWxcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb21vSW5wdXQucGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19PC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImlucHV0LWNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJlbWFpbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCIuLi5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInByb21vXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LWdyb3VwLS1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBhcmlhLWhpZGRlbj1cInRydWVcIiBmb2N1c2FibGU9XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPVwiL2Fzc2V0cy9iYWJ5bG9uL3N2Zy9pY29uLXByb21vLnN2ZyNpY29uLXByb21vXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvdXNlPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmIChidXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJ0bl9fZ3JvdXBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuX19wcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50YXJnZXRdPVwib3BlbkluTmV3V2luZG93ID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImJ1dHRvbi5sYWJlbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hyZWZdPVwiZ2VuZXJhdGVkVXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidXBkYXRlR2VuZXJhdGVkVXJsKCk7IGNsb3NlTW9kYWwoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgYnV0dG9uLmxhYmVsIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|