UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

147 lines (146 loc) • 14.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _locale = /*#__PURE__*/ _interop_require_wildcard(require("date-fns/locale")); const _react = /*#__PURE__*/ _interop_require_default(require("react")); const _reactdatepicker = /*#__PURE__*/ _interop_require_wildcard(require("react-datepicker")); require("react-datepicker/dist/react-datepicker.css"); const _reacti18next = require("react-i18next"); const _getSupportedDateLocale = require("../../../utilities/formatDate/getSupportedDateLocale"); const _Calendar = /*#__PURE__*/ _interop_require_default(require("../../icons/Calendar")); const _X = /*#__PURE__*/ _interop_require_default(require("../../icons/X")); require("./index.scss"); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interop_require_wildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = { __proto__: null }; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for(var key in obj){ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } const baseClass = 'date-time-picker'; const DateTime = (props)=>{ const { displayFormat: customDisplayFormat, maxDate, maxTime, minDate, minTime, monthsToShow = 1, onChange: onChangeFromProps, overrides, pickerAppearance = 'default', placeholder: placeholderText, readOnly, timeFormat = 'h:mm aa', timeIntervals = 30, value } = props; // Use the user's AdminUI language preference for the locale const { i18n } = (0, _reacti18next.useTranslation)(); const locale = (0, _getSupportedDateLocale.getSupportedDateLocale)(i18n.language); try { (0, _reactdatepicker.registerLocale)(locale, _locale[locale]); } catch (e) { console.warn(`Could not find DatePicker locale for ${locale}`); } let dateFormat = customDisplayFormat; if (!customDisplayFormat) { // when no displayFormat is provided, determine format based on the picker appearance if (pickerAppearance === 'default') dateFormat = 'MM/dd/yyyy'; else if (pickerAppearance === 'dayAndTime') dateFormat = 'MMM d, yyy h:mm a'; else if (pickerAppearance === 'timeOnly') dateFormat = 'h:mm a'; else if (pickerAppearance === 'dayOnly') dateFormat = 'MMM dd'; else if (pickerAppearance === 'monthOnly') dateFormat = 'MMMM'; } const onChange = (incomingDate)=>{ const newDate = incomingDate; if (newDate instanceof Date && [ 'dayOnly', 'default', 'monthOnly' ].includes(pickerAppearance)) { const tzOffset = incomingDate.getTimezoneOffset() / 60; newDate.setHours(12 - tzOffset, 0); } if (typeof onChangeFromProps === 'function') onChangeFromProps(newDate); }; const dateTimePickerProps = { customInputRef: 'ref', dateFormat, disabled: readOnly, maxDate, maxTime, minDate, minTime, monthsShown: Math.min(2, monthsToShow), onChange, placeholderText, selected: value && new Date(value), showMonthYearPicker: pickerAppearance === 'monthOnly', showPopperArrow: false, showTimeSelect: pickerAppearance === 'dayAndTime' || pickerAppearance === 'timeOnly', timeFormat, timeIntervals, ...overrides }; const classes = [ baseClass, `${baseClass}__appearance--${pickerAppearance}` ].filter(Boolean).join(' '); return /*#__PURE__*/ _react.default.createElement("div", { className: classes }, /*#__PURE__*/ _react.default.createElement("div", { className: `${baseClass}__icon-wrap` }, dateTimePickerProps.selected && /*#__PURE__*/ _react.default.createElement("button", { className: `${baseClass}__clear-button`, onClick: ()=>onChange(null), type: "button" }, /*#__PURE__*/ _react.default.createElement(_X.default, null)), /*#__PURE__*/ _react.default.createElement(_Calendar.default, null)), /*#__PURE__*/ _react.default.createElement("div", { className: `${baseClass}__input-wrapper` }, /*#__PURE__*/ _react.default.createElement(_reactdatepicker.default, { ...dateTimePickerProps, dropdownMode: "select", locale: locale, popperModifiers: [ { name: 'preventOverflow', enabled: true } ], showMonthDropdown: true, showYearDropdown: true }))); }; const _default = DateTime; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL0RhdGVQaWNrZXIvRGF0ZVBpY2tlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgTG9jYWxlcyBmcm9tICdkYXRlLWZucy9sb2NhbGUnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgRGF0ZVBpY2tlciwgeyByZWdpc3RlckxvY2FsZSB9IGZyb20gJ3JlYWN0LWRhdGVwaWNrZXInXG5pbXBvcnQgJ3JlYWN0LWRhdGVwaWNrZXIvZGlzdC9yZWFjdC1kYXRlcGlja2VyLmNzcydcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0IHR5cGUgeyBQcm9wcyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGdldFN1cHBvcnRlZERhdGVMb2NhbGUgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvZm9ybWF0RGF0ZS9nZXRTdXBwb3J0ZWREYXRlTG9jYWxlJ1xuaW1wb3J0IENhbGVuZGFySWNvbiBmcm9tICcuLi8uLi9pY29ucy9DYWxlbmRhcidcbmltcG9ydCBYSWNvbiBmcm9tICcuLi8uLi9pY29ucy9YJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdkYXRlLXRpbWUtcGlja2VyJ1xuXG5jb25zdCBEYXRlVGltZTogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBkaXNwbGF5Rm9ybWF0OiBjdXN0b21EaXNwbGF5Rm9ybWF0LFxuICAgIG1heERhdGUsXG4gICAgbWF4VGltZSxcbiAgICBtaW5EYXRlLFxuICAgIG1pblRpbWUsXG4gICAgbW9udGhzVG9TaG93ID0gMSxcbiAgICBvbkNoYW5nZTogb25DaGFuZ2VGcm9tUHJvcHMsXG4gICAgb3ZlcnJpZGVzLFxuICAgIHBpY2tlckFwcGVhcmFuY2UgPSAnZGVmYXVsdCcsXG4gICAgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyVGV4dCxcbiAgICByZWFkT25seSxcbiAgICB0aW1lRm9ybWF0ID0gJ2g6bW0gYWEnLFxuICAgIHRpbWVJbnRlcnZhbHMgPSAzMCxcbiAgICB2YWx1ZSxcbiAgfSA9IHByb3BzXG5cbiAgLy8gVXNlIHRoZSB1c2VyJ3MgQWRtaW5VSSBsYW5ndWFnZSBwcmVmZXJlbmNlIGZvciB0aGUgbG9jYWxlXG4gIGNvbnN0IHsgaTE4biB9ID0gdXNlVHJhbnNsYXRpb24oKVxuICBjb25zdCBsb2NhbGUgPSBnZXRTdXBwb3J0ZWREYXRlTG9jYWxlKGkxOG4ubGFuZ3VhZ2UpXG5cbiAgdHJ5IHtcbiAgICByZWdpc3RlckxvY2FsZShsb2NhbGUsIExvY2FsZXNbbG9jYWxlXSlcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybihgQ291bGQgbm90IGZpbmQgRGF0ZVBpY2tlciBsb2NhbGUgZm9yICR7bG9jYWxlfWApXG4gIH1cblxuICBsZXQgZGF0ZUZvcm1hdCA9IGN1c3RvbURpc3BsYXlGb3JtYXRcblxuICBpZiAoIWN1c3RvbURpc3BsYXlGb3JtYXQpIHtcbiAgICAvLyB3aGVuIG5vIGRpc3BsYXlGb3JtYXQgaXMgcHJvdmlkZWQsIGRldGVybWluZSBmb3JtYXQgYmFzZWQgb24gdGhlIHBpY2tlciBhcHBlYXJhbmNlXG4gICAgaWYgKHBpY2tlckFwcGVhcmFuY2UgPT09ICdkZWZhdWx0JykgZGF0ZUZvcm1hdCA9ICdNTS9kZC95eXl5J1xuICAgIGVsc2UgaWYgKHBpY2tlckFwcGVhcmFuY2UgPT09ICdkYXlBbmRUaW1lJykgZGF0ZUZvcm1hdCA9ICdNTU0gZCwgeXl5IGg6bW0gYSdcbiAgICBlbHNlIGlmIChwaWNrZXJBcHBlYXJhbmNlID09PSAndGltZU9ubHknKSBkYXRlRm9ybWF0ID0gJ2g6bW0gYSdcbiAgICBlbHNlIGlmIChwaWNrZXJBcHBlYXJhbmNlID09PSAnZGF5T25seScpIGRhdGVGb3JtYXQgPSAnTU1NIGRkJ1xuICAgIGVsc2UgaWYgKHBpY2tlckFwcGVhcmFuY2UgPT09ICdtb250aE9ubHknKSBkYXRlRm9ybWF0ID0gJ01NTU0nXG4gIH1cblxuICBjb25zdCBvbkNoYW5nZSA9IChpbmNvbWluZ0RhdGU6IERhdGUpID0+IHtcbiAgICBjb25zdCBuZXdEYXRlID0gaW5jb21pbmdEYXRlXG4gICAgaWYgKG5ld0RhdGUgaW5zdGFuY2VvZiBEYXRlICYmIFsnZGF5T25seScsICdkZWZhdWx0JywgJ21vbnRoT25seSddLmluY2x1ZGVzKHBpY2tlckFwcGVhcmFuY2UpKSB7XG4gICAgICBjb25zdCB0ek9mZnNldCA9IGluY29taW5nRGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpIC8gNjBcbiAgICAgIG5ld0RhdGUuc2V0SG91cnMoMTIgLSB0ek9mZnNldCwgMClcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBvbkNoYW5nZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJykgb25DaGFuZ2VGcm9tUHJvcHMobmV3RGF0ZSlcbiAgfVxuXG4gIGNvbnN0IGRhdGVUaW1lUGlja2VyUHJvcHMgPSB7XG4gICAgY3VzdG9tSW5wdXRSZWY6ICdyZWYnLFxuICAgIGRhdGVGb3JtYXQsXG4gICAgZGlzYWJsZWQ6IHJlYWRPbmx5LFxuICAgIG1heERhdGUsXG4gICAgbWF4VGltZSxcbiAgICBtaW5EYXRlLFxuICAgIG1pblRpbWUsXG4gICAgbW9udGhzU2hvd246IE1hdGgubWluKDIsIG1vbnRoc1RvU2hvdyksXG4gICAgb25DaGFuZ2UsXG4gICAgcGxhY2Vob2xkZXJUZXh0LFxuICAgIHNlbGVjdGVkOiB2YWx1ZSAmJiBuZXcgRGF0ZSh2YWx1ZSksXG4gICAgc2hvd01vbnRoWWVhclBpY2tlcjogcGlja2VyQXBwZWFyYW5jZSA9PT0gJ21vbnRoT25seScsXG4gICAgc2hvd1BvcHBlckFycm93OiBmYWxzZSxcbiAgICBzaG93VGltZVNlbGVjdDogcGlja2VyQXBwZWFyYW5jZSA9PT0gJ2RheUFuZFRpbWUnIHx8IHBpY2tlckFwcGVhcmFuY2UgPT09ICd0aW1lT25seScsXG4gICAgdGltZUZvcm1hdCxcbiAgICB0aW1lSW50ZXJ2YWxzLFxuICAgIC4uLm92ZXJyaWRlcyxcbiAgfVxuXG4gIGNvbnN0IGNsYXNzZXMgPSBbYmFzZUNsYXNzLCBgJHtiYXNlQ2xhc3N9X19hcHBlYXJhbmNlLS0ke3BpY2tlckFwcGVhcmFuY2V9YF1cbiAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgLmpvaW4oJyAnKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2NsYXNzZXN9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2ljb24td3JhcGB9PlxuICAgICAgICB7ZGF0ZVRpbWVQaWNrZXJQcm9wcy5zZWxlY3RlZCAmJiAoXG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jbGVhci1idXR0b25gfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DaGFuZ2UobnVsbCl9XG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8WEljb24gLz5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgKX1cbiAgICAgICAgPENhbGVuZGFySWNvbiAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9faW5wdXQtd3JhcHBlcmB9PlxuICAgICAgICA8RGF0ZVBpY2tlclxuICAgICAgICAgIHsuLi5kYXRlVGltZVBpY2tlclByb3BzfVxuICAgICAgICAgIGRyb3Bkb3duTW9kZT1cInNlbGVjdFwiXG4gICAgICAgICAgbG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgcG9wcGVyTW9kaWZpZXJzPXtbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdwcmV2ZW50T3ZlcmZsb3cnLFxuICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdfVxuICAgICAgICAgIHNob3dNb250aERyb3Bkb3duXG4gICAgICAgICAgc2hvd1llYXJEcm9wZG93blxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZXhwb3J0IGRlZmF1bHQgRGF0ZVRpbWVcbiJdLCJuYW1lcyI6WyJiYXNlQ2xhc3MiLCJEYXRlVGltZSIsInByb3BzIiwiZGlzcGxheUZvcm1hdCIsImN1c3RvbURpc3BsYXlGb3JtYXQiLCJtYXhEYXRlIiwibWF4VGltZSIsIm1pbkRhdGUiLCJtaW5UaW1lIiwibW9udGhzVG9TaG93Iiwib25DaGFuZ2UiLCJvbkNoYW5nZUZyb21Qcm9wcyIsIm92ZXJyaWRlcyIsInBpY2tlckFwcGVhcmFuY2UiLCJwbGFjZWhvbGRlciIsInBsYWNlaG9sZGVyVGV4dCIsInJlYWRPbmx5IiwidGltZUZvcm1hdCIsInRpbWVJbnRlcnZhbHMiLCJ2YWx1ZSIsImkxOG4iLCJ1c2VUcmFuc2xhdGlvbiIsImxvY2FsZSIsImdldFN1cHBvcnRlZERhdGVMb2NhbGUiLCJsYW5ndWFnZSIsInJlZ2lzdGVyTG9jYWxlIiwiTG9jYWxlcyIsImUiLCJjb25zb2xlIiwid2FybiIsImRhdGVGb3JtYXQiLCJpbmNvbWluZ0RhdGUiLCJuZXdEYXRlIiwiRGF0ZSIsImluY2x1ZGVzIiwidHpPZmZzZXQiLCJnZXRUaW1lem9uZU9mZnNldCIsInNldEhvdXJzIiwiZGF0ZVRpbWVQaWNrZXJQcm9wcyIsImN1c3RvbUlucHV0UmVmIiwiZGlzYWJsZWQiLCJtb250aHNTaG93biIsIk1hdGgiLCJtaW4iLCJzZWxlY3RlZCIsInNob3dNb250aFllYXJQaWNrZXIiLCJzaG93UG9wcGVyQXJyb3ciLCJzaG93VGltZVNlbGVjdCIsImNsYXNzZXMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsImRpdiIsImNsYXNzTmFtZSIsImJ1dHRvbiIsIm9uQ2xpY2siLCJ0eXBlIiwiWEljb24iLCJDYWxlbmRhckljb24iLCJEYXRlUGlja2VyIiwiZHJvcGRvd25Nb2RlIiwicG9wcGVyTW9kaWZpZXJzIiwibmFtZSIsImVuYWJsZWQiLCJzaG93TW9udGhEcm9wZG93biIsInNob3dZZWFyRHJvcGRvd24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBd0hBOzs7ZUFBQTs7O2dFQXhIeUI7OERBQ1A7eUVBQ3lCO1FBQ3BDOzhCQUN3Qjt3Q0FJUTtpRUFDZDswREFDUDtRQUNYOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVQLE1BQU1BLFlBQVk7QUFFbEIsTUFBTUMsV0FBNEIsQ0FBQ0M7SUFDakMsTUFBTSxFQUNKQyxlQUFlQyxtQkFBbUIsRUFDbENDLE9BQU8sRUFDUEMsT0FBTyxFQUNQQyxPQUFPLEVBQ1BDLE9BQU8sRUFDUEMsZUFBZSxDQUFDLEVBQ2hCQyxVQUFVQyxpQkFBaUIsRUFDM0JDLFNBQVMsRUFDVEMsbUJBQW1CLFNBQVMsRUFDNUJDLGFBQWFDLGVBQWUsRUFDNUJDLFFBQVEsRUFDUkMsYUFBYSxTQUFTLEVBQ3RCQyxnQkFBZ0IsRUFBRSxFQUNsQkMsS0FBSyxFQUNOLEdBQUdqQjtJQUVKLDREQUE0RDtJQUM1RCxNQUFNLEVBQUVrQixJQUFJLEVBQUUsR0FBR0MsSUFBQUEsNEJBQWM7SUFDL0IsTUFBTUMsU0FBU0MsSUFBQUEsOENBQXNCLEVBQUNILEtBQUtJLFFBQVE7SUFFbkQsSUFBSTtRQUNGQyxJQUFBQSwrQkFBYyxFQUFDSCxRQUFRSSxPQUFPLENBQUNKLE9BQU87SUFDeEMsRUFBRSxPQUFPSyxHQUFHO1FBQ1ZDLFFBQVFDLElBQUksQ0FBQyxDQUFDLHFDQUFxQyxFQUFFUCxPQUFPLENBQUM7SUFDL0Q7SUFFQSxJQUFJUSxhQUFhMUI7SUFFakIsSUFBSSxDQUFDQSxxQkFBcUI7UUFDeEIscUZBQXFGO1FBQ3JGLElBQUlTLHFCQUFxQixXQUFXaUIsYUFBYTthQUM1QyxJQUFJakIscUJBQXFCLGNBQWNpQixhQUFhO2FBQ3BELElBQUlqQixxQkFBcUIsWUFBWWlCLGFBQWE7YUFDbEQsSUFBSWpCLHFCQUFxQixXQUFXaUIsYUFBYTthQUNqRCxJQUFJakIscUJBQXFCLGFBQWFpQixhQUFhO0lBQzFEO0lBRUEsTUFBTXBCLFdBQVcsQ0FBQ3FCO1FBQ2hCLE1BQU1DLFVBQVVEO1FBQ2hCLElBQUlDLG1CQUFtQkMsUUFBUTtZQUFDO1lBQVc7WUFBVztTQUFZLENBQUNDLFFBQVEsQ0FBQ3JCLG1CQUFtQjtZQUM3RixNQUFNc0IsV0FBV0osYUFBYUssaUJBQWlCLEtBQUs7WUFDcERKLFFBQVFLLFFBQVEsQ0FBQyxLQUFLRixVQUFVO1FBQ2xDO1FBQ0EsSUFBSSxPQUFPeEIsc0JBQXNCLFlBQVlBLGtCQUFrQnFCO0lBQ2pFO0lBRUEsTUFBTU0sc0JBQXNCO1FBQzFCQyxnQkFBZ0I7UUFDaEJUO1FBQ0FVLFVBQVV4QjtRQUNWWDtRQUNBQztRQUNBQztRQUNBQztRQUNBaUMsYUFBYUMsS0FBS0MsR0FBRyxDQUFDLEdBQUdsQztRQUN6QkM7UUFDQUs7UUFDQTZCLFVBQVV6QixTQUFTLElBQUljLEtBQUtkO1FBQzVCMEIscUJBQXFCaEMscUJBQXFCO1FBQzFDaUMsaUJBQWlCO1FBQ2pCQyxnQkFBZ0JsQyxxQkFBcUIsZ0JBQWdCQSxxQkFBcUI7UUFDMUVJO1FBQ0FDO1FBQ0EsR0FBR04sU0FBUztJQUNkO0lBRUEsTUFBTW9DLFVBQVU7UUFBQ2hEO1FBQVcsQ0FBQyxFQUFFQSxVQUFVLGNBQWMsRUFBRWEsaUJBQWlCLENBQUM7S0FBQyxDQUN6RW9DLE1BQU0sQ0FBQ0MsU0FDUEMsSUFBSSxDQUFDO0lBRVIscUJBQ0UsNkJBQUNDO1FBQUlDLFdBQVdMO3FCQUNkLDZCQUFDSTtRQUFJQyxXQUFXLENBQUMsRUFBRXJELFVBQVUsV0FBVyxDQUFDO09BQ3RDc0Msb0JBQW9CTSxRQUFRLGtCQUMzQiw2QkFBQ1U7UUFDQ0QsV0FBVyxDQUFDLEVBQUVyRCxVQUFVLGNBQWMsQ0FBQztRQUN2Q3VELFNBQVMsSUFBTTdDLFNBQVM7UUFDeEI4QyxNQUFLO3FCQUVMLDZCQUFDQyxVQUFLLHdCQUdWLDZCQUFDQyxpQkFBWSx3QkFFZiw2QkFBQ047UUFBSUMsV0FBVyxDQUFDLEVBQUVyRCxVQUFVLGVBQWUsQ0FBQztxQkFDM0MsNkJBQUMyRCx3QkFBVTtRQUNSLEdBQUdyQixtQkFBbUI7UUFDdkJzQixjQUFhO1FBQ2J0QyxRQUFRQTtRQUNSdUMsaUJBQWlCO1lBQ2Y7Z0JBQ0VDLE1BQU07Z0JBQ05DLFNBQVM7WUFDWDtTQUNEO1FBQ0RDLG1CQUFBQTtRQUNBQyxrQkFBQUE7O0FBS1Y7TUFFQSxXQUFlaEUifQ==