@progressio_resources/gravity-design-system 3.6.14 → 3.6.16
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/gravity-button/gravity-button.component.mjs +3 -3
- package/esm2022/lib/components/gravity-card-button/gravity-card-button.component.mjs +6 -4
- package/esm2022/lib/components/gravity-checkbox/gravity-checkbox.component.mjs +6 -4
- package/esm2022/lib/components/gravity-chip-group/gravity-chip-group.component.mjs +3 -3
- package/esm2022/lib/components/gravity-currency/gravity-currency.component.mjs +3 -3
- package/esm2022/lib/components/gravity-currency-display-v2/gravity-currency-display-v2.component.mjs +6 -4
- package/esm2022/lib/components/gravity-date-picker/components/day-calendar/day-calendar.component.mjs +3 -3
- package/esm2022/lib/components/gravity-date-picker/components/day-calendar/range-days-calendar.utils.mjs +2 -2
- package/esm2022/lib/components/gravity-date-picker/components/month-calendar/month-calendar.component.mjs +3 -3
- package/esm2022/lib/components/gravity-date-picker/components/year-calendar/year-calendar.component.mjs +3 -3
- package/esm2022/lib/components/gravity-date-picker/gravity-date-picker.component.mjs +3 -3
- package/esm2022/lib/components/gravity-detail-container/gravity-detail-container.component.mjs +6 -4
- package/esm2022/lib/components/gravity-dialog/gravity-dialog.component.mjs +3 -3
- package/esm2022/lib/components/gravity-dropdown-list/gravity-dropdown-list.component.mjs +3 -3
- package/esm2022/lib/components/gravity-dropdown-list-display/gravity-dropdown-list-display.component.mjs +3 -3
- package/esm2022/lib/components/gravity-editable-input/gravity-editable-input.component.mjs +6 -4
- package/esm2022/lib/components/gravity-generic-avatar/gravity-generic-avatar.component.mjs +6 -4
- package/esm2022/lib/components/gravity-generic-avatar-secondary/gravity-generic-avatar-secondary.component.mjs +3 -3
- package/esm2022/lib/components/gravity-icon/gravity-icon.component.mjs +3 -3
- package/esm2022/lib/components/gravity-icon-button/gravity-icon-button.component.mjs +3 -3
- package/esm2022/lib/components/gravity-link/gravity-link.component.mjs +3 -3
- package/esm2022/lib/components/gravity-modal/gravity-modal.component.mjs +3 -3
- package/esm2022/lib/components/gravity-multi-language/gravity-multi-language.component.mjs +3 -3
- package/esm2022/lib/components/gravity-navigation-card/gravity-navigation-card.component.mjs +6 -4
- package/esm2022/lib/components/gravity-network-pill/gravity-network-pill.component.mjs +3 -3
- package/esm2022/lib/components/gravity-notification/gravity-notification.component.mjs +3 -3
- package/esm2022/lib/components/gravity-notification-instant/gravity-notification-instant-container.component.mjs +3 -3
- package/esm2022/lib/components/gravity-radio-button/gravity-radio-button.component.mjs +6 -4
- package/esm2022/lib/components/gravity-segmented-button/gravity-segmented-button.component.mjs +3 -3
- package/esm2022/lib/components/gravity-status-indicator/gravity-status-indicator.component.mjs +3 -3
- package/esm2022/lib/components/gravity-switch/gravity-switch.component.mjs +3 -3
- package/esm2022/lib/components/gravity-tab-primary/gravity-tab-primary.component.mjs +3 -3
- package/esm2022/lib/components/gravity-tab-secondary/gravity-tab-secondary.component.mjs +3 -3
- package/esm2022/lib/components/gravity-text-field/gravity-text-field.component.mjs +3 -3
- package/esm2022/lib/components/gravity-text-field-number-only/gravity-text-field-number-only.component.mjs +3 -3
- package/esm2022/lib/gravity-design-system.module.mjs +1 -26
- package/esm2022/lib/layout/gravity-header/gravity-header.component.mjs +3 -3
- package/esm2022/lib/layout/gravity-menu/gravity-menu.component.mjs +10 -4
- package/esm2022/public-api.mjs +1 -6
- package/fesm2022/progressio_resources-gravity-design-system.mjs +118 -371
- package/fesm2022/progressio_resources-gravity-design-system.mjs.map +1 -1
- package/lib/components/gravity-card-button/gravity-card-button.component.d.ts +2 -1
- package/lib/components/gravity-checkbox/gravity-checkbox.component.d.ts +2 -1
- package/lib/components/gravity-currency-display-v2/gravity-currency-display-v2.component.d.ts +2 -1
- package/lib/components/gravity-detail-container/gravity-detail-container.component.d.ts +2 -1
- package/lib/components/gravity-dialog/gravity-dialog.component.d.ts +0 -1
- package/lib/components/gravity-editable-input/gravity-editable-input.component.d.ts +2 -1
- package/lib/components/gravity-generic-avatar/gravity-generic-avatar.component.d.ts +2 -1
- package/lib/components/gravity-navigation-card/gravity-navigation-card.component.d.ts +2 -1
- package/lib/components/gravity-radio-button/gravity-radio-button.component.d.ts +2 -1
- package/lib/components/gravity-segmented-button/gravity-segmented-button.component.d.ts +1 -0
- package/lib/gravity-design-system.module.d.ts +71 -76
- package/lib/layout/gravity-menu/gravity-menu.component.d.ts +3 -2
- package/package.json +1 -1
- package/public-api.d.ts +0 -5
- package/esm2022/lib/components/gravity-calendar/gravity-calendar.component.mjs +0 -86
- package/esm2022/lib/components/gravity-card-list/gravity-card-list.component.mjs +0 -52
- package/esm2022/lib/components/gravity-chip/gravity-chip.component.mjs +0 -47
- package/esm2022/lib/components/gravity-currency-display/gravity-currency-display.component.mjs +0 -44
- package/esm2022/lib/components/gravity-data-view/gravity-data-view.component.mjs +0 -46
- package/lib/components/gravity-calendar/gravity-calendar.component.d.ts +0 -40
- package/lib/components/gravity-card-list/gravity-card-list.component.d.ts +0 -16
- package/lib/components/gravity-chip/gravity-chip.component.d.ts +0 -16
- package/lib/components/gravity-currency-display/gravity-currency-display.component.d.ts +0 -21
- package/lib/components/gravity-data-view/gravity-data-view.component.d.ts +0 -21
|
@@ -230,11 +230,11 @@ export class DayCalendarComponent {
|
|
|
230
230
|
return grid;
|
|
231
231
|
}
|
|
232
232
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayCalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
233
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DayCalendarComponent, selector: "day-calendar", inputs: { initYear: "initYear", initMonth: "initMonth", range: "range", config: "config", restart: "restart", appyOnClose: "appyOnClose", currentDate: "currentDate", appearance: "appearance", navType: "navType" }, outputs: { clearHover: "clearHover", clearSelection: "clearSelection", hoverDay: "hoverDay", selectedRage: "selectedRage", calendarResponse: "calendarResponse" }, viewQueries: [{ propertyName: "endDateField", first: true, predicate: ["endDate"], descendants: true }, { propertyName: "startDateField", first: true, predicate: ["startDate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section *ngIf=\"showMonthCalendar\">\n <month-calendar\n [config]=\"config\"\n [integratedMode]=\"true\"\n [restart]=\"showMonthCalendar\"\n (response)=\"handleCalendarResponse($event, true)\" [initDate]=\"initMonth\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile }\">\n </month-calendar>\n</section>\n\n<section *ngIf=\"showYearCalendar\">\n <year-calendar\n [config]=\"config\"\n [integratedMode]=\"true\"\n [restart]=\"showYearCalendar\"\n (response)=\"handleCalendarResponse($event, false)\" [initDate]=\"initYear\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile}\">\n </year-calendar>\n</section>\n\n<div *ngIf=\"!appearance.isMobile && !showMonthCalendar && !showYearCalendar\" class=\"title\">\n <span class=\"hr-label sm-bold\">{{range ? i18n.select_range : i18n.select_date}}</span>\n</div>\n\n<div class=\"gravity-date-picker-content\" [class.hidden]=\"showYearCalendar || showMonthCalendar\" [class.mobile]=\"appearance.isMobile\">\n\n <div *ngIf=\"range\" class=\"selected-dates\">\n <gravity-text-field #startDate\n [size]=\"'sm'\"\n [width]=\"'short'\"\n [label]=\"i18n.start_date\"\n [inputContentType]=\"'date'\"\n [supportText]=\"startDateError\"\n [placeholder]=\"i18n.date_placeholder\"\n [clickOnRightIcon]=\"!startFieldDisabled\"\n (keyup)=\"onDateKeyup(this, $event, 'start')\"\n (clickIconRight)=\"clearSelectedDate('start')\"\n (focusout)=\"searchDate(this, startDate.inputValue, 'start')\"\n [iconRight]=\"(selectedRangeStart || startDate.inputValue.length > 9) ? 'unsuccess' : ''\"\n (click)=\"focused = 'start'; selectedRangeStart ? currentDate = calendarDateToDate(selectedRangeStart) : null\"\n [customState]=\"startFieldDisabled ? 'disabled' : startDateError ? 'typed-error' : (startDate.inputValue.length < 1 ? 'default' : 'typing')\"/>\n\n <gravity-text-field #endDate\n [size]=\"'sm'\"\n [width]=\"'short'\"\n [label]=\"i18n.end_date\"\n [inputContentType]=\"'date'\"\n [supportText]=\"endDateError\"\n [placeholder]=\"i18n.date_placeholder\"\n [clickOnRightIcon]=\"!endFieldDisabled\"\n (keyup)=\"onDateKeyup(this, $event, 'end')\"\n (clickIconRight)=\"clearSelectedDate('end')\"\n (focusout)=\"searchDate(this, endDate.inputValue, 'end')\"\n [iconRight]=\"(selectedRangeEnd || endDate.inputValue.length > 9) ? 'unsuccess' : ''\"\n (click)=\" focused = 'end'; selectedRangeEnd ? currentDate = calendarDateToDate(selectedRangeEnd) : null\"\n [customState]=\"endFieldDisabled ? 'disabled' : endDateError ? 'typed-error' : (endDate.inputValue.length < 1 ? 'default' : 'typing')\"/>\n </div>\n\n <section class=\"gravity-date-picker-header\" [class.mobile]=\"appearance.isMobile\">\n <gravity-icon-button [type]=\"'primary'\" [size]=\"'sm'\" [icon]=\"'arrow-left'\" [supportText]=\"i18n.preview_month\"\n (clickOnIcon)=\"currentDate = changeDate(-1, currentDate, true);\"\n [state]=\"(navType === 'prev' || navType === 'both') && (appearance.state !== 'disabled') &&\n isPeriodAvailable(currentDate, config.minDate, 'month', 'prev') ? 'active' : 'disabled'\"/>\n\n <div class=\"month-year-label\">\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"monthsList[currentDate.getMonth()]\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(true)\"> </gravity-dropdown-label>\n\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"currentDate.getFullYear().toString()\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(false)\"> </gravity-dropdown-label>\n </div>\n\n <gravity-icon-button [type]=\"'primary'\" [size]=\"'sm'\" [icon]=\"'arrow-right'\" [supportText]=\"i18n.next_month\"\n (clickOnIcon)=\"currentDate = changeDate(1, currentDate, true);\"\n [state]=\"(navType === 'next' || navType === 'both') && (appearance.state !== 'disabled') &&\n isPeriodAvailable(currentDate, config.maxDate, 'month', 'next') ? 'active' : 'disabled'\"/>\n </section>\n\n <section class=\"gravity-date-picker-body\" [class.mobile]=\"appearance.isMobile\">\n <section class=\"days-name-line\">\n <div class=\"days-name\">\n <span class=\"hr-body\" [ngClass]=\"appearance.isMobile ? 'md-regular' : 'sm-regular'\"\n *ngFor=\"let day of daysList\"> {{ day }} </span>\n </div>\n\n <div class=\"separator-line\"></div>\n </section>\n\n <section class=\"days-number-selector\">\n <div class=\"days-number-table\">\n <div class=\"week-row\" *ngFor=\"let week of getMonthGrid(); trackBy: trackByWeek\">\n <span class=\"hr-body\" *ngFor=\"let day of week; trackBy: trackByDay\"\n [class.preview]=\"range ? isPreview(this, day) : null\"\n [class.disabled]=\"!day.inCurrentMonth\" [class.today]=\"day.isToday\"\n (mouseenter)=\"range ? onHoverDay(this, day) : null; hoverDay.emit(day)\"\n (mouseleave)=\"range ? onClearHover(this) : null; this.clearHover.emit()\"\n [ngClass]=\"[appearance.isMobile ? 'md-regular' : 'sm-regular',\n appearance.state === 'disabled' ? 'disabled' : getDaySelectionClass(day)]\"\n (click)=\"day.inCurrentMonth ? onSelectDay(day): null\"> {{ day.day }} </span>\n </div>\n </div>\n\n <div *ngIf=\"notification\" class=\"notification\" [class.error]=\"notification.error\">\n <gravity-icon [style.--icon-color]=\"'var(--notification-icon-color)'\" [iconSize]=\"'sm-12'\" [iconName]=\"'information-circle'\"/>\n <span class=\"hr-label sm-regular\">{{notification.text}}</span>\n </div>\n\n <div *ngIf=\"range || selectedDay\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\" [state]=\"hasDateSelected() ? 'active' : 'disabled'\"\n [fontClass]=\"appearance.isMobile ? 'hr-body md-regular' : 'hr-body sm-regular'\"\n (click)=\" hasDateSelected() ? clearSelectedDate('all') : null\"/>\n\n <gravity-button *ngIf=\"range\" [size]=\"appearance.isMobile ? 'md' : 'sm'\" [type]=\"'tertiary'\" [disabled]=\"!hasDateSelected(true)\"\n (click)=\"hasDateSelected(true) ? applySelectedDate() : null\"> {{i18n.apply}} </gravity-button>\n </div>\n </section>\n </section>\n</div>\n", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.next-button,.previous-button{cursor:pointer;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs)}.next-button:not(.disabled):hover,.previous-button:not(.disabled):hover{background:var(--bg-button-active-tertiary)}.next-button.disabled,.previous-button.disabled{cursor:default;pointer-events:none;--icon-color: var(--on-bg-disabled)}.separator-line{border-bottom:2px solid var(--divider-menu-active-primary)}.action-section{height:25px;display:flex;align-self:stretch;align-items:center;justify-content:space-between}.title{width:100%;text-align:center;margin-bottom:var(--gravity-spacing-sm);color:var(--label-text-empty-enabled-primary)}.title span{height:11px;display:block;line-height:11px}.gravity-date-picker-content{display:flex;align-items:center;justify-items:center;flex-direction:column;gap:var(--gravity-spacing-md)}.gravity-date-picker-content .selected-dates{width:100%;display:flex;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-date-picker-content .selected-dates ::ng-deep gravity-text-field .gravity-input-field{width:130px}.gravity-date-picker-content .gravity-date-picker-header{gap:0;width:268px;height:auto;display:flex;padding-top:0;align-items:center;justify-content:space-between}.gravity-date-picker-content .gravity-date-picker-header .month-year-label{display:flex;gap:var(--gravity-spacing-sm)}.gravity-date-picker-content .gravity-date-picker-header.mobile,.gravity-date-picker-content .gravity-date-picker-body{width:100%}.gravity-date-picker-content .gravity-date-picker-body .days-name-line{display:flex;flex-direction:column;gap:var(--gravity-spacing-xs);padding-bottom:var(--gravity-spacing-xs)}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .days-name{display:flex;align-self:stretch;justify-content:space-between}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .days-name span{display:flex;cursor:default;align-items:center;justify-content:center;padding:var(--gravity-spacing-xs);color:var(--text-highlight-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .separator-line{width:100%}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector{display:flex;align-self:stretch;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table{display:flex;flex-direction:column}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row{height:25px;display:flex;align-self:stretch}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span{gap:10px;flex:1 0 0;width:31px;height:25px;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--gravity-spacing-xs);color:var(--on-bg-button-pressed-tertiary);border:2px solid var(--bg-calender-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.sl).today{border-color:var(--bg-number-calendar-hover-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.disabled):not(.sl):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.single,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.start,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.end{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.range,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.disabled).preview{border-radius:0;background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.start,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.nsl-start:hover{border-radius:var(--gravity-spacing-xs) 0 0 var(--gravity-spacing-xs)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.end,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-radius:0 var(--gravity-spacing-xs) var(--gravity-spacing-xs) 0}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.in-slt:hover{border-color:var(--bg-button-pressed-primary)!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.default{border-radius:0!important;border-color:transparent!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.same-sln{border-radius:var(--gravity-spacing-xs)!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .notification{display:flex;align-items:center;align-self:stretch;gap:var(--gravity-spacing-xxs);border-radius:.3125rem;padding:var(--gravity-spacing-xs);color:var(--on-bg-button-active-tertiary);background:var(--bg-button-active-tertiary);--notification-icon-color: var(--on-bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .notification.error{color:var(--on-bg-button-active-negative);background:var(--bg-button-active-negative);--notification-icon-color: var(--on-bg-button-active-negative)}.gravity-date-picker-content.mobile{width:100%;height:auto}.gravity-date-picker-content.mobile .selected-dates ::ng-deep gravity-text-field{width:100%}.gravity-date-picker-content.mobile .selected-dates ::ng-deep gravity-text-field .gravity-input-field{min-width:100%}.gravity-date-picker-content.mobile .days-name-line .separator-line{width:100%}.gravity-date-picker-content.mobile .days-number-selector .days-number-table .week-row,.gravity-date-picker-content.mobile .days-number-selector .days-number-table span{height:43px!important}.gravity-date-picker-content.hidden{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GravityButtonComponent, selector: "gravity-button", inputs: ["cypressTag", "disabled", "iconName", "isLoading", "showContent", "size", "iconPosition", "customState", "type"] }, { kind: "component", type: i3.GravityIconButtonComponent, selector: "gravity-icon-button", inputs: ["cypressTag", "icon", "supportText", "variant", "size", "type", "state", "badge"], outputs: ["clickOnIcon"] }, { kind: "component", type: i4.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i5.GravityTextFieldComponent, selector: "gravity-text-field", inputs: ["currentLang", "customInputValue", "customState", "cypressTag", "label", "prefix", "required", "supportText", "textFieldType", "clickOnLeftIcon", "clickOnRightIcon", "iconColor", "iconLeft", "iconRight", "autocomplete", "inputContentType", "placeholder", "validations", "size", "width"], outputs: ["clickIconLeft", "clickIconRight", "response"] }, { kind: "component", type: i6.GravityLinkComponent, selector: "gravity-link", inputs: ["linkText", "fontClass", "link", "cypressTag", "iconName", "target", "iconPosition", "iconSize", "state"] }, { kind: "component", type: i7.GravityDropdownLabelComponent, selector: "gravity-dropdown-label", inputs: ["label", "fontClass", "isOpen", "stopPropagation", "size", "state"], outputs: ["onClickLabel"] }, { kind: "component", type: i8.MonthCalendarComponent, selector: "month-calendar", inputs: ["config", "initDate", "restart", "appearance", "integratedMode"], outputs: ["clearSelection", "response"] }, { kind: "component", type: i9.YearCalendarComponent, selector: "year-calendar", inputs: ["config", "initDate", "restart", "appearance", "integratedMode"], outputs: ["clearSelection", "response"] }] }); }
|
|
233
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DayCalendarComponent, selector: "day-calendar", inputs: { initYear: "initYear", initMonth: "initMonth", range: "range", config: "config", restart: "restart", appyOnClose: "appyOnClose", currentDate: "currentDate", appearance: "appearance", navType: "navType" }, outputs: { clearHover: "clearHover", clearSelection: "clearSelection", hoverDay: "hoverDay", selectedRage: "selectedRage", calendarResponse: "calendarResponse" }, viewQueries: [{ propertyName: "endDateField", first: true, predicate: ["endDate"], descendants: true }, { propertyName: "startDateField", first: true, predicate: ["startDate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section *ngIf=\"showMonthCalendar\">\n <month-calendar\n [config]=\"config\"\n [integratedMode]=\"true\"\n [restart]=\"showMonthCalendar\"\n (response)=\"handleCalendarResponse($event, true)\" [initDate]=\"initMonth\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile }\">\n </month-calendar>\n</section>\n\n<section *ngIf=\"showYearCalendar\">\n <year-calendar\n [config]=\"config\"\n [integratedMode]=\"true\"\n [restart]=\"showYearCalendar\"\n (response)=\"handleCalendarResponse($event, false)\" [initDate]=\"initYear\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile}\">\n </year-calendar>\n</section>\n\n<div *ngIf=\"!appearance.isMobile && !showMonthCalendar && !showYearCalendar\" class=\"title\">\n <span class=\"hr-label sm-bold\">{{range ? i18n.select_range : i18n.select_date}}</span>\n</div>\n\n<div class=\"gravity-date-picker-content\" [class.hidden]=\"showYearCalendar || showMonthCalendar\" [class.mobile]=\"appearance.isMobile\">\n\n <div *ngIf=\"range\" class=\"selected-dates\">\n <gravity-text-field #startDate\n [size]=\"'sm'\"\n [width]=\"'short'\"\n [label]=\"i18n.start_date\"\n [inputContentType]=\"'date'\"\n [supportText]=\"startDateError\"\n [placeholder]=\"i18n.date_placeholder\"\n [clickOnRightIcon]=\"!startFieldDisabled\"\n (keyup)=\"onDateKeyup(this, $event, 'start')\"\n (clickIconRight)=\"clearSelectedDate('start')\"\n (focusout)=\"searchDate(this, startDate.inputValue, 'start')\"\n [iconRight]=\"(selectedRangeStart || startDate.inputValue.length > 9) ? 'unsuccess' : ''\"\n (click)=\"focused = 'start'; selectedRangeStart ? currentDate = calendarDateToDate(selectedRangeStart) : null\"\n [customState]=\"startFieldDisabled ? 'disabled' : startDateError ? 'typed-error' : (startDate.inputValue.length < 1 ? 'default' : 'typing')\"\n [attr.data-cy]=\"'datePicker_startDate'\"/>\n\n <gravity-text-field #endDate\n [size]=\"'sm'\"\n [width]=\"'short'\"\n [label]=\"i18n.end_date\"\n [inputContentType]=\"'date'\"\n [supportText]=\"endDateError\"\n [placeholder]=\"i18n.date_placeholder\"\n [clickOnRightIcon]=\"!endFieldDisabled\"\n (keyup)=\"onDateKeyup(this, $event, 'end')\"\n (clickIconRight)=\"clearSelectedDate('end')\"\n (focusout)=\"searchDate(this, endDate.inputValue, 'end')\"\n [iconRight]=\"(selectedRangeEnd || endDate.inputValue.length > 9) ? 'unsuccess' : ''\"\n (click)=\" focused = 'end'; selectedRangeEnd ? currentDate = calendarDateToDate(selectedRangeEnd) : null\"\n [customState]=\"endFieldDisabled ? 'disabled' : endDateError ? 'typed-error' : (endDate.inputValue.length < 1 ? 'default' : 'typing')\" [attr.data-cy]=\"'datePicker_endDate'\"/>\n </div>\n\n <section class=\"gravity-date-picker-header\" [class.mobile]=\"appearance.isMobile\">\n <gravity-icon-button [type]=\"'primary'\" [size]=\"'sm'\" [icon]=\"'arrow-left'\" [supportText]=\"i18n.preview_month\"\n (clickOnIcon)=\"currentDate = changeDate(-1, currentDate, true);\"\n [state]=\"(navType === 'prev' || navType === 'both') && (appearance.state !== 'disabled') &&\n isPeriodAvailable(currentDate, config.minDate, 'month', 'prev') ? 'active' : 'disabled'\"/>\n\n <div class=\"month-year-label\">\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"monthsList[currentDate.getMonth()]\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(true)\" [attr.data-cy]=\"'datePicker_monthDropdown'\"/>\n\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"currentDate.getFullYear().toString()\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(false)\" [attr.data-cy]=\"'datePicker_yearDropdown'\"/>\n </div>\n\n <gravity-icon-button [type]=\"'primary'\" [size]=\"'sm'\" [icon]=\"'arrow-right'\" [supportText]=\"i18n.next_month\"\n (clickOnIcon)=\"currentDate = changeDate(1, currentDate, true);\"\n [state]=\"(navType === 'next' || navType === 'both') && (appearance.state !== 'disabled') &&\n isPeriodAvailable(currentDate, config.maxDate, 'month', 'next') ? 'active' : 'disabled'\"/>\n </section>\n\n <section class=\"gravity-date-picker-body\" [class.mobile]=\"appearance.isMobile\">\n <section class=\"days-name-line\">\n <div class=\"days-name\">\n <span class=\"hr-body\" [ngClass]=\"appearance.isMobile ? 'md-regular' : 'sm-regular'\"\n *ngFor=\"let day of daysList\"> {{ day }} </span>\n </div>\n\n <div class=\"separator-line\"></div>\n </section>\n\n <section class=\"days-number-selector\" [attr.data-cy]=\"'datePicker_daysSelector'\">\n <div class=\"days-number-table\">\n <div class=\"week-row\" *ngFor=\"let week of getMonthGrid(); trackBy: trackByWeek\">\n <span class=\"hr-body\" *ngFor=\"let day of week; trackBy: trackByDay\"\n [class.preview]=\"range ? isPreview(this, day) : null\"\n [class.disabled]=\"!day.inCurrentMonth\" [class.today]=\"day.isToday\"\n (mouseenter)=\"range ? onHoverDay(this, day) : null; hoverDay.emit(day)\"\n (mouseleave)=\"range ? onClearHover(this) : null; this.clearHover.emit()\"\n [ngClass]=\"[appearance.isMobile ? 'md-regular' : 'sm-regular',\n appearance.state === 'disabled' ? 'disabled' : getDaySelectionClass(day)]\"\n (click)=\"day.inCurrentMonth ? onSelectDay(day): null\"> {{ day.day }} </span>\n </div>\n </div>\n\n <div *ngIf=\"notification\" class=\"notification\" [class.error]=\"notification.error\">\n <gravity-icon [style.--icon-color]=\"'var(--notification-icon-color)'\" [iconSize]=\"'sm-12'\" [iconName]=\"'information-circle'\"/>\n <span class=\"hr-label sm-regular\">{{notification.text}}</span>\n </div>\n\n <div *ngIf=\"range || selectedDay\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\" [state]=\"hasDateSelected() ? 'active' : 'disabled'\"\n [fontClass]=\"appearance.isMobile ? 'hr-body md-regular' : 'hr-body sm-regular'\"\n (click)=\" hasDateSelected() ? clearSelectedDate('all') : null\"/>\n\n <gravity-button *ngIf=\"range\" [size]=\"appearance.isMobile ? 'md' : 'sm'\" [type]=\"'tertiary'\" [disabled]=\"!hasDateSelected(true)\"\n (click)=\"hasDateSelected(true) ? applySelectedDate() : null\"> {{i18n.apply}} </gravity-button>\n </div>\n </section>\n </section>\n</div>\n", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.next-button,.previous-button{cursor:pointer;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs)}.next-button:not(.disabled):hover,.previous-button:not(.disabled):hover{background:var(--bg-button-active-tertiary)}.next-button.disabled,.previous-button.disabled{cursor:default;pointer-events:none;--icon-color: var(--on-bg-disabled)}.separator-line{border-bottom:2px solid var(--divider-menu-active-primary)}.action-section{height:25px;display:flex;align-self:stretch;align-items:center;justify-content:space-between}.title{width:100%;text-align:center;margin-bottom:var(--gravity-spacing-sm);color:var(--label-text-empty-enabled-primary)}.title span{height:11px;display:block;line-height:11px}.gravity-date-picker-content{display:flex;align-items:center;justify-items:center;flex-direction:column;gap:var(--gravity-spacing-md)}.gravity-date-picker-content .selected-dates{width:100%;display:flex;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-date-picker-content .selected-dates ::ng-deep gravity-text-field .gravity-input-field{width:130px}.gravity-date-picker-content .gravity-date-picker-header{gap:0;width:268px;height:auto;display:flex;padding-top:0;align-items:center;justify-content:space-between}.gravity-date-picker-content .gravity-date-picker-header .month-year-label{display:flex;gap:var(--gravity-spacing-sm)}.gravity-date-picker-content .gravity-date-picker-header.mobile,.gravity-date-picker-content .gravity-date-picker-body{width:100%}.gravity-date-picker-content .gravity-date-picker-body .days-name-line{display:flex;flex-direction:column;gap:var(--gravity-spacing-xs);padding-bottom:var(--gravity-spacing-xs)}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .days-name{display:flex;align-self:stretch;justify-content:space-between}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .days-name span{display:flex;cursor:default;align-items:center;justify-content:center;padding:var(--gravity-spacing-xs);color:var(--text-highlight-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .separator-line{width:100%}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector{display:flex;align-self:stretch;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table{display:flex;flex-direction:column}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row{height:25px;display:flex;align-self:stretch}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span{gap:10px;flex:1 0 0;width:31px;height:25px;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--gravity-spacing-xs);color:var(--on-bg-button-pressed-tertiary);border:2px solid var(--bg-calender-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.sl).today{border-color:var(--bg-number-calendar-hover-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.disabled):not(.sl):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.single,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.start,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.end{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.range,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.disabled).preview{border-radius:0;background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.start,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.nsl-start:hover{border-radius:var(--gravity-spacing-xs) 0 0 var(--gravity-spacing-xs)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.end,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-radius:0 var(--gravity-spacing-xs) var(--gravity-spacing-xs) 0}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.in-slt:hover{border-color:var(--bg-button-pressed-primary)!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.default{border-radius:0!important;border-color:transparent!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.same-sln{border-radius:var(--gravity-spacing-xs)!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .notification{display:flex;align-items:center;align-self:stretch;gap:var(--gravity-spacing-xxs);border-radius:.3125rem;padding:var(--gravity-spacing-xs);color:var(--on-bg-button-active-tertiary);background:var(--bg-button-active-tertiary);--notification-icon-color: var(--on-bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .notification.error{color:var(--on-bg-button-active-negative);background:var(--bg-button-active-negative);--notification-icon-color: var(--on-bg-button-active-negative)}.gravity-date-picker-content.mobile{width:100%;height:auto}.gravity-date-picker-content.mobile .selected-dates ::ng-deep gravity-text-field{width:100%}.gravity-date-picker-content.mobile .selected-dates ::ng-deep gravity-text-field .gravity-input-field{min-width:100%}.gravity-date-picker-content.mobile .days-name-line .separator-line{width:100%}.gravity-date-picker-content.mobile .days-number-selector .days-number-table .week-row,.gravity-date-picker-content.mobile .days-number-selector .days-number-table span{height:43px!important}.gravity-date-picker-content.hidden{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.GravityButtonComponent, selector: "gravity-button", inputs: ["cypressTag", "disabled", "iconName", "isLoading", "showContent", "size", "iconPosition", "customState", "type"] }, { kind: "component", type: i3.GravityIconButtonComponent, selector: "gravity-icon-button", inputs: ["cypressTag", "icon", "supportText", "variant", "size", "type", "state", "badge"], outputs: ["clickOnIcon"] }, { kind: "component", type: i4.GravityIconComponent, selector: "gravity-icon", inputs: ["customIconColorVariable", "iconName", "iconSize", "hoverIcon", "size", "isCoin"] }, { kind: "component", type: i5.GravityTextFieldComponent, selector: "gravity-text-field", inputs: ["currentLang", "customInputValue", "customState", "cypressTag", "label", "prefix", "required", "supportText", "textFieldType", "clickOnLeftIcon", "clickOnRightIcon", "iconColor", "iconLeft", "iconRight", "autocomplete", "inputContentType", "placeholder", "validations", "size", "width"], outputs: ["clickIconLeft", "clickIconRight", "response"] }, { kind: "component", type: i6.GravityLinkComponent, selector: "gravity-link", inputs: ["linkText", "fontClass", "link", "cypressTag", "iconName", "target", "iconPosition", "iconSize", "state"] }, { kind: "component", type: i7.GravityDropdownLabelComponent, selector: "gravity-dropdown-label", inputs: ["label", "fontClass", "isOpen", "stopPropagation", "size", "state"], outputs: ["onClickLabel"] }, { kind: "component", type: i8.MonthCalendarComponent, selector: "month-calendar", inputs: ["config", "initDate", "restart", "appearance", "integratedMode"], outputs: ["clearSelection", "response"] }, { kind: "component", type: i9.YearCalendarComponent, selector: "year-calendar", inputs: ["config", "initDate", "restart", "appearance", "integratedMode"], outputs: ["clearSelection", "response"] }] }); }
|
|
234
234
|
}
|
|
235
235
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DayCalendarComponent, decorators: [{
|
|
236
236
|
type: Component,
|
|
237
|
-
args: [{ selector: 'day-calendar', template: "<section *ngIf=\"showMonthCalendar\">\n <month-calendar\n [config]=\"config\"\n [integratedMode]=\"true\"\n [restart]=\"showMonthCalendar\"\n (response)=\"handleCalendarResponse($event, true)\" [initDate]=\"initMonth\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile }\">\n </month-calendar>\n</section>\n\n<section *ngIf=\"showYearCalendar\">\n <year-calendar\n [config]=\"config\"\n [integratedMode]=\"true\"\n [restart]=\"showYearCalendar\"\n (response)=\"handleCalendarResponse($event, false)\" [initDate]=\"initYear\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile}\">\n </year-calendar>\n</section>\n\n<div *ngIf=\"!appearance.isMobile && !showMonthCalendar && !showYearCalendar\" class=\"title\">\n <span class=\"hr-label sm-bold\">{{range ? i18n.select_range : i18n.select_date}}</span>\n</div>\n\n<div class=\"gravity-date-picker-content\" [class.hidden]=\"showYearCalendar || showMonthCalendar\" [class.mobile]=\"appearance.isMobile\">\n\n <div *ngIf=\"range\" class=\"selected-dates\">\n <gravity-text-field #startDate\n [size]=\"'sm'\"\n [width]=\"'short'\"\n [label]=\"i18n.start_date\"\n [inputContentType]=\"'date'\"\n [supportText]=\"startDateError\"\n [placeholder]=\"i18n.date_placeholder\"\n [clickOnRightIcon]=\"!startFieldDisabled\"\n (keyup)=\"onDateKeyup(this, $event, 'start')\"\n (clickIconRight)=\"clearSelectedDate('start')\"\n (focusout)=\"searchDate(this, startDate.inputValue, 'start')\"\n [iconRight]=\"(selectedRangeStart || startDate.inputValue.length > 9) ? 'unsuccess' : ''\"\n (click)=\"focused = 'start'; selectedRangeStart ? currentDate = calendarDateToDate(selectedRangeStart) : null\"\n [customState]=\"startFieldDisabled ? 'disabled' : startDateError ? 'typed-error' : (startDate.inputValue.length < 1 ? 'default' : 'typing')\"/>\n\n <gravity-text-field #endDate\n [size]=\"'sm'\"\n [width]=\"'short'\"\n [label]=\"i18n.end_date\"\n [inputContentType]=\"'date'\"\n [supportText]=\"endDateError\"\n [placeholder]=\"i18n.date_placeholder\"\n [clickOnRightIcon]=\"!endFieldDisabled\"\n (keyup)=\"onDateKeyup(this, $event, 'end')\"\n (clickIconRight)=\"clearSelectedDate('end')\"\n (focusout)=\"searchDate(this, endDate.inputValue, 'end')\"\n [iconRight]=\"(selectedRangeEnd || endDate.inputValue.length > 9) ? 'unsuccess' : ''\"\n (click)=\" focused = 'end'; selectedRangeEnd ? currentDate = calendarDateToDate(selectedRangeEnd) : null\"\n [customState]=\"endFieldDisabled ? 'disabled' : endDateError ? 'typed-error' : (endDate.inputValue.length < 1 ? 'default' : 'typing')\"/>\n </div>\n\n <section class=\"gravity-date-picker-header\" [class.mobile]=\"appearance.isMobile\">\n <gravity-icon-button [type]=\"'primary'\" [size]=\"'sm'\" [icon]=\"'arrow-left'\" [supportText]=\"i18n.preview_month\"\n (clickOnIcon)=\"currentDate = changeDate(-1, currentDate, true);\"\n [state]=\"(navType === 'prev' || navType === 'both') && (appearance.state !== 'disabled') &&\n isPeriodAvailable(currentDate, config.minDate, 'month', 'prev') ? 'active' : 'disabled'\"/>\n\n <div class=\"month-year-label\">\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"monthsList[currentDate.getMonth()]\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(true)\"> </gravity-dropdown-label>\n\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"currentDate.getFullYear().toString()\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(false)\"> </gravity-dropdown-label>\n </div>\n\n <gravity-icon-button [type]=\"'primary'\" [size]=\"'sm'\" [icon]=\"'arrow-right'\" [supportText]=\"i18n.next_month\"\n (clickOnIcon)=\"currentDate = changeDate(1, currentDate, true);\"\n [state]=\"(navType === 'next' || navType === 'both') && (appearance.state !== 'disabled') &&\n isPeriodAvailable(currentDate, config.maxDate, 'month', 'next') ? 'active' : 'disabled'\"/>\n </section>\n\n <section class=\"gravity-date-picker-body\" [class.mobile]=\"appearance.isMobile\">\n <section class=\"days-name-line\">\n <div class=\"days-name\">\n <span class=\"hr-body\" [ngClass]=\"appearance.isMobile ? 'md-regular' : 'sm-regular'\"\n *ngFor=\"let day of daysList\"> {{ day }} </span>\n </div>\n\n <div class=\"separator-line\"></div>\n </section>\n\n <section class=\"days-number-selector\">\n <div class=\"days-number-table\">\n <div class=\"week-row\" *ngFor=\"let week of getMonthGrid(); trackBy: trackByWeek\">\n <span class=\"hr-body\" *ngFor=\"let day of week; trackBy: trackByDay\"\n [class.preview]=\"range ? isPreview(this, day) : null\"\n [class.disabled]=\"!day.inCurrentMonth\" [class.today]=\"day.isToday\"\n (mouseenter)=\"range ? onHoverDay(this, day) : null; hoverDay.emit(day)\"\n (mouseleave)=\"range ? onClearHover(this) : null; this.clearHover.emit()\"\n [ngClass]=\"[appearance.isMobile ? 'md-regular' : 'sm-regular',\n appearance.state === 'disabled' ? 'disabled' : getDaySelectionClass(day)]\"\n (click)=\"day.inCurrentMonth ? onSelectDay(day): null\"> {{ day.day }} </span>\n </div>\n </div>\n\n <div *ngIf=\"notification\" class=\"notification\" [class.error]=\"notification.error\">\n <gravity-icon [style.--icon-color]=\"'var(--notification-icon-color)'\" [iconSize]=\"'sm-12'\" [iconName]=\"'information-circle'\"/>\n <span class=\"hr-label sm-regular\">{{notification.text}}</span>\n </div>\n\n <div *ngIf=\"range || selectedDay\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\" [state]=\"hasDateSelected() ? 'active' : 'disabled'\"\n [fontClass]=\"appearance.isMobile ? 'hr-body md-regular' : 'hr-body sm-regular'\"\n (click)=\" hasDateSelected() ? clearSelectedDate('all') : null\"/>\n\n <gravity-button *ngIf=\"range\" [size]=\"appearance.isMobile ? 'md' : 'sm'\" [type]=\"'tertiary'\" [disabled]=\"!hasDateSelected(true)\"\n (click)=\"hasDateSelected(true) ? applySelectedDate() : null\"> {{i18n.apply}} </gravity-button>\n </div>\n </section>\n </section>\n</div>\n", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.next-button,.previous-button{cursor:pointer;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs)}.next-button:not(.disabled):hover,.previous-button:not(.disabled):hover{background:var(--bg-button-active-tertiary)}.next-button.disabled,.previous-button.disabled{cursor:default;pointer-events:none;--icon-color: var(--on-bg-disabled)}.separator-line{border-bottom:2px solid var(--divider-menu-active-primary)}.action-section{height:25px;display:flex;align-self:stretch;align-items:center;justify-content:space-between}.title{width:100%;text-align:center;margin-bottom:var(--gravity-spacing-sm);color:var(--label-text-empty-enabled-primary)}.title span{height:11px;display:block;line-height:11px}.gravity-date-picker-content{display:flex;align-items:center;justify-items:center;flex-direction:column;gap:var(--gravity-spacing-md)}.gravity-date-picker-content .selected-dates{width:100%;display:flex;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-date-picker-content .selected-dates ::ng-deep gravity-text-field .gravity-input-field{width:130px}.gravity-date-picker-content .gravity-date-picker-header{gap:0;width:268px;height:auto;display:flex;padding-top:0;align-items:center;justify-content:space-between}.gravity-date-picker-content .gravity-date-picker-header .month-year-label{display:flex;gap:var(--gravity-spacing-sm)}.gravity-date-picker-content .gravity-date-picker-header.mobile,.gravity-date-picker-content .gravity-date-picker-body{width:100%}.gravity-date-picker-content .gravity-date-picker-body .days-name-line{display:flex;flex-direction:column;gap:var(--gravity-spacing-xs);padding-bottom:var(--gravity-spacing-xs)}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .days-name{display:flex;align-self:stretch;justify-content:space-between}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .days-name span{display:flex;cursor:default;align-items:center;justify-content:center;padding:var(--gravity-spacing-xs);color:var(--text-highlight-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .separator-line{width:100%}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector{display:flex;align-self:stretch;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table{display:flex;flex-direction:column}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row{height:25px;display:flex;align-self:stretch}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span{gap:10px;flex:1 0 0;width:31px;height:25px;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--gravity-spacing-xs);color:var(--on-bg-button-pressed-tertiary);border:2px solid var(--bg-calender-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.sl).today{border-color:var(--bg-number-calendar-hover-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.disabled):not(.sl):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.single,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.start,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.end{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.range,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.disabled).preview{border-radius:0;background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.start,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.nsl-start:hover{border-radius:var(--gravity-spacing-xs) 0 0 var(--gravity-spacing-xs)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.end,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-radius:0 var(--gravity-spacing-xs) var(--gravity-spacing-xs) 0}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.in-slt:hover{border-color:var(--bg-button-pressed-primary)!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.default{border-radius:0!important;border-color:transparent!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.same-sln{border-radius:var(--gravity-spacing-xs)!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .notification{display:flex;align-items:center;align-self:stretch;gap:var(--gravity-spacing-xxs);border-radius:.3125rem;padding:var(--gravity-spacing-xs);color:var(--on-bg-button-active-tertiary);background:var(--bg-button-active-tertiary);--notification-icon-color: var(--on-bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .notification.error{color:var(--on-bg-button-active-negative);background:var(--bg-button-active-negative);--notification-icon-color: var(--on-bg-button-active-negative)}.gravity-date-picker-content.mobile{width:100%;height:auto}.gravity-date-picker-content.mobile .selected-dates ::ng-deep gravity-text-field{width:100%}.gravity-date-picker-content.mobile .selected-dates ::ng-deep gravity-text-field .gravity-input-field{min-width:100%}.gravity-date-picker-content.mobile .days-name-line .separator-line{width:100%}.gravity-date-picker-content.mobile .days-number-selector .days-number-table .week-row,.gravity-date-picker-content.mobile .days-number-selector .days-number-table span{height:43px!important}.gravity-date-picker-content.hidden{display:none}\n"] }]
|
|
237
|
+
args: [{ selector: 'day-calendar', template: "<section *ngIf=\"showMonthCalendar\">\n <month-calendar\n [config]=\"config\"\n [integratedMode]=\"true\"\n [restart]=\"showMonthCalendar\"\n (response)=\"handleCalendarResponse($event, true)\" [initDate]=\"initMonth\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile }\">\n </month-calendar>\n</section>\n\n<section *ngIf=\"showYearCalendar\">\n <year-calendar\n [config]=\"config\"\n [integratedMode]=\"true\"\n [restart]=\"showYearCalendar\"\n (response)=\"handleCalendarResponse($event, false)\" [initDate]=\"initYear\"\n [appearance]=\"{language: appearance.language, isMobile: appearance.isMobile}\">\n </year-calendar>\n</section>\n\n<div *ngIf=\"!appearance.isMobile && !showMonthCalendar && !showYearCalendar\" class=\"title\">\n <span class=\"hr-label sm-bold\">{{range ? i18n.select_range : i18n.select_date}}</span>\n</div>\n\n<div class=\"gravity-date-picker-content\" [class.hidden]=\"showYearCalendar || showMonthCalendar\" [class.mobile]=\"appearance.isMobile\">\n\n <div *ngIf=\"range\" class=\"selected-dates\">\n <gravity-text-field #startDate\n [size]=\"'sm'\"\n [width]=\"'short'\"\n [label]=\"i18n.start_date\"\n [inputContentType]=\"'date'\"\n [supportText]=\"startDateError\"\n [placeholder]=\"i18n.date_placeholder\"\n [clickOnRightIcon]=\"!startFieldDisabled\"\n (keyup)=\"onDateKeyup(this, $event, 'start')\"\n (clickIconRight)=\"clearSelectedDate('start')\"\n (focusout)=\"searchDate(this, startDate.inputValue, 'start')\"\n [iconRight]=\"(selectedRangeStart || startDate.inputValue.length > 9) ? 'unsuccess' : ''\"\n (click)=\"focused = 'start'; selectedRangeStart ? currentDate = calendarDateToDate(selectedRangeStart) : null\"\n [customState]=\"startFieldDisabled ? 'disabled' : startDateError ? 'typed-error' : (startDate.inputValue.length < 1 ? 'default' : 'typing')\"\n [attr.data-cy]=\"'datePicker_startDate'\"/>\n\n <gravity-text-field #endDate\n [size]=\"'sm'\"\n [width]=\"'short'\"\n [label]=\"i18n.end_date\"\n [inputContentType]=\"'date'\"\n [supportText]=\"endDateError\"\n [placeholder]=\"i18n.date_placeholder\"\n [clickOnRightIcon]=\"!endFieldDisabled\"\n (keyup)=\"onDateKeyup(this, $event, 'end')\"\n (clickIconRight)=\"clearSelectedDate('end')\"\n (focusout)=\"searchDate(this, endDate.inputValue, 'end')\"\n [iconRight]=\"(selectedRangeEnd || endDate.inputValue.length > 9) ? 'unsuccess' : ''\"\n (click)=\" focused = 'end'; selectedRangeEnd ? currentDate = calendarDateToDate(selectedRangeEnd) : null\"\n [customState]=\"endFieldDisabled ? 'disabled' : endDateError ? 'typed-error' : (endDate.inputValue.length < 1 ? 'default' : 'typing')\" [attr.data-cy]=\"'datePicker_endDate'\"/>\n </div>\n\n <section class=\"gravity-date-picker-header\" [class.mobile]=\"appearance.isMobile\">\n <gravity-icon-button [type]=\"'primary'\" [size]=\"'sm'\" [icon]=\"'arrow-left'\" [supportText]=\"i18n.preview_month\"\n (clickOnIcon)=\"currentDate = changeDate(-1, currentDate, true);\"\n [state]=\"(navType === 'prev' || navType === 'both') && (appearance.state !== 'disabled') &&\n isPeriodAvailable(currentDate, config.minDate, 'month', 'prev') ? 'active' : 'disabled'\"/>\n\n <div class=\"month-year-label\">\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"monthsList[currentDate.getMonth()]\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(true)\" [attr.data-cy]=\"'datePicker_monthDropdown'\"/>\n\n <gravity-dropdown-label [fontClass]=\"'hr-title sm-bold'\" [size]=\"'sm'\" [label]=\"currentDate.getFullYear().toString()\"\n [state]=\"appearance.state === 'disabled' ? 'inactive' : 'active'\" (onClickLabel)=\"handleOnClickDropdownLabel(false)\" [attr.data-cy]=\"'datePicker_yearDropdown'\"/>\n </div>\n\n <gravity-icon-button [type]=\"'primary'\" [size]=\"'sm'\" [icon]=\"'arrow-right'\" [supportText]=\"i18n.next_month\"\n (clickOnIcon)=\"currentDate = changeDate(1, currentDate, true);\"\n [state]=\"(navType === 'next' || navType === 'both') && (appearance.state !== 'disabled') &&\n isPeriodAvailable(currentDate, config.maxDate, 'month', 'next') ? 'active' : 'disabled'\"/>\n </section>\n\n <section class=\"gravity-date-picker-body\" [class.mobile]=\"appearance.isMobile\">\n <section class=\"days-name-line\">\n <div class=\"days-name\">\n <span class=\"hr-body\" [ngClass]=\"appearance.isMobile ? 'md-regular' : 'sm-regular'\"\n *ngFor=\"let day of daysList\"> {{ day }} </span>\n </div>\n\n <div class=\"separator-line\"></div>\n </section>\n\n <section class=\"days-number-selector\" [attr.data-cy]=\"'datePicker_daysSelector'\">\n <div class=\"days-number-table\">\n <div class=\"week-row\" *ngFor=\"let week of getMonthGrid(); trackBy: trackByWeek\">\n <span class=\"hr-body\" *ngFor=\"let day of week; trackBy: trackByDay\"\n [class.preview]=\"range ? isPreview(this, day) : null\"\n [class.disabled]=\"!day.inCurrentMonth\" [class.today]=\"day.isToday\"\n (mouseenter)=\"range ? onHoverDay(this, day) : null; hoverDay.emit(day)\"\n (mouseleave)=\"range ? onClearHover(this) : null; this.clearHover.emit()\"\n [ngClass]=\"[appearance.isMobile ? 'md-regular' : 'sm-regular',\n appearance.state === 'disabled' ? 'disabled' : getDaySelectionClass(day)]\"\n (click)=\"day.inCurrentMonth ? onSelectDay(day): null\"> {{ day.day }} </span>\n </div>\n </div>\n\n <div *ngIf=\"notification\" class=\"notification\" [class.error]=\"notification.error\">\n <gravity-icon [style.--icon-color]=\"'var(--notification-icon-color)'\" [iconSize]=\"'sm-12'\" [iconName]=\"'information-circle'\"/>\n <span class=\"hr-label sm-regular\">{{notification.text}}</span>\n </div>\n\n <div *ngIf=\"range || selectedDay\" class=\"action-section\" >\n <gravity-link [linkText]=\"i18n.clear\" [state]=\"hasDateSelected() ? 'active' : 'disabled'\"\n [fontClass]=\"appearance.isMobile ? 'hr-body md-regular' : 'hr-body sm-regular'\"\n (click)=\" hasDateSelected() ? clearSelectedDate('all') : null\"/>\n\n <gravity-button *ngIf=\"range\" [size]=\"appearance.isMobile ? 'md' : 'sm'\" [type]=\"'tertiary'\" [disabled]=\"!hasDateSelected(true)\"\n (click)=\"hasDateSelected(true) ? applySelectedDate() : null\"> {{i18n.apply}} </gravity-button>\n </div>\n </section>\n </section>\n</div>\n", styles: [":root{--gravity-spacing-none: 0;--gravity-spacing-xxxs: .125rem;--gravity-spacing-xxs: .25rem;--gravity-spacing-xs: .5rem;--gravity-spacing-sm: 1rem;--gravity-spacing-md: 1.5rem;--gravity-spacing-lg: 2rem;--gravity-spacing-xl: 2.5rem;--gravity-spacing-xxl: 3rem;--gravity-spacing-xxxl: 4rem;--gravity-spacing-xxxxl: 6rem;--gravity-spacing-xxxxxl: 12rem}.gravity-padding-none{padding:0!important}.gravity-padding-top-none{padding-top:0!important}.gravity-padding-bottom-none{padding-bottom:0!important}.gravity-padding-left-none{padding-left:0!important}.gravity-padding-right-none{padding-right:0!important}.gravity-padding-block-none{padding-block:0!important}.gravity-padding-inline-none{padding-inline:0!important}.gravity-padding-xxs{padding:.25rem!important}.gravity-padding-top-xxs{padding-top:.25rem!important}.gravity-padding-bottom-xxs{padding-bottom:.25rem!important}.gravity-padding-left-xxs{padding-left:.25rem!important}.gravity-padding-right-xxs{padding-right:.25rem!important}.gravity-padding-block-xxs{padding-block:.25rem!important}.gravity-padding-inline-xxs{padding-inline:.25rem!important}.gravity-padding-xs{padding:.5rem!important}.gravity-padding-top-xs{padding-top:.5rem!important}.gravity-padding-bottom-xs{padding-bottom:.5rem!important}.gravity-padding-left-xs{padding-left:.5rem!important}.gravity-padding-right-xs{padding-right:.5rem!important}.gravity-padding-block-xs{padding-block:.5rem!important}.gravity-padding-inline-xs{padding-inline:.5rem!important}.gravity-padding-sm{padding:1rem!important}.gravity-padding-top-sm{padding-top:1rem!important}.gravity-padding-bottom-sm{padding-bottom:1rem!important}.gravity-padding-left-sm{padding-left:1rem!important}.gravity-padding-right-sm{padding-right:1rem!important}.gravity-padding-block-sm{padding-block:1rem!important}.gravity-padding-inline-sm{padding-inline:1rem!important}.gravity-padding-md{padding:1.5rem!important}.gravity-padding-top-md{padding-top:1.5rem!important}.gravity-padding-bottom-md{padding-bottom:1.5rem!important}.gravity-padding-left-md{padding-left:1.5rem!important}.gravity-padding-right-md{padding-right:1.5rem!important}.gravity-padding-block-md{padding-block:1.5rem!important}.gravity-padding-inline-md{padding-inline:1.5rem!important}.gravity-padding-lg{padding:2rem!important}.gravity-padding-top-lg{padding-top:2rem!important}.gravity-padding-bottom-lg{padding-bottom:2rem!important}.gravity-padding-left-lg{padding-left:2rem!important}.gravity-padding-right-lg{padding-right:2rem!important}.gravity-padding-block-lg{padding-block:2rem!important}.gravity-padding-inline-lg{padding-inline:2rem!important}.gravity-padding-xl{padding:2.5rem!important}.gravity-padding-top-xl{padding-top:2.5rem!important}.gravity-padding-bottom-xl{padding-bottom:2.5rem!important}.gravity-padding-left-xl{padding-left:2.5rem!important}.gravity-padding-right-xl{padding-right:2.5rem!important}.gravity-padding-block-xl{padding-block:2.5rem!important}.gravity-padding-inline-xl{padding-inline:2.5rem!important}.gravity-padding-xxl{padding:3rem!important}.gravity-padding-top-xxl{padding-top:3rem!important}.gravity-padding-bottom-xxl{padding-bottom:3rem!important}.gravity-padding-left-xxl{padding-left:3rem!important}.gravity-padding-right-xxl{padding-right:3rem!important}.gravity-padding-block-xxl{padding-block:3rem!important}.gravity-padding-inline-xxl{padding-inline:3rem!important}.gravity-padding-xxxl{padding:4rem!important}.gravity-padding-top-xxxl{padding-top:4rem!important}.gravity-padding-bottom-xxxl{padding-bottom:4rem!important}.gravity-padding-left-xxxl{padding-left:4rem!important}.gravity-padding-right-xxxl{padding-right:4rem!important}.gravity-padding-block-xxxl{padding-block:4rem!important}.gravity-padding-inline-xxxl{padding-inline:4rem!important}.gravity-padding-xxxxl{padding:6rem!important}.gravity-padding-top-xxxxl{padding-top:6rem!important}.gravity-padding-bottom-xxxxl{padding-bottom:6rem!important}.gravity-padding-left-xxxxl{padding-left:6rem!important}.gravity-padding-right-xxxxl{padding-right:6rem!important}.gravity-padding-block-xxxxl{padding-block:6rem!important}.gravity-padding-inline-xxxxl{padding-inline:6rem!important}.gravity-padding-xxxxxl{padding:12rem!important}.gravity-padding-top-xxxxxl{padding-top:12rem!important}.gravity-padding-bottom-xxxxxl{padding-bottom:12rem!important}.gravity-padding-left-xxxxxl{padding-left:12rem!important}.gravity-padding-right-xxxxxl{padding-right:12rem!important}.gravity-padding-block-xxxxxl{padding-block:12rem!important}.gravity-padding-inline-xxxxxl{padding-inline:12rem!important}.gravity-margin-none{margin:0!important}.gravity-margin-top-none{margin-top:0!important}.gravity-margin-bottom-none{margin-bottom:0!important}.gravity-margin-left-none{margin-left:0!important}.gravity-margin-right-none{margin-right:0!important}.gravity-margin-block-none{margin-block:0!important}.gravity-margin-inline-none{margin-inline:0!important}.gravity-margin-xxs{margin:.25rem!important}.gravity-margin-top-xxs{margin-top:.25rem!important}.gravity-margin-bottom-xxs{margin-bottom:.25rem!important}.gravity-margin-left-xxs{margin-left:.25rem!important}.gravity-margin-right-xxs{margin-right:.25rem!important}.gravity-margin-block-xxs{margin-block:.25rem!important}.gravity-margin-inline-xxs{margin-inline:.25rem!important}.gravity-margin-xs{margin:.5rem!important}.gravity-margin-top-xs{margin-top:.5rem!important}.gravity-margin-bottom-xs{margin-bottom:.5rem!important}.gravity-margin-left-xs{margin-left:.5rem!important}.gravity-margin-right-xs{margin-right:.5rem!important}.gravity-margin-block-xs{margin-block:.5rem!important}.gravity-margin-inline-xs{margin-inline:.5rem!important}.gravity-margin-sm{margin:1rem!important}.gravity-margin-top-sm{margin-top:1rem!important}.gravity-margin-bottom-sm{margin-bottom:1rem!important}.gravity-margin-left-sm{margin-left:1rem!important}.gravity-margin-right-sm{margin-right:1rem!important}.gravity-margin-block-sm{margin-block:1rem!important}.gravity-margin-inline-sm{margin-inline:1rem!important}.gravity-margin-md{margin:1.5rem!important}.gravity-margin-top-md{margin-top:1.5rem!important}.gravity-margin-bottom-md{margin-bottom:1.5rem!important}.gravity-margin-left-md{margin-left:1.5rem!important}.gravity-margin-right-md{margin-right:1.5rem!important}.gravity-margin-block-md{margin-block:1.5rem!important}.gravity-margin-inline-md{margin-inline:1.5rem!important}.gravity-margin-lg{margin:2rem!important}.gravity-margin-top-lg{margin-top:2rem!important}.gravity-margin-bottom-lg{margin-bottom:2rem!important}.gravity-margin-left-lg{margin-left:2rem!important}.gravity-margin-right-lg{margin-right:2rem!important}.gravity-margin-block-lg{margin-block:2rem!important}.gravity-margin-inline-lg{margin-inline:2rem!important}.gravity-margin-xl{margin:2.5rem!important}.gravity-margin-top-xl{margin-top:2.5rem!important}.gravity-margin-bottom-xl{margin-bottom:2.5rem!important}.gravity-margin-left-xl{margin-left:2.5rem!important}.gravity-margin-right-xl{margin-right:2.5rem!important}.gravity-margin-block-xl{margin-block:2.5rem!important}.gravity-margin-inline-xl{margin-inline:2.5rem!important}.gravity-margin-xxl{margin:3rem!important}.gravity-margin-top-xxl{margin-top:3rem!important}.gravity-margin-bottom-xxl{margin-bottom:3rem!important}.gravity-margin-left-xxl{margin-left:3rem!important}.gravity-margin-right-xxl{margin-right:3rem!important}.gravity-margin-block-xxl{margin-block:3rem!important}.gravity-margin-inline-xxl{margin-inline:3rem!important}.gravity-margin-xxxl{margin:4rem!important}.gravity-margin-top-xxxl{margin-top:4rem!important}.gravity-margin-bottom-xxxl{margin-bottom:4rem!important}.gravity-margin-left-xxxl{margin-left:4rem!important}.gravity-margin-right-xxxl{margin-right:4rem!important}.gravity-margin-block-xxxl{margin-block:4rem!important}.gravity-margin-inline-xxxl{margin-inline:4rem!important}.gravity-margin-xxxxl{margin:6rem!important}.gravity-margin-top-xxxxl{margin-top:6rem!important}.gravity-margin-bottom-xxxxl{margin-bottom:6rem!important}.gravity-margin-left-xxxxl{margin-left:6rem!important}.gravity-margin-right-xxxxl{margin-right:6rem!important}.gravity-margin-block-xxxxl{margin-block:6rem!important}.gravity-margin-inline-xxxxl{margin-inline:6rem!important}.gravity-margin-xxxxxl{margin:12rem!important}.gravity-margin-top-xxxxxl{margin-top:12rem!important}.gravity-margin-bottom-xxxxxl{margin-bottom:12rem!important}.gravity-margin-left-xxxxxl{margin-left:12rem!important}.gravity-margin-right-xxxxxl{margin-right:12rem!important}.gravity-margin-block-xxxxxl{margin-block:12rem!important}.gravity-margin-inline-xxxxxl{margin-inline:12rem!important}.border-radius-none{border-radius:0}.border-radius-xs{border-radius:.0625rem}.border-radius-sm{border-radius:.3125rem}.border-radius-md{border-radius:.625rem}.border-radius-lg{border-radius:.9375rem}.border-radius-xl{border-radius:1.25rem}.border-radius-xxl{border-radius:2rem}.border-radius-rounded{border-radius:6.25rem}.next-button,.previous-button{cursor:pointer;padding:var(--gravity-spacing-xs);border-radius:var(--gravity-spacing-xs)}.next-button:not(.disabled):hover,.previous-button:not(.disabled):hover{background:var(--bg-button-active-tertiary)}.next-button.disabled,.previous-button.disabled{cursor:default;pointer-events:none;--icon-color: var(--on-bg-disabled)}.separator-line{border-bottom:2px solid var(--divider-menu-active-primary)}.action-section{height:25px;display:flex;align-self:stretch;align-items:center;justify-content:space-between}.title{width:100%;text-align:center;margin-bottom:var(--gravity-spacing-sm);color:var(--label-text-empty-enabled-primary)}.title span{height:11px;display:block;line-height:11px}.gravity-date-picker-content{display:flex;align-items:center;justify-items:center;flex-direction:column;gap:var(--gravity-spacing-md)}.gravity-date-picker-content .selected-dates{width:100%;display:flex;align-items:flex-start;gap:var(--gravity-spacing-xs)}.gravity-date-picker-content .selected-dates ::ng-deep gravity-text-field .gravity-input-field{width:130px}.gravity-date-picker-content .gravity-date-picker-header{gap:0;width:268px;height:auto;display:flex;padding-top:0;align-items:center;justify-content:space-between}.gravity-date-picker-content .gravity-date-picker-header .month-year-label{display:flex;gap:var(--gravity-spacing-sm)}.gravity-date-picker-content .gravity-date-picker-header.mobile,.gravity-date-picker-content .gravity-date-picker-body{width:100%}.gravity-date-picker-content .gravity-date-picker-body .days-name-line{display:flex;flex-direction:column;gap:var(--gravity-spacing-xs);padding-bottom:var(--gravity-spacing-xs)}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .days-name{display:flex;align-self:stretch;justify-content:space-between}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .days-name span{display:flex;cursor:default;align-items:center;justify-content:center;padding:var(--gravity-spacing-xs);color:var(--text-highlight-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-name-line .separator-line{width:100%}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector{display:flex;align-self:stretch;flex-direction:column;gap:var(--gravity-spacing-sm)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table{display:flex;flex-direction:column}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row{height:25px;display:flex;align-self:stretch}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span{gap:10px;flex:1 0 0;width:31px;height:25px;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--gravity-spacing-xs);color:var(--on-bg-button-pressed-tertiary);border:2px solid var(--bg-calender-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.sl).today{border-color:var(--bg-number-calendar-hover-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.disabled):not(.sl):hover{color:var(--on-bg-button-pressed-tertiary);background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.single,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.start,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.end{color:var(--on-bg-button-pressed-primary);background:var(--bg-button-pressed-primary);border-color:var(--bg-button-pressed-primary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.range,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span:not(.disabled).preview{border-radius:0;background:var(--bg-button-active-tertiary);border-color:var(--bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.start,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.nsl-start:hover{border-radius:var(--gravity-spacing-xs) 0 0 var(--gravity-spacing-xs)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.end,.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.nsl-end:hover{border-radius:0 var(--gravity-spacing-xs) var(--gravity-spacing-xs) 0}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.in-slt:hover{border-color:var(--bg-button-pressed-primary)!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.default{border-radius:0!important;border-color:transparent!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.same-sln{border-radius:var(--gravity-spacing-xs)!important}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .days-number-table .week-row span.disabled{cursor:default;pointer-events:none;color:var(--on-bg-disabled)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .notification{display:flex;align-items:center;align-self:stretch;gap:var(--gravity-spacing-xxs);border-radius:.3125rem;padding:var(--gravity-spacing-xs);color:var(--on-bg-button-active-tertiary);background:var(--bg-button-active-tertiary);--notification-icon-color: var(--on-bg-button-active-tertiary)}.gravity-date-picker-content .gravity-date-picker-body .days-number-selector .notification.error{color:var(--on-bg-button-active-negative);background:var(--bg-button-active-negative);--notification-icon-color: var(--on-bg-button-active-negative)}.gravity-date-picker-content.mobile{width:100%;height:auto}.gravity-date-picker-content.mobile .selected-dates ::ng-deep gravity-text-field{width:100%}.gravity-date-picker-content.mobile .selected-dates ::ng-deep gravity-text-field .gravity-input-field{min-width:100%}.gravity-date-picker-content.mobile .days-name-line .separator-line{width:100%}.gravity-date-picker-content.mobile .days-number-selector .days-number-table .week-row,.gravity-date-picker-content.mobile .days-number-selector .days-number-table span{height:43px!important}.gravity-date-picker-content.hidden{display:none}\n"] }]
|
|
238
238
|
}], propDecorators: { initYear: [{
|
|
239
239
|
type: Input
|
|
240
240
|
}], initMonth: [{
|
|
@@ -270,4 +270,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
270
270
|
type: ViewChild,
|
|
271
271
|
args: ['startDate']
|
|
272
272
|
}] } });
|
|
273
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kYXRlLXBpY2tlci9jb21wb25lbnRzL2RheS1jYWxlbmRhci9kYXktY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWRhdGUtcGlja2VyL2NvbXBvbmVudHMvZGF5LWNhbGVuZGFyL2RheS1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNySCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xJLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLDJCQUEyQixFQUFFLFVBQVUsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7OztBQU9sTSxNQUFNLE9BQU8sb0JBQW9CO0lBTGpDO1FBUWtCLFVBQUssR0FBWSxLQUFLLENBQUM7UUFFdkIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUMxQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM1Qixn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QUFDLENBQUM7UUFDaEUsSUFBSSxrQkFBa0IsRUFBRTtZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25CO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOytHQXpOVSxvQkFBb0I7bUdBQXBCLG9CQUFvQix5b0JDWmpDLHNtTkFzSEE7OzRGRDFHYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0ksY0FBYzs4QkFLVixRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1MsV0FBVztzQkFBMUIsS0FBSztnQkFDVyxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFFVyxVQUFVO3NCQUExQixNQUFNO2dCQUNVLGNBQWM7c0JBQTlCLE1BQU07Z0JBQ1UsUUFBUTtzQkFBeEIsTUFBTTtnQkFDVSxZQUFZO3NCQUE1QixNQUFNO2dCQUNVLGdCQUFnQjtzQkFBaEMsTUFBTTtnQkFFZSxZQUFZO3NCQUFqQyxTQUFTO3VCQUFDLFNBQVM7Z0JBQ0ksY0FBYztzQkFBckMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlUGlja2VyQXBwZWFyYW5jZSwgRGF0ZVBpY2tlckNvbmZpZywgQ2FsZW5kYXJEYXRlfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLm1vZGFsXCI7XG5pbXBvcnQge0dyYXZpdHlUZXh0RmllbGRDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi9ncmF2aXR5LXRleHQtZmllbGQvZ3Jhdml0eS10ZXh0LWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDQUxFTkRBUl9JMThOLCBEQVlTX1NIT1JUX0VOLCBEQVlTX1NIT1JUX0VTLCBNT05USFNfRU4sIE1PTlRIU19FU30gZnJvbSBcIi4uLy4uL3NoYXJlZC9kYXRlLXBpY2tlci5jb25zdGFudHNcIjtcbmltcG9ydCB7ZGF0ZVRvQ2FsZW5kYXJEYXksIGdldFN0YXJ0RGF0ZSwgY2hhbmdlRGF0ZSwgY2FsZW5kYXJEYXRlVG9EYXRlLCBpc1BlcmlvZEF2YWlsYWJsZX0gZnJvbSAnLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLnV0aWxzJztcbmltcG9ydCB7Z2V0UmFuZ2VTZWxlY3Rpb25DbGFzcywgaXNQcmV2aWV3LCBvbkFwcGx5UmFnZURhdGUsIG9uQ2xlYXJIb3Zlciwgb25EYXRlS2V5dXAsIG9uSG92ZXJEYXksIG9uU2VsZWN0RGF5c1JhbmdlLCBwcm9jZXNzUHJlc2VsZWN0ZWRSYW5nZURhdGUsIHNlYXJjaERhdGV9IGZyb20gXCIuL3JhbmdlLWRheXMtY2FsZW5kYXIudXRpbHNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkYXktY2FsZW5kYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXktY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RheS1jYWxlbmRhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERheUNhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcHVibGljIGluaXRZZWFyOiBEYXRlO1xuICBASW5wdXQoKSBwdWJsaWMgaW5pdE1vbnRoOiBEYXRlO1xuICBASW5wdXQoKSBwdWJsaWMgcmFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGNvbmZpZzogRGF0ZVBpY2tlckNvbmZpZztcbiAgQElucHV0KCkgcHVibGljIHJlc3RhcnQ6IGJvb2xlYW4gPSBmYWxzZTtcblx0QElucHV0KCkgcHVibGljIGFwcHlPbkNsb3NlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXJyZW50RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIEBJbnB1dCgpIHB1YmxpYyBhcHBlYXJhbmNlOiBEYXRlUGlja2VyQXBwZWFyYW5jZTtcbiAgQElucHV0KCkgcHVibGljIG5hdlR5cGU6ICdwcmV2JyB8ICduZXh0JyB8ICdib3RoJyB8ICdub25lJz0gJ2JvdGgnXG5cbiAgQE91dHB1dCgpIHB1YmxpYyBjbGVhckhvdmVyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJTZWxlY3Rpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBob3ZlckRheTogRXZlbnRFbWl0dGVyPENhbGVuZGFyRGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhbGVuZGFyRGF0ZT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZFJhZ2U6IEV2ZW50RW1pdHRlcjxDYWxlbmRhckRhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYWxlbmRhckRhdGU+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2FsZW5kYXJSZXNwb25zZTogRXZlbnRFbWl0dGVyPERhdGVbXSB8IERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10gfCBEYXRlPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2VuZERhdGUnKSBlbmREYXRlRmllbGQhOiBHcmF2aXR5VGV4dEZpZWxkQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdzdGFydERhdGUnKSBzdGFydERhdGVGaWVsZCE6IEdyYXZpdHlUZXh0RmllbGRDb21wb25lbnQ7XG5cbiAgcHVibGljIGVuZERhdGVFcnJvcjogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBzdGFydERhdGVFcnJvcjogc3RyaW5nID0gJyc7XG5cdHB1YmxpYyBlbmRGaWVsZERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cdHB1YmxpYyBzdGFydEZpZWxkRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblx0cHVibGljIHNlbGVjdGVkUmFuZ2VFbmQ6IENhbGVuZGFyRGF0ZSB8IG51bGwgPSBudWxsO1xuXHRwdWJsaWMgc2VsZWN0ZWRSYW5nZVN0YXJ0OiBDYWxlbmRhckRhdGUgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgc2hvd1llYXJDYWxlbmRhcjogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd01vbnRoQ2FsZW5kYXI6IGJvb2xlYW4gPSBmYWxzZTtcblx0cHVibGljIGZvY3VzZWQ6ICdzdGFydCcgfCAnZW5kJyA9ICdzdGFydCc7XG5cdHB1YmxpYyBob3ZlcmVkRGF5OiBDYWxlbmRhckRhdGUgfCBudWxsID0gbnVsbDtcblx0cHVibGljIHNlbGVjdGVkRGF5OiBDYWxlbmRhckRhdGUgfCBudWxsID0gbnVsbDtcblx0cHVibGljIG5vdGlmaWNhdGlvbjoge3RleHQ6IHN0cmluZywgZXJyb3I6IGJvb2xlYW59O1xuXG4gIHB1YmxpYyBnZXQgaTE4bigpIHsgcmV0dXJuIENBTEVOREFSX0kxOE5bdGhpcy5hcHBlYXJhbmNlLmxhbmd1YWdlXTsgfVxuICBwdWJsaWMgZ2V0IG1vbnRoc0xpc3QoKSB7IHJldHVybiB0aGlzLmFwcGVhcmFuY2UubGFuZ3VhZ2UgPT09ICdlbicgPyBNT05USFNfRU4gOiBNT05USFNfRVM7IH1cbiAgcHVibGljIGdldCBkYXlzTGlzdCgpIHsgcmV0dXJuIHRoaXMuYXBwZWFyYW5jZS5sYW5ndWFnZSA9PT0gJ2VuJyA/IERBWVNfU0hPUlRfRU4gOiBEQVlTX1NIT1JUX0VTOyB9XG5cbiAgcHVibGljIHRyYWNrQnlXZWVrKGluZGV4OiBudW1iZXIsIF86IGFueSk6IG51bWJlciB7IHJldHVybiBpbmRleDsgfVxuICBwdWJsaWMgdHJhY2tCeURheShfOiBudW1iZXIsIGRheTogQ2FsZW5kYXJEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7ZGF5Lm1vbnRoWWVhci55ZWFyfS0ke2RheS5tb250aFllYXIubW9udGh9LSR7ZGF5LmRheX1gO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHNob3VsZFJlc3RhcnQgPSBjaGFuZ2VzWydyZXN0YXJ0J10gJiYgdGhpcy5yZXN0YXJ0O1xuXHRcdGNvbnN0IHNob3VsZEFwcHkgPSBjaGFuZ2VzWydhcHB5T25DbG9zZSddICYmIHRoaXMuYXBweU9uQ2xvc2U7XG4gICAgY29uc3Qgc2hvdWxkUHJvY2Vzc1ByZVNlbGVjdGVkID0gY2hhbmdlc1sncHJlU2VsZWN0ZWREYXRlJ10gJiYgdGhpcy5jb25maWcuaW5pdERhdGU7XG5cblx0XHRpZiAoc2hvdWxkQXBweSkgeyB0aGlzLmFwcGx5U2VsZWN0ZWREYXRlKCk7IH1cbiAgICBpZiAoc2hvdWxkUmVzdGFydCB8fCBzaG91bGRQcm9jZXNzUHJlU2VsZWN0ZWQpIHsgdGhpcy5wcm9jZXNzSW5pdERhdGUoKTsgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzSW5pdERhdGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmFuZ2UpIHtcbiAgICAgIHByb2Nlc3NQcmVzZWxlY3RlZFJhbmdlRGF0ZSh0aGlzKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLmluaXREYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IGdldFN0YXJ0RGF0ZSh0aGlzLmNvbmZpZy5pbml0RGF0ZSk7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF5ID0gZGF0ZVRvQ2FsZW5kYXJEYXkodGhpcy5jb25maWcuaW5pdERhdGUpO1xuICAgIH1cbiAgfVxuXG5cdHB1YmxpYyBoYXNEYXRlU2VsZWN0ZWQocmVxdWlyZUJvdGhJblJhbmdlID0gZmFsc2UpOiBib29sZWFuIHtcblx0XHRpZiAoIXRoaXMucmFuZ2UpIHtcblx0XHRcdHJldHVybiAhIXRoaXMuc2VsZWN0ZWREYXk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiByZXF1aXJlQm90aEluUmFuZ2Vcblx0XHRcdFx0PyAhIXRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0ICYmICEhdGhpcy5zZWxlY3RlZFJhbmdlRW5kXG5cdFx0XHRcdDogISF0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydCB8fCAhIXRoaXMuc2VsZWN0ZWRSYW5nZUVuZDtcblx0XHR9XG5cdH1cblxuXG5cdHB1YmxpYyBnZXREYXlTZWxlY3Rpb25DbGFzcyhkYXk6IENhbGVuZGFyRGF0ZSk6IHN0cmluZyB7XG4gICAgaWYgKCFkYXkuaW5DdXJyZW50TW9udGgpIHJldHVybiAnZGlzYWJsZWQnO1xuXG4gICAgY29uc3QgZGF5RGF0ZSA9IG5ldyBEYXRlKGRheS5tb250aFllYXIueWVhciwgZGF5Lm1vbnRoWWVhci5tb250aCwgZGF5LmRheSk7XG5cbiAgICBpZiAodGhpcy5jb25maWc/Lm1pbkRhdGUpIHsgaWYgKGRheURhdGUgPCB0aGlzLmNvbmZpZy5taW5EYXRlKSByZXR1cm4gJ2Rpc2FibGVkJzsgfVxuICAgIGlmICh0aGlzLmNvbmZpZz8ubWF4RGF0ZSkgeyBpZiAoZGF5RGF0ZSA+IHRoaXMuY29uZmlnLm1heERhdGUpIHJldHVybiAnZGlzYWJsZWQnOyB9XG5cbiAgICByZXR1cm4gdGhpcy5yYW5nZSA/IGdldFJhbmdlU2VsZWN0aW9uQ2xhc3ModGhpcywgZGF5KSA6IHRoaXMuZ2V0U2luZ2xlRGF5U2VsZWN0aW9uQ2xhc3MoZGF5KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2luZ2xlRGF5U2VsZWN0aW9uQ2xhc3MoZGF5OiBDYWxlbmRhckRhdGUpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF5ICYmIGRheS5kYXkgPT09IHRoaXMuc2VsZWN0ZWREYXkuZGF5ICYmXG4gICAgICBkYXkubW9udGhZZWFyLm1vbnRoID09PSB0aGlzLnNlbGVjdGVkRGF5Lm1vbnRoWWVhci5tb250aCAmJlxuICAgICAgZGF5Lm1vbnRoWWVhci55ZWFyID09PSB0aGlzLnNlbGVjdGVkRGF5Lm1vbnRoWWVhci55ZWFyKSB7XG4gICAgICByZXR1cm4gJ3NsIHNpbmdsZSc7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdERheShkYXk6IENhbGVuZGFyRGF0ZSk6IHZvaWQge1xuICAgIGlmICghZGF5LmluQ3VycmVudE1vbnRoKSByZXR1cm47XG5cbiAgICBpZiAoIXRoaXMucmFuZ2UpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXkgPSBkYXk7XG4gICAgICBjb25zdCBjdXJyZW50RGF0ZSA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShkYXkpO1xuICAgICAgdGhpcy5jYWxlbmRhclJlc3BvbnNlLmVtaXQoY3VycmVudERhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvblNlbGVjdERheXNSYW5nZSh0aGlzLCBkYXkpO1xuICAgICAgdGhpcy5zZWxlY3RlZFJhZ2UuZW1pdChkYXkpO1xuICAgIH1cbiAgfVxuXG5cdHB1YmxpYyBhcHBseVNlbGVjdGVkRGF0ZSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5yYW5nZSkge1xuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0ICYmIHRoaXMuc2VsZWN0ZWRSYW5nZUVuZCkge1xuXHRcdFx0XHRvbkFwcGx5UmFnZURhdGUodGhpcyk7XG5cdFx0XHR9IGVsc2UgaWYgKHRoaXMuZW5kRGF0ZUZpZWxkICYmIHRoaXMuc3RhcnREYXRlRmllbGQpIHtcblx0XHRcdFx0dGhpcy5jbGVhclNlbGVjdGVkRGF0ZSgnYWxsJyk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkRGF5KSB7XG5cdFx0XHRjb25zdCBkYXRlID0gY2FsZW5kYXJEYXRlVG9EYXRlKHRoaXMuc2VsZWN0ZWREYXkpO1xuXHRcdFx0dGhpcy5jYWxlbmRhclJlc3BvbnNlLmVtaXQoZGF0ZSk7XG5cdFx0fVxuXHR9XG5cbiAgcHVibGljIGNsZWFyU2VsZWN0ZWREYXRlKGNsZWFyVGFyZ2V0OiAnYWxsJyB8ICdzdGFydCcgfCAnZW5kJyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJhbmdlICYmIChjbGVhclRhcmdldCA9PT0gJ2FsbCcgfHwgY2xlYXJUYXJnZXQgPT09ICdlbmQnKSkge1xuXHRcdFx0dGhpcy5lbmREYXRlRXJyb3IgPSAnJztcbiAgICAgIHRoaXMuc2VsZWN0ZWRSYW5nZUVuZCA9IG51bGw7XG5cdFx0XHR0aGlzLnN0YXJ0RmllbGREaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5lbmREYXRlRmllbGQuaW5wdXRWYWx1ZSA9ICcnO1xuXHQgICAgaWYoIXRoaXMuYXBwZWFyYW5jZS5pc01vYmlsZSkgeyB0aGlzLmVuZERhdGVGaWVsZC5mb2N1cygpOyB9XG5cdFx0XHRpZih0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydCkgeyB0aGlzLmN1cnJlbnREYXRlID0gY2FsZW5kYXJEYXRlVG9EYXRlKHRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0KSB9XG4gICAgfVxuXG5cdCAgaWYgKHRoaXMucmFuZ2UgJiYgKGNsZWFyVGFyZ2V0ID09PSAnYWxsJyB8fCBjbGVhclRhcmdldCA9PT0gJ3N0YXJ0JykpIHtcblx0XHQgIHRoaXMuc3RhcnREYXRlRXJyb3IgPSAnJztcblx0XHRcdHRoaXMuZW5kRmllbGREaXNhYmxlZCA9IGZhbHNlO1xuXHRcdCAgdGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQgPSBudWxsO1xuXHRcdCAgdGhpcy5zdGFydERhdGVGaWVsZC5pbnB1dFZhbHVlID0gJyc7XG5cdFx0ICBpZighdGhpcy5hcHBlYXJhbmNlLmlzTW9iaWxlKSB7IHRoaXMuc3RhcnREYXRlRmllbGQuZm9jdXMoKTsgfVxuXHRcdCAgaWYodGhpcy5zZWxlY3RlZFJhbmdlRW5kKSB7IHRoaXMuY3VycmVudERhdGUgPSBjYWxlbmRhckRhdGVUb0RhdGUodGhpcy5zZWxlY3RlZFJhbmdlRW5kKSB9XG5cdCAgfVxuXG5cdFx0aWYgKHRoaXMucmFuZ2UgJiYgdGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQgPT09IG51bGwgJiYgdGhpcy5zZWxlY3RlZFJhbmdlRW5kID09PSBudWxsKSB7XG5cdFx0XHR0aGlzLmZvY3VzZWQgPSAnc3RhcnQnO1xuXHRcdFx0dGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XG5cdFx0XHRpZighdGhpcy5hcHBlYXJhbmNlLmlzTW9iaWxlKSB7IHRoaXMuc3RhcnREYXRlRmllbGQuZm9jdXMoKTsgfVxuXHRcdH1cblxuICAgIHRoaXMuc2VsZWN0ZWREYXkgPSBudWxsO1xuXHRcdHRoaXMubm90aWZpY2F0aW9uID0gbnVsbDtcblx0XHRpZiAoIXRoaXMucmFuZ2UpIHsgdGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7IH1cblxuICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24uZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUNhbGVuZGFyUmVzcG9uc2UoZGF0ZTogRGF0ZSB8IERhdGVbXSwgaXNNb250aDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgeWVhciA9IGlzTW9udGggPyB0aGlzLmN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkgOiBkYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgY29uc3QgbW9udGggPSBpc01vbnRoID8gZGF0ZS5nZXRNb250aCgpIDogdGhpcy5jdXJyZW50RGF0ZS5nZXRNb250aCgpO1xuXG4gICAgdGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCB0aGlzLmN1cnJlbnREYXRlLmdldERhdGUoKSk7XG5cbiAgICBpZiAoaXNNb250aCkgeyB0aGlzLmluaXRNb250aCA9IHRoaXMuY3VycmVudERhdGU7IHRoaXMuc2hvd01vbnRoQ2FsZW5kYXIgPSBmYWxzZTsgfVxuICAgIGVsc2UgeyB0aGlzLmluaXRZZWFyID0gdGhpcy5jdXJyZW50RGF0ZTsgdGhpcy5zaG93WWVhckNhbGVuZGFyID0gZmFsc2U7IH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVPbkNsaWNrRHJvcGRvd25MYWJlbChpc01vbnRoOiBib29sZWFuKTogdm9pZCB7XG4gICAgICB0aGlzLmluaXRNb250aCA9IGlzTW9udGggPyB0aGlzLmN1cnJlbnREYXRlIDogdGhpcy5pbml0TW9udGg7XG4gICAgICB0aGlzLmluaXRZZWFyID0gIWlzTW9udGggPyB0aGlzLmN1cnJlbnREYXRlIDogdGhpcy5pbml0WWVhcjtcblxuICAgICAgdGhpcy5zaG93TW9udGhDYWxlbmRhciA9IGlzTW9udGg7XG4gICAgICB0aGlzLnNob3dZZWFyQ2FsZW5kYXIgPSAhaXNNb250aDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNb250aEdyaWQoKTogQ2FsZW5kYXJEYXRlW11bXSB7XG4gICAgbGV0IHdlZWs6IENhbGVuZGFyRGF0ZVtdID0gW107XG5cbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgZ3JpZDogQ2FsZW5kYXJEYXRlW11bXSA9IFtdO1xuICAgIGNvbnN0IGJhc2VEYXRlID0gdGhpcy5jdXJyZW50RGF0ZTtcbiAgICBjb25zdCBtb250aCA9IGJhc2VEYXRlLmdldE1vbnRoKCk7XG4gICAgY29uc3QgeWVhciA9IGJhc2VEYXRlLmdldEZ1bGxZZWFyKCk7XG5cbiAgICBjb25zdCBmaXJzdERheSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxKTtcbiAgICBjb25zdCBzdGFydFdlZWtkYXkgPSAoZmlyc3REYXkuZ2V0RGF5KCkgKyA2KSAlIDc7XG5cbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoICsgMSwgMCkuZ2V0RGF0ZSgpO1xuICAgIGNvbnN0IGRheXNJblByZXZNb250aCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAwKS5nZXREYXRlKCk7XG5cbiAgICAvLyBmaWxsIGRheXMgZnJvbSBwcmV2aW91cyBtb250aFxuICAgIGZvciAobGV0IGkgPSBzdGFydFdlZWtkYXkgLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICBjb25zdCBkYXkgPSBkYXlzSW5QcmV2TW9udGggLSBpO1xuICAgICAgICBjb25zdCB3ZWVrRGF5ID0gKHN0YXJ0V2Vla2RheSAtIDEgLSBpICsgNykgJSA3O1xuICAgICAgICB3ZWVrLnB1c2goeyBkYXksIG1vbnRoWWVhcjoge21vbnRoOiBtb250aCAtIDEsIHllYXI6IHllYXJ9LCBpc1RvZGF5OiBmYWxzZSwgaW5DdXJyZW50TW9udGg6IGZhbHNlLCB3ZWVrRGF5IH0pO1xuICAgIH1cblxuICAgIC8vIGZpbGwgZGF5cyBmcm9tIGN1cnJlbnQgbW9udGhcbiAgICBmb3IgKGxldCBkID0gMTsgZCA8PSBkYXlzSW5Nb250aDsgZCsrKSB7XG4gICAgICAgIGNvbnN0IGlzVG9kYXkgPSBkID09PSB0b2RheS5nZXREYXRlKCkgJiYgbW9udGggPT09IHRvZGF5LmdldE1vbnRoKCkgJiYgeWVhciA9PT0gdG9kYXkuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgY29uc3Qgd2Vla0RheSA9IHdlZWsubGVuZ3RoICUgNztcbiAgICAgICAgd2Vlay5wdXNoKHsgZGF5OiBkLCBtb250aFllYXI6IHttb250aDogbW9udGgsIHllYXI6IHllYXJ9LCBpc1RvZGF5LCBpbkN1cnJlbnRNb250aDogdHJ1ZSwgd2Vla0RheSB9KTtcblxuICAgICAgICBpZiAod2Vlay5sZW5ndGggPT09IDcpIHtcbiAgICAgICAgICAgIGdyaWQucHVzaCh3ZWVrKTtcbiAgICAgICAgICAgIHdlZWsgPSBbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGZpbGwgcmVtYWluaW5nIGRheXMgZnJvbSBuZXh0IG1vbnRoXG4gICAgbGV0IG5leHREYXkgPSAxO1xuICAgIHdoaWxlICh3ZWVrLmxlbmd0aCA8IDcpIHtcbiAgICAgICAgY29uc3Qgd2Vla0RheSA9IHdlZWsubGVuZ3RoO1xuICAgICAgICB3ZWVrLnB1c2goeyBkYXk6IG5leHREYXkrKywgbW9udGhZZWFyOiB7bW9udGg6IG1vbnRoICsgMSwgeWVhcjogeWVhcn0sIGlzVG9kYXk6IGZhbHNlLCBpbkN1cnJlbnRNb250aDogZmFsc2UsIHdlZWtEYXkgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgaGFzQ3VycmVudE1vbnRoRGF5ID0gd2Vlay5zb21lKGRheSA9PiBkYXkuaW5DdXJyZW50TW9udGgpO1xuICAgIGlmIChoYXNDdXJyZW50TW9udGhEYXkpIHtcbiAgICAgICAgZ3JpZC5wdXNoKHdlZWspO1xuICAgIH1cblxuICAgIHJldHVybiBncmlkO1xuICB9XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZURhdGUgPSBjaGFuZ2VEYXRlO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNQcmV2aWV3ID0gaXNQcmV2aWV3O1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgc2VhcmNoRGF0ZSA9IHNlYXJjaERhdGU7XG4gIHByb3RlY3RlZCByZWFkb25seSBvbkhvdmVyRGF5ID0gb25Ib3ZlckRheTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IG9uRGF0ZUtleXVwID0gb25EYXRlS2V5dXA7XG4gIHByb3RlY3RlZCByZWFkb25seSBvbkNsZWFySG92ZXIgPSBvbkNsZWFySG92ZXI7XG5cdHByb3RlY3RlZCByZWFkb25seSBpc1BlcmlvZEF2YWlsYWJsZSA9IGlzUGVyaW9kQXZhaWxhYmxlO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXJEYXRlVG9EYXRlID0gY2FsZW5kYXJEYXRlVG9EYXRlO1xufSIsIjxzZWN0aW9uICpuZ0lmPVwic2hvd01vbnRoQ2FsZW5kYXJcIj5cbiAgPG1vbnRoLWNhbGVuZGFyXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgIFtpbnRlZ3JhdGVkTW9kZV09XCJ0cnVlXCJcbiAgICBbcmVzdGFydF09XCJzaG93TW9udGhDYWxlbmRhclwiXG4gICAgKHJlc3BvbnNlKT1cImhhbmRsZUNhbGVuZGFyUmVzcG9uc2UoJGV2ZW50LCB0cnVlKVwiIFtpbml0RGF0ZV09XCJpbml0TW9udGhcIlxuICAgIFthcHBlYXJhbmNlXT1cIntsYW5ndWFnZTogYXBwZWFyYW5jZS5sYW5ndWFnZSwgaXNNb2JpbGU6IGFwcGVhcmFuY2UuaXNNb2JpbGUgfVwiPlxuICA8L21vbnRoLWNhbGVuZGFyPlxuPC9zZWN0aW9uPlxuXG48c2VjdGlvbiAqbmdJZj1cInNob3dZZWFyQ2FsZW5kYXJcIj5cbiAgPHllYXItY2FsZW5kYXJcbiAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgW2ludGVncmF0ZWRNb2RlXT1cInRydWVcIlxuICAgIFtyZXN0YXJ0XT1cInNob3dZZWFyQ2FsZW5kYXJcIlxuICAgIChyZXNwb25zZSk9XCJoYW5kbGVDYWxlbmRhclJlc3BvbnNlKCRldmVudCwgZmFsc2UpXCIgW2luaXREYXRlXT1cImluaXRZZWFyXCJcbiAgICBbYXBwZWFyYW5jZV09XCJ7bGFuZ3VhZ2U6IGFwcGVhcmFuY2UubGFuZ3VhZ2UsIGlzTW9iaWxlOiBhcHBlYXJhbmNlLmlzTW9iaWxlfVwiPlxuICA8L3llYXItY2FsZW5kYXI+XG48L3NlY3Rpb24+XG5cbjxkaXYgKm5nSWY9XCIhYXBwZWFyYW5jZS5pc01vYmlsZSAmJiAhc2hvd01vbnRoQ2FsZW5kYXIgJiYgIXNob3dZZWFyQ2FsZW5kYXJcIiBjbGFzcz1cInRpdGxlXCI+XG4gIDxzcGFuIGNsYXNzPVwiaHItbGFiZWwgc20tYm9sZFwiPnt7cmFuZ2UgPyBpMThuLnNlbGVjdF9yYW5nZSA6IGkxOG4uc2VsZWN0X2RhdGV9fTwvc3Bhbj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZ3Jhdml0eS1kYXRlLXBpY2tlci1jb250ZW50XCIgW2NsYXNzLmhpZGRlbl09XCJzaG93WWVhckNhbGVuZGFyIHx8IHNob3dNb250aENhbGVuZGFyXCIgIFtjbGFzcy5tb2JpbGVdPVwiYXBwZWFyYW5jZS5pc01vYmlsZVwiPlxuXG4gIDxkaXYgKm5nSWY9XCJyYW5nZVwiIGNsYXNzPVwic2VsZWN0ZWQtZGF0ZXNcIj5cbiAgICA8Z3Jhdml0eS10ZXh0LWZpZWxkICNzdGFydERhdGVcbiAgICAgIFtzaXplXT1cIidzbSdcIlxuICAgICAgW3dpZHRoXT1cIidzaG9ydCdcIlxuICAgICAgW2xhYmVsXT1cImkxOG4uc3RhcnRfZGF0ZVwiXG4gICAgICBbaW5wdXRDb250ZW50VHlwZV09XCInZGF0ZSdcIlxuICAgICAgW3N1cHBvcnRUZXh0XT1cInN0YXJ0RGF0ZUVycm9yXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJpMThuLmRhdGVfcGxhY2Vob2xkZXJcIlxuICAgICAgW2NsaWNrT25SaWdodEljb25dPVwiIXN0YXJ0RmllbGREaXNhYmxlZFwiXG4gICAgICAoa2V5dXApPVwib25EYXRlS2V5dXAodGhpcywgJGV2ZW50LCAnc3RhcnQnKVwiXG4gICAgICAoY2xpY2tJY29uUmlnaHQpPVwiY2xlYXJTZWxlY3RlZERhdGUoJ3N0YXJ0JylcIlxuICAgICAgKGZvY3Vzb3V0KT1cInNlYXJjaERhdGUodGhpcywgc3RhcnREYXRlLmlucHV0VmFsdWUsICdzdGFydCcpXCJcbiAgICAgIFtpY29uUmlnaHRdPVwiKHNlbGVjdGVkUmFuZ2VTdGFydCB8fCBzdGFydERhdGUuaW5wdXRWYWx1ZS5sZW5ndGggPiA5KSA/ICd1bnN1Y2Nlc3MnIDogICcnXCJcbiAgICAgIChjbGljayk9XCJmb2N1c2VkID0gJ3N0YXJ0Jzsgc2VsZWN0ZWRSYW5nZVN0YXJ0ID8gY3VycmVudERhdGUgPSBjYWxlbmRhckRhdGVUb0RhdGUoc2VsZWN0ZWRSYW5nZVN0YXJ0KSA6IG51bGxcIlxuICAgICAgW2N1c3RvbVN0YXRlXT1cInN0YXJ0RmllbGREaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiBzdGFydERhdGVFcnJvciA/ICd0eXBlZC1lcnJvcicgOiAoc3RhcnREYXRlLmlucHV0VmFsdWUubGVuZ3RoIDwgMSA/ICdkZWZhdWx0JyA6ICd0eXBpbmcnKVwiLz5cblxuICAgIDxncmF2aXR5LXRleHQtZmllbGQgI2VuZERhdGVcbiAgICAgIFtzaXplXT1cIidzbSdcIlxuICAgICAgW3dpZHRoXT1cIidzaG9ydCdcIlxuICAgICAgW2xhYmVsXT1cImkxOG4uZW5kX2RhdGVcIlxuICAgICAgW2lucHV0Q29udGVudFR5cGVdPVwiJ2RhdGUnXCJcbiAgICAgIFtzdXBwb3J0VGV4dF09XCJlbmREYXRlRXJyb3JcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cImkxOG4uZGF0ZV9wbGFjZWhvbGRlclwiXG4gICAgICBbY2xpY2tPblJpZ2h0SWNvbl09XCIhZW5kRmllbGREaXNhYmxlZFwiXG4gICAgICAoa2V5dXApPVwib25EYXRlS2V5dXAodGhpcywgJGV2ZW50LCAnZW5kJylcIlxuICAgICAgKGNsaWNrSWNvblJpZ2h0KT1cImNsZWFyU2VsZWN0ZWREYXRlKCdlbmQnKVwiXG4gICAgICAoZm9jdXNvdXQpPVwic2VhcmNoRGF0ZSh0aGlzLCBlbmREYXRlLmlucHV0VmFsdWUsICdlbmQnKVwiXG4gICAgICBbaWNvblJpZ2h0XT1cIihzZWxlY3RlZFJhbmdlRW5kIHx8IGVuZERhdGUuaW5wdXRWYWx1ZS5sZW5ndGggPiA5KSA/ICd1bnN1Y2Nlc3MnIDogJydcIlxuICAgICAgKGNsaWNrKT1cIiBmb2N1c2VkID0gJ2VuZCc7IHNlbGVjdGVkUmFuZ2VFbmQgPyBjdXJyZW50RGF0ZSA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShzZWxlY3RlZFJhbmdlRW5kKSA6IG51bGxcIlxuICAgICAgW2N1c3RvbVN0YXRlXT1cImVuZEZpZWxkRGlzYWJsZWQgPyAnZGlzYWJsZWQnIDogZW5kRGF0ZUVycm9yID8gJ3R5cGVkLWVycm9yJyA6IChlbmREYXRlLmlucHV0VmFsdWUubGVuZ3RoIDwgMSA/ICdkZWZhdWx0JyA6ICd0eXBpbmcnKVwiLz5cbiAgPC9kaXY+XG5cbiAgPHNlY3Rpb24gY2xhc3M9XCJncmF2aXR5LWRhdGUtcGlja2VyLWhlYWRlclwiIFtjbGFzcy5tb2JpbGVdPVwiYXBwZWFyYW5jZS5pc01vYmlsZVwiPlxuICAgIDxncmF2aXR5LWljb24tYnV0dG9uIFt0eXBlXT1cIidwcmltYXJ5J1wiIFtzaXplXT1cIidzbSdcIiBbaWNvbl09XCInYXJyb3ctbGVmdCdcIiBbc3VwcG9ydFRleHRdPVwiaTE4bi5wcmV2aWV3X21vbnRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2tPbkljb24pPVwiY3VycmVudERhdGUgPSBjaGFuZ2VEYXRlKC0xLCBjdXJyZW50RGF0ZSwgdHJ1ZSk7XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwiKG5hdlR5cGUgPT09ICdwcmV2JyB8fCBuYXZUeXBlID09PSAnYm90aCcpICYmIChhcHBlYXJhbmNlLnN0YXRlICE9PSAnZGlzYWJsZWQnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc1BlcmlvZEF2YWlsYWJsZShjdXJyZW50RGF0ZSwgY29uZmlnLm1pbkRhdGUsICdtb250aCcsICdwcmV2JykgPyAnYWN0aXZlJyA6ICdkaXNhYmxlZCdcIi8+XG5cbiAgICA8ZGl2IGNsYXNzPVwibW9udGgteWVhci1sYWJlbFwiPlxuICAgICAgPGdyYXZpdHktZHJvcGRvd24tbGFiZWwgW2ZvbnRDbGFzc109XCInaHItdGl0bGUgc20tYm9sZCdcIiBbc2l6ZV09XCInc20nXCIgW2xhYmVsXT1cIm1vbnRoc0xpc3RbY3VycmVudERhdGUuZ2V0TW9udGgoKV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXRlXT1cImFwcGVhcmFuY2Uuc3RhdGUgPT09ICdkaXNhYmxlZCcgPyAnaW5hY3RpdmUnIDogJ2FjdGl2ZSdcIiAob25DbGlja0xhYmVsKT1cImhhbmRsZU9uQ2xpY2tEcm9wZG93bkxhYmVsKHRydWUpXCI+IDwvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbD5cblxuICAgICAgPGdyYXZpdHktZHJvcGRvd24tbGFiZWwgW2ZvbnRDbGFzc109XCInaHItdGl0bGUgc20tYm9sZCdcIiBbc2l6ZV09XCInc20nXCIgW2xhYmVsXT1cImN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwiYXBwZWFyYW5jZS5zdGF0ZSA9PT0gJ2Rpc2FibGVkJyA/ICdpbmFjdGl2ZScgOiAnYWN0aXZlJ1wiIChvbkNsaWNrTGFiZWwpPVwiaGFuZGxlT25DbGlja0Ryb3Bkb3duTGFiZWwoZmFsc2UpXCI+IDwvZ3Jhdml0eS1kcm9wZG93bi1sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgICAgPGdyYXZpdHktaWNvbi1idXR0b24gW3R5cGVdPVwiJ3ByaW1hcnknXCIgW3NpemVdPVwiJ3NtJ1wiIFtpY29uXT1cIidhcnJvdy1yaWdodCdcIiBbc3VwcG9ydFRleHRdPVwiaTE4bi5uZXh0X21vbnRoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja09uSWNvbik9XCJjdXJyZW50RGF0ZSA9IGNoYW5nZURhdGUoMSwgY3VycmVudERhdGUsIHRydWUpO1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwiKG5hdlR5cGUgPT09ICduZXh0JyB8fCBuYXZUeXBlID09PSAnYm90aCcpICYmIChhcHBlYXJhbmNlLnN0YXRlICE9PSAnZGlzYWJsZWQnKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUGVyaW9kQXZhaWxhYmxlKGN1cnJlbnREYXRlLCBjb25maWcubWF4RGF0ZSwgJ21vbnRoJywgJ25leHQnKSA/ICdhY3RpdmUnIDogJ2Rpc2FibGVkJ1wiLz5cbiAgPC9zZWN0aW9uPlxuXG4gIDxzZWN0aW9uIGNsYXNzPVwiZ3Jhdml0eS1kYXRlLXBpY2tlci1ib2R5XCIgW2NsYXNzLm1vYmlsZV09XCJhcHBlYXJhbmNlLmlzTW9iaWxlXCI+XG4gICAgPHNlY3Rpb24gY2xhc3M9XCJkYXlzLW5hbWUtbGluZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImRheXMtbmFtZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImhyLWJvZHlcIiBbbmdDbGFzc109XCJhcHBlYXJhbmNlLmlzTW9iaWxlID8gJ21kLXJlZ3VsYXInIDogJ3NtLXJlZ3VsYXInXCJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGRheSBvZiBkYXlzTGlzdFwiPiB7eyBkYXkgfX0gPC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZXBhcmF0b3ItbGluZVwiPjwvZGl2PlxuICAgIDwvc2VjdGlvbj5cblxuICAgIDxzZWN0aW9uIGNsYXNzPVwiZGF5cy1udW1iZXItc2VsZWN0b3JcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYXlzLW51bWJlci10YWJsZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwid2Vlay1yb3dcIiAqbmdGb3I9XCJsZXQgd2VlayBvZiBnZXRNb250aEdyaWQoKTsgdHJhY2tCeTogdHJhY2tCeVdlZWtcIj5cbiAgICAgICAgIDxzcGFuIGNsYXNzPVwiaHItYm9keVwiICpuZ0Zvcj1cImxldCBkYXkgb2Ygd2VlazsgdHJhY2tCeTogdHJhY2tCeURheVwiXG4gICAgICAgICAgW2NsYXNzLnByZXZpZXddPVwicmFuZ2UgPyBpc1ByZXZpZXcodGhpcywgZGF5KSA6IG51bGxcIlxuICAgICAgICAgIFtjbGFzcy5kaXNhYmxlZF09XCIhZGF5LmluQ3VycmVudE1vbnRoXCIgW2NsYXNzLnRvZGF5XT1cImRheS5pc1RvZGF5XCJcbiAgICAgICAgICAobW91c2VlbnRlcik9XCJyYW5nZSA/IG9uSG92ZXJEYXkodGhpcywgZGF5KSA6IG51bGw7IGhvdmVyRGF5LmVtaXQoZGF5KVwiXG4gICAgICAgICAgKG1vdXNlbGVhdmUpPVwicmFuZ2UgPyBvbkNsZWFySG92ZXIodGhpcykgOiBudWxsOyB0aGlzLmNsZWFySG92ZXIuZW1pdCgpXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJbYXBwZWFyYW5jZS5pc01vYmlsZSA/ICdtZC1yZWd1bGFyJyA6ICdzbS1yZWd1bGFyJyxcbiAgICAgICAgICAgICAgICAgICAgICBhcHBlYXJhbmNlLnN0YXRlID09PSAnZGlzYWJsZWQnID8gJ2Rpc2FibGVkJyA6IGdldERheVNlbGVjdGlvbkNsYXNzKGRheSldXCJcbiAgICAgICAgICAoY2xpY2spPVwiZGF5LmluQ3VycmVudE1vbnRoID8gb25TZWxlY3REYXkoZGF5KTogbnVsbFwiPiB7eyBkYXkuZGF5IH19IDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdJZj1cIm5vdGlmaWNhdGlvblwiIGNsYXNzPVwibm90aWZpY2F0aW9uXCIgW2NsYXNzLmVycm9yXT1cIm5vdGlmaWNhdGlvbi5lcnJvclwiPlxuICAgICAgICA8Z3Jhdml0eS1pY29uIFtzdHlsZS4tLWljb24tY29sb3JdPVwiJ3ZhcigtLW5vdGlmaWNhdGlvbi1pY29uLWNvbG9yKSdcIiBbaWNvblNpemVdPVwiJ3NtLTEyJ1wiIFtpY29uTmFtZV09XCInaW5mb3JtYXRpb24tY2lyY2xlJ1wiLz5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJoci1sYWJlbCBzbS1yZWd1bGFyXCI+e3tub3RpZmljYXRpb24udGV4dH19PC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgKm5nSWY9XCJyYW5nZSB8fCBzZWxlY3RlZERheVwiIGNsYXNzPVwiYWN0aW9uLXNlY3Rpb25cIiA+XG4gICAgICAgIDxncmF2aXR5LWxpbmsgW2xpbmtUZXh0XT1cImkxOG4uY2xlYXJcIiBbc3RhdGVdPVwiaGFzRGF0ZVNlbGVjdGVkKCkgPyAnYWN0aXZlJyA6ICdkaXNhYmxlZCdcIlxuICAgICAgICAgICAgICAgICAgICAgIFtmb250Q2xhc3NdPVwiYXBwZWFyYW5jZS5pc01vYmlsZSA/ICdoci1ib2R5IG1kLXJlZ3VsYXInIDogJ2hyLWJvZHkgc20tcmVndWxhcidcIlxuICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCIgaGFzRGF0ZVNlbGVjdGVkKCkgPyBjbGVhclNlbGVjdGVkRGF0ZSgnYWxsJykgOiBudWxsXCIvPlxuXG4gICAgICAgIDxncmF2aXR5LWJ1dHRvbiAqbmdJZj1cInJhbmdlXCIgW3NpemVdPVwiYXBwZWFyYW5jZS5pc01vYmlsZSA/ICdtZCcgOiAnc20nXCIgW3R5cGVdPVwiJ3RlcnRpYXJ5J1wiIFtkaXNhYmxlZF09XCIhaGFzRGF0ZVNlbGVjdGVkKHRydWUpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYXNEYXRlU2VsZWN0ZWQodHJ1ZSkgPyBhcHBseVNlbGVjdGVkRGF0ZSgpIDogbnVsbFwiPiB7e2kxOG4uYXBwbHl9fSA8L2dyYXZpdHktYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuICA8L3NlY3Rpb24+XG48L2Rpdj5cbiJdfQ==
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LWNhbGVuZGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kYXRlLXBpY2tlci9jb21wb25lbnRzL2RheS1jYWxlbmRhci9kYXktY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZ3Jhdml0eS1kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9ncmF2aXR5LWRhdGUtcGlja2VyL2NvbXBvbmVudHMvZGF5LWNhbGVuZGFyL2RheS1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUNySCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xJLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLDJCQUEyQixFQUFFLFVBQVUsRUFBQyxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7Ozs7OztBQU9sTSxNQUFNLE9BQU8sb0JBQW9CO0lBTGpDO1FBUWtCLFVBQUssR0FBWSxLQUFLLENBQUM7UUFFdkIsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUMxQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUM1Qixn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QUFDLENBQUM7UUFDaEUsSUFBSSxrQkFBa0IsRUFBRTtZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25CO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOytHQXpOVSxvQkFBb0I7bUdBQXBCLG9CQUFvQix5b0JDWmpDLHN4TkF1SEE7OzRGRDNHYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0ksY0FBYzs4QkFLVixRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1MsV0FBVztzQkFBMUIsS0FBSztnQkFDVyxXQUFXO3NCQUExQixLQUFLO2dCQUNVLFVBQVU7c0JBQXpCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSztnQkFFVyxVQUFVO3NCQUExQixNQUFNO2dCQUNVLGNBQWM7c0JBQTlCLE1BQU07Z0JBQ1UsUUFBUTtzQkFBeEIsTUFBTTtnQkFDVSxZQUFZO3NCQUE1QixNQUFNO2dCQUNVLGdCQUFnQjtzQkFBaEMsTUFBTTtnQkFFZSxZQUFZO3NCQUFqQyxTQUFTO3VCQUFDLFNBQVM7Z0JBQ0ksY0FBYztzQkFBckMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRlUGlja2VyQXBwZWFyYW5jZSwgRGF0ZVBpY2tlckNvbmZpZywgQ2FsZW5kYXJEYXRlfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLm1vZGFsXCI7XG5pbXBvcnQge0dyYXZpdHlUZXh0RmllbGRDb21wb25lbnR9IGZyb20gXCIuLi8uLi8uLi9ncmF2aXR5LXRleHQtZmllbGQvZ3Jhdml0eS10ZXh0LWZpZWxkLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDQUxFTkRBUl9JMThOLCBEQVlTX1NIT1JUX0VOLCBEQVlTX1NIT1JUX0VTLCBNT05USFNfRU4sIE1PTlRIU19FU30gZnJvbSBcIi4uLy4uL3NoYXJlZC9kYXRlLXBpY2tlci5jb25zdGFudHNcIjtcbmltcG9ydCB7ZGF0ZVRvQ2FsZW5kYXJEYXksIGdldFN0YXJ0RGF0ZSwgY2hhbmdlRGF0ZSwgY2FsZW5kYXJEYXRlVG9EYXRlLCBpc1BlcmlvZEF2YWlsYWJsZX0gZnJvbSAnLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLnV0aWxzJztcbmltcG9ydCB7Z2V0UmFuZ2VTZWxlY3Rpb25DbGFzcywgaXNQcmV2aWV3LCBvbkFwcGx5UmFnZURhdGUsIG9uQ2xlYXJIb3Zlciwgb25EYXRlS2V5dXAsIG9uSG92ZXJEYXksIG9uU2VsZWN0RGF5c1JhbmdlLCBwcm9jZXNzUHJlc2VsZWN0ZWRSYW5nZURhdGUsIHNlYXJjaERhdGV9IGZyb20gXCIuL3JhbmdlLWRheXMtY2FsZW5kYXIudXRpbHNcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkYXktY2FsZW5kYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXktY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RheS1jYWxlbmRhci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERheUNhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgcHVibGljIGluaXRZZWFyOiBEYXRlO1xuICBASW5wdXQoKSBwdWJsaWMgaW5pdE1vbnRoOiBEYXRlO1xuICBASW5wdXQoKSBwdWJsaWMgcmFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGNvbmZpZzogRGF0ZVBpY2tlckNvbmZpZztcbiAgQElucHV0KCkgcHVibGljIHJlc3RhcnQ6IGJvb2xlYW4gPSBmYWxzZTtcblx0QElucHV0KCkgcHVibGljIGFwcHlPbkNsb3NlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBjdXJyZW50RGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XG4gIEBJbnB1dCgpIHB1YmxpYyBhcHBlYXJhbmNlOiBEYXRlUGlja2VyQXBwZWFyYW5jZTtcbiAgQElucHV0KCkgcHVibGljIG5hdlR5cGU6ICdwcmV2JyB8ICduZXh0JyB8ICdib3RoJyB8ICdub25lJz0gJ2JvdGgnXG5cbiAgQE91dHB1dCgpIHB1YmxpYyBjbGVhckhvdmVyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2xlYXJTZWxlY3Rpb246IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBob3ZlckRheTogRXZlbnRFbWl0dGVyPENhbGVuZGFyRGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPENhbGVuZGFyRGF0ZT4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3RlZFJhZ2U6IEV2ZW50RW1pdHRlcjxDYWxlbmRhckRhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxDYWxlbmRhckRhdGU+KCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgY2FsZW5kYXJSZXNwb25zZTogRXZlbnRFbWl0dGVyPERhdGVbXSB8IERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10gfCBEYXRlPigpO1xuXG4gIEBWaWV3Q2hpbGQoJ2VuZERhdGUnKSBlbmREYXRlRmllbGQhOiBHcmF2aXR5VGV4dEZpZWxkQ29tcG9uZW50O1xuICBAVmlld0NoaWxkKCdzdGFydERhdGUnKSBzdGFydERhdGVGaWVsZCE6IEdyYXZpdHlUZXh0RmllbGRDb21wb25lbnQ7XG5cbiAgcHVibGljIGVuZERhdGVFcnJvcjogc3RyaW5nID0gJyc7XG4gIHB1YmxpYyBzdGFydERhdGVFcnJvcjogc3RyaW5nID0gJyc7XG5cdHB1YmxpYyBlbmRGaWVsZERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cdHB1YmxpYyBzdGFydEZpZWxkRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblx0cHVibGljIHNlbGVjdGVkUmFuZ2VFbmQ6IENhbGVuZGFyRGF0ZSB8IG51bGwgPSBudWxsO1xuXHRwdWJsaWMgc2VsZWN0ZWRSYW5nZVN0YXJ0OiBDYWxlbmRhckRhdGUgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgc2hvd1llYXJDYWxlbmRhcjogYm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgc2hvd01vbnRoQ2FsZW5kYXI6IGJvb2xlYW4gPSBmYWxzZTtcblx0cHVibGljIGZvY3VzZWQ6ICdzdGFydCcgfCAnZW5kJyA9ICdzdGFydCc7XG5cdHB1YmxpYyBob3ZlcmVkRGF5OiBDYWxlbmRhckRhdGUgfCBudWxsID0gbnVsbDtcblx0cHVibGljIHNlbGVjdGVkRGF5OiBDYWxlbmRhckRhdGUgfCBudWxsID0gbnVsbDtcblx0cHVibGljIG5vdGlmaWNhdGlvbjoge3RleHQ6IHN0cmluZywgZXJyb3I6IGJvb2xlYW59O1xuXG4gIHB1YmxpYyBnZXQgaTE4bigpIHsgcmV0dXJuIENBTEVOREFSX0kxOE5bdGhpcy5hcHBlYXJhbmNlLmxhbmd1YWdlXTsgfVxuICBwdWJsaWMgZ2V0IG1vbnRoc0xpc3QoKSB7IHJldHVybiB0aGlzLmFwcGVhcmFuY2UubGFuZ3VhZ2UgPT09ICdlbicgPyBNT05USFNfRU4gOiBNT05USFNfRVM7IH1cbiAgcHVibGljIGdldCBkYXlzTGlzdCgpIHsgcmV0dXJuIHRoaXMuYXBwZWFyYW5jZS5sYW5ndWFnZSA9PT0gJ2VuJyA/IERBWVNfU0hPUlRfRU4gOiBEQVlTX1NIT1JUX0VTOyB9XG5cbiAgcHVibGljIHRyYWNrQnlXZWVrKGluZGV4OiBudW1iZXIsIF86IGFueSk6IG51bWJlciB7IHJldHVybiBpbmRleDsgfVxuICBwdWJsaWMgdHJhY2tCeURheShfOiBudW1iZXIsIGRheTogQ2FsZW5kYXJEYXRlKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7ZGF5Lm1vbnRoWWVhci55ZWFyfS0ke2RheS5tb250aFllYXIubW9udGh9LSR7ZGF5LmRheX1gO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGNvbnN0IHNob3VsZFJlc3RhcnQgPSBjaGFuZ2VzWydyZXN0YXJ0J10gJiYgdGhpcy5yZXN0YXJ0O1xuXHRcdGNvbnN0IHNob3VsZEFwcHkgPSBjaGFuZ2VzWydhcHB5T25DbG9zZSddICYmIHRoaXMuYXBweU9uQ2xvc2U7XG4gICAgY29uc3Qgc2hvdWxkUHJvY2Vzc1ByZVNlbGVjdGVkID0gY2hhbmdlc1sncHJlU2VsZWN0ZWREYXRlJ10gJiYgdGhpcy5jb25maWcuaW5pdERhdGU7XG5cblx0XHRpZiAoc2hvdWxkQXBweSkgeyB0aGlzLmFwcGx5U2VsZWN0ZWREYXRlKCk7IH1cbiAgICBpZiAoc2hvdWxkUmVzdGFydCB8fCBzaG91bGRQcm9jZXNzUHJlU2VsZWN0ZWQpIHsgdGhpcy5wcm9jZXNzSW5pdERhdGUoKTsgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcm9jZXNzSW5pdERhdGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmFuZ2UpIHtcbiAgICAgIHByb2Nlc3NQcmVzZWxlY3RlZFJhbmdlRGF0ZSh0aGlzKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLmluaXREYXRlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IGdldFN0YXJ0RGF0ZSh0aGlzLmNvbmZpZy5pbml0RGF0ZSk7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF5ID0gZGF0ZVRvQ2FsZW5kYXJEYXkodGhpcy5jb25maWcuaW5pdERhdGUpO1xuICAgIH1cbiAgfVxuXG5cdHB1YmxpYyBoYXNEYXRlU2VsZWN0ZWQocmVxdWlyZUJvdGhJblJhbmdlID0gZmFsc2UpOiBib29sZWFuIHtcblx0XHRpZiAoIXRoaXMucmFuZ2UpIHtcblx0XHRcdHJldHVybiAhIXRoaXMuc2VsZWN0ZWREYXk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiByZXF1aXJlQm90aEluUmFuZ2Vcblx0XHRcdFx0PyAhIXRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0ICYmICEhdGhpcy5zZWxlY3RlZFJhbmdlRW5kXG5cdFx0XHRcdDogISF0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydCB8fCAhIXRoaXMuc2VsZWN0ZWRSYW5nZUVuZDtcblx0XHR9XG5cdH1cblxuXG5cdHB1YmxpYyBnZXREYXlTZWxlY3Rpb25DbGFzcyhkYXk6IENhbGVuZGFyRGF0ZSk6IHN0cmluZyB7XG4gICAgaWYgKCFkYXkuaW5DdXJyZW50TW9udGgpIHJldHVybiAnZGlzYWJsZWQnO1xuXG4gICAgY29uc3QgZGF5RGF0ZSA9IG5ldyBEYXRlKGRheS5tb250aFllYXIueWVhciwgZGF5Lm1vbnRoWWVhci5tb250aCwgZGF5LmRheSk7XG5cbiAgICBpZiAodGhpcy5jb25maWc/Lm1pbkRhdGUpIHsgaWYgKGRheURhdGUgPCB0aGlzLmNvbmZpZy5taW5EYXRlKSByZXR1cm4gJ2Rpc2FibGVkJzsgfVxuICAgIGlmICh0aGlzLmNvbmZpZz8ubWF4RGF0ZSkgeyBpZiAoZGF5RGF0ZSA+IHRoaXMuY29uZmlnLm1heERhdGUpIHJldHVybiAnZGlzYWJsZWQnOyB9XG5cbiAgICByZXR1cm4gdGhpcy5yYW5nZSA/IGdldFJhbmdlU2VsZWN0aW9uQ2xhc3ModGhpcywgZGF5KSA6IHRoaXMuZ2V0U2luZ2xlRGF5U2VsZWN0aW9uQ2xhc3MoZGF5KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2luZ2xlRGF5U2VsZWN0aW9uQ2xhc3MoZGF5OiBDYWxlbmRhckRhdGUpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF5ICYmIGRheS5kYXkgPT09IHRoaXMuc2VsZWN0ZWREYXkuZGF5ICYmXG4gICAgICBkYXkubW9udGhZZWFyLm1vbnRoID09PSB0aGlzLnNlbGVjdGVkRGF5Lm1vbnRoWWVhci5tb250aCAmJlxuICAgICAgZGF5Lm1vbnRoWWVhci55ZWFyID09PSB0aGlzLnNlbGVjdGVkRGF5Lm1vbnRoWWVhci55ZWFyKSB7XG4gICAgICByZXR1cm4gJ3NsIHNpbmdsZSc7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdERheShkYXk6IENhbGVuZGFyRGF0ZSk6IHZvaWQge1xuICAgIGlmICghZGF5LmluQ3VycmVudE1vbnRoKSByZXR1cm47XG5cbiAgICBpZiAoIXRoaXMucmFuZ2UpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXkgPSBkYXk7XG4gICAgICBjb25zdCBjdXJyZW50RGF0ZSA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShkYXkpO1xuICAgICAgdGhpcy5jYWxlbmRhclJlc3BvbnNlLmVtaXQoY3VycmVudERhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvblNlbGVjdERheXNSYW5nZSh0aGlzLCBkYXkpO1xuICAgICAgdGhpcy5zZWxlY3RlZFJhZ2UuZW1pdChkYXkpO1xuICAgIH1cbiAgfVxuXG5cdHB1YmxpYyBhcHBseVNlbGVjdGVkRGF0ZSgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5yYW5nZSkge1xuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0ICYmIHRoaXMuc2VsZWN0ZWRSYW5nZUVuZCkge1xuXHRcdFx0XHRvbkFwcGx5UmFnZURhdGUodGhpcyk7XG5cdFx0XHR9IGVsc2UgaWYgKHRoaXMuZW5kRGF0ZUZpZWxkICYmIHRoaXMuc3RhcnREYXRlRmllbGQpIHtcblx0XHRcdFx0dGhpcy5jbGVhclNlbGVjdGVkRGF0ZSgnYWxsJyk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkRGF5KSB7XG5cdFx0XHRjb25zdCBkYXRlID0gY2FsZW5kYXJEYXRlVG9EYXRlKHRoaXMuc2VsZWN0ZWREYXkpO1xuXHRcdFx0dGhpcy5jYWxlbmRhclJlc3BvbnNlLmVtaXQoZGF0ZSk7XG5cdFx0fVxuXHR9XG5cbiAgcHVibGljIGNsZWFyU2VsZWN0ZWREYXRlKGNsZWFyVGFyZ2V0OiAnYWxsJyB8ICdzdGFydCcgfCAnZW5kJyk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJhbmdlICYmIChjbGVhclRhcmdldCA9PT0gJ2FsbCcgfHwgY2xlYXJUYXJnZXQgPT09ICdlbmQnKSkge1xuXHRcdFx0dGhpcy5lbmREYXRlRXJyb3IgPSAnJztcbiAgICAgIHRoaXMuc2VsZWN0ZWRSYW5nZUVuZCA9IG51bGw7XG5cdFx0XHR0aGlzLnN0YXJ0RmllbGREaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5lbmREYXRlRmllbGQuaW5wdXRWYWx1ZSA9ICcnO1xuXHQgICAgaWYoIXRoaXMuYXBwZWFyYW5jZS5pc01vYmlsZSkgeyB0aGlzLmVuZERhdGVGaWVsZC5mb2N1cygpOyB9XG5cdFx0XHRpZih0aGlzLnNlbGVjdGVkUmFuZ2VTdGFydCkgeyB0aGlzLmN1cnJlbnREYXRlID0gY2FsZW5kYXJEYXRlVG9EYXRlKHRoaXMuc2VsZWN0ZWRSYW5nZVN0YXJ0KSB9XG4gICAgfVxuXG5cdCAgaWYgKHRoaXMucmFuZ2UgJiYgKGNsZWFyVGFyZ2V0ID09PSAnYWxsJyB8fCBjbGVhclRhcmdldCA9PT0gJ3N0YXJ0JykpIHtcblx0XHQgIHRoaXMuc3RhcnREYXRlRXJyb3IgPSAnJztcblx0XHRcdHRoaXMuZW5kRmllbGREaXNhYmxlZCA9IGZhbHNlO1xuXHRcdCAgdGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQgPSBudWxsO1xuXHRcdCAgdGhpcy5zdGFydERhdGVGaWVsZC5pbnB1dFZhbHVlID0gJyc7XG5cdFx0ICBpZighdGhpcy5hcHBlYXJhbmNlLmlzTW9iaWxlKSB7IHRoaXMuc3RhcnREYXRlRmllbGQuZm9jdXMoKTsgfVxuXHRcdCAgaWYodGhpcy5zZWxlY3RlZFJhbmdlRW5kKSB7IHRoaXMuY3VycmVudERhdGUgPSBjYWxlbmRhckRhdGVUb0RhdGUodGhpcy5zZWxlY3RlZFJhbmdlRW5kKSB9XG5cdCAgfVxuXG5cdFx0aWYgKHRoaXMucmFuZ2UgJiYgdGhpcy5zZWxlY3RlZFJhbmdlU3RhcnQgPT09IG51bGwgJiYgdGhpcy5zZWxlY3RlZFJhbmdlRW5kID09PSBudWxsKSB7XG5cdFx0XHR0aGlzLmZvY3VzZWQgPSAnc3RhcnQnO1xuXHRcdFx0dGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XG5cdFx0XHRpZighdGhpcy5hcHBlYXJhbmNlLmlzTW9iaWxlKSB7IHRoaXMuc3RhcnREYXRlRmllbGQuZm9jdXMoKTsgfVxuXHRcdH1cblxuICAgIHRoaXMuc2VsZWN0ZWREYXkgPSBudWxsO1xuXHRcdHRoaXMubm90aWZpY2F0aW9uID0gbnVsbDtcblx0XHRpZiAoIXRoaXMucmFuZ2UpIHsgdGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7IH1cblxuICAgIHRoaXMuY2xlYXJTZWxlY3Rpb24uZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGhhbmRsZUNhbGVuZGFyUmVzcG9uc2UoZGF0ZTogRGF0ZSB8IERhdGVbXSwgaXNNb250aDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghKGRhdGUgaW5zdGFuY2VvZiBEYXRlKSkgcmV0dXJuO1xuXG4gICAgY29uc3QgeWVhciA9IGlzTW9udGggPyB0aGlzLmN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkgOiBkYXRlLmdldEZ1bGxZZWFyKCk7XG4gICAgY29uc3QgbW9udGggPSBpc01vbnRoID8gZGF0ZS5nZXRNb250aCgpIDogdGhpcy5jdXJyZW50RGF0ZS5nZXRNb250aCgpO1xuXG4gICAgdGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCB0aGlzLmN1cnJlbnREYXRlLmdldERhdGUoKSk7XG5cbiAgICBpZiAoaXNNb250aCkgeyB0aGlzLmluaXRNb250aCA9IHRoaXMuY3VycmVudERhdGU7IHRoaXMuc2hvd01vbnRoQ2FsZW5kYXIgPSBmYWxzZTsgfVxuICAgIGVsc2UgeyB0aGlzLmluaXRZZWFyID0gdGhpcy5jdXJyZW50RGF0ZTsgdGhpcy5zaG93WWVhckNhbGVuZGFyID0gZmFsc2U7IH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVPbkNsaWNrRHJvcGRvd25MYWJlbChpc01vbnRoOiBib29sZWFuKTogdm9pZCB7XG4gICAgICB0aGlzLmluaXRNb250aCA9IGlzTW9udGggPyB0aGlzLmN1cnJlbnREYXRlIDogdGhpcy5pbml0TW9udGg7XG4gICAgICB0aGlzLmluaXRZZWFyID0gIWlzTW9udGggPyB0aGlzLmN1cnJlbnREYXRlIDogdGhpcy5pbml0WWVhcjtcblxuICAgICAgdGhpcy5zaG93TW9udGhDYWxlbmRhciA9IGlzTW9udGg7XG4gICAgICB0aGlzLnNob3dZZWFyQ2FsZW5kYXIgPSAhaXNNb250aDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNb250aEdyaWQoKTogQ2FsZW5kYXJEYXRlW11bXSB7XG4gICAgbGV0IHdlZWs6IENhbGVuZGFyRGF0ZVtdID0gW107XG5cbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgZ3JpZDogQ2FsZW5kYXJEYXRlW11bXSA9IFtdO1xuICAgIGNvbnN0IGJhc2VEYXRlID0gdGhpcy5jdXJyZW50RGF0ZTtcbiAgICBjb25zdCBtb250aCA9IGJhc2VEYXRlLmdldE1vbnRoKCk7XG4gICAgY29uc3QgeWVhciA9IGJhc2VEYXRlLmdldEZ1bGxZZWFyKCk7XG5cbiAgICBjb25zdCBmaXJzdERheSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxKTtcbiAgICBjb25zdCBzdGFydFdlZWtkYXkgPSAoZmlyc3REYXkuZ2V0RGF5KCkgKyA2KSAlIDc7XG5cbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoICsgMSwgMCkuZ2V0RGF0ZSgpO1xuICAgIGNvbnN0IGRheXNJblByZXZNb250aCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAwKS5nZXREYXRlKCk7XG5cbiAgICAvLyBmaWxsIGRheXMgZnJvbSBwcmV2aW91cyBtb250aFxuICAgIGZvciAobGV0IGkgPSBzdGFydFdlZWtkYXkgLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICBjb25zdCBkYXkgPSBkYXlzSW5QcmV2TW9udGggLSBpO1xuICAgICAgICBjb25zdCB3ZWVrRGF5ID0gKHN0YXJ0V2Vla2RheSAtIDEgLSBpICsgNykgJSA3O1xuICAgICAgICB3ZWVrLnB1c2goeyBkYXksIG1vbnRoWWVhcjoge21vbnRoOiBtb250aCAtIDEsIHllYXI6IHllYXJ9LCBpc1RvZGF5OiBmYWxzZSwgaW5DdXJyZW50TW9udGg6IGZhbHNlLCB3ZWVrRGF5IH0pO1xuICAgIH1cblxuICAgIC8vIGZpbGwgZGF5cyBmcm9tIGN1cnJlbnQgbW9udGhcbiAgICBmb3IgKGxldCBkID0gMTsgZCA8PSBkYXlzSW5Nb250aDsgZCsrKSB7XG4gICAgICAgIGNvbnN0IGlzVG9kYXkgPSBkID09PSB0b2RheS5nZXREYXRlKCkgJiYgbW9udGggPT09IHRvZGF5LmdldE1vbnRoKCkgJiYgeWVhciA9PT0gdG9kYXkuZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgY29uc3Qgd2Vla0RheSA9IHdlZWsubGVuZ3RoICUgNztcbiAgICAgICAgd2Vlay5wdXNoKHsgZGF5OiBkLCBtb250aFllYXI6IHttb250aDogbW9udGgsIHllYXI6IHllYXJ9LCBpc1RvZGF5LCBpbkN1cnJlbnRNb250aDogdHJ1ZSwgd2Vla0RheSB9KTtcblxuICAgICAgICBpZiAod2Vlay5sZW5ndGggPT09IDcpIHtcbiAgICAgICAgICAgIGdyaWQucHVzaCh3ZWVrKTtcbiAgICAgICAgICAgIHdlZWsgPSBbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGZpbGwgcmVtYWluaW5nIGRheXMgZnJvbSBuZXh0IG1vbnRoXG4gICAgbGV0IG5leHREYXkgPSAxO1xuICAgIHdoaWxlICh3ZWVrLmxlbmd0aCA8IDcpIHtcbiAgICAgICAgY29uc3Qgd2Vla0RheSA9IHdlZWsubGVuZ3RoO1xuICAgICAgICB3ZWVrLnB1c2goeyBkYXk6IG5leHREYXkrKywgbW9udGhZZWFyOiB7bW9udGg6IG1vbnRoICsgMSwgeWVhcjogeWVhcn0sIGlzVG9kYXk6IGZhbHNlLCBpbkN1cnJlbnRNb250aDogZmFsc2UsIHdlZWtEYXkgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgaGFzQ3VycmVudE1vbnRoRGF5ID0gd2Vlay5zb21lKGRheSA9PiBkYXkuaW5DdXJyZW50TW9udGgpO1xuICAgIGlmIChoYXNDdXJyZW50TW9udGhEYXkpIHtcbiAgICAgICAgZ3JpZC5wdXNoKHdlZWspO1xuICAgIH1cblxuICAgIHJldHVybiBncmlkO1xuICB9XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IGNoYW5nZURhdGUgPSBjaGFuZ2VEYXRlO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXNQcmV2aWV3ID0gaXNQcmV2aWV3O1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgc2VhcmNoRGF0ZSA9IHNlYXJjaERhdGU7XG4gIHByb3RlY3RlZCByZWFkb25seSBvbkhvdmVyRGF5ID0gb25Ib3ZlckRheTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IG9uRGF0ZUtleXVwID0gb25EYXRlS2V5dXA7XG4gIHByb3RlY3RlZCByZWFkb25seSBvbkNsZWFySG92ZXIgPSBvbkNsZWFySG92ZXI7XG5cdHByb3RlY3RlZCByZWFkb25seSBpc1BlcmlvZEF2YWlsYWJsZSA9IGlzUGVyaW9kQXZhaWxhYmxlO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgY2FsZW5kYXJEYXRlVG9EYXRlID0gY2FsZW5kYXJEYXRlVG9EYXRlO1xufSIsIjxzZWN0aW9uICpuZ0lmPVwic2hvd01vbnRoQ2FsZW5kYXJcIj5cbiAgPG1vbnRoLWNhbGVuZGFyXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxuICAgIFtpbnRlZ3JhdGVkTW9kZV09XCJ0cnVlXCJcbiAgICBbcmVzdGFydF09XCJzaG93TW9udGhDYWxlbmRhclwiXG4gICAgKHJlc3BvbnNlKT1cImhhbmRsZUNhbGVuZGFyUmVzcG9uc2UoJGV2ZW50LCB0cnVlKVwiIFtpbml0RGF0ZV09XCJpbml0TW9udGhcIlxuICAgIFthcHBlYXJhbmNlXT1cIntsYW5ndWFnZTogYXBwZWFyYW5jZS5sYW5ndWFnZSwgaXNNb2JpbGU6IGFwcGVhcmFuY2UuaXNNb2JpbGUgfVwiPlxuICA8L21vbnRoLWNhbGVuZGFyPlxuPC9zZWN0aW9uPlxuXG48c2VjdGlvbiAqbmdJZj1cInNob3dZZWFyQ2FsZW5kYXJcIj5cbiAgPHllYXItY2FsZW5kYXJcbiAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgW2ludGVncmF0ZWRNb2RlXT1cInRydWVcIlxuICAgIFtyZXN0YXJ0XT1cInNob3dZZWFyQ2FsZW5kYXJcIlxuICAgIChyZXNwb25zZSk9XCJoYW5kbGVDYWxlbmRhclJlc3BvbnNlKCRldmVudCwgZmFsc2UpXCIgW2luaXREYXRlXT1cImluaXRZZWFyXCJcbiAgICBbYXBwZWFyYW5jZV09XCJ7bGFuZ3VhZ2U6IGFwcGVhcmFuY2UubGFuZ3VhZ2UsIGlzTW9iaWxlOiBhcHBlYXJhbmNlLmlzTW9iaWxlfVwiPlxuICA8L3llYXItY2FsZW5kYXI+XG48L3NlY3Rpb24+XG5cbjxkaXYgKm5nSWY9XCIhYXBwZWFyYW5jZS5pc01vYmlsZSAmJiAhc2hvd01vbnRoQ2FsZW5kYXIgJiYgIXNob3dZZWFyQ2FsZW5kYXJcIiBjbGFzcz1cInRpdGxlXCI+XG4gIDxzcGFuIGNsYXNzPVwiaHItbGFiZWwgc20tYm9sZFwiPnt7cmFuZ2UgPyBpMThuLnNlbGVjdF9yYW5nZSA6IGkxOG4uc2VsZWN0X2RhdGV9fTwvc3Bhbj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZ3Jhdml0eS1kYXRlLXBpY2tlci1jb250ZW50XCIgW2NsYXNzLmhpZGRlbl09XCJzaG93WWVhckNhbGVuZGFyIHx8IHNob3dNb250aENhbGVuZGFyXCIgIFtjbGFzcy5tb2JpbGVdPVwiYXBwZWFyYW5jZS5pc01vYmlsZVwiPlxuXG4gIDxkaXYgKm5nSWY9XCJyYW5nZVwiIGNsYXNzPVwic2VsZWN0ZWQtZGF0ZXNcIj5cbiAgICA8Z3Jhdml0eS10ZXh0LWZpZWxkICNzdGFydERhdGVcbiAgICAgIFtzaXplXT1cIidzbSdcIlxuICAgICAgW3dpZHRoXT1cIidzaG9ydCdcIlxuICAgICAgW2xhYmVsXT1cImkxOG4uc3RhcnRfZGF0ZVwiXG4gICAgICBbaW5wdXRDb250ZW50VHlwZV09XCInZGF0ZSdcIlxuICAgICAgW3N1cHBvcnRUZXh0XT1cInN0YXJ0RGF0ZUVycm9yXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJpMThuLmRhdGVfcGxhY2Vob2xkZXJcIlxuICAgICAgW2NsaWNrT25SaWdodEljb25dPVwiIXN0YXJ0RmllbGREaXNhYmxlZFwiXG4gICAgICAoa2V5dXApPVwib25EYXRlS2V5dXAodGhpcywgJGV2ZW50LCAnc3RhcnQnKVwiXG4gICAgICAoY2xpY2tJY29uUmlnaHQpPVwiY2xlYXJTZWxlY3RlZERhdGUoJ3N0YXJ0JylcIlxuICAgICAgKGZvY3Vzb3V0KT1cInNlYXJjaERhdGUodGhpcywgc3RhcnREYXRlLmlucHV0VmFsdWUsICdzdGFydCcpXCJcbiAgICAgIFtpY29uUmlnaHRdPVwiKHNlbGVjdGVkUmFuZ2VTdGFydCB8fCBzdGFydERhdGUuaW5wdXRWYWx1ZS5sZW5ndGggPiA5KSA/ICd1bnN1Y2Nlc3MnIDogICcnXCJcbiAgICAgIChjbGljayk9XCJmb2N1c2VkID0gJ3N0YXJ0Jzsgc2VsZWN0ZWRSYW5nZVN0YXJ0ID8gY3VycmVudERhdGUgPSBjYWxlbmRhckRhdGVUb0RhdGUoc2VsZWN0ZWRSYW5nZVN0YXJ0KSA6IG51bGxcIlxuICAgICAgW2N1c3RvbVN0YXRlXT1cInN0YXJ0RmllbGREaXNhYmxlZCA/ICdkaXNhYmxlZCcgOiBzdGFydERhdGVFcnJvciA/ICd0eXBlZC1lcnJvcicgOiAoc3RhcnREYXRlLmlucHV0VmFsdWUubGVuZ3RoIDwgMSA/ICdkZWZhdWx0JyA6ICd0eXBpbmcnKVwiXG4gICAgICBbYXR0ci5kYXRhLWN5XT1cIidkYXRlUGlja2VyX3N0YXJ0RGF0ZSdcIi8+XG5cbiAgICA8Z3Jhdml0eS10ZXh0LWZpZWxkICNlbmREYXRlXG4gICAgICBbc2l6ZV09XCInc20nXCJcbiAgICAgIFt3aWR0aF09XCInc2hvcnQnXCJcbiAgICAgIFtsYWJlbF09XCJpMThuLmVuZF9kYXRlXCJcbiAgICAgIFtpbnB1dENvbnRlbnRUeXBlXT1cIidkYXRlJ1wiXG4gICAgICBbc3VwcG9ydFRleHRdPVwiZW5kRGF0ZUVycm9yXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJpMThuLmRhdGVfcGxhY2Vob2xkZXJcIlxuICAgICAgW2NsaWNrT25SaWdodEljb25dPVwiIWVuZEZpZWxkRGlzYWJsZWRcIlxuICAgICAgKGtleXVwKT1cIm9uRGF0ZUtleXVwKHRoaXMsICRldmVudCwgJ2VuZCcpXCJcbiAgICAgIChjbGlja0ljb25SaWdodCk9XCJjbGVhclNlbGVjdGVkRGF0ZSgnZW5kJylcIlxuICAgICAgKGZvY3Vzb3V0KT1cInNlYXJjaERhdGUodGhpcywgZW5kRGF0ZS5pbnB1dFZhbHVlLCAnZW5kJylcIlxuICAgICAgW2ljb25SaWdodF09XCIoc2VsZWN0ZWRSYW5nZUVuZCB8fCBlbmREYXRlLmlucHV0VmFsdWUubGVuZ3RoID4gOSkgPyAndW5zdWNjZXNzJyA6ICcnXCJcbiAgICAgIChjbGljayk9XCIgZm9jdXNlZCA9ICdlbmQnOyBzZWxlY3RlZFJhbmdlRW5kID8gY3VycmVudERhdGUgPSBjYWxlbmRhckRhdGVUb0RhdGUoc2VsZWN0ZWRSYW5nZUVuZCkgOiBudWxsXCJcbiAgICAgIFtjdXN0b21TdGF0ZV09XCJlbmRGaWVsZERpc2FibGVkID8gJ2Rpc2FibGVkJyA6IGVuZERhdGVFcnJvciA/ICd0eXBlZC1lcnJvcicgOiAoZW5kRGF0ZS5pbnB1dFZhbHVlLmxlbmd0aCA8IDEgPyAnZGVmYXVsdCcgOiAndHlwaW5nJylcIiBbYXR0ci5kYXRhLWN5XT1cIidkYXRlUGlja2VyX2VuZERhdGUnXCIvPlxuICA8L2Rpdj5cblxuICA8c2VjdGlvbiBjbGFzcz1cImdyYXZpdHktZGF0ZS1waWNrZXItaGVhZGVyXCIgW2NsYXNzLm1vYmlsZV09XCJhcHBlYXJhbmNlLmlzTW9iaWxlXCI+XG4gICAgPGdyYXZpdHktaWNvbi1idXR0b24gW3R5cGVdPVwiJ3ByaW1hcnknXCIgW3NpemVdPVwiJ3NtJ1wiIFtpY29uXT1cIidhcnJvdy1sZWZ0J1wiIFtzdXBwb3J0VGV4dF09XCJpMThuLnByZXZpZXdfbW9udGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIChjbGlja09uSWNvbik9XCJjdXJyZW50RGF0ZSA9IGNoYW5nZURhdGUoLTEsIGN1cnJlbnREYXRlLCB0cnVlKTtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0ZV09XCIobmF2VHlwZSA9PT0gJ3ByZXYnIHx8IG5hdlR5cGUgPT09ICdib3RoJykgJiYgKGFwcGVhcmFuY2Uuc3RhdGUgIT09ICdkaXNhYmxlZCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlzUGVyaW9kQXZhaWxhYmxlKGN1cnJlbnREYXRlLCBjb25maWcubWluRGF0ZSwgJ21vbnRoJywgJ3ByZXYnKSA/ICdhY3RpdmUnIDogJ2Rpc2FibGVkJ1wiLz5cblxuICAgIDxkaXYgY2xhc3M9XCJtb250aC15ZWFyLWxhYmVsXCI+XG4gICAgICA8Z3Jhdml0eS1kcm9wZG93bi1sYWJlbCBbZm9udENsYXNzXT1cIidoci10aXRsZSBzbS1ib2xkJ1wiIFtzaXplXT1cIidzbSdcIiBbbGFiZWxdPVwibW9udGhzTGlzdFtjdXJyZW50RGF0ZS5nZXRNb250aCgpXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwiYXBwZWFyYW5jZS5zdGF0ZSA9PT0gJ2Rpc2FibGVkJyA/ICdpbmFjdGl2ZScgOiAnYWN0aXZlJ1wiIChvbkNsaWNrTGFiZWwpPVwiaGFuZGxlT25DbGlja0Ryb3Bkb3duTGFiZWwodHJ1ZSlcIiAgW2F0dHIuZGF0YS1jeV09XCInZGF0ZVBpY2tlcl9tb250aERyb3Bkb3duJ1wiLz5cblxuICAgICAgPGdyYXZpdHktZHJvcGRvd24tbGFiZWwgW2ZvbnRDbGFzc109XCInaHItdGl0bGUgc20tYm9sZCdcIiBbc2l6ZV09XCInc20nXCIgW2xhYmVsXT1cImN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCkudG9TdHJpbmcoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhdGVdPVwiYXBwZWFyYW5jZS5zdGF0ZSA9PT0gJ2Rpc2FibGVkJyA/ICdpbmFjdGl2ZScgOiAnYWN0aXZlJ1wiIChvbkNsaWNrTGFiZWwpPVwiaGFuZGxlT25DbGlja0Ryb3Bkb3duTGFiZWwoZmFsc2UpXCIgW2F0dHIuZGF0YS1jeV09XCInZGF0ZVBpY2tlcl95ZWFyRHJvcGRvd24nXCIvPlxuICAgIDwvZGl2PlxuXG4gICAgICA8Z3Jhdml0eS1pY29uLWJ1dHRvbiBbdHlwZV09XCIncHJpbWFyeSdcIiBbc2l6ZV09XCInc20nXCIgW2ljb25dPVwiJ2Fycm93LXJpZ2h0J1wiIFtzdXBwb3J0VGV4dF09XCJpMThuLm5leHRfbW9udGhcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrT25JY29uKT1cImN1cnJlbnREYXRlID0gY2hhbmdlRGF0ZSgxLCBjdXJyZW50RGF0ZSwgdHJ1ZSk7XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGF0ZV09XCIobmF2VHlwZSA9PT0gJ25leHQnIHx8IG5hdlR5cGUgPT09ICdib3RoJykgJiYgKGFwcGVhcmFuY2Uuc3RhdGUgIT09ICdkaXNhYmxlZCcpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNQZXJpb2RBdmFpbGFibGUoY3VycmVudERhdGUsIGNvbmZpZy5tYXhEYXRlLCAnbW9udGgnLCAnbmV4dCcpID8gJ2FjdGl2ZScgOiAnZGlzYWJsZWQnXCIvPlxuICA8L3NlY3Rpb24+XG5cbiAgPHNlY3Rpb24gY2xhc3M9XCJncmF2aXR5LWRhdGUtcGlja2VyLWJvZHlcIiBbY2xhc3MubW9iaWxlXT1cImFwcGVhcmFuY2UuaXNNb2JpbGVcIj5cbiAgICA8c2VjdGlvbiBjbGFzcz1cImRheXMtbmFtZS1saW5lXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZGF5cy1uYW1lXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaHItYm9keVwiIFtuZ0NsYXNzXT1cImFwcGVhcmFuY2UuaXNNb2JpbGUgPyAnbWQtcmVndWxhcicgOiAnc20tcmVndWxhcidcIlxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZGF5IG9mIGRheXNMaXN0XCI+IHt7IGRheSB9fSA8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cInNlcGFyYXRvci1saW5lXCI+PC9kaXY+XG4gICAgPC9zZWN0aW9uPlxuXG4gICAgPHNlY3Rpb24gY2xhc3M9XCJkYXlzLW51bWJlci1zZWxlY3RvclwiIFthdHRyLmRhdGEtY3ldPVwiJ2RhdGVQaWNrZXJfZGF5c1NlbGVjdG9yJ1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImRheXMtbnVtYmVyLXRhYmxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ3ZWVrLXJvd1wiICpuZ0Zvcj1cImxldCB3ZWVrIG9mIGdldE1vbnRoR3JpZCgpOyB0cmFja0J5OiB0cmFja0J5V2Vla1wiPlxuICAgICAgICAgPHNwYW4gY2xhc3M9XCJoci1ib2R5XCIgKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrOyB0cmFja0J5OiB0cmFja0J5RGF5XCJcbiAgICAgICAgICBbY2xhc3MucHJldmlld109XCJyYW5nZSA/IGlzUHJldmlldyh0aGlzLCBkYXkpIDogbnVsbFwiXG4gICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIiFkYXkuaW5DdXJyZW50TW9udGhcIiBbY2xhc3MudG9kYXldPVwiZGF5LmlzVG9kYXlcIlxuICAgICAgICAgIChtb3VzZWVudGVyKT1cInJhbmdlID8gb25Ib3ZlckRheSh0aGlzLCBkYXkpIDogbnVsbDsgaG92ZXJEYXkuZW1pdChkYXkpXCJcbiAgICAgICAgICAobW91c2VsZWF2ZSk9XCJyYW5nZSA/IG9uQ2xlYXJIb3Zlcih0aGlzKSA6IG51bGw7IHRoaXMuY2xlYXJIb3Zlci5lbWl0KClcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIlthcHBlYXJhbmNlLmlzTW9iaWxlID8gJ21kLXJlZ3VsYXInIDogJ3NtLXJlZ3VsYXInLFxuICAgICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2Uuc3RhdGUgPT09ICdkaXNhYmxlZCcgPyAnZGlzYWJsZWQnIDogZ2V0RGF5U2VsZWN0aW9uQ2xhc3MoZGF5KV1cIlxuICAgICAgICAgIChjbGljayk9XCJkYXkuaW5DdXJyZW50TW9udGggPyBvblNlbGVjdERheShkYXkpOiBudWxsXCI+IHt7IGRheS5kYXkgfX0gPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2ICpuZ0lmPVwibm90aWZpY2F0aW9uXCIgY2xhc3M9XCJub3RpZmljYXRpb25cIiBbY2xhc3MuZXJyb3JdPVwibm90aWZpY2F0aW9uLmVycm9yXCI+XG4gICAgICAgIDxncmF2aXR5LWljb24gW3N0eWxlLi0taWNvbi1jb2xvcl09XCIndmFyKC0tbm90aWZpY2F0aW9uLWljb24tY29sb3IpJ1wiIFtpY29uU2l6ZV09XCInc20tMTInXCIgW2ljb25OYW1lXT1cIidpbmZvcm1hdGlvbi1jaXJjbGUnXCIvPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImhyLWxhYmVsIHNtLXJlZ3VsYXJcIj57e25vdGlmaWNhdGlvbi50ZXh0fX08L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiAqbmdJZj1cInJhbmdlIHx8IHNlbGVjdGVkRGF5XCIgY2xhc3M9XCJhY3Rpb24tc2VjdGlvblwiID5cbiAgICAgICAgPGdyYXZpdHktbGluayBbbGlua1RleHRdPVwiaTE4bi5jbGVhclwiIFtzdGF0ZV09XCJoYXNEYXRlU2VsZWN0ZWQoKSA/ICdhY3RpdmUnIDogJ2Rpc2FibGVkJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgW2ZvbnRDbGFzc109XCJhcHBlYXJhbmNlLmlzTW9iaWxlID8gJ2hyLWJvZHkgbWQtcmVndWxhcicgOiAnaHItYm9keSBzbS1yZWd1bGFyJ1wiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIiBoYXNEYXRlU2VsZWN0ZWQoKSA/IGNsZWFyU2VsZWN0ZWREYXRlKCdhbGwnKSA6IG51bGxcIi8+XG5cbiAgICAgICAgPGdyYXZpdHktYnV0dG9uICpuZ0lmPVwicmFuZ2VcIiBbc2l6ZV09XCJhcHBlYXJhbmNlLmlzTW9iaWxlID8gJ21kJyA6ICdzbSdcIiBbdHlwZV09XCIndGVydGlhcnknXCIgW2Rpc2FibGVkXT1cIiFoYXNEYXRlU2VsZWN0ZWQodHJ1ZSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImhhc0RhdGVTZWxlY3RlZCh0cnVlKSA/IGFwcGx5U2VsZWN0ZWREYXRlKCkgOiBudWxsXCI+IHt7aTE4bi5hcHBseX19IDwvZ3Jhdml0eS1idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L3NlY3Rpb24+XG4gIDwvc2VjdGlvbj5cbjwvZGl2PlxuIl19
|
|
@@ -40,7 +40,7 @@ export function processPreselectedRangeDate(component) {
|
|
|
40
40
|
component.selectedRangeEnd = dateToCalendarDay(end);
|
|
41
41
|
setTimeout(() => {
|
|
42
42
|
if (!component.appearance.isMobile) {
|
|
43
|
-
component.
|
|
43
|
+
component.endDateField.focus();
|
|
44
44
|
}
|
|
45
45
|
component.endDateField.inputValue = dateToString(end, component.appearance.language);
|
|
46
46
|
}, 0);
|
|
@@ -238,4 +238,4 @@ export function onDateKeyup(component, event, target) {
|
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtZGF5cy1jYWxlbmRhci51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kYXRlLXBpY2tlci9jb21wb25lbnRzL2RheS1jYWxlbmRhci9yYW5nZS1kYXlzLWNhbGVuZGFyLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBRXJKLE1BQU0sVUFBVSxTQUFTLENBQUMsU0FBK0IsRUFBRSxHQUFpQjtJQUMzRSxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV4QyxJQUFJLFNBQVMsQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsSUFBSSxTQUFTLENBQUMsVUFBVSxFQUFFO1FBQ3hGLE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCxJQUFJLEtBQUssSUFBSSxLQUFLO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakMsT0FBTyxPQUFPLEdBQUcsS0FBSyxJQUFJLE9BQU8sSUFBSSxLQUFLLENBQUM7S0FDM0M7SUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixJQUFJLFNBQVMsQ0FBQyxnQkFBZ0IsSUFBSSxTQUFTLENBQUMsVUFBVSxFQUFFO1FBQ3hGLE1BQU0sR0FBRyxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUFH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O1FBQ3RCLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUVwQyxJQUFHLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUU7WUFDbEMsU0FBUyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDOUI7UUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JCLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDMUIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUM1QixTQUFTLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUM5QjtLQUNEO0lBRUQsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNyQixVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQzdCLElBQUksUUFBUSxDQUFDLGFBQWEsWUFBWSxXQUFXLEVBQUU7Z0JBQ2xELFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDOUI7U0FDRDtLQUNEO0FBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2FsZW5kYXJEYXRlfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLm1vZGFsXCI7XG5pbXBvcnQge0RheUNhbGVuZGFyQ29tcG9uZW50fSBmcm9tIFwiLi9kYXktY2FsZW5kYXIuY29tcG9uZW50XCI7XG5pbXBvcnQge2NhbGVuZGFyRGF0ZVRvRGF0ZSwgZGF0ZVRvU3RyaW5nLCBnZXRTdGFydERhdGUsIHN0cmluZ1RvQ2FsZW5kYXJEYXRlLCBzdHJpbmdUb0RhdGUsIGRhdGVUb0NhbGVuZGFyRGF5fSBmcm9tIFwiLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLnV0aWxzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ByZXZpZXcoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCwgZGF5OiBDYWxlbmRhckRhdGUpOiBib29sZWFuIHtcblx0Y29uc3QgY3VycmVudCA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShkYXkpO1xuXG5cdGlmIChjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0ICYmICFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCAmJiBjb21wb25lbnQuaG92ZXJlZERheSkge1xuXHRcdGNvbnN0IHN0YXJ0ID0gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQpO1xuXHRcdGNvbnN0IGhvdmVyID0gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5ob3ZlcmVkRGF5KTtcblx0XHRpZiAoaG92ZXIgPD0gc3RhcnQpIHJldHVybiBmYWxzZTtcblx0XHRyZXR1cm4gY3VycmVudCA+IHN0YXJ0ICYmIGN1cnJlbnQgPD0gaG92ZXI7XG5cdH1cblxuXHRpZiAoIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgJiYgY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQgJiYgY29tcG9uZW50LmhvdmVyZWREYXkpIHtcblx0XHRjb25zdCBlbmQgPSBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQpO1xuXHRcdGNvbnN0IGhvdmVyID0gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5ob3ZlcmVkRGF5KTtcblx0XHRpZiAoaG92ZXIgPj0gZW5kKSByZXR1cm4gZmFsc2U7XG5cdFx0cmV0dXJuIGN1cnJlbnQgPCBlbmQgJiYgY3VycmVudCA+PSBob3Zlcjtcblx0fVxuXG5cdHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NQcmVzZWxlY3RlZFJhbmdlRGF0ZShjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50KSB7XG5cdGxldCBlbmQ6IERhdGUgfCBudWxsID0gbnVsbDtcblx0bGV0IHN0YXJ0OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cblx0c2V0VGltZW91dCgoKSA9PiB7IGlmKCFjb21wb25lbnQuYXBwZWFyYW5jZS5pc01vYmlsZSkgeyBjb21wb25lbnQuc3RhcnREYXRlRmllbGQuZm9jdXMoKTsgfSB9LCAwKVxuXG5cdGlmIChBcnJheS5pc0FycmF5KGNvbXBvbmVudC5jb25maWcuaW5pdERhdGUpKSB7W3N0YXJ0LCBlbmRdID0gY29tcG9uZW50LmNvbmZpZy5pbml0RGF0ZTt9XG5cbiAgaWYgKHN0YXJ0IGluc3RhbmNlb2YgRGF0ZSkge1xuICAgIGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgPSBkYXRlVG9DYWxlbmRhckRheShzdGFydCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG5cdCAgICBpZighY29tcG9uZW50LmFwcGVhcmFuY2UuaXNNb2JpbGUpIHsgY29tcG9uZW50LmVuZERhdGVGaWVsZC5mb2N1cygpOyB9XG5cdFx0XHRjb21wb25lbnQuc3RhcnREYXRlRmllbGQuaW5wdXRWYWx1ZSA9IGRhdGVUb1N0cmluZyhzdGFydCwgY29tcG9uZW50LmFwcGVhcmFuY2UubGFuZ3VhZ2UpO1xuXHRcdH0sIDApO1xuICB9XG5cbiAgaWYgKGVuZCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICBjb21wb25lbnQuY3VycmVudERhdGUgPSBnZXRTdGFydERhdGUoZW5kKTtcbiAgICBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCA9IGRhdGVUb0NhbGVuZGFyRGF5KGVuZCk7XG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRpZighY29tcG9uZW50LmFwcGVhcmFuY2UuaXNNb2JpbGUpIHsgY29tcG9uZW50LnN0YXJ0RGF0ZUZpZWxkLmZvY3VzKCk7IH1cblx0XHRcdGNvbXBvbmVudC5lbmREYXRlRmllbGQuaW5wdXRWYWx1ZSA9IGRhdGVUb1N0cmluZyhlbmQsIGNvbXBvbmVudC5hcHBlYXJhbmNlLmxhbmd1YWdlKTtcblx0XHR9LCAwKTtcblxuICB9IGVsc2UgaWYgKHN0YXJ0IGluc3RhbmNlb2YgRGF0ZSkge1xuICAgIGNvbXBvbmVudC5jdXJyZW50RGF0ZSA9IGdldFN0YXJ0RGF0ZShzdGFydCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJhbmdlU2VsZWN0aW9uQ2xhc3MoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCwgZGF5OiBDYWxlbmRhckRhdGUpOiBzdHJpbmcge1xuXHRjb25zdCBjdXJyZW50ID0gY2FsZW5kYXJEYXRlVG9EYXRlKGRheSk7XG5cdGNvbnN0IHN0YXJ0ID0gY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCA/IGNhbGVuZGFyRGF0ZVRvRGF0ZShjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0KSA6IG51bGw7XG5cdGNvbnN0IGVuZCA9IGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kID8gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kKSA6IG51bGw7XG5cblx0aWYgKCFzdGFydCAmJiAhZW5kKSB7XG5cdFx0cmV0dXJuIGNvbXBvbmVudC5mb2N1c2VkID09PSAnc3RhcnQnID8gJ25zbC1zdGFydCcgOiAnbnNsLWVuZCc7XG5cdH1cblxuXHRpZiAoc3RhcnQgJiYgIWVuZCkge1xuXHRcdGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gc3RhcnQuZ2V0VGltZSgpKSByZXR1cm4gJ3NsIHN0YXJ0Jztcblx0XHRpZiAoY3VycmVudC5nZXRUaW1lKCkgPCBzdGFydC5nZXRUaW1lKCkpIHJldHVybiAnbnNsLXN0YXJ0Jztcblx0XHRyZXR1cm4gJ2luLXNsdCBuc2wtZW5kJztcblx0fVxuXG5cdGlmICghc3RhcnQgJiYgZW5kKSB7XG5cdFx0aWYgKGN1cnJlbnQuZ2V0VGltZSgpID09PSBlbmQuZ2V0VGltZSgpKSByZXR1cm4gJ3NsIGVuZCc7XG5cdFx0aWYgKGN1cnJlbnQuZ2V0VGltZSgpID4gZW5kLmdldFRpbWUoKSkgcmV0dXJuICduc2wtZW5kJztcblx0XHRyZXR1cm4gJ2luLXNsdCBuc2wtc3RhcnQnO1xuXHR9XG5cblx0aWYgKHN0YXJ0ICYmIGVuZCkge1xuXHRcdGlmKGN1cnJlbnQuZ2V0VGltZSgpID09PSBzdGFydC5nZXRUaW1lKCkgJiZcblx0XHRcdCBzdGFydC5nZXRUaW1lKCkgPT09IGVuZC5nZXRUaW1lKCkpXG5cdFx0XHRcdHJldHVybiAnc3RhcnQgc2wgc2FtZS1zbG4nO1xuXG5cdFx0aWYgKGN1cnJlbnQuZ2V0VGltZSgpID09PSBzdGFydC5nZXRUaW1lKCkpIHJldHVybiAnc2wgc3RhcnQnO1xuXHRcdGlmIChjdXJyZW50LmdldFRpbWUoKSA8IHN0YXJ0LmdldFRpbWUoKSkgcmV0dXJuICduc2wtc3RhcnQnO1xuXHRcdGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gZW5kLmdldFRpbWUoKSkgcmV0dXJuICdzbCBlbmQnO1xuXHRcdGlmIChjdXJyZW50LmdldFRpbWUoKSA+IGVuZC5nZXRUaW1lKCkpIHJldHVybiAnbnNsLWVuZCc7XG5cdFx0aWYgKGN1cnJlbnQgPiBzdGFydCAmJiBjdXJyZW50IDwgZW5kKSByZXR1cm4gJ3NsIHJhbmdlJztcblx0XHRyZXR1cm4gJ2RlZmF1bHQnO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvblNlbGVjdERheXNSYW5nZShjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50LCBkYXk6IENhbGVuZGFyRGF0ZSk6IHZvaWQge1xuXHRjb25zdCBzZWxlY3RlZCA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShkYXkpO1xuXHRjb25zdCBoYXNFbmQgPSAhIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kO1xuXHRjb25zdCBoYXNTdGFydCA9ICEhY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydDtcblx0Y29uc3QgbGFuZ3VhZ2UgPSBjb21wb25lbnQuYXBwZWFyYW5jZS5sYW5ndWFnZTtcblx0Y29uc3QgZW5kRGF0ZSA9IGhhc0VuZCA/IGNhbGVuZGFyRGF0ZVRvRGF0ZShjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCkgOiBudWxsO1xuXHRjb25zdCBzdGFydERhdGUgPSBoYXNTdGFydCA/IGNhbGVuZGFyRGF0ZVRvRGF0ZShjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0KSA6IG51bGw7XG5cblx0T2JqZWN0LmFzc2lnbihjb21wb25lbnQsIHtcblx0XHRub3RpZmljYXRpb246IG51bGwsXG5cdFx0ZW5kRGF0ZUVycm9yOiAnJywgc3RhcnREYXRlRXJyb3I6ICcnLFxuXHRcdGVuZEZpZWxkRGlzYWJsZWQ6IGZhbHNlLCBzdGFydEZpZWxkRGlzYWJsZWQ6IGZhbHNlLFxuXHR9KTtcblxuXHRjb25zdCB1cGRhdGVGaWVsZCA9IChmaWVsZDogJ3N0YXJ0JyB8ICdlbmQnKSA9PiB7XG5cdFx0Y29tcG9uZW50W2BzZWxlY3RlZFJhbmdlJHtmaWVsZCA9PT0gJ3N0YXJ0JyA/ICdTdGFydCcgOiAnRW5kJ31gXSA9IGRheTtcblx0XHRjb21wb25lbnRbYCR7ZmllbGR9RGF0ZUZpZWxkYF0uaW5wdXRWYWx1ZSA9IGRhdGVUb1N0cmluZyhzZWxlY3RlZCwgbGFuZ3VhZ2UpO1xuXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRjb25zdCBmb2N1c0ZpZWxkID0gZmllbGQgPT09ICdzdGFydCcgP1xuXHRcdFx0XHQoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQgPyAnc3RhcnQnIDogJ2VuZCcpIDpcblx0XHRcdFx0KGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgPyAnZW5kJyA6ICdzdGFydCcpO1xuXG5cdFx0XHRpZighY29tcG9uZW50LmFwcGVhcmFuY2UuaXNNb2JpbGUpIHsgY29tcG9uZW50W2Ake2ZvY3VzRmllbGR9RGF0ZUZpZWxkYF0uZm9jdXMoKTsgfVxuXHRcdFx0Y29tcG9uZW50W2Ake2ZvY3VzRmllbGR9RGF0ZUZpZWxkYF0uaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMTAsIDEwKTtcblx0XHR9LCAxMDApO1xuXHR9O1xuXG5cdGlmICghaGFzU3RhcnQgJiYgIWhhc0VuZCkge1xuXHRcdHVwZGF0ZUZpZWxkKGNvbXBvbmVudC5mb2N1c2VkKTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRpZiAoaGFzU3RhcnQgJiYgIWhhc0VuZCkge1xuXHRcdHNlbGVjdGVkID49IHN0YXJ0RGF0ZSEgPyB1cGRhdGVGaWVsZCgnZW5kJykgOiB1cGRhdGVGaWVsZCgnc3RhcnQnKTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRpZiAoIWhhc1N0YXJ0ICYmIGhhc0VuZCkge1xuXHRcdHNlbGVjdGVkIDwgZW5kRGF0ZSEgPyB1cGRhdGVGaWVsZCgnc3RhcnQnKSA6IHVwZGF0ZUZpZWxkKCdlbmQnKTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRpZiAoaGFzU3RhcnQgJiYgaGFzRW5kKSB7XG5cdFx0c2VsZWN0ZWQgPCBzdGFydERhdGUhID8gdXBkYXRlRmllbGQoJ3N0YXJ0JykgOiB1cGRhdGVGaWVsZCgnZW5kJyk7XG5cdFx0cmV0dXJuO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvbkFwcGx5UmFnZURhdGUoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCl7XG4gICAgY29uc3Qgc3RhcnQgPSBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCk7XG4gICAgY29uc3QgZW5kID0gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kKTtcbiAgICBjb21wb25lbnQuY2FsZW5kYXJSZXNwb25zZS5lbWl0KFtzdGFydCwgZW5kXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvbkhvdmVyRGF5KGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQsIGRheTogQ2FsZW5kYXJEYXRlKTogdm9pZCB7XG5cdGNvbnN0IHN0YXJ0U2VsZWN0ZWQgPSAhIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgJiYgIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kO1xuXHRjb25zdCBlbmRTZWxlY3RlZCA9ICEhY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQgJiYgIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQ7XG5cdGlmIChzdGFydFNlbGVjdGVkIHx8IGVuZFNlbGVjdGVkKSB7IGNvbXBvbmVudC5ob3ZlcmVkRGF5ID0gZGF5OyB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvbkNsZWFySG92ZXIoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCk6IHZvaWQge1xuXHRjb21wb25lbnQuaG92ZXJlZERheSA9IG51bGw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWFyY2hEYXRlKGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQsIGRhdGVTdHI6IHN0cmluZywgdGFyZ2V0OiAnc3RhcnQnIHwgJ2VuZCcpOiB2b2lkIHtcblx0Y29uc3QgaTE4biA9IGNvbXBvbmVudC5pMThuO1xuXHRjb25zdCBkYXRlID0gc3RyaW5nVG9EYXRlKGRhdGVTdHIsIGNvbXBvbmVudC5hcHBlYXJhbmNlLmxhbmd1YWdlKTtcblx0Y29uc3QgY2FsZW5kYXJEYXRlID0gc3RyaW5nVG9DYWxlbmRhckRhdGUoZGF0ZVN0ciwgY29tcG9uZW50LmFwcGVhcmFuY2UubGFuZ3VhZ2UpO1xuXHRjb25zdCBlcnJvclByb3AgPSB0YXJnZXQgPT09ICdzdGFydCcgPyAnc3RhcnREYXRlRXJyb3InIDogJ2VuZERhdGVFcnJvcic7XG5cdGNvbnN0IGZpZWxkID0gdGFyZ2V0ID09PSAnc3RhcnQnID8gY29tcG9uZW50LnN0YXJ0RGF0ZUZpZWxkIDogY29tcG9uZW50LmVuZERhdGVGaWVsZDtcblx0Y29uc3Qgb3Bwb3NpdGVEaXNhYmxlZCA9IHRhcmdldCA9PT0gJ3N0YXJ0JyA/ICdlbmRGaWVsZERpc2FibGVkJyA6ICdzdGFydEZpZWxkRGlzYWJsZWQnO1xuXG5cdGlmICghZGF0ZVN0cikgeyBjb21wb25lbnRbb3Bwb3NpdGVEaXNhYmxlZF0gPSBmYWxzZTsgcmV0dXJuOyB9XG5cblx0aWYgKCFjYWxlbmRhckRhdGUpIHtcblx0XHRjb21wb25lbnRbb3Bwb3NpdGVEaXNhYmxlZF0gPSB0cnVlO1xuXHRcdGNvbXBvbmVudFtlcnJvclByb3BdID0gaTE4bi5pbnZhbGlkX2RhdGU7XG5cdFx0aWYoIWNvbXBvbmVudC5hcHBlYXJhbmNlLmlzTW9iaWxlKSB7IGZpZWxkLmZvY3VzKCk7IH1cblx0XHRjb21wb25lbnQubm90aWZpY2F0aW9uID0geyB0ZXh0OiBpMThuLnNlbGVjdF92YWxpZF9kYXRlLCBlcnJvcjogdHJ1ZSB9O1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGlmICghdmFsaWRhdGVEYXRlTGltaXRzKGNvbXBvbmVudCwgZGF0ZSwgdGFyZ2V0KSkge1xuXHRcdGNvbXBvbmVudFtvcHBvc2l0ZURpc2FibGVkXSA9IHRydWU7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0Y29uc3Qgb3RoZXJDYWxlbmRhckRhdGUgPSB0YXJnZXQgPT09ICdzdGFydCcgPyBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCA6IGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQ7XG5cdGNvbnN0IG90aGVyRGF0ZSA9IG90aGVyQ2FsZW5kYXJEYXRlID8gY2FsZW5kYXJEYXRlVG9EYXRlKG90aGVyQ2FsZW5kYXJEYXRlKSA6IG51bGw7XG5cblx0aWYgKCh0YXJnZXQgPT09ICdzdGFydCcgJiYgb3RoZXJEYXRlICYmIGRhdGUgPiBvdGhlckRhdGUpIHx8XG5cdFx0KHRhcmdldCA9PT0gJ2VuZCcgJiYgb3RoZXJEYXRlICYmIGRhdGUgPCBvdGhlckRhdGUpKSB7XG5cdFx0Y29tcG9uZW50W29wcG9zaXRlRGlzYWJsZWRdID0gdHJ1ZTtcblx0XHRjb21wb25lbnRbZXJyb3JQcm9wXSA9IGkxOG4uaW52YWxpZF9kYXRlO1xuXHRcdGlmKCFjb21wb25lbnQuYXBwZWFyYW5jZS5pc01vYmlsZSkgeyBmaWVsZC5mb2N1cygpOyB9XG5cdFx0Y29tcG9uZW50Lm5vdGlmaWNhdGlvbiA9IHsgdGV4dDogdGFyZ2V0ID09PSAnc3RhcnQnID8gaTE4bi5zdGFydF9iZWZvcmVfZW5kIDogaTE4bi5lbmRfYWZ0ZXJfc3RhcnQsIGVycm9yOiB0cnVlIH07XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0aWYgKHRhcmdldCA9PT0gJ3N0YXJ0Jykge1xuXHRcdGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgPSBjYWxlbmRhckRhdGU7XG5cdFx0aWYgKCFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCAmJiAhY29tcG9uZW50LmFwcGVhcmFuY2UuaXNNb2JpbGUpIHNldFRpbWVvdXQoKCkgPT4gY29tcG9uZW50LmVuZERhdGVGaWVsZC5mb2N1cygpLCAxMDApO1xuXHR9IGVsc2Uge1xuXHRcdGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kID0gY2FsZW5kYXJEYXRlO1xuXHRcdGlmICghY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCAmJiAhY29tcG9uZW50LmFwcGVhcmFuY2UuaXNNb2JpbGUpIHNldFRpbWVvdXQoKCkgPT4gY29tcG9uZW50LnN0YXJ0RGF0ZUZpZWxkLmZvY3VzKCksIDEwMCk7XG5cdH1cblxuXHRjb21wb25lbnRbZXJyb3JQcm9wXSA9IG51bGw7XG5cdGNvbXBvbmVudC5jdXJyZW50RGF0ZSA9IGRhdGU7XG5cdGNvbXBvbmVudC5ub3RpZmljYXRpb24gPSBudWxsO1xuXHRjb21wb25lbnRbb3Bwb3NpdGVEaXNhYmxlZF0gPSBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlRGF0ZUxpbWl0cyhjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50LCBkYXRlOiBEYXRlLCB0YXJnZXQ6ICdzdGFydCcgfCAnZW5kJykgOiBib29sZWFuIHtcblx0aWYgKGNvbXBvbmVudC5jb25maWcubWluRGF0ZSAmJiBkYXRlIDwgY29tcG9uZW50LmNvbmZpZy5taW5EYXRlKSB7XG5cdFx0Y29tcG9uZW50Lm5vdGlmaWNhdGlvbiA9IHsgdGV4dDogY29tcG9uZW50LmkxOG4uZGF0ZV91bmF2YWlsYWJsZSwgZXJyb3I6IHRydWUgfTtcblx0XHR0YXJnZXQgPT09ICdzdGFydCcgPyBjb21wb25lbnQuc3RhcnREYXRlRXJyb3IgPSBjb21wb25lbnQuaTE4bi5pbnZhbGlkX2RhdGUgOiBjb21wb25lbnQuZW5kRGF0ZUVycm9yID0gY29tcG9uZW50LmkxOG4uaW52YWxpZF9kYXRlO1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdGlmIChjb21wb25lbnQuY29uZmlnLm1heERhdGUgJiYgZGF0ZSA+IGNvbXBvbmVudC5jb25maWcubWF4RGF0ZSkge1xuXHRcdGNvbXBvbmVudC5ub3RpZmljYXRpb24gPSB7IHRleHQ6IGNvbXBvbmVudC5pMThuLmRhdGVfdW5hdmFpbGFibGUsIGVycm9yOiB0cnVlIH07XG5cdFx0dGFyZ2V0ID09PSAnc3RhcnQnID8gY29tcG9uZW50LnN0YXJ0RGF0ZUVycm9yID0gY29tcG9uZW50LmkxOG4uaW52YWxpZF9kYXRlIDogY29tcG9uZW50LmVuZERhdGVFcnJvciA9IGNvbXBvbmVudC5pMThuLmludmFsaWRfZGF0ZTtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRyZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9uRGF0ZUtleXVwKGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQsIGV2ZW50OiBLZXlib2FyZEV2ZW50LCB0YXJnZXQ6ICdzdGFydCcgfCAnZW5kJyk6IHZvaWQge1xuXHRjb25zdCBpZ25vcmVkS2V5cyA9IFsnQXJyb3dVcCcsICdBcnJvd0Rvd24nLCAnQXJyb3dMZWZ0JywgJ0Fycm93UmlnaHQnLCAnRW50ZXInLCAnICcsICdTcGFjZWJhciddO1xuXHRpZiAoaWdub3JlZEtleXMuaW5jbHVkZXMoZXZlbnQua2V5KSkgeyByZXR1cm47IH1cblxuXHRjb25zdCBlcnJvclByb3AgPSB0YXJnZXQgPT09ICdzdGFydCcgPyAnc3RhcnREYXRlRXJyb3InIDogJ2VuZERhdGVFcnJvcic7XG5cdGNvbnN0IGRpc2FibGVkID0gdGFyZ2V0ID09PSAnc3RhcnQnID8gJ2VuZEZpZWxkRGlzYWJsZWQnIDogJ3N0YXJ0RmllbGREaXNhYmxlZCc7XG5cdGNvbnN0IGRhdGVJbnB1dCA9IHRhcmdldCA9PT0gJ3N0YXJ0JyA/IGNvbXBvbmVudC5zdGFydERhdGVGaWVsZCA6IGNvbXBvbmVudC5lbmREYXRlRmllbGQ7XG5cdGNvbnN0IHNlbGVjdGVkUmFuZ2VQcm9wID0gdGFyZ2V0ID09PSAnc3RhcnQnID8gJ3NlbGVjdGVkUmFuZ2VTdGFydCcgOiAnc2VsZWN0ZWRSYW5nZUVuZCc7XG5cblx0Y29uc3QgdmFsdWUgPSBkYXRlSW5wdXQ/LmlucHV0VmFsdWUgPz8gJyc7XG5cblx0aWYgKHZhbHVlLmxlbmd0aCA8IDEwKSB7XG5cdFx0Y29tcG9uZW50W3NlbGVjdGVkUmFuZ2VQcm9wXSA9IG51bGw7XG5cblx0XHRpZighY29tcG9uZW50Lm5vdGlmaWNhdGlvbj8uZXJyb3IpIHtcblx0XHRcdGNvbXBvbmVudC5ub3RpZmljYXRpb24gPSBudWxsO1xuXHRcdH1cblxuXHRcdGlmICh2YWx1ZS5sZW5ndGggPCAxKSB7XG5cdFx0XHRjb21wb25lbnRbZXJyb3JQcm9wXSA9ICcnO1xuXHRcdFx0Y29tcG9uZW50W2Rpc2FibGVkXSA9IGZhbHNlO1xuXHRcdFx0Y29tcG9uZW50Lm5vdGlmaWNhdGlvbiA9IG51bGw7XG5cdFx0fVxuXHR9XG5cblx0aWYgKHZhbHVlLmxlbmd0aCA+IDkpIHtcblx0XHRzZWFyY2hEYXRlKHRoaXMsIHZhbHVlLCB0YXJnZXQpO1xuXHRcdGlmICh0aGlzLmFwcGVhcmFuY2UuaXNNb2JpbGUpIHtcblx0XHRcdGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcblx0XHRcdFx0ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59Il19
|
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtZGF5cy1jYWxlbmRhci51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2dyYXZpdHktZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvZ3Jhdml0eS1kYXRlLXBpY2tlci9jb21wb25lbnRzL2RheS1jYWxlbmRhci9yYW5nZS1kYXlzLWNhbGVuZGFyLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBRXJKLE1BQU0sVUFBVSxTQUFTLENBQUMsU0FBK0IsRUFBRSxHQUFpQjtJQUMzRSxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV4QyxJQUFJLFNBQVMsQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsSUFBSSxTQUFTLENBQUMsVUFBVSxFQUFFO1FBQ3hGLE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sS0FBSyxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2RCxJQUFJLEtBQUssSUFBSSxLQUFLO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakMsT0FBTyxPQUFPLEdBQUcsS0FBSyxJQUFJLE9BQU8sSUFBSSxLQUFLLENBQUM7S0FDM0M7SUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixJQUFJLFNBQVMsQ0FBQyxnQkFBZ0IsSUFBSSxTQUFTLENBQUMsVUFBVSxFQUFFO1FBQ3hGLE1BQU0sR0FBRyxHQUFHLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUFH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O1FBQ3RCLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUVwQyxJQUFHLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUU7WUFDbEMsU0FBUyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7U0FDOUI7UUFFRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3JCLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDMUIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUM1QixTQUFTLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztTQUM5QjtLQUNEO0lBRUQsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUNyQixVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQzdCLElBQUksUUFBUSxDQUFDLGFBQWEsWUFBWSxXQUFXLEVBQUU7Z0JBQ2xELFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDOUI7U0FDRDtLQUNEO0FBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2FsZW5kYXJEYXRlfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLm1vZGFsXCI7XG5pbXBvcnQge0RheUNhbGVuZGFyQ29tcG9uZW50fSBmcm9tIFwiLi9kYXktY2FsZW5kYXIuY29tcG9uZW50XCI7XG5pbXBvcnQge2NhbGVuZGFyRGF0ZVRvRGF0ZSwgZGF0ZVRvU3RyaW5nLCBnZXRTdGFydERhdGUsIHN0cmluZ1RvQ2FsZW5kYXJEYXRlLCBzdHJpbmdUb0RhdGUsIGRhdGVUb0NhbGVuZGFyRGF5fSBmcm9tIFwiLi4vLi4vc2hhcmVkL2RhdGUtcGlja2VyLnV0aWxzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1ByZXZpZXcoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCwgZGF5OiBDYWxlbmRhckRhdGUpOiBib29sZWFuIHtcblx0Y29uc3QgY3VycmVudCA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShkYXkpO1xuXG5cdGlmIChjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0ICYmICFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCAmJiBjb21wb25lbnQuaG92ZXJlZERheSkge1xuXHRcdGNvbnN0IHN0YXJ0ID0gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQpO1xuXHRcdGNvbnN0IGhvdmVyID0gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5ob3ZlcmVkRGF5KTtcblx0XHRpZiAoaG92ZXIgPD0gc3RhcnQpIHJldHVybiBmYWxzZTtcblx0XHRyZXR1cm4gY3VycmVudCA+IHN0YXJ0ICYmIGN1cnJlbnQgPD0gaG92ZXI7XG5cdH1cblxuXHRpZiAoIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgJiYgY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQgJiYgY29tcG9uZW50LmhvdmVyZWREYXkpIHtcblx0XHRjb25zdCBlbmQgPSBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQpO1xuXHRcdGNvbnN0IGhvdmVyID0gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5ob3ZlcmVkRGF5KTtcblx0XHRpZiAoaG92ZXIgPj0gZW5kKSByZXR1cm4gZmFsc2U7XG5cdFx0cmV0dXJuIGN1cnJlbnQgPCBlbmQgJiYgY3VycmVudCA+PSBob3Zlcjtcblx0fVxuXG5cdHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb2Nlc3NQcmVzZWxlY3RlZFJhbmdlRGF0ZShjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50KSB7XG5cdGxldCBlbmQ6IERhdGUgfCBudWxsID0gbnVsbDtcblx0bGV0IHN0YXJ0OiBEYXRlIHwgbnVsbCA9IG51bGw7XG5cblx0c2V0VGltZW91dCgoKSA9PiB7IGlmKCFjb21wb25lbnQuYXBwZWFyYW5jZS5pc01vYmlsZSkgeyBjb21wb25lbnQuc3RhcnREYXRlRmllbGQuZm9jdXMoKTsgfSB9LCAwKVxuXG5cdGlmIChBcnJheS5pc0FycmF5KGNvbXBvbmVudC5jb25maWcuaW5pdERhdGUpKSB7W3N0YXJ0LCBlbmRdID0gY29tcG9uZW50LmNvbmZpZy5pbml0RGF0ZTt9XG5cbiAgaWYgKHN0YXJ0IGluc3RhbmNlb2YgRGF0ZSkge1xuICAgIGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgPSBkYXRlVG9DYWxlbmRhckRheShzdGFydCk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG5cdCAgICBpZighY29tcG9uZW50LmFwcGVhcmFuY2UuaXNNb2JpbGUpIHsgY29tcG9uZW50LmVuZERhdGVGaWVsZC5mb2N1cygpOyB9XG5cdFx0XHRjb21wb25lbnQuc3RhcnREYXRlRmllbGQuaW5wdXRWYWx1ZSA9IGRhdGVUb1N0cmluZyhzdGFydCwgY29tcG9uZW50LmFwcGVhcmFuY2UubGFuZ3VhZ2UpO1xuXHRcdH0sIDApO1xuICB9XG5cbiAgaWYgKGVuZCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICBjb21wb25lbnQuY3VycmVudERhdGUgPSBnZXRTdGFydERhdGUoZW5kKTtcbiAgICBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCA9IGRhdGVUb0NhbGVuZGFyRGF5KGVuZCk7XG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRpZighY29tcG9uZW50LmFwcGVhcmFuY2UuaXNNb2JpbGUpIHsgY29tcG9uZW50LmVuZERhdGVGaWVsZC5mb2N1cygpOyB9XG5cdFx0XHRjb21wb25lbnQuZW5kRGF0ZUZpZWxkLmlucHV0VmFsdWUgPSBkYXRlVG9TdHJpbmcoZW5kLCBjb21wb25lbnQuYXBwZWFyYW5jZS5sYW5ndWFnZSk7XG5cdFx0fSwgMCk7XG5cbiAgfSBlbHNlIGlmIChzdGFydCBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICBjb21wb25lbnQuY3VycmVudERhdGUgPSBnZXRTdGFydERhdGUoc3RhcnQpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSYW5nZVNlbGVjdGlvbkNsYXNzKGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQsIGRheTogQ2FsZW5kYXJEYXRlKTogc3RyaW5nIHtcblx0Y29uc3QgY3VycmVudCA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShkYXkpO1xuXHRjb25zdCBzdGFydCA9IGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgPyBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCkgOiBudWxsO1xuXHRjb25zdCBlbmQgPSBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCA/IGNhbGVuZGFyRGF0ZVRvRGF0ZShjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCkgOiBudWxsO1xuXG5cdGlmICghc3RhcnQgJiYgIWVuZCkge1xuXHRcdHJldHVybiBjb21wb25lbnQuZm9jdXNlZCA9PT0gJ3N0YXJ0JyA/ICduc2wtc3RhcnQnIDogJ25zbC1lbmQnO1xuXHR9XG5cblx0aWYgKHN0YXJ0ICYmICFlbmQpIHtcblx0XHRpZiAoY3VycmVudC5nZXRUaW1lKCkgPT09IHN0YXJ0LmdldFRpbWUoKSkgcmV0dXJuICdzbCBzdGFydCc7XG5cdFx0aWYgKGN1cnJlbnQuZ2V0VGltZSgpIDwgc3RhcnQuZ2V0VGltZSgpKSByZXR1cm4gJ25zbC1zdGFydCc7XG5cdFx0cmV0dXJuICdpbi1zbHQgbnNsLWVuZCc7XG5cdH1cblxuXHRpZiAoIXN0YXJ0ICYmIGVuZCkge1xuXHRcdGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gZW5kLmdldFRpbWUoKSkgcmV0dXJuICdzbCBlbmQnO1xuXHRcdGlmIChjdXJyZW50LmdldFRpbWUoKSA+IGVuZC5nZXRUaW1lKCkpIHJldHVybiAnbnNsLWVuZCc7XG5cdFx0cmV0dXJuICdpbi1zbHQgbnNsLXN0YXJ0Jztcblx0fVxuXG5cdGlmIChzdGFydCAmJiBlbmQpIHtcblx0XHRpZihjdXJyZW50LmdldFRpbWUoKSA9PT0gc3RhcnQuZ2V0VGltZSgpICYmXG5cdFx0XHQgc3RhcnQuZ2V0VGltZSgpID09PSBlbmQuZ2V0VGltZSgpKVxuXHRcdFx0XHRyZXR1cm4gJ3N0YXJ0IHNsIHNhbWUtc2xuJztcblxuXHRcdGlmIChjdXJyZW50LmdldFRpbWUoKSA9PT0gc3RhcnQuZ2V0VGltZSgpKSByZXR1cm4gJ3NsIHN0YXJ0Jztcblx0XHRpZiAoY3VycmVudC5nZXRUaW1lKCkgPCBzdGFydC5nZXRUaW1lKCkpIHJldHVybiAnbnNsLXN0YXJ0Jztcblx0XHRpZiAoY3VycmVudC5nZXRUaW1lKCkgPT09IGVuZC5nZXRUaW1lKCkpIHJldHVybiAnc2wgZW5kJztcblx0XHRpZiAoY3VycmVudC5nZXRUaW1lKCkgPiBlbmQuZ2V0VGltZSgpKSByZXR1cm4gJ25zbC1lbmQnO1xuXHRcdGlmIChjdXJyZW50ID4gc3RhcnQgJiYgY3VycmVudCA8IGVuZCkgcmV0dXJuICdzbCByYW5nZSc7XG5cdFx0cmV0dXJuICdkZWZhdWx0Jztcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb25TZWxlY3REYXlzUmFuZ2UoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCwgZGF5OiBDYWxlbmRhckRhdGUpOiB2b2lkIHtcblx0Y29uc3Qgc2VsZWN0ZWQgPSBjYWxlbmRhckRhdGVUb0RhdGUoZGF5KTtcblx0Y29uc3QgaGFzRW5kID0gISFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZDtcblx0Y29uc3QgaGFzU3RhcnQgPSAhIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQ7XG5cdGNvbnN0IGxhbmd1YWdlID0gY29tcG9uZW50LmFwcGVhcmFuY2UubGFuZ3VhZ2U7XG5cdGNvbnN0IGVuZERhdGUgPSBoYXNFbmQgPyBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQpIDogbnVsbDtcblx0Y29uc3Qgc3RhcnREYXRlID0gaGFzU3RhcnQgPyBjYWxlbmRhckRhdGVUb0RhdGUoY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VTdGFydCkgOiBudWxsO1xuXG5cdE9iamVjdC5hc3NpZ24oY29tcG9uZW50LCB7XG5cdFx0bm90aWZpY2F0aW9uOiBudWxsLFxuXHRcdGVuZERhdGVFcnJvcjogJycsIHN0YXJ0RGF0ZUVycm9yOiAnJyxcblx0XHRlbmRGaWVsZERpc2FibGVkOiBmYWxzZSwgc3RhcnRGaWVsZERpc2FibGVkOiBmYWxzZSxcblx0fSk7XG5cblx0Y29uc3QgdXBkYXRlRmllbGQgPSAoZmllbGQ6ICdzdGFydCcgfCAnZW5kJykgPT4ge1xuXHRcdGNvbXBvbmVudFtgc2VsZWN0ZWRSYW5nZSR7ZmllbGQgPT09ICdzdGFydCcgPyAnU3RhcnQnIDogJ0VuZCd9YF0gPSBkYXk7XG5cdFx0Y29tcG9uZW50W2Ake2ZpZWxkfURhdGVGaWVsZGBdLmlucHV0VmFsdWUgPSBkYXRlVG9TdHJpbmcoc2VsZWN0ZWQsIGxhbmd1YWdlKTtcblxuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0Y29uc3QgZm9jdXNGaWVsZCA9IGZpZWxkID09PSAnc3RhcnQnID9cblx0XHRcdFx0KGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kID8gJ3N0YXJ0JyA6ICdlbmQnKSA6XG5cdFx0XHRcdChjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0ID8gJ2VuZCcgOiAnc3RhcnQnKTtcblxuXHRcdFx0aWYoIWNvbXBvbmVudC5hcHBlYXJhbmNlLmlzTW9iaWxlKSB7IGNvbXBvbmVudFtgJHtmb2N1c0ZpZWxkfURhdGVGaWVsZGBdLmZvY3VzKCk7IH1cblx0XHRcdGNvbXBvbmVudFtgJHtmb2N1c0ZpZWxkfURhdGVGaWVsZGBdLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKDEwLCAxMCk7XG5cdFx0fSwgMTAwKTtcblx0fTtcblxuXHRpZiAoIWhhc1N0YXJ0ICYmICFoYXNFbmQpIHtcblx0XHR1cGRhdGVGaWVsZChjb21wb25lbnQuZm9jdXNlZCk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0aWYgKGhhc1N0YXJ0ICYmICFoYXNFbmQpIHtcblx0XHRzZWxlY3RlZCA+PSBzdGFydERhdGUhID8gdXBkYXRlRmllbGQoJ2VuZCcpIDogdXBkYXRlRmllbGQoJ3N0YXJ0Jyk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0aWYgKCFoYXNTdGFydCAmJiBoYXNFbmQpIHtcblx0XHRzZWxlY3RlZCA8IGVuZERhdGUhID8gdXBkYXRlRmllbGQoJ3N0YXJ0JykgOiB1cGRhdGVGaWVsZCgnZW5kJyk7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0aWYgKGhhc1N0YXJ0ICYmIGhhc0VuZCkge1xuXHRcdHNlbGVjdGVkIDwgc3RhcnREYXRlISA/IHVwZGF0ZUZpZWxkKCdzdGFydCcpIDogdXBkYXRlRmllbGQoJ2VuZCcpO1xuXHRcdHJldHVybjtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb25BcHBseVJhZ2VEYXRlKGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQpe1xuICAgIGNvbnN0IHN0YXJ0ID0gY2FsZW5kYXJEYXRlVG9EYXRlKGNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQpO1xuICAgIGNvbnN0IGVuZCA9IGNhbGVuZGFyRGF0ZVRvRGF0ZShjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCk7XG4gICAgY29tcG9uZW50LmNhbGVuZGFyUmVzcG9uc2UuZW1pdChbc3RhcnQsIGVuZF0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb25Ib3ZlckRheShjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50LCBkYXk6IENhbGVuZGFyRGF0ZSk6IHZvaWQge1xuXHRjb25zdCBzdGFydFNlbGVjdGVkID0gISFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0ICYmICFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZDtcblx0Y29uc3QgZW5kU2VsZWN0ZWQgPSAhIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlRW5kICYmICFjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0O1xuXHRpZiAoc3RhcnRTZWxlY3RlZCB8fCBlbmRTZWxlY3RlZCkgeyBjb21wb25lbnQuaG92ZXJlZERheSA9IGRheTsgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gb25DbGVhckhvdmVyKGNvbXBvbmVudDogRGF5Q2FsZW5kYXJDb21wb25lbnQpOiB2b2lkIHtcblx0Y29tcG9uZW50LmhvdmVyZWREYXkgPSBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VhcmNoRGF0ZShjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50LCBkYXRlU3RyOiBzdHJpbmcsIHRhcmdldDogJ3N0YXJ0JyB8ICdlbmQnKTogdm9pZCB7XG5cdGNvbnN0IGkxOG4gPSBjb21wb25lbnQuaTE4bjtcblx0Y29uc3QgZGF0ZSA9IHN0cmluZ1RvRGF0ZShkYXRlU3RyLCBjb21wb25lbnQuYXBwZWFyYW5jZS5sYW5ndWFnZSk7XG5cdGNvbnN0IGNhbGVuZGFyRGF0ZSA9IHN0cmluZ1RvQ2FsZW5kYXJEYXRlKGRhdGVTdHIsIGNvbXBvbmVudC5hcHBlYXJhbmNlLmxhbmd1YWdlKTtcblx0Y29uc3QgZXJyb3JQcm9wID0gdGFyZ2V0ID09PSAnc3RhcnQnID8gJ3N0YXJ0RGF0ZUVycm9yJyA6ICdlbmREYXRlRXJyb3InO1xuXHRjb25zdCBmaWVsZCA9IHRhcmdldCA9PT0gJ3N0YXJ0JyA/IGNvbXBvbmVudC5zdGFydERhdGVGaWVsZCA6IGNvbXBvbmVudC5lbmREYXRlRmllbGQ7XG5cdGNvbnN0IG9wcG9zaXRlRGlzYWJsZWQgPSB0YXJnZXQgPT09ICdzdGFydCcgPyAnZW5kRmllbGREaXNhYmxlZCcgOiAnc3RhcnRGaWVsZERpc2FibGVkJztcblxuXHRpZiAoIWRhdGVTdHIpIHsgY29tcG9uZW50W29wcG9zaXRlRGlzYWJsZWRdID0gZmFsc2U7IHJldHVybjsgfVxuXG5cdGlmICghY2FsZW5kYXJEYXRlKSB7XG5cdFx0Y29tcG9uZW50W29wcG9zaXRlRGlzYWJsZWRdID0gdHJ1ZTtcblx0XHRjb21wb25lbnRbZXJyb3JQcm9wXSA9IGkxOG4uaW52YWxpZF9kYXRlO1xuXHRcdGlmKCFjb21wb25lbnQuYXBwZWFyYW5jZS5pc01vYmlsZSkgeyBmaWVsZC5mb2N1cygpOyB9XG5cdFx0Y29tcG9uZW50Lm5vdGlmaWNhdGlvbiA9IHsgdGV4dDogaTE4bi5zZWxlY3RfdmFsaWRfZGF0ZSwgZXJyb3I6IHRydWUgfTtcblx0XHRyZXR1cm47XG5cdH1cblxuXHRpZiAoIXZhbGlkYXRlRGF0ZUxpbWl0cyhjb21wb25lbnQsIGRhdGUsIHRhcmdldCkpIHtcblx0XHRjb21wb25lbnRbb3Bwb3NpdGVEaXNhYmxlZF0gPSB0cnVlO1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGNvbnN0IG90aGVyQ2FsZW5kYXJEYXRlID0gdGFyZ2V0ID09PSAnc3RhcnQnID8gY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQgOiBjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0O1xuXHRjb25zdCBvdGhlckRhdGUgPSBvdGhlckNhbGVuZGFyRGF0ZSA/IGNhbGVuZGFyRGF0ZVRvRGF0ZShvdGhlckNhbGVuZGFyRGF0ZSkgOiBudWxsO1xuXG5cdGlmICgodGFyZ2V0ID09PSAnc3RhcnQnICYmIG90aGVyRGF0ZSAmJiBkYXRlID4gb3RoZXJEYXRlKSB8fFxuXHRcdCh0YXJnZXQgPT09ICdlbmQnICYmIG90aGVyRGF0ZSAmJiBkYXRlIDwgb3RoZXJEYXRlKSkge1xuXHRcdGNvbXBvbmVudFtvcHBvc2l0ZURpc2FibGVkXSA9IHRydWU7XG5cdFx0Y29tcG9uZW50W2Vycm9yUHJvcF0gPSBpMThuLmludmFsaWRfZGF0ZTtcblx0XHRpZighY29tcG9uZW50LmFwcGVhcmFuY2UuaXNNb2JpbGUpIHsgZmllbGQuZm9jdXMoKTsgfVxuXHRcdGNvbXBvbmVudC5ub3RpZmljYXRpb24gPSB7IHRleHQ6IHRhcmdldCA9PT0gJ3N0YXJ0JyA/IGkxOG4uc3RhcnRfYmVmb3JlX2VuZCA6IGkxOG4uZW5kX2FmdGVyX3N0YXJ0LCBlcnJvcjogdHJ1ZSB9O1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGlmICh0YXJnZXQgPT09ICdzdGFydCcpIHtcblx0XHRjb21wb25lbnQuc2VsZWN0ZWRSYW5nZVN0YXJ0ID0gY2FsZW5kYXJEYXRlO1xuXHRcdGlmICghY29tcG9uZW50LnNlbGVjdGVkUmFuZ2VFbmQgJiYgIWNvbXBvbmVudC5hcHBlYXJhbmNlLmlzTW9iaWxlKSBzZXRUaW1lb3V0KCgpID0+IGNvbXBvbmVudC5lbmREYXRlRmllbGQuZm9jdXMoKSwgMTAwKTtcblx0fSBlbHNlIHtcblx0XHRjb21wb25lbnQuc2VsZWN0ZWRSYW5nZUVuZCA9IGNhbGVuZGFyRGF0ZTtcblx0XHRpZiAoIWNvbXBvbmVudC5zZWxlY3RlZFJhbmdlU3RhcnQgJiYgIWNvbXBvbmVudC5hcHBlYXJhbmNlLmlzTW9iaWxlKSBzZXRUaW1lb3V0KCgpID0+IGNvbXBvbmVudC5zdGFydERhdGVGaWVsZC5mb2N1cygpLCAxMDApO1xuXHR9XG5cblx0Y29tcG9uZW50W2Vycm9yUHJvcF0gPSBudWxsO1xuXHRjb21wb25lbnQuY3VycmVudERhdGUgPSBkYXRlO1xuXHRjb21wb25lbnQubm90aWZpY2F0aW9uID0gbnVsbDtcblx0Y29tcG9uZW50W29wcG9zaXRlRGlzYWJsZWRdID0gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZURhdGVMaW1pdHMoY29tcG9uZW50OiBEYXlDYWxlbmRhckNvbXBvbmVudCwgZGF0ZTogRGF0ZSwgdGFyZ2V0OiAnc3RhcnQnIHwgJ2VuZCcpIDogYm9vbGVhbiB7XG5cdGlmIChjb21wb25lbnQuY29uZmlnLm1pbkRhdGUgJiYgZGF0ZSA8IGNvbXBvbmVudC5jb25maWcubWluRGF0ZSkge1xuXHRcdGNvbXBvbmVudC5ub3RpZmljYXRpb24gPSB7IHRleHQ6IGNvbXBvbmVudC5pMThuLmRhdGVfdW5hdmFpbGFibGUsIGVycm9yOiB0cnVlIH07XG5cdFx0dGFyZ2V0ID09PSAnc3RhcnQnID8gY29tcG9uZW50LnN0YXJ0RGF0ZUVycm9yID0gY29tcG9uZW50LmkxOG4uaW52YWxpZF9kYXRlIDogY29tcG9uZW50LmVuZERhdGVFcnJvciA9IGNvbXBvbmVudC5pMThuLmludmFsaWRfZGF0ZTtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRpZiAoY29tcG9uZW50LmNvbmZpZy5tYXhEYXRlICYmIGRhdGUgPiBjb21wb25lbnQuY29uZmlnLm1heERhdGUpIHtcblx0XHRjb21wb25lbnQubm90aWZpY2F0aW9uID0geyB0ZXh0OiBjb21wb25lbnQuaTE4bi5kYXRlX3VuYXZhaWxhYmxlLCBlcnJvcjogdHJ1ZSB9O1xuXHRcdHRhcmdldCA9PT0gJ3N0YXJ0JyA/IGNvbXBvbmVudC5zdGFydERhdGVFcnJvciA9IGNvbXBvbmVudC5pMThuLmludmFsaWRfZGF0ZSA6IGNvbXBvbmVudC5lbmREYXRlRXJyb3IgPSBjb21wb25lbnQuaTE4bi5pbnZhbGlkX2RhdGU7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0cmV0dXJuIHRydWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvbkRhdGVLZXl1cChjb21wb25lbnQ6IERheUNhbGVuZGFyQ29tcG9uZW50LCBldmVudDogS2V5Ym9hcmRFdmVudCwgdGFyZ2V0OiAnc3RhcnQnIHwgJ2VuZCcpOiB2b2lkIHtcblx0Y29uc3QgaWdub3JlZEtleXMgPSBbJ0Fycm93VXAnLCAnQXJyb3dEb3duJywgJ0Fycm93TGVmdCcsICdBcnJvd1JpZ2h0JywgJ0VudGVyJywgJyAnLCAnU3BhY2ViYXInXTtcblx0aWYgKGlnbm9yZWRLZXlzLmluY2x1ZGVzKGV2ZW50LmtleSkpIHsgcmV0dXJuOyB9XG5cblx0Y29uc3QgZXJyb3JQcm9wID0gdGFyZ2V0ID09PSAnc3RhcnQnID8gJ3N0YXJ0RGF0ZUVycm9yJyA6ICdlbmREYXRlRXJyb3InO1xuXHRjb25zdCBkaXNhYmxlZCA9IHRhcmdldCA9PT0gJ3N0YXJ0JyA/ICdlbmRGaWVsZERpc2FibGVkJyA6ICdzdGFydEZpZWxkRGlzYWJsZWQnO1xuXHRjb25zdCBkYXRlSW5wdXQgPSB0YXJnZXQgPT09ICdzdGFydCcgPyBjb21wb25lbnQuc3RhcnREYXRlRmllbGQgOiBjb21wb25lbnQuZW5kRGF0ZUZpZWxkO1xuXHRjb25zdCBzZWxlY3RlZFJhbmdlUHJvcCA9IHRhcmdldCA9PT0gJ3N0YXJ0JyA/ICdzZWxlY3RlZFJhbmdlU3RhcnQnIDogJ3NlbGVjdGVkUmFuZ2VFbmQnO1xuXG5cdGNvbnN0IHZhbHVlID0gZGF0ZUlucHV0Py5pbnB1dFZhbHVlID8/ICcnO1xuXG5cdGlmICh2YWx1ZS5sZW5ndGggPCAxMCkge1xuXHRcdGNvbXBvbmVudFtzZWxlY3RlZFJhbmdlUHJvcF0gPSBudWxsO1xuXG5cdFx0aWYoIWNvbXBvbmVudC5ub3RpZmljYXRpb24/LmVycm9yKSB7XG5cdFx0XHRjb21wb25lbnQubm90aWZpY2F0aW9uID0gbnVsbDtcblx0XHR9XG5cblx0XHRpZiAodmFsdWUubGVuZ3RoIDwgMSkge1xuXHRcdFx0Y29tcG9uZW50W2Vycm9yUHJvcF0gPSAnJztcblx0XHRcdGNvbXBvbmVudFtkaXNhYmxlZF0gPSBmYWxzZTtcblx0XHRcdGNvbXBvbmVudC5ub3RpZmljYXRpb24gPSBudWxsO1xuXHRcdH1cblx0fVxuXG5cdGlmICh2YWx1ZS5sZW5ndGggPiA5KSB7XG5cdFx0c2VhcmNoRGF0ZSh0aGlzLCB2YWx1ZSwgdGFyZ2V0KTtcblx0XHRpZiAodGhpcy5hcHBlYXJhbmNlLmlzTW9iaWxlKSB7XG5cdFx0XHRpZiAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG5cdFx0XHRcdGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSJdfQ==
|