1 line
1.6 MiB
1 line
1.6 MiB
{"version":3,"sources":["webpack://wp.[name]/webpack/bootstrap","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://wp.[name]/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/autocomplete/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/base-control/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/button-group/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/button/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/checkbox-control/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/clipboard-button/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/color-indicator/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/color-palette/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/color-picker/alpha.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/color-picker/hue.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/color-picker/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/color-picker/inputs.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/color-picker/saturation.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/color-picker/utils.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/dashicon/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/date-time/date.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/date-time/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/date-time/time.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/disabled/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/draggable/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/drop-zone/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/drop-zone/provider.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/dropdown-menu/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/dropdown/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/external-link/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/focusable-iframe/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/font-size-picker/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/form-file-upload/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/form-toggle/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/form-token-field/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/form-token-field/suggestions-list.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/form-token-field/token-input.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/form-token-field/token.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/higher-order/navigate-regions/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/higher-order/with-constrained-tabbing/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/higher-order/with-fallback-styles/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/higher-order/with-filters/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/higher-order/with-focus-outside/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/higher-order/with-focus-return/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/higher-order/with-notices/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/higher-order/with-spoken-messages/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/icon-button/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/icon/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/keyboard-shortcuts/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/menu-group/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/menu-item/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/menu-items-choice/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/modal/aria-helper.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/modal/frame.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/modal/header.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/modal/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/navigable-container/container.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/navigable-container/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/navigable-container/menu.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/navigable-container/tabbable.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/notice/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/notice/list.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/panel/body.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/panel/header.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/panel/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/panel/row.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/placeholder/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/popover/detect-outside.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/popover/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/popover/utils.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/primitives/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/primitives/svg/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/query-controls/category-select.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/query-controls/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/query-controls/terms.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/radio-control/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/range-control/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/resizable-box/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/responsive-wrapper/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/sandbox/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/scroll-lock/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/select-control/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/server-side-render/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/shortcut/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/slot-fill/context.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/slot-fill/fill.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/slot-fill/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/slot-fill/slot.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/spinner/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/tab-panel/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/text-control/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/textarea-control/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/toggle-control/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/toolbar-button/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/toolbar-button/toolbar-button-container.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/toolbar/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/toolbar/toolbar-container.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/tooltip/index.js","webpack://wp.[name]//Users/riad/Workspace/a8c/gutenberg/packages/components/src/tree-select/index.js","webpack://wp.[name]/../src/and.js","webpack://wp.[name]/../src/between.js","webpack://wp.[name]/../src/booleanSome.js","webpack://wp.[name]/../src/childrenHavePropXorChildren.js","webpack://wp.[name]/../src/childrenOf.js","webpack://wp.[name]/../src/childrenOfType.js","webpack://wp.[name]/../src/childrenSequenceOf.js","webpack://wp.[name]/../src/componentWithName.js","webpack://wp.[name]/../src/disallowedIf.js","webpack://wp.[name]/../src/elementType.js","webpack://wp.[name]/../src/explicitNull.js","webpack://wp.[name]/../../src/helpers/getComponentName.js","webpack://wp.[name]/../../src/helpers/isInteger.js","webpack://wp.[name]/../../src/helpers/isPlainObject.js","webpack://wp.[name]/../../src/helpers/isPrimitive.js","webpack://wp.[name]/../../src/helpers/renderableChildren.js","webpack://wp.[name]/../../src/helpers/typeOf.js","webpack://wp.[name]/../../src/helpers/wrapValidator.js","webpack://wp.[name]/../src/index.js","webpack://wp.[name]/../src/integer.js","webpack://wp.[name]/../src/keysOf.js","webpack://wp.[name]/../src/mutuallyExclusiveProps.js","webpack://wp.[name]/../src/mutuallyExclusiveTrueProps.js","webpack://wp.[name]/../src/nChildren.js","webpack://wp.[name]/../src/nonNegativeInteger.js","webpack://wp.[name]/../src/nonNegativeNumber.js","webpack://wp.[name]/../src/numericString.js","webpack://wp.[name]/../src/object.js","webpack://wp.[name]/../src/or.js","webpack://wp.[name]/../src/range.js","webpack://wp.[name]/../src/requiredBy.js","webpack://wp.[name]/../src/restrictedProp.js","webpack://wp.[name]/../src/sequenceOf.js","webpack://wp.[name]/../src/shape.js","webpack://wp.[name]/../src/stringStartsWith.js","webpack://wp.[name]/../src/uniqueArray.js","webpack://wp.[name]/../src/uniqueArrayOf.js","webpack://wp.[name]/../src/valuesOf.js","webpack://wp.[name]/../src/withShape.js","webpack://wp.[name]/index.js","webpack://wp.[name]/./node_modules/array.prototype.find/implementation.js","webpack://wp.[name]/./node_modules/array.prototype.find/index.js","webpack://wp.[name]/./node_modules/array.prototype.find/polyfill.js","webpack://wp.[name]/./node_modules/array.prototype.find/shim.js","webpack://wp.[name]/./node_modules/array.prototype.flat/implementation.js","webpack://wp.[name]/./node_modules/array.prototype.flat/index.js","webpack://wp.[name]/./node_modules/array.prototype.flat/polyfill.js","webpack://wp.[name]/./node_modules/array.prototype.flat/shim.js","webpack://wp.[name]/./node_modules/classnames/index.js","webpack://wp.[name]/./node_modules/clipboard/dist/clipboard.js","webpack://wp.[name]/./node_modules/consolidated-events/lib/index.esm.js","webpack://wp.[name]/./node_modules/deepmerge/dist/cjs.js","webpack://wp.[name]/./node_modules/define-properties/index.js","webpack://wp.[name]/./node_modules/dom-scroll-into-view/lib/dom-scroll-into-view.js","webpack://wp.[name]/./node_modules/dom-scroll-into-view/lib/index.js","webpack://wp.[name]/./node_modules/dom-scroll-into-view/lib/util.js","webpack://wp.[name]/./node_modules/es-abstract/GetIntrinsic.js","webpack://wp.[name]/./node_modules/es-abstract/es2015.js","webpack://wp.[name]/./node_modules/es-abstract/es2016.js","webpack://wp.[name]/./node_modules/es-abstract/es2017.js","webpack://wp.[name]/./node_modules/es-abstract/es5.js","webpack://wp.[name]/./node_modules/es-abstract/es6.js","webpack://wp.[name]/./node_modules/es-abstract/es7.js","webpack://wp.[name]/./node_modules/es-abstract/helpers/assign.js","webpack://wp.[name]/./node_modules/es-abstract/helpers/isFinite.js","webpack://wp.[name]/./node_modules/es-abstract/helpers/isNaN.js","webpack://wp.[name]/./node_modules/es-abstract/helpers/isPrimitive.js","webpack://wp.[name]/./node_modules/es-abstract/helpers/mod.js","webpack://wp.[name]/./node_modules/es-abstract/helpers/sign.js","webpack://wp.[name]/./node_modules/es-to-primitive/es2015.js","webpack://wp.[name]/./node_modules/es-to-primitive/es5.js","webpack://wp.[name]/./node_modules/es-to-primitive/es6.js","webpack://wp.[name]/./node_modules/es-to-primitive/helpers/isPrimitive.js","webpack://wp.[name]/./node_modules/fbjs/lib/shallowEqual.js","webpack://wp.[name]/./node_modules/function-bind/implementation.js","webpack://wp.[name]/./node_modules/function-bind/index.js","webpack://wp.[name]/./node_modules/function.prototype.name/helpers/functionsHaveNames.js","webpack://wp.[name]/./node_modules/function.prototype.name/implementation.js","webpack://wp.[name]/./node_modules/function.prototype.name/index.js","webpack://wp.[name]/./node_modules/function.prototype.name/polyfill.js","webpack://wp.[name]/./node_modules/function.prototype.name/shim.js","webpack://wp.[name]/./node_modules/global-cache/index.js","webpack://wp.[name]/./node_modules/has-symbols/index.js","webpack://wp.[name]/./node_modules/has-symbols/shams.js","webpack://wp.[name]/./node_modules/has/src/index.js","webpack://wp.[name]/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://wp.[name]/./node_modules/is-callable/index.js","webpack://wp.[name]/./node_modules/is-date-object/index.js","webpack://wp.[name]/./node_modules/is-regex/index.js","webpack://wp.[name]/./node_modules/is-symbol/index.js","webpack://wp.[name]/./node_modules/is-touch-device/build/index.js","webpack://wp.[name]/./node_modules/lodash/_Symbol.js","webpack://wp.[name]/./node_modules/lodash/_baseGetTag.js","webpack://wp.[name]/./node_modules/lodash/_freeGlobal.js","webpack://wp.[name]/./node_modules/lodash/_getRawTag.js","webpack://wp.[name]/./node_modules/lodash/_objectToString.js","webpack://wp.[name]/./node_modules/lodash/_root.js","webpack://wp.[name]/./node_modules/lodash/debounce.js","webpack://wp.[name]/./node_modules/lodash/isObject.js","webpack://wp.[name]/./node_modules/lodash/isObjectLike.js","webpack://wp.[name]/./node_modules/lodash/isSymbol.js","webpack://wp.[name]/./node_modules/lodash/now.js","webpack://wp.[name]/./node_modules/lodash/throttle.js","webpack://wp.[name]/./node_modules/lodash/toNumber.js","webpack://wp.[name]/./node_modules/mousetrap/mousetrap.js","webpack://wp.[name]/./node_modules/mousetrap/plugins/global-bind/mousetrap-global-bind.js","webpack://wp.[name]/./node_modules/object-assign/index.js","webpack://wp.[name]/./node_modules/object-is/index.js","webpack://wp.[name]/./node_modules/object-keys/index.js","webpack://wp.[name]/./node_modules/object-keys/isArguments.js","webpack://wp.[name]/./node_modules/object.assign/implementation.js","webpack://wp.[name]/./node_modules/object.assign/index.js","webpack://wp.[name]/./node_modules/object.assign/polyfill.js","webpack://wp.[name]/./node_modules/object.assign/shim.js","webpack://wp.[name]/./node_modules/object.entries/implementation.js","webpack://wp.[name]/./node_modules/object.entries/index.js","webpack://wp.[name]/./node_modules/object.entries/polyfill.js","webpack://wp.[name]/./node_modules/object.entries/shim.js","webpack://wp.[name]/./node_modules/object.values/implementation.js","webpack://wp.[name]/./node_modules/object.values/index.js","webpack://wp.[name]/./node_modules/object.values/polyfill.js","webpack://wp.[name]/./node_modules/object.values/shim.js","webpack://wp.[name]/./node_modules/prop-types/checkPropTypes.js","webpack://wp.[name]/./node_modules/prop-types/factoryWithTypeCheckers.js","webpack://wp.[name]/./node_modules/prop-types/index.js","webpack://wp.[name]/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://wp.[name]/./node_modules/re-resizable/lib/index.js","webpack://wp.[name]/./node_modules/react-addons-shallow-compare/index.js","webpack://wp.[name]/./node_modules/react-click-outside/dist/index.js","webpack://wp.[name]/./node_modules/react-dates/index.js","webpack://wp.[name]/./node_modules/react-dates/initialize.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/CalendarDay.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/CalendarIcon.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/CalendarMonth.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/CalendarMonthGrid.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/CalendarWeek.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/ChevronDown.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/ChevronUp.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/CloseButton.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/CustomizableCalendarDay.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/DateInput.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/DateRangePicker.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/DateRangePickerInput.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/DateRangePickerInputController.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/DayPicker.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/DayPickerKeyboardShortcuts.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/DayPickerNavigation.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/DayPickerRangeController.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/DayPickerSingleDateController.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/KeyboardShortcutRow.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/LeftArrow.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/RightArrow.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/SingleDatePicker.js","webpack://wp.[name]/./node_modules/react-dates/lib/components/SingleDatePickerInput.js","webpack://wp.[name]/./node_modules/react-dates/lib/constants.js","webpack://wp.[name]/./node_modules/react-dates/lib/defaultPhrases.js","webpack://wp.[name]/./node_modules/react-dates/lib/index.js","webpack://wp.[name]/./node_modules/react-dates/lib/initialize.js","webpack://wp.[name]/./node_modules/react-dates/lib/shapes/AnchorDirectionShape.js","webpack://wp.[name]/./node_modules/react-dates/lib/shapes/CalendarInfoPositionShape.js","webpack://wp.[name]/./node_modules/react-dates/lib/shapes/DateRangePickerShape.js","webpack://wp.[name]/./node_modules/react-dates/lib/shapes/DayOfWeekShape.js","webpack://wp.[name]/./node_modules/react-dates/lib/shapes/DisabledShape.js","webpack://wp.[name]/./node_modules/react-dates/lib/shapes/FocusedInputShape.js","webpack://wp.[name]/./node_modules/react-dates/lib/shapes/IconPositionShape.js","webpack://wp.[name]/./node_modules/react-dates/lib/shapes/ModifiersShape.js","webpack://wp.[name]/./node_modules/react-dates/lib/shapes/OpenDirectionShape.js","webpack://wp.[name]/./node_modules/react-dates/lib/shapes/OrientationShape.js","webpack://wp.[name]/./node_modules/react-dates/lib/shapes/ScrollableOrientationShape.js","webpack://wp.[name]/./node_modules/react-dates/lib/shapes/SingleDatePickerShape.js","webpack://wp.[name]/./node_modules/react-dates/lib/theme/DefaultTheme.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/calculateDimension.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/disableScroll.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/getActiveElement.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/getCalendarDaySettings.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/getCalendarMonthWeeks.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/getCalendarMonthWidth.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/getDetachedContainerStyles.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/getInputHeight.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/getNumberOfCalendarMonthWeeks.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/getPhrase.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/getPhrasePropTypes.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/getResponsiveContainerStyles.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/getSelectedDateOffset.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/getTransformStyles.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/getVisibleDays.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/isAfterDay.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/isBeforeDay.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/isDayVisible.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/isInclusivelyAfterDay.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/isInclusivelyBeforeDay.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/isNextDay.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/isNextMonth.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/isPrevMonth.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/isSameDay.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/isSameMonth.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/isTransitionEndSupported.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/registerCSSInterfaceWithDefaultTheme.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/registerInterfaceWithDefaultTheme.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/toISODateString.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/toISOMonthString.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/toLocalizedDateString.js","webpack://wp.[name]/./node_modules/react-dates/lib/utils/toMomentObject.js","webpack://wp.[name]/./node_modules/react-moment-proptypes/src/core.js","webpack://wp.[name]/./node_modules/react-moment-proptypes/src/index.js","webpack://wp.[name]/./node_modules/react-moment-proptypes/src/moment-validation-wrapper.js","webpack://wp.[name]/./node_modules/react-outside-click-handler/build/OutsideClickHandler.js","webpack://wp.[name]/./node_modules/react-outside-click-handler/index.js","webpack://wp.[name]/./node_modules/react-portal/es/LegacyPortal.js","webpack://wp.[name]/./node_modules/react-portal/es/Portal.js","webpack://wp.[name]/./node_modules/react-portal/es/PortalCompat.js","webpack://wp.[name]/./node_modules/react-portal/es/PortalWithState.js","webpack://wp.[name]/./node_modules/react-portal/es/index.js","webpack://wp.[name]/./node_modules/react-portal/es/utils.js","webpack://wp.[name]/./node_modules/react-with-direction/dist/constants.js","webpack://wp.[name]/./node_modules/react-with-direction/dist/proptypes/brcast.js","webpack://wp.[name]/./node_modules/react-with-styles-interface-css/dist/index.js","webpack://wp.[name]/./node_modules/react-with-styles-interface-css/dist/utils/constants.js","webpack://wp.[name]/./node_modules/react-with-styles-interface-css/dist/utils/getClassName.js","webpack://wp.[name]/./node_modules/react-with-styles-interface-css/dist/utils/separateStyles.js","webpack://wp.[name]/./node_modules/react-with-styles-interface-css/index.js","webpack://wp.[name]/./node_modules/react-with-styles/lib/ThemedStyleSheet.js","webpack://wp.[name]/./node_modules/react-with-styles/lib/withStyles.js","webpack://wp.[name]/./node_modules/tinycolor2/tinycolor.js","webpack://wp.[name]/./node_modules/uuid/lib/bytesToUuid.js","webpack://wp.[name]/./node_modules/uuid/lib/rng-browser.js","webpack://wp.[name]/./node_modules/uuid/v4.js","webpack://wp.[name]/(webpack)/buildin/global.js","webpack://wp.[name]/external {\"this\":[\"wp\",\"a11y\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"apiFetch\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"compose\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"deprecated\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"dom\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"element\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"hooks\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"i18n\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"isShallowEqual\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"keycodes\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"richText\"]}","webpack://wp.[name]/external {\"this\":[\"wp\",\"url\"]}","webpack://wp.[name]/external \"lodash\"","webpack://wp.[name]/external \"moment\"","webpack://wp.[name]/external \"React\"","webpack://wp.[name]/external \"ReactDOM\""],"names":["filterOptions","search","options","maxResults","filtered","i","length","option","keywords","label","isMatch","some","keyword","test","deburr","push","getCaretRect","range","window","getSelection","getRangeAt","getRectangleFromRange","Autocomplete","selectedIndex","suppress","undefined","open","query","filteredOptions","arguments","bindNode","bind","select","reset","resetWhenSuppressed","handleKeyDown","debouncedLoadOptions","debounce","loadOptions","state","constructor","getInitialState","node","replacement","props","record","onChange","end","start","triggerPrefix","toInsert","create","html","renderToString","insert","onReplace","getOptionCompletion","isDisabled","completion","value","action","insertCompletion","isMounted","setState","idx","debouncedSpeak","sprintf","_n","__","completer","promise","activePromise","Promise","resolve","then","optionsData","keyedOptions","map","optionData","optionIndex","key","getOptionLabel","getOptionKeywords","isOptionDisabled","announce","event","keyCode","SPACE","ctrlKey","shiftKey","altKey","metaKey","preventDefault","stopPropagation","UP","DOWN","LEFT","RIGHT","nextSelectedIndex","ESCAPE","ENTER","isListening","handler","prevProps","prevState","completers","prevRecord","prevOpen","toggleKeyEvents","isCollapsed","text","getTextContent","slice","prevText","textAfterSelection","allCompleters","find","allowContext","index","lastIndexOf","safeTrigger","escapeRegExp","match","RegExp","wasOpen","wasSuppress","wasQuery","isDebounced","cancel","children","instanceId","selectedKey","className","isExpanded","listBoxId","activeId","classnames","Component","compose","withSpokenMessages","withInstanceId","withFocusOutside","BaseControl","id","help","ButtonGroup","classes","Button","ref","href","target","isPrimary","isLarge","isSmall","isTertiary","isToggled","isBusy","isDefault","isLink","isDestructive","disabled","additionalProps","tag","tagProps","type","createElement","forwardRef","CheckboxControl","heading","checked","onChangeValue","ClipboardButton","bindContainer","onCopy","getText","container","button","firstChild","clipboard","Clipboard","on","destroy","clearTimeout","onCopyTimeout","args","clearSelection","onFinishCopy","setTimeout","buttonProps","icon","ComponentToUse","IconButton","focusOnCopyEventTarget","focus","ColorIndicator","colorValue","background","ColorPalette","colors","disableCustomColors","applyOrUnset","color","customColorPickerLabel","name","style","itemClasses","isOpen","onToggle","hex","Alpha","createRef","increase","decrease","handleChange","handleMouseDown","handleMouseUp","unbindEventListeners","amount","hsl","noop","parseInt","change","h","s","l","a","source","intValue","e","calculateAlphaChange","current","addEventListener","TAB","removeEventListener","rgb","rgbString","r","g","b","gradient","pointerLocation","left","shortcuts","up","right","pageup","down","pagedown","home","preventKeyEvents","Hue","calculateHueChange","ColorPicker","colorToState","data","oldHue","onChangeComplete","isValidColor","simpleCheckForValidColor","partial","disableAlpha","hsv","backgroundColor","toRgbString","Input","String","toLowerCase","handleBlur","nextProps","valueKey","newValue","omit","Inputs","view","toggleViews","speak","isValidHex","Math","round","renderFields","Saturation","throttle","fn","saturate","brighten","intSaturation","clamp","v","calculateSaturationChange","top","tinycolor","toHsl","toHsv","toRgb","toHex","transparent","getPointOffset","getBoundingClientRect","containerLeft","containerTop","width","height","x","pageX","touches","y","pageY","pageXOffset","pageYOffset","lh","charAt","isValid","keysToCheck","passed","each","letter","isNaN","percent","saturation","bright","Dashicon","size","path","iconClass","filter","Boolean","join","TIMEZONELESS_FORMAT","DatePicker","onChangeMoment","newDate","currentDate","momentDate","moment","momentTime","hours","minutes","seconds","set","format","DateTimePicker","calendarHelpIsVisible","onClickDescriptionToggle","is12Hour","_x","TimePicker","day","month","year","am","date","updateMonth","onChangeMonth","updateDay","onChangeDay","updateYear","onChangeYear","updateHours","updateMinutes","onChangeHours","onChangeMinutes","syncState","currentTime","selected","isInteger","clone","getMinHours","getMaxHours","updateAmPm","createContext","Consumer","Provider","DISABLED_ELIGIBLE_NODE_NAMES","Disabled","disable","debouncedDisable","leading","observer","MutationObserver","observe","childList","attributes","subtree","disconnect","focusable","forEach","includes","nodeName","setAttribute","hasAttribute","removeAttribute","dragImageClass","cloneWrapperClass","cloneHeightTransformationBreakpoint","clonePadding","isChromeUA","navigator","userAgent","documentHasIframes","document","getElementById","querySelectorAll","Draggable","onDragStart","onDragOver","onDrop","onDragEnd","resetDragState","isChromeAndHasIframes","cloneWrapper","clientY","cursorTop","clientX","cursorLeft","elementId","transferData","element","dataTransfer","setDragImage","dragImage","classList","add","body","appendChild","removeChild","setData","JSON","stringify","elementRect","elementWrapper","parentNode","elementTopOffset","elementLeftOffset","cloneNode","transform","transformOrigin","child","remove","onDraggableStart","onDraggableEnd","withSafeTimeout","DropZone","addDropZone","removeDropZone","DropZoneComponent","dropZoneElement","dropZone","onFilesDrop","onHTMLDrop","isDraggingOverDocument","isDraggingOverElement","position","getDragEventType","types","isTypeSupportedByDropZone","isWithinElementBounds","rect","bottom","DropZoneProvider","toggleDraggingOverDocument","dropZones","dropZoneCallbacks","hoveredDropZone","dz","dragEventType","detail","CustomEvent","hoveredDropZones","zone","subZone","parentElement","contains","hoveredDropZoneIndex","indexOf","toUpdate","isEqual","isDraggingOverDropZone","newState","isShallowEqual","files","getData","DropdownMenu","menuLabel","controls","controlSets","Array","isArray","openOnArrowDown","onClose","flatMap","controlSet","indexOfSet","control","indexOfControl","onClick","isActive","title","Dropdown","toggle","close","closeIfClickOutside","refresh","containerRef","deprecated","plugin","version","hint","renderContent","renderToggle","contentClassName","expandOnMobile","headerTitle","ExternalLink","rel","uniq","compact","split","FocusEvent","FocusableIframe","checkFocus","iframeRef","iframe","activeElement","focusEvent","bubbles","dispatchEvent","onFocus","withGlobalEvents","blur","FontSizePicker","fallbackFontSize","fontSizes","disableCustomFontSizes","withSlider","Number","currentFont","font","slug","fontSize","FormFileUpload","openFileDialog","bindInput","input","click","multiple","accept","display","FormToggle","wrapperClasses","initialState","incompleteTokenValue","inputOffsetFromEnd","selectedSuggestionIndex","selectedSuggestionScroll","FormTokenField","onKeyDown","onKeyPress","onBlur","deleteTokenBeforeInput","deleteTokenAfterInput","addCurrentToken","onContainerTouched","renderToken","onTokenClickRemove","onSuggestionHovered","onSuggestionSelected","onInputChange","bindTokensAndInput","hasFocus","tokensAndInput","inputHasValidValue","BACKSPACE","handleDeleteKey","handleLeftArrowKey","handleUpArrowKey","handleRightArrowKey","handleDownArrowKey","DELETE","tokenizeOnSpace","handleEscapeKey","charCode","handleCommaKey","deleteToken","suggestion","getMatchingSuggestions","addNewToken","separator","items","tokenValue","last","inputHasMinimumChars","trim","matchingSuggestions","hasVisibleSuggestions","addNewTokens","isInputEmpty","moveInputBeforePreviousToken","moveInputAfterNextToken","suggestions","maxSuggestions","saveTransform","max","min","getIndexOfInput","moveInputToIndex","selectedSuggestion","getSelectedSuggestion","tokens","tokensToAdd","token","valueContainsToken","splice","apply","concat","messages","added","newTokens","item","getTokenValue","removed","searchValue","startsWithMatch","containsMatch","difference","toLocaleLowerCase","take","components","renderInput","status","termPosition","termsCount","displayTransform","isBorderless","onMouseEnter","onMouseLeave","autoCapitalize","autoComplete","maxLength","tokenFieldProps","tabIndex","Object","assign","renderTokensAndInput","defaultProps","freeze","identity","SuggestionsList","bindList","scrollIntoView","scrollingIntoView","list","onlyScrollIfNeeded","onHover","onSelect","indexOfMatch","suggestionBeforeMatch","substring","suggestionMatch","suggestionAfterMatch","computeSuggestionMatch","classeName","handleClick","handleHover","TokenInput","Token","onClickRemove","tokenClasses","transformedValue","termPositionAndCount","createHigherOrderComponent","WrappedComponent","focusNextRegion","focusRegion","focusPreviousRegion","isFocusingRegions","offset","regions","nextRegion","nextIndex","withConstrainedTabbing","focusContainRef","handleTabBehaviour","tabbables","tabbable","firstTabbable","lastTabbable","mapNodeToProps","nodeRef","fallbackStyles","grabStylesCompleted","bindRef","grabFallbackStyles","newFallbackStyles","every","wrappedComponent","ANIMATION_FRAME_PERIOD","withFilters","hookName","OriginalComponent","onHooksUpdated","applyFilters","namespace","uniqueId","throttledForceUpdate","forceUpdate","addAction","removeAction","updatedHookName","INPUT_BUTTON_TYPES","isFocusNormalizedButton","cancelBlurCheck","queueBlurCheck","normalizeButtonFocus","persist","preventBlurCheck","blurCheckTimeout","handleFocusOutside","isInteractionEnd","setIsFocusedTrue","isFocused","setIsFocusedFalse","activeElementOnMount","createNotice","createErrorNotice","removeNotice","removeAllNotices","noticeList","noticeOperations","notice","noticeToAdd","uuid","msg","content","message","tooltip","shortcut","tooltipText","showTooltip","isString","Icon","iconSize","prototype","SVG","appliedProps","isValidElement","cloneElement","KeyboardShortcuts","bindKeyTarget","keyTarget","mousetrap","Mousetrap","callback","bindGlobal","eventName","bindFn","Children","count","MenuGroup","labelId","classNames","MenuItem","info","isSelected","role","infoId","tagName","MenuItemsChoice","choices","LIVE_REGION_ARIA_ROLES","Set","hiddenElements","isHidden","hideApp","unhiddenElement","elements","elementShouldBeHidden","getAttribute","has","showApp","ModalFrame","handleClickOutside","focusFirstTabbable","focusOnMount","shouldCloseOnClickOutside","onRequestClose","handleEscapeKeyDown","shouldCloseOnEsc","contentLabel","aria","describedby","labelledby","withFocusReturn","clickOutside","keydown","ModalHeader","closeLabel","headingId","isDismissable","openModalCount","Modal","prepareDOM","stopEventPropagationOutsideModal","openFirstModal","closeLastModal","cleanDOM","ariaHelper","bodyOpenClassName","overlayClassName","closeButtonLabel","otherProps","createPortal","cycleValue","total","nextValue","NavigableContainer","getFocusableContext","getFocusableIndex","forwardedRef","isFunction","onlyBrowserTabstops","finder","focusables","directIndex","cycle","eventToOffset","onNavigate","stopNavigationEvents","nativeEvent","stopImmediatePropagation","context","forwardedNavigableContainer","displayName","NavigableMenu","orientation","rest","evt","next","previous","TabbableContainer","innerEventToOffset","Notice","onRemove","isDismissible","actions","url","NoticeList","notices","reverse","PanelBody","opened","initialOpen","isOpened","forwardedPanelBody","PanelHeader","Panel","header","PanelRow","Placeholder","instructions","PopoverDetectOutside","onClickOutside","FocusManaged","SLOT_NAME","Popover","getAnchorRect","computePopoverPosition","maybeClose","throttledRefresh","refreshOnAnchorMove","contentNode","anchorNode","popoverLeft","popoverTop","yAxis","xAxis","contentHeight","contentWidth","isMobile","popoverSize","anchorRect","toggleAutoRefresh","focusTimeout","cancelAnimationFrame","rafHandle","autoRefresh","setInterval","clearInterval","requestAnimationFrame","didAnchorRectChange","contentRect","didPopoverSizeChange","anchor","getComputedStyle","paddingTop","paddingBottom","topPad","bottomPad","newPopoverPosition","noArrow","contentProps","visibility","maxHeight","maxWidth","getSlot","PopoverContainer","Slot","HEIGHT_OFFSET","isMobileViewport","innerWidth","computePopoverXAxisPosition","contentSize","chosenYAxis","anchorMidPoint","centerAlignment","leftAlignmentX","leftAlignment","rightAlignmentX","rightAlignment","chosenXAxis","chosenWidth","computePopoverYAxisPosition","middleAlignment","innerHeight","topAlignment","bottomAlignment","chosenHeight","yAxisPosition","xAxisPosition","Circle","G","Path","Polygon","Rect","CategorySelect","noOptionLabel","categoriesList","selectedCategoryId","termsTree","buildTermsTree","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","QueryControls","numberOfItems","order","orderBy","maxItems","minItems","onCategoryChange","onNumberOfItemsChange","onOrderChange","onOrderByChange","newOrderBy","newOrder","flatTerms","termsByParent","groupBy","fillWithChildren","terms","term","RadioControl","isEmpty","RangeControl","beforeIcon","afterIcon","allowReset","initialPosition","resetValue","initialSliderValue","isFinite","ResizableBox","handleStylesOverrides","handleClassName","ResponsiveWrapper","naturalWidth","naturalHeight","imageStyle","Sandbox","trySandbox","checkMessageForResize","contentDocument","parse","contentWindow","oldWidth","oldHeight","isFrameAccessible","observeAndResizeJS","htmlDoc","documentElement","lang","__html","scripts","src","iframeDocument","write","ceil","createScrollLockComponent","htmlDocument","lockCounter","previousScrollTop","setLocked","locked","scrollingElement","scrollTop","methodName","requestLock","releaseLock","SelectControl","selectedOptions","newValues","rendererPath","block","urlQueryArgs","addQueryArgs","ServerSideRender","response","isStillMounted","fetch","apiFetch","rendered","catch","error","errorMsg","errorMessage","Shortcut","displayText","ariaLabel","isObject","registerSlot","unregisterSlot","registerFill","unregisterFill","getFills","SlotFillProvider","slots","fills","slot","forceUpdateFills","forceUpdateSlot","instance","without","resetFillOccurrence","sortBy","resetOccurrence","occurrences","FillComponent","occurrence","bubblesVirtually","fillProps","Fill","createSlotFill","SlotComponent","fill","fillKey","fillChildren","childIndex","childKey","negate","isEmptyElement","Spinner","TabButton","tabId","TabPanel","tabs","initialTabName","tabKey","activeClass","selectedTab","selectedId","tab","TextControl","TextareaControl","rows","ToggleControl","describedBy","helpLabel","ToolbarButton","containerClassName","subscript","extraProps","ToolbarButtonContainer","Toolbar","ToolbarContainer","TOOLTIP_DELAY","Tooltip","delayedSetIsOver","isOver","only","isDelayed","emitToChild","currentTarget","console","createToggleIsOver","concatChildren","getSelectOptions","tree","level","treeNode","repeat","unescapeString","TreeSelect","andValidator","validators","TypeError","RangeError","validator","and","firstError","validatorFn","isRequired","andIsRequired","betweenValidator","number","propName","componentName","numberOrPropsFunc","lowerCompare","gt","gte","upperCompare","lt","lte","greaterThanError","lessThanError","opts","errors","propsThunkify","reduce","acc","numberThunk","invokeWithProps","optsThunks","thunk","argValidators","argValidator","thunkValueValidator","argError","between","propValue","thunkValuesError","betweenRequired","booleanSomeValidator","notAllPropsFalse","propsList","booleanSome","countFalse","prop","falsePropCount","Error","bool","booleanSomeRequired","childrenHavePropXorChildren","childrenHavePropXorChildrenWithProp","_","truthyChildrenCount","propCount","grandchildrenCount","React","childrenOf","validateChildren","propType","childrenOfPropType","typeName","onlyTypes","Type","typeNames","getComponentName","childrenOfType","childrenSequenceOfValidator","specifiers","seq","sequenceOf","childrenSequenceOf","childrenSequenceOfRequired","componentWithName","stripHOCs","fullName","namesOfHOCsToStrip","innerName","HOC","previousHOC","replace","hasName","componentNameFromType","innerComponentName","passedOptions","keys","allHOCNamesAreValid","componentWithNameValidator","componentWithNameRequired","disallowedIf","otherPropName","otherPropType","disallowedIfRequired","otherError","disallowedIfPropType","elementTypeValidator","getTypeName","validateElementType","elementType","validatorName","explicitNull","explicitNullRequired","floor","finite","isPlainObject","isPrimitive","renderableChildren","childrenProp","toArray","typeOf","wrapValidator","typeChecker","typeRequired","module","exports","forbidExtraProps","integer","keysOf","mutuallyExclusiveProps","mutuallyExclusiveTrueProps","nChildren","nonNegativeInteger","nonNegativeNumber","numericString","object","or","requiredBy","restrictedProp","shape","stringStartsWith","uniqueArray","uniqueArrayOf","valuesOf","withShape","requiredInteger","keysOfValidator","location","propFullName","keyedByRequired","mutuallyExclusiveOfType","exclusiveProps","propList","countProps","exclusivePropCount","mutuallyExclusivePropsRequired","mutuallyExclusiveTrue","mutuallyExclusiveTruePropsRequired","n","nChildrenValidator","childrenCount","isNonNegative","requiredNonNegativeNumber","validNumericChars","stringError","string","passesRegex","numericStringRequired","ReactPropTypeLocationNames","childContext","locationName","objectRequired","oneOfTypeValidator","oneOfType","oneOfTypeRequired","MAX_SAFE_INTEGER","isValidLength","abs","getRequiredBy","requiredByPropName","defaultValue","requiredByRequired","customMessageWrapper","messsageFunction","sequenceOfValidator","minValidator","maxValidator","validateRange","specifierShape","getMinMax","minimum","maximum","Infinity","chunkByType","chunk","lastType","chunks","itemType","validateChunks","arrayOfValidator","shift","chunkError","unshift","specifierValidator","specifier","array","sequenceOfRequired","shapeValidator","shapeTypes","checker","shapeRequired","stringStartsWithValidator","startsWith","requiredStringStartsWith","uniqueCountWithSet","arr","uniqueCountLegacy","seen","getUniqueCount","requiredUniqueArray","result","uniqueCount","uniqueArrayOfTypeValidator","unique","mapper","uniqueArrayOfMapped","values","arrayValidator","uniqueValidator","valuesOfValidator","valuesOfRequired","zeroWidthSpace","specialProperty","semaphore","Symbol","brand","isBranded","propTypes","forbidUnknownProps","unknownProps"],"mappings":";;AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kDAA0C,gCAAgC;AAC1E;AACA;;AAEA;AACA;AACA;AACA,gEAAwD,kBAAkB;AAC1E;AACA,yDAAiD,cAAc;AAC/D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAyC,iCAAiC;AAC1E,wHAAgH,mBAAmB,EAAE;AACrI;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;;AAGA;AACA;;;;;;;;;;;;;AClFA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA,iDAAiD,gBAAgB;AACjE;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;ACRA;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACNA;AAAA;AAAe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACJA;AAAA;AAAA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACdA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACbA;AAAA;AAAe;AACf;AACA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AChBA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACLA;AAAA;AAAA;AAA8C;AAC/B;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,kBAAkB,+DAAc;AAChC,C;;;;;;;;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ElC,qBAAqB,mBAAO,CAAC,+EAAkB;AAC/C,kBAAkB,mBAAO,CAAC,mEAAY;AACtC;AACA,WAAW,mBAAO,CAAC,2DAAQ;;AAE3B;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;;AClBa;;AAEb,qBAAqB,mBAAO,CAAC,+EAAkB;;AAE/C;AACA;AACA;;;;;;;;;;;;;ACNa;;AAEb,aAAa,mBAAO,CAAC,oEAAmB;AACxC,kBAAkB,mBAAO,CAAC,mEAAY;;AAEtC;AACA;AACA;AACA;AACA,GAAG,iBAAiB;AACpB,GAAG,oBAAoB,0CAA0C,EAAE;AACnE;AACA;AACA;;;;;;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK,KAA6B;AAClC;AACA;AACA,EAAE,UAAU,IAA4E;AACxF;AACA,EAAE,iCAAqB,EAAE,mCAAE;AAC3B;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAEN;AACF,CAAC;;;;;;;;;;;;ACnDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAyD;AAC7D;AACA,MAAM,EAK4B;AAClC,CAAC;AACD,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,gCAAgC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,kBAAkB;AAClF;AACA,yDAAyD,cAAc;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,iCAAiC;AAClF,wHAAwH,mBAAmB,EAAE;AAC7I;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,0BAA0B,EAAE;AAC/D,yCAAyC,eAAe;AACxD;AACA;AACA;AACA;AACA;AACA,8DAA8D,+DAA+D;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;;;AAGA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,2CAA2C;AAC1D,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,2CAA2C;AAC9D;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,mBAAmB,MAAM;AACzB;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,mBAAmB,QAAQ;AAC3B;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,QAAQ;AAC3B;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;;AAEA,KAAK;AACL;;;AAGA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,OAAO;AACP;AACA;;AAEA;;;AAGA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe,OAAO;AACtB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB,QAAQ;AAC3B;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,mBAAmB,OAAO;AAC1B;;AAEA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;AAGA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;;AAElC;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,yCAAyC;AACzC;AACA;;AAEA,WAAW,SAAS;AACpB;AACA;;AAEA;AACA,GAAG;;AAEH;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA,wCAAwC,SAAS;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;AAGA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,2CAA2C;AACtD,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;;;AAGA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,qBAAqB;AAChC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA,OAAO;AACP;AACA,CAAC,E;;;;;;;;;;;;ACj9BD;AAAA;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAE4B;;;;;;;;;;;;;AC7Mf;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,sCAAsC;AACtC;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;;;;;;;;;;;;;AChGa;;AAEb,WAAW,mBAAO,CAAC,wDAAa;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,gCAAgC;AAChE;AACA,sBAAsB;AACtB;AACA;AACA;AACA,EAAE,YAAY;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA;AACA;;AAEA;;AAEA;;;;;;;;;;;;;ACzDa;;AAEb,WAAW,mBAAO,CAAC,+DAAQ;;AAE3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA,gC;;;;;;;;;;;;AChIa;;AAEb,iBAAiB,mBAAO,CAAC,+FAAwB,E;;;;;;;;;;;;ACFpC;;AAEb,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,oGAAoG,mBAAmB,EAAE,mBAAmB,kGAAkG;;AAE9O;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,CAAC,Y;;;;;;;;;;;;ACtbY;;AAEb;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc;;AAEd;AACA,iBAAiB,iEAAiE,EAAE;AACpF,gBAAgB,uBAAuB;;AAEvC;;AAEA,sDAAsD,oBAAoB,GAAG;;AAE7E,cAAc;AACd;AACA,YAAY;AACZ;AACA,aAAa;AACb;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AChLa;;AAEb,UAAU,mBAAO,CAAC,4CAAK;AACvB,kBAAkB,mBAAO,CAAC,kEAAqB;;AAE/C,mBAAmB,mBAAO,CAAC,kEAAgB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,aAAa,mBAAO,CAAC,oEAAiB;AACtC,gBAAgB,mBAAO,CAAC,0EAAoB;AAC5C;;AAEA,aAAa,mBAAO,CAAC,sEAAkB;AACvC,WAAW,mBAAO,CAAC,kEAAgB;AACnC,UAAU,mBAAO,CAAC,gEAAe;AACjC,kBAAkB,mBAAO,CAAC,gFAAuB;AACjD;AACA,WAAW,mBAAO,CAAC,4DAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,mBAAO,CAAC,gDAAO;;AAEzB,uBAAuB,mBAAO,CAAC,kDAAU;;AAEzC;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,6DAA6D,UAAU;AACvE;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,sCAAsC,UAAU;AAChD,uBAAuB,aAAa;AACpC;AACA,yBAAyB,cAAc;AACvC,yBAAyB,UAAU;AACnC,oBAAoB,cAAc;AAClC;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,iBAAiB,UAAU,EAAE;AAC7B,+BAA+B,yBAAyB;AACxD;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,0BAA0B,WAAW;AACrC;AACA,mDAAmD,UAAU;AAC7D;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,gEAAgE;AAChE,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,aAAa,EAAE;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,0BAA0B;;AAE1B;AACA;AACA;AACA,uCAAuC;AACvC,yBAAyB;;AAEzB;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC;;AAEhC;;;;;;;;;;;;;ACprBa;;AAEb,aAAa,mBAAO,CAAC,sDAAU;AAC/B,aAAa,mBAAO,CAAC,sEAAkB;;AAEvC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;;ACfa;;AAEb,aAAa,mBAAO,CAAC,sDAAU;AAC/B,aAAa,mBAAO,CAAC,sEAAkB;;AAEvC,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,iCAAiC;;AAEjC;;;;;;;;;;;;;ACxBa;;AAEb,mBAAmB,mBAAO,CAAC,kEAAgB;;AAE3C;AACA;AACA;;AAEA,aAAa,mBAAO,CAAC,oEAAiB;AACtC,gBAAgB,mBAAO,CAAC,0EAAoB;;AAE5C,WAAW,mBAAO,CAAC,kEAAgB;AACnC,UAAU,mBAAO,CAAC,gEAAe;;AAEjC,iBAAiB,mBAAO,CAAC,wDAAa;AACtC,kBAAkB,mBAAO,CAAC,kEAAqB;;AAE/C,UAAU,mBAAO,CAAC,4CAAK;;AAEvB;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA,gBAAgB;AAChB,EAAE;AACF;AACA;AACA,uBAAuB,UAAU;AACjC,2CAA2C,eAAe;AAC1D;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,6DAA6D,UAAU;AACvE;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,gBAAgB;AAChB,iBAAiB,wBAAwB;AACzC;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACjPa;;AAEb,iBAAiB,mBAAO,CAAC,sDAAU;;;;;;;;;;;;;ACFtB;;AAEb,iBAAiB,mBAAO,CAAC,sDAAU;;;;;;;;;;;;ACFnC,WAAW,mBAAO,CAAC,4DAAe;AAClC;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AChBA,2CAA2C,gBAAgB;;AAE3D,kDAAkD,iFAAiF;;;;;;;;;;;;ACFnI;AACA;AACA;;;;;;;;;;;;ACFA;AACA;AACA;;;;;;;;;;;;ACFA;AACA;AACA;AACA;;;;;;;;;;;;ACHA;AACA;AACA;;;;;;;;;;;;;ACFa;;AAEb;;AAEA,kBAAkB,mBAAO,CAAC,oFAAuB;AACjD,iBAAiB,mBAAO,CAAC,wDAAa;AACtC,aAAa,mBAAO,CAAC,8DAAgB;AACrC,eAAe,mBAAO,CAAC,oDAAW;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,wBAAwB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC1Ea;;AAEb;;AAEA,kBAAkB,mBAAO,CAAC,oFAAuB;;AAEjD,iBAAiB,mBAAO,CAAC,wDAAa;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,cAAc,oBAAoB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC5Ca;;AAEb,iBAAiB,mBAAO,CAAC,0DAAU;;;;;;;;;;;;ACFnC;AACA;AACA;;;;;;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8B;;;;;;;;;;;;AChEa;;AAEb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA,8EAA8E,qCAAqC,EAAE;;AAErH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACnDa;;AAEb,qBAAqB,mBAAO,CAAC,wEAAkB;;AAE/C;;;;;;;;;;;;ACJA,yCAAyC,mBAAmB;;;;;;;;;;;;;ACA/C;;AAEb,iBAAiB,mBAAO,CAAC,wDAAa;AACtC,yBAAyB,mBAAO,CAAC,0GAA8B;AAC/D,WAAW,mBAAO,CAAC,4DAAe;AAClC;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AC1Ca;;AAEb,aAAa,mBAAO,CAAC,oEAAmB;AACxC,WAAW,mBAAO,CAAC,4DAAe;;AAElC,qBAAqB,mBAAO,CAAC,kFAAkB;AAC/C,kBAAkB,mBAAO,CAAC,sEAAY;AACtC,WAAW,mBAAO,CAAC,8DAAQ;;AAE3B;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;;ACjBa;;AAEb,qBAAqB,mBAAO,CAAC,kFAAkB;;AAE/C;AACA;AACA;;;;;;;;;;;;;ACNa;;AAEb,0BAA0B,mBAAO,CAAC,oEAAmB;AACrD,yBAAyB,mBAAO,CAAC,0GAA8B;AAC/D,kBAAkB,mBAAO,CAAC,sEAAY;AACtC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,EAAE;AACF;AACA;;;;;;;;;;;;;AClCA,8CAAa;;AAEb,aAAa,mBAAO,CAAC,oEAAmB;AACxC,eAAe,mBAAO,CAAC,oDAAW;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;AC1FA,8CAAa;;AAEb;AACA,oBAAoB,mBAAO,CAAC,oDAAS;;AAErC;AACA,wCAAwC,cAAc;AACtD,oCAAoC,cAAc;AAClD,6CAA6C,cAAc;AAC3D,yCAAyC,cAAc;;AAEvD;AACA;;;;;;;;;;;;;;ACZa;;AAEb;AACA;AACA,0FAA0F,cAAc;AACxG,2CAA2C,aAAa;;AAExD;AACA;AACA;AACA,+BAA+B,cAAc;;AAE7C,iEAAiE,cAAc;AAC/E,oEAAoE,cAAc;;AAElF;AACA,gCAAgC,cAAc;AAC9C;AACA,sCAAsC,cAAc;;AAEpD,0DAA0D,cAAc;AACxE,8DAA8D,cAAc;;AAE5E;AACA;AACA,mBAAmB,cAAc,EAAE;AACnC,0EAA0E,cAAc;;AAExF,wGAAwG,cAAc;;AAEtH;AACA,4CAA4C,cAAc;;AAE1D,6DAA6D,cAAc;;AAE3E;AACA;AACA,sEAAsE,cAAc;AACpF;;AAEA;AACA;;;;;;;;;;;;;ACzCa;;AAEb,WAAW,mBAAO,CAAC,4DAAe;;AAElC;;;;;;;;;;;;;ACJa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;;ACnEa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF,eAAe;AACf;AACA;;AAEA;AACA;AACA,4BAA4B,cAAc;AAC1C;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,cAAc;AAC5B,gEAAgE,cAAc;AAC9E,uDAAuD,aAAa;AACpE,sBAAsB,iCAAiC;AACvD,2BAA2B,cAAc;AACzC;AACA;AACA;;;;;;;;;;;;;ACpCa;;AAEb;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mDAAmD,cAAc;AACjE;AACA;;;;;;;;;;;;;ACnBa;;AAEb,UAAU,mBAAO,CAAC,4CAAK;AACvB;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACtCa;;AAEb;AACA,iBAAiB,mBAAO,CAAC,wDAAa;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA,SAAS,MAAK,IAAI,KAAK;AACvB;AACA;;;;;;;;;;;;AClCA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;ACPA,WAAW,mBAAO,CAAC,+CAAS;;AAE5B;AACA;;AAEA;;;;;;;;;;;;ACLA,aAAa,mBAAO,CAAC,mDAAW;AAChC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,qBAAqB,mBAAO,CAAC,mEAAmB;;AAEhD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC3BA;AACA;;AAEA;;;;;;;;;;;;;ACHA,aAAa,mBAAO,CAAC,mDAAW;;AAEhC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACRA,eAAe,mBAAO,CAAC,qDAAY;AACnC,UAAU,mBAAO,CAAC,2CAAO;AACzB,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA,WAAW,mBAAO,CAAC,+CAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtBA,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,oBAAoB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;;;;;;;;;ACpEA,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;;AAEA;AACA;AACA;AACA,eAAe,QAAQ;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,qBAAqB;AACpC,eAAe,OAAO;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,MAAM;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,MAAM;AACrB,eAAe,QAAQ;AACvB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,EAAE;AAChD;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,OAAO;AACvB,gBAAgB,QAAQ;AACxB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,mBAAmB,MAAM;AACzB,mBAAmB,aAAa;AAChC,mBAAmB,QAAQ;AAC3B,mBAAmB,QAAQ;AAC3B,mBAAmB,QAAQ;AAC3B,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,uCAAuC;AAC9D;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B,mBAAmB,MAAM;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,mBAAmB,MAAM;AACzB,mBAAmB,MAAM;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,sBAAsB;;AAE7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,MAAM;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,mBAAmB,MAAM;AACzB,mBAAmB,SAAS;AAC5B,mBAAmB,QAAQ;AAC3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,MAAM;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B,mBAAmB,SAAS;AAC5B,mBAAmB,QAAQ;AAC3B,mBAAmB,QAAQ;AAC3B,mBAAmB,QAAQ;AAC3B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,mDAAmD,kBAAkB;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,mBAAmB,MAAM;AACzB,mBAAmB,SAAS;AAC5B,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA,2BAA2B,yBAAyB;AACpD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,SAAS;AACxB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA,uDAAuD;AACvD;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,QAAQ;AACvB,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,QAAQ,KAA6B;AACrC;AACA;;AAEA;AACA,QAAQ,IAA0C;AAClD,QAAQ,mCAAO;AACf;AACA,SAAS;AAAA,oGAAC;AACV;AACA,CAAC;;;;;;;;;;;;ACnhCD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;;;;;;;;;;;;AC1CD;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB,sBAAsB;AACtC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACzFa;;AAEb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;AACA;;;;;;;;;;;;;;ACjBa;;AAEb;AACA;AACA;AACA;AACA,aAAa,mBAAO,CAAC,gEAAe;AACpC;AACA,yCAAyC,iBAAiB;AAC1D,sDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,cAAc;AACnD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,wCAAwC;AACxC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;AC5Ia;;AAEb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AChBa;;AAEb;AACA,WAAW,mBAAO,CAAC,wDAAa;AAChC,WAAW,mBAAO,CAAC,4DAAe;AAClC;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,8DAAmB;AAC5C;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,iDAAiD;AAC7E;AACA;AACA,YAAY,sBAAsB;AAClC;AACA;AACA;AACA;AACA;AACA,cAAc,iBAAiB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;ACxCa;;AAEb,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,qBAAqB,mBAAO,CAAC,wEAAkB;AAC/C,kBAAkB,mBAAO,CAAC,4DAAY;AACtC,WAAW,mBAAO,CAAC,oDAAQ;;AAE3B;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;;;;;;;;;;;;AChBa;;AAEb,qBAAqB,mBAAO,CAAC,wEAAkB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,oBAAoB;AACpC;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AClDa;;AAEb,aAAa,mBAAO,CAAC,oEAAmB;AACxC,kBAAkB,mBAAO,CAAC,4DAAY;;AAEtC;AACA;AACA;AACA;AACA,GAAG,mBAAmB;AACtB,GAAG,sBAAsB,mCAAmC,EAAE;AAC9D;AACA;AACA;;;;;;;;;;;;;ACba;;AAEb,SAAS,mBAAO,CAAC,0DA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AO,CAAC,yFAA4B;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4GAA4G;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;AC1FA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,aAAa,mBAAO,CAAC,4DAAe;;AAEpC,2BAA2B,mBAAO,CAAC,yFAA4B;AAC/D,qBAAqB,mBAAO,CAAC,qEAAkB;;AAE/C;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAA0C;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,6BAA6B;AAC7B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,KAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,wFAAwF,SAAM;AACzI;AACA;;AAEA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,4FAA4F,SAAM;AAC7I;AACA;;AAEA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,gCAAgC;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;AC1iBA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uFAA2B;AACtD,CAAC,MAAM,EAIN;;;;;;;;;;;;;AC3BD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;;;ACXA;AAAA;AAAA;AAAiD;;AAEjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS,2DAAa;AACtB;AACA;AACA;AACA,wBAAwB,iEAAiE;AACzF;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAI;AACX;AACA,GAAG;AACH;AACA;AACA;;AAEA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,iCAAiC;AAC1D;AACA;AACA,yBAAyB,+BAA+B;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,0CAA0C;AAC/D;AACA,GAAG;AACH;AACA;AACA,qBAAqB,yCAAyC;AAC9D;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,2DAAa;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,sDAAsD,2DAAa;AACnE;AACA;AACA;AACA,OAAO;AACP;AACA,aAAa,2DAAa;AAC1B;AACA,SAAS,2DAA2D;AACpE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,aAAa,2DAAa;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,SAAS;AACT,iCAAiC,2DAAa;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,GAAG;AACH;AACA,CAAC,CAAC,+CAAS;;AAEX;AACA,4CAA4C;AAC5C,kCAAkC;AAClC,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEe,wEAAS,EAAC;;;;;;;;;;;;;AC9tBzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,mBAAmB,mBAAO,CAAC,sEAAuB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACzBa;;AAEb,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,8CAA8C,iBAAiB,qBAAqB,oCAAoC,6DAA6D,oBAAoB,EAAE,eAAe;;AAE1N,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,0BAA0B,mBAAO,CAAC,2GAAyB;AAC3D,YAAY,mBAAO,CAAC,oBAAO;AAC3B,eAAe,mBAAO,CAAC,4BAAW;;AAElC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;;AAEA;AACA,E;;;;;;;;;;;AC5EA;AACA,iBAAiB,mBAAO,CAAC,sDAAO;;;;;;;;;;;;ACDhC;AACA,mBAAO,CAAC,sEAAkB;;;;;;;;;;;;;ACDb;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,cAAc,mBAAO,CAAC,4DAAe;;AAErC;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,iCAAiC,mBAAO,CAAC,0FAA8B;;AAEvE;;AAEA,4BAA4B,mBAAO,CAAC,kFAAwB;;AAE5D;;AAEA,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,uBAAuB,mBAAO,CAAC,6EAAmB;;AAElD,cAAc,mBAAO,CAAC,sBAAQ;;AAE9B;;AAEA,sBAAsB,mBAAO,CAAC,2EAAmB;;AAEjD,0BAA0B,mBAAO,CAAC,+FAA6B;;AAE/D;;AAEA,8BAA8B,mBAAO,CAAC,uGAAiC;;AAEvE;;AAEA,sBAAsB,mBAAO,CAAC,yFAA0B;;AAExD;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL,mCAAmC;AACnC,iCAAiC;AACjC,0BAA0B;AAC1B,mCAAmC;AACnC;AACA;AACA,CAAC,e;;;;;;;;;;;;AC3dY;;AAEb;AACA;AACA,CAAC;;AAED,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA,kC;;;;;;;;;;;;AC7Ba;;AAEb;AACA;AACA,CAAC;;AAED,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,cAAc,mBAAO,CAAC,4DAAe;;AAErC;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,iCAAiC,mBAAO,CAAC,0FAA8B;;AAEvE;;AAEA,4BAA4B,mBAAO,CAAC,kFAAwB;;AAE5D;;AAEA,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,uBAAuB,mBAAO,CAAC,6EAAmB;;AAElD,cAAc,mBAAO,CAAC,sBAAQ;;AAE9B;;AAEA,sBAAsB,mBAAO,CAAC,2EAAmB;;AAEjD,0BAA0B,mBAAO,CAAC,+FAA6B;;AAE/D;;AAEA,oBAAoB,mBAAO,CAAC,iFAAgB;;AAE5C;;AAEA,mBAAmB,mBAAO,CAAC,+EAAe;;AAE1C;;AAEA,0BAA0B,mBAAO,CAAC,+FAA6B;;AAE/D;;AAEA,6BAA6B,mBAAO,CAAC,qGAAgC;;AAErE;;AAEA,iBAAiB,mBAAO,CAAC,6EAAoB;;AAE7C;;AAEA,uBAAuB,mBAAO,CAAC,yFAA0B;;AAEzD;;AAEA,sBAAsB,mBAAO,CAAC,yFAA0B;;AAExD;;AAEA,kCAAkC,mBAAO,CAAC,iHAAsC;;AAEhF;;AAEA,sBAAsB,mBAAO,CAAC,yFAA0B;;AAExD;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH,EAAE;;AAE9e,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,qBAAqB,mDAAmD,wDAAwD;AAChI;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,aAAa;AACb,qDAAqD,yEAAyE;AAC9H;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,2KAA2K,+DAA+D;AACjQ;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,mBAAmB;AACnB;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,CAAC,iB;;;;;;;;;;;;AC9YY;;AAEb;AACA;AACA,CAAC;;AAED,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,cAAc,mBAAO,CAAC,4DAAe;;AAErC;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,iCAAiC,mBAAO,CAAC,0FAA8B;;AAEvE;;AAEA,4BAA4B,mBAAO,CAAC,kFAAwB;;AAE5D;;AAEA,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,uBAAuB,mBAAO,CAAC,6EAAmB;;AAElD,cAAc,mBAAO,CAAC,sBAAQ;;AAE9B;;AAEA,0BAA0B,mBAAO,CAAC,gFAAqB;;AAEvD,sBAAsB,mBAAO,CAAC,2EAAmB;;AAEjD,0BAA0B,mBAAO,CAAC,+FAA6B;;AAE/D;;AAEA,qBAAqB,mBAAO,CAAC,mFAAiB;;AAE9C;;AAEA,gCAAgC,mBAAO,CAAC,2GAAmC;;AAE3E;;AAEA,0BAA0B,mBAAO,CAAC,+FAA6B;;AAE/D;;AAEA,6BAA6B,mBAAO,CAAC,qGAAgC;;AAErE;;AAEA,wBAAwB,mBAAO,CAAC,2FAA2B;;AAE3D;;AAEA,mBAAmB,mBAAO,CAAC,iFAAsB;;AAEjD;;AAEA,mBAAmB,mBAAO,CAAC,iFAAsB;;AAEjD;;AAEA,sBAAsB,mBAAO,CAAC,yFAA0B;;AAExD;;AAEA,kCAAkC,mBAAO,CAAC,iHAAsC;;AAEhF;;AAEA,sBAAsB,mBAAO,CAAC,yFAA0B;;AAExD;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,qEAAqE;AACtF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA,WAAW,6BAA6B;AACxC;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,uBAAuB;AACvB,6BAA6B;AAC7B,0BAA0B;AAC1B,yBAAyB;;AAEzB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA,uBAAuB,kBAAkB;AACzC;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA,uBAAuB,mBAAmB;AAC1C;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,CAAC,2B;;;;;;;;;;;;ACvfY;;AAEb;AACA;AACA,CAAC;;AAED,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,cAAc,mBAAO,CAAC,4DAAe;;AAErC;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,uBAAuB,mBAAO,CAAC,6EAAmB;;AAElD,gBAAgB,mBAAO,CAAC,0DAAiB;;AAEzC;;AAEA,qBAAqB,mBAAO,CAAC,sEAAiB;;AAE9C;;AAEA,sBAAsB,mBAAO,CAAC,uFAAyB;;AAEvD;;AAEA,0BAA0B,mBAAO,CAAC,iGAA8B;;AAEhE;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;;AAEA,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oFAAoF,kBAAkB;AACtG;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,mDAAmD;AAC1E;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,yBAAyB,yBAAyB;AAClD;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb,gEAAgE;AAChE;AACA,aAAa;AACb,gEAAgE;AAChE;AACA,aAAa;AACb;AACA;AACA;AACA,uBAAuB,oEAAoE,4BAA4B;AACvH;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,CAAC,a;;;;;;;;;;;;ACzdY;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,cAAc,mBAAO,CAAC,4DAAe;;AAErC;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iCAAiC,mBAAO,CAAC,0FAA8B;;AAEvE;;AAEA,cAAc,mBAAO,CAAC,sBAAQ;;AAE9B;;AAEA,uBAAuB,mBAAO,CAAC,6EAAmB;;AAElD,mBAAmB,mBAAO,CAAC,6DAAc;;AAEzC,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,0BAA0B,mBAAO,CAAC,gFAAqB;;AAEvD,qBAAqB,mBAAO,CAAC,sEAAiB;;AAE9C;;AAEA,gCAAgC,mBAAO,CAAC,wFAA6B;;AAErE;;AAEA,4BAA4B,mBAAO,CAAC,qGAAgC;;AAEpE;;AAEA,sBAAsB,mBAAO,CAAC,2EAAmB;;AAEjD,oCAAoC,mBAAO,CAAC,mHAAuC;;AAEnF;;AAEA,kCAAkC,mBAAO,CAAC,+GAAqC;;AAE/E;;AAEA,sBAAsB,mBAAO,CAAC,uFAAyB;;AAEvD;;AAEA,6BAA6B,mBAAO,CAAC,qGAAgC;;AAErE;;AAEA,sBAAsB,mBAAO,CAAC,qFAAwB;;AAEtD;;AAEA,sCAAsC,mBAAO,CAAC,qHAAkC;;AAEhF;;AAEA,gCAAgC,mBAAO,CAAC,yGAA4B;;AAEpE;;AAEA,mBAAmB,mBAAO,CAAC,+EAAe;;AAE1C;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,kFAAkF;;AAElF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iIAAiI,gBAAgB;AACjJ;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,iBAAiB,yCAAyC;AAC1D;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,uBAAuB,6BAA6B,EAAE;;AAEtD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA,iEAAiE;AACjE,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa,sCAAsC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,mB;;;;;;;;;;;;AC/zBY;;AAEb;AACA;AACA,CAAC;;AAED,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,cAAc,mBAAO,CAAC,4DAAe;;AAErC;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,uBAAuB,mBAAO,CAAC,6EAAmB;;AAElD,sBAAsB,mBAAO,CAAC,2EAAmB;;AAEjD,0BAA0B,mBAAO,CAAC,+FAA6B;;AAE/D;;AAEA,0BAA0B,mBAAO,CAAC,iGAA8B;;AAEhE;;AAEA,iBAAiB,mBAAO,CAAC,2EAAa;;AAEtC;;AAEA,yBAAyB,mBAAO,CAAC,+FAA6B;;AAE9D;;AAEA,qBAAqB,mBAAO,CAAC,uFAAyB;;AAEtD;;AAEA,kBAAkB,mBAAO,CAAC,6EAAc;;AAExC;;AAEA,iBAAiB,mBAAO,CAAC,2EAAa;;AAEtC;;AAEA,mBAAmB,mBAAO,CAAC,+EAAe;;AAE1C;;AAEA,oBAAoB,mBAAO,CAAC,iFAAgB;;AAE5C;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,kFAAkF;AAClF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB;AACjB;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,wB;;;;;;;;;;;;ACjcY;;AAEb;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,cAAc,mBAAO,CAAC,sBAAQ;;AAE9B;;AAEA,4BAA4B,mBAAO,CAAC,kFAAwB;;AAE5D;;AAEA,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,0BAA0B,mBAAO,CAAC,iGAA8B;;AAEhE;;AAEA,sBAAsB,mBAAO,CAAC,2EAAmB;;AAEjD,0BAA0B,mBAAO,CAAC,+FAA6B;;AAE/D;;AAEA,4BAA4B,mBAAO,CAAC,iGAAwB;;AAE5D;;AAEA,yBAAyB,mBAAO,CAAC,+FAA6B;;AAE9D;;AAEA,qBAAqB,mBAAO,CAAC,uFAAyB;;AAEtD;;AAEA,sBAAsB,mBAAO,CAAC,uFAAyB;;AAEvD;;AAEA,6BAA6B,mBAAO,CAAC,qGAAgC;;AAErE;;AAEA,6BAA6B,mBAAO,CAAC,qGAAgC;;AAErE;;AAEA,mBAAmB,mBAAO,CAAC,iFAAsB;;AAEjD;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA,iBAAiB,yCAAyC;AAC1D;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA,yBAAyB,yCAAyC;AAClE;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,yBAAyB,yCAAyC;AAClE;AACA,SAAS;AACT;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,iCAAiC;AACxD;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;;;AAGA;AACA,2D;;;;;;;;;;;;AC9da;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,cAAc,mBAAO,CAAC,4DAAe;;AAErC;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,iCAAiC,mBAAO,CAAC,0FAA8B;;AAEvE;;AAEA,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,uBAAuB,mBAAO,CAAC,6EAAmB;;AAElD,cAAc,mBAAO,CAAC,sBAAQ;;AAE9B;;AAEA,gBAAgB,mBAAO,CAAC,0DAAiB;;AAEzC;;AAEA,qBAAqB,mBAAO,CAAC,sEAAiB;;AAE9C;;AAEA,gCAAgC,mBAAO,CAAC,wFAA6B;;AAErE;;AAEA,sBAAsB,mBAAO,CAAC,2EAAmB;;AAEjD,0BAA0B,mBAAO,CAAC,+FAA6B;;AAE/D;;AAEA,yBAAyB,mBAAO,CAAC,2FAAqB;;AAEtD;;AAEA,2BAA2B,mBAAO,CAAC,+FAAuB;;AAE1D;;AAEA,kCAAkC,mBAAO,CAAC,6GAA8B;;AAExE;;AAEA,qCAAqC,mBAAO,CAAC,qHAAwC;;AAErF;;AAEA,6BAA6B,mBAAO,CAAC,qGAAgC;;AAErE;;AAEA,0BAA0B,mBAAO,CAAC,+FAA6B;;AAE/D;;AAEA,wBAAwB,mBAAO,CAAC,2FAA2B;;AAE3D;;AAEA,oBAAoB,mBAAO,CAAC,mFAAuB;;AAEnD;;AAEA,sBAAsB,mBAAO,CAAC,yFAA0B;;AAExD;;AAEA,kCAAkC,mBAAO,CAAC,iHAAsC;;AAEhF;;AAEA,sBAAsB,mBAAO,CAAC,yFAA0B;;AAExD;;AAEA,iCAAiC,mBAAO,CAAC,+GAAqC;;AAE9E;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,kCAAkC,0BAA0B,0CAA0C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE,OAAO,wBAAwB,EAAE;;AAEjM,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;;AAEA,kFAAkF;;AAElF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,oFAAoF,kBAAkB;AACtG;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;AACT,yBAAyB,mDAAmD;AAC5E;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX,2BAA2B,oBAAoB;AAC/C;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,uBAAuB,+BAA+B;;AAEtD;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,+BAA+B,qBAAqB;AACpD,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC;AACjC;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA,sBAAsB,SAAS,6DAA6D,iBAAiB;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,8MAA8M,wDAAwD;AAC3R;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;AACA;AACA;AACA,uCAAuC,8BAA8B;AACrE;;AAEA;AACA,mBAAmB;AACnB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC,a;;;;;;;;;;;;ACviDY;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,cAAc,mBAAO,CAAC,4DAAe;;AAErC;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,uBAAuB,mBAAO,CAAC,6EAAmB;;AAElD,sBAAsB,mBAAO,CAAC,2EAAmB;;AAEjD,0BAA0B,mBAAO,CAAC,+FAA6B;;AAE/D;;AAEA,2BAA2B,mBAAO,CAAC,+FAAuB;;AAE1D;;AAEA,mBAAmB,mBAAO,CAAC,+EAAe;;AAE1C;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;;AAEA;AACA,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,yBAAyB;AACzB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,CAAC,8B;;;;;;;;;;;;ACtfY;;AAEb;AACA;AACA,CAAC;;AAED,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,cAAc,mBAAO,CAAC,4DAAe;;AAErC;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,uBAAuB,mBAAO,CAAC,6EAAmB;;AAElD,sBAAsB,mBAAO,CAAC,2EAAmB;;AAEjD,0BAA0B,mBAAO,CAAC,+FAA6B;;AAE/D;;AAEA,iBAAiB,mBAAO,CAAC,2EAAa;;AAEtC;;AAEA,kBAAkB,mBAAO,CAAC,6EAAc;;AAExC;;AAEA,iBAAiB,mBAAO,CAAC,2EAAa;;AAEtC;;AAEA,mBAAmB,mBAAO,CAAC,+EAAe;;AAE1C;;AAEA,kCAAkC,mBAAO,CAAC,iHAAsC;;AAEhF;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,kCAAkC,0BAA0B,0CAA0C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE,OAAO,wBAAwB,EAAE;;AAEjM,kFAAkF;AAClF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL,qCAAqC;AACrC,+CAA+C;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AAC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;AACH;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oDAAoD;AACpD,WAAW;AACX;;AAEA;AACA;AACA;;AAEA;AACA,gDAAgD;AAChD;AACA,aAAa;AACb,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,yCAAyC;AAC9D;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB,yCAAyC;AAC9D,WAAW;AACX;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,uBAAuB,yCAAyC;AAChE;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA,uBAAuB,yCAAyC;AAChE;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oDAAoD;AACpD,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kDAAkD;AAClD,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,kDAAkD;AAClD,SAAS;AACT;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,kDAAkD;AAClD,SAAS;AACT;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;;AAEX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;;AAET;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,kEAAkE;AAClE;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,8CAA8C,0BAA0B,uCAAuC,2BAA2B;AAC1I,WAAW;AACX,SAAS;AACT;AACA;;AAEA;AACA;AACA,gEAAgE,8CAA8C,uCAAuC,2BAA2B;AAChL;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,kEAAkE;AAClE;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,8CAA8C,0BAA0B,uCAAuC,2BAA2B;AAC1I,WAAW;AACX,SAAS;AACT;AACA;;AAEA;AACA;AACA,gEAAgE,8CAA8C,uCAAuC,2BAA2B;AAChL;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC;AACnC;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,oCAAoC;AACpC;;AAEA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;AACpC;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;;;AAGA;AACA,qD;;;;;;;;;;;;ACh+Ca;;AAEb;AACA;AACA,CAAC;;AAED,kCAAkC,iCAAiC,eAAe,eAAe,gBAAgB,oBAAoB,MAAM,0CAA0C,+BAA+B,aAAa,qBAAqB,mCAAmC,EAAE,EAAE,cAAc,WAAW,UAAU,EAAE,UAAU,MAAM,yCAAyC,EAAE,UAAU,kBAAkB,EAAE,EAAE,aAAa,EAAE,2BAA2B,0BAA0B,YAAY,EAAE,2CAA2C,8BAA8B,EAAE,OAAO,6EAA6E,EAAE,GAAG,EAAE;;AAErpB,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,cAAc,mBAAO,CAAC,4DAAe;;AAErC;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,4BAA4B,mBAAO,CAAC,kFAAwB;;AAE5D;;AAEA,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,cAAc,mBAAO,CAAC,sBAAQ;;AAE9B;;AAEA,eAAe,mBAAO,CAAC,4DAAe;;AAEtC;;AAEA,qBAAqB,mBAAO,CAAC,sEAAiB;;AAE9C;;AAEA,sBAAsB,mBAAO,CAAC,2EAAmB;;AAEjD,0BAA0B,mBAAO,CAAC,+FAA6B;;AAE/D;;AAEA,iBAAiB,mBAAO,CAAC,6EAAoB;;AAE7C;;AAEA,kBAAkB,mBAAO,CAAC,+EAAqB;;AAE/C;;AAEA,sBAAsB,mBAAO,CAAC,uFAAyB;;AAEvD;;AAEA,oBAAoB,mBAAO,CAAC,mFAAuB;;AAEnD;;AAEA,uBAAuB,mBAAO,CAAC,yFAA0B;;AAEzD;;AAEA,wBAAwB,mBAAO,CAAC,2FAA2B;;AAE3D;;AAEA,kCAAkC,mBAAO,CAAC,iHAAsC;;AAEhF;;AAEA,sBAAsB,mBAAO,CAAC,yFAA0B;;AAExD;;AAEA,iCAAiC,mBAAO,CAAC,+GAAqC;;AAE9E;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,iBAAiB,mBAAO,CAAC,2EAAa;;AAEtC;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,2CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oDAAoD;AACpD,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,yBAAyB,iBAAiB;AAC1C,mBAAmB,YAAY;AAC/B;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,8CAA8C;AAC9C;;AAEA;AACA;AACA,kDAAkD;AAClD,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,8CAA8C;;AAE9C;AACA;AACA,kDAAkD;AAClD,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA,kDAAkD;AAClD,SAAS;AACT;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA,kDAAkD;AAClD,SAAS;AACT;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;;AAET;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,kEAAkE;AAClE;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,8CAA8C,0BAA0B,uCAAuC,2BAA2B;AAC1I,WAAW;AACX,SAAS;AACT;AACA;;AAEA;AACA;AACA,gEAAgE,8CAA8C,uCAAuC,2BAA2B;AAChL;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,kEAAkE;AAClE;AACA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA,8CAA8C,0BAA0B,uCAAuC,2BAA2B;AAC1I,WAAW;AACX,SAAS;AACT;AACA;;AAEA;AACA;AACA,gEAAgE,8CAA8C,uCAAuC,2BAA2B;AAChL;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA,mCAAmC;AACnC;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;;;AAGA;AACA,0D;;;;;;;;;;;;ACjhCa;;AAEb;AACA;AACA,CAAC;;AAED,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,cAAc,mBAAO,CAAC,4DAAe;;AAErC;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,uBAAuB,mBAAO,CAAC,6EAAmB;;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AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,iIAAiI,gBAAgB;AACjJ;AACA;;AAEA;;;AAGA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C,qBAAqB,gBAAgB;AACrC;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA,yBAAyB,gBAAgB;AACzC;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET,uBAAuB,iBAAiB;AACxC,iBAAiB,aAAa;AAC9B;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,gBAAgB;AACzC;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,uBAAuB,6BAA6B,EAAE;;AAEtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iEAAiE;AACjE,WAAW;AACX;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa,oCAAoC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,oB;;;;;;;;;;;;ACp2BY;;AAEb;AACA;AACA,CAAC;;AAED,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,cAAc,mBAAO,CAAC,4DAAe;;AAErC;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,uBAAuB,mBAAO,CAAC,6EAAmB;;AAElD,sBAAsB,mBAAO,CAAC,2EAAmB;;AAEjD,0BAA0B,mBAAO,CAAC,+FAA6B;;AAE/D;;AAEA,iBAAiB,mBAAO,CAAC,2EAAa;;AAEtC;;AAEA,yBAAyB,mBAAO,CAAC,+FAA6B;;AAE9D;;AAEA,mBAAmB,mBAAO,CAAC,+EAAe;;AAE1C;;AAEA,oBAAoB,mBAAO,CAAC,iFAAgB;;AAE5C;;AAEA,0BAA0B,mBAAO,CAAC,iGAA8B;;AAEhE;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,kFAAkF;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA,GAAG;;;AAGH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,yB;;;;;;;;;;;;ACjWY;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mG;;;;;;;;;;;;ACtCa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACpNa;;AAEb;AACA;AACA,CAAC;;AAED,mBAAmB,mBAAO,CAAC,0FAA0B;;AAErD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,qBAAqB,mBAAO,CAAC,8FAA4B;;AAEzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,yBAAyB,mBAAO,CAAC,sGAAgC;;AAEjE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,uBAAuB,mBAAO,CAAC,kGAA8B;;AAE7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,4BAA4B,mBAAO,CAAC,4GAAmC;;AAEvE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,sCAAsC,mBAAO,CAAC,gIAA6C;;AAE3F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,4BAA4B,mBAAO,CAAC,oGAA+B;;AAEnE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,iBAAiB,mBAAO,CAAC,sFAAwB;;AAEjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,gCAAgC,mBAAO,CAAC,oHAAuC;;AAE/E;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,qCAAqC,mBAAO,CAAC,8HAA4C;;AAEzF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,wBAAwB,mBAAO,CAAC,oGAA+B;;AAE/D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,6BAA6B,mBAAO,CAAC,8GAAoC;;AAEzE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,6BAA6B,mBAAO,CAAC,sGAAgC;;AAErE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,6BAA6B,mBAAO,CAAC,oGAA+B;;AAEpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,8BAA8B,mBAAO,CAAC,sGAAgC;;AAEtE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,iBAAiB,mBAAO,CAAC,4EAAmB;;AAE5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,iBAAiB,mBAAO,CAAC,4EAAmB;;AAE5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,uBAAuB,mBAAO,CAAC,wFAAyB;;AAExD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,6BAA6B,mBAAO,CAAC,oGAA+B;;AAEpE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,sBAAsB,mBAAO,CAAC,sFAAwB;;AAEtD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAED,sCAAsC,uCAAuC,kBAAkB,E;;;;;;;;;;;;AC1QlF;;AAEb,4CAA4C,mBAAO,CAAC,kIAA8C;;AAElG;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,yD;;;;;;;;;;;;ACRa;;AAEb;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,qG;;;;;;;;;;;;ACda;;AAEb;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,oL;;;;;;;;;;;;ACda;;AAEb;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,4BAA4B,mBAAO,CAAC,kFAAwB;;AAE5D;;AAEA,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,sBAAsB,mBAAO,CAAC,2EAAmB;;AAEjD,0BAA0B,mBAAO,CAAC,+FAA6B;;AAE/D;;AAEA,yBAAyB,mBAAO,CAAC,uFAAqB;;AAEtD;;AAEA,yBAAyB,mBAAO,CAAC,uFAAqB;;AAEtD;;AAEA,wBAAwB,mBAAO,CAAC,qFAAoB;;AAEpD;;AAEA,qBAAqB,mBAAO,CAAC,+EAAiB;;AAE9C;;AAEA,4BAA4B,mBAAO,CAAC,6FAAwB;;AAE5D;;AAEA,0BAA0B,mBAAO,CAAC,yFAAsB;;AAExD;;AAEA,sBAAsB,mBAAO,CAAC,iFAAkB;;AAEhD;;AAEA,iCAAiC,mBAAO,CAAC,uGAA6B;;AAEtE;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACtIa;;AAEb;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,uE;;;;;;;;;;;;ACda;;AAEb;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,iK;;;;;;;;;;;;ACda;;AAEb;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,gG;;;;;;;;;;;;ACda;;AAEb;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,qH;;;;;;;;;;;;ACda;;AAEb;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,sCAAsC,uCAAuC,kBAAkB;;AAE/F,2CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M,kCAAkC,0BAA0B,0CAA0C,gBAAgB,OAAO,kBAAkB,EAAE,aAAa,EAAE,OAAO,wBAAwB,EAAE;;AAEjM;AACA;AACA,sFAAsF,aAAa;AACnG;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,8HAA8H;AAC9H;AACA,KAAK;AACL;AACA;;AAEA;AACA,CAAC,mC;;;;;;;;;;;;ACtCY;;AAEb;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,8F;;;;;;;;;;;;ACda;;AAEb;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,wH;;;;;;;;;;;;ACda;;AAEb;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F,wJ;;;;;;;;;;;;ACda;;AAEb;AACA;AACA,CAAC;;AAED,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,4BAA4B,mBAAO,CAAC,kFAAwB;;AAE5D;;AAEA,uBAAuB,mBAAO,CAAC,oEAAmB;;AAElD,sBAAsB,mBAAO,CAAC,2EAAmB;;AAEjD,0BAA0B,mBAAO,CAAC,+FAA6B;;AAE/D;;AAEA,yBAAyB,mBAAO,CAAC,uFAAqB;;AAEtD;;AAEA,wBAAwB,mBAAO,CAAC,qFAAoB;;AAEpD;;AAEA,4BAA4B,mBAAO,CAAC,6FAAwB;;AAE5D;;AAEA,0BAA0B,mBAAO,CAAC,yFAAsB;;AAExD;;AAEA,sBAAsB,mBAAO,CAAC,iFAAkB;;AAEhD;;AAEA,iCAAiC,mBAAO,CAAC,uGAA6B;;AAEtE;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;AC1Ha;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACvMa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACrCa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,YAAY,YAAY;AACxB;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,wBAAwB;AACnC,YAAY,wBAAwB;AACpC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;AClFa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,C;;;;;;;;;;;;ACRa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,iBAAiB,mBAAO,CAAC,sEAAa;;AAEtC;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,uBAAuB;;AAEvB;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACnDa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,cAAc,mBAAO,CAAC,sBAAQ;;AAE9B;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,iBAAiB,eAAe;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACzDa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,C;;;;;;;;;;;;ACRa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,C;;;;;;;;;;;;AC7Ca;;AAEb;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,C;;;;;;;;;;;;AC1Da;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,cAAc,mBAAO,CAAC,sBAAQ;;AAE9B;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,C;;;;;;;;;;;;ACxBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACda;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,cAAc,mBAAO,CAAC,4DAAe;;AAErC;;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A;AACA,C;;;;;;;;;;;;ACxBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,cAAc,mBAAO,CAAC,sBAAQ;;AAE9B;;AAEA,iBAAiB,mBAAO,CAAC,iEAAc;;AAEvC,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtHA,aAAa,mBAAO,CAAC,sBAAQ;AAC7B,8BAA8B,mBAAO,CAAC,2GAA6B;AACnE,WAAW,mBAAO,CAAC,iEAAQ;;AAE3B;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;;;;;;;;;;;;ACvCA,aAAa,mBAAO,CAAC,sBAAQ;;AAE7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;ACnBa;;AAEb;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,g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EA;AACA;AACA,GAAG;AACH;;AAEA,gBAAgB;AAChB;AACA;AACA;;AAEA,sBAAsB,oC;;;;;;;;;;;ACzEtB;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA,0C;;;;;;;;;;;ACPA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;ACfA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,wBAAwB;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oC;;;;;;;;;;;AC1CA;AACA,iBAAiB,mBAAO,CAAC,qFAAiB;;;;;;;;;;;;ACD1C;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,MAAM,KAAqC;AAC3C;AACA;;AAEA,mEAAmE,aAAa;AAChF;AACA;;AAEA;;AAEA,MAAM,KAAqC;AAC3C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,sEAAsE,eAAe;AACrF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sEAAsE,eAAe;AACrF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;AC9FA;AACA;AACA,CAAC;AACD;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B;;AAEA,iBAAiB,mBAAO,CAAC,sDAAY;;AAErC;;AAEA,4BAA4B,mBAAO,CAAC,2GAAyB;;AAE7D;;AAEA,iBAAiB,mBAAO,CAAC,uDAAW;;AAEpC;;AAEA,iBAAiB,mBAAO,CAAC,kGAAqC;;AAE9D,cAAc,mBAAO,CAAC,gHAA4C;;AAElE;;AAEA,wBAAwB,mBAAO,CAAC,oFAAoB;;AAEpD;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,2CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,qCAAqC;;AAErC;;AAEA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,KAAqC;AAC7C;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA,QAAQ,KAAqC;AAC7C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA,mFAAmF,yBAAyB;AAC5G;;AAEA;AACA,WAAW;AACX,SAAS;;AAET;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;AACA;AACA,gEAAgE;AAChE;;AAEA;AACA;;AAEA;AACA,GAAG;AACH,C;;;;;;;;;;;ACxPA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB,8BAA8B;AACpD,sBAAsB,8BAA8B;AACpD,sBAAsB,8BAA8B;;AAEpD;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,mBAAmB,OAAO;AACzD,+BAA+B,mBAAmB,OAAO;AACzD,+BAA+B,mBAAmB,OAAO;AACzD;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,gBAAgB;AAChB,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;;AAEA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,cAAc;AACd;AACA;AACA;AACA,sDAAsD;AACtD,wCAAwC;AACxC,wCAAwC;AACxC;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,eAAe,UAAU;AACzB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,wCAAwC;AAC3D,mBAAmB,yCAAyC;AAC5D,mBAAmB,yCAAyC;AAC5D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uCAAuC;AAC1D,mBAAmB,wCAAwC;AAC3D;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+DAA+D,WAAW;AAC1E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,kBAAkB;AAC9C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2DAA2D,wBAAwB;;AAEnF;AACA;AACA,2CAA2C,wBAAwB;AACnE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,8EAA8E,4BAA4B,gBAAgB;AAC1H,8EAA8E,2BAA2B,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH,qDAAqD,oDAAoD,gBAAgB;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,0BAA0B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA,KAAK,kBAAkB,YAAY,kBAAkB;AACrD;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4BAA4B,YAAY;;AAExC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE;AACjE,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE;AACjE,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACjF,+BAA+B,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE;AACjF;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,UAAU,OAAO,UAAU,OAAO,SAAS;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA,IAAI,KAA6B;AACjC;AACA;AACA;AACA,SAAS,IAA0C;AACnD,IAAI,mCAAO,aAAa,kBAAkB;AAAA,oGAAC;AAC3C;AACA;AACA,KAAK,EAEJ;;AAED,CAAC;;;;;;;;;;;;AC1qCD;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACvBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,QAAQ;AAC9B;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;ACjCA,UAAU,mBAAO,CAAC,yDAAW;AAC7B,kBAAkB,mBAAO,CAAC,iEAAmB;;AAE7C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;AC5BA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;ACnBA,aAAa,qCAAqC,EAAE,I;;;;;;;;;;;ACApD,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,wCAAwC,EAAE,I;;;;;;;;;;;ACAvD,aAAa,2CAA2C,EAAE,I;;;;;;;;;;;ACA1D,aAAa,oCAAoC,EAAE,I;;;;;;;;;;;ACAnD,aAAa,wCAAwC,EAAE,I;;;;;;;;;;;ACAvD,aAAa,sCAAsC,EAAE,I;;;;;;;;;;;ACArD,aAAa,qCAAqC,EAAE,I;;;;;;;;;;;ACApD,aAAa,+CAA+C,EAAE,I;;;;;;;;;;;ACA9D,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,yCAAyC,EAAE,I;;;;;;;;;;;ACAxD,aAAa,oCAAoC,EAAE,I;;;;;;;;;;;ACAnD,aAAa,iCAAiC,EAAE,I;;;;;;;;;;;ACAhD,aAAa,iCAAiC,EAAE,I;;;;;;;;;;;ACAhD,aAAa,gCAAgC,EAAE,I;;;;;;;;;;;ACA/C,aAAa,mCAAmC,EAAE,I","file":"components.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./node_modules/@wordpress/components/build-module/index.js\");\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}","export default function _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}","import defineProperty from \"./defineProperty\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import _typeof from \"../../helpers/esm/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import arrayWithHoles from \"./arrayWithHoles\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit\";\nimport nonIterableRest from \"./nonIterableRest\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || nonIterableRest();\n}","import arrayWithoutHoles from \"./arrayWithoutHoles\";\nimport iterableToArray from \"./iterableToArray\";\nimport nonIterableSpread from \"./nonIterableSpread\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || nonIterableSpread();\n}","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nexport default function _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { escapeRegExp, find, map, debounce, deburr } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, renderToString } from '@wordpress/element';\nimport { ENTER, ESCAPE, UP, DOWN, LEFT, RIGHT, SPACE } from '@wordpress/keycodes';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { withInstanceId, compose } from '@wordpress/compose';\nimport {\n\tcreate,\n\tslice,\n\tinsert,\n\tisCollapsed,\n\tgetTextContent,\n} from '@wordpress/rich-text';\nimport { getRectangleFromRange } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport withFocusOutside from '../higher-order/with-focus-outside';\nimport Button from '../button';\nimport Popover from '../popover';\nimport withSpokenMessages from '../higher-order/with-spoken-messages';\n\n/**\n * A raw completer option.\n * @typedef {*} CompleterOption\n */\n\n/**\n * @callback FnGetOptions\n *\n * @returns {(CompleterOption[]|Promise.<CompleterOption[]>)} The completer options or a promise for them.\n */\n\n/**\n * @callback FnGetOptionKeywords\n * @param {CompleterOption} option a completer option.\n *\n * @returns {string[]} list of key words to search.\n */\n\n/**\n * @callback FnIsOptionDisabled\n * @param {CompleterOption} option a completer option.\n *\n * @returns {string[]} whether or not the given option is disabled.\n */\n\n/**\n * @callback FnGetOptionLabel\n * @param {CompleterOption} option a completer option.\n *\n * @returns {(string|Array.<(string|Component)>)} list of react components to render.\n */\n\n/**\n * @callback FnAllowNode\n * @param {Node} textNode check if the completer can handle this text node.\n *\n * @returns {boolean} true if the completer can handle this text node.\n */\n\n/**\n * @callback FnAllowContext\n * @param {Range} before the range before the auto complete trigger and query.\n * @param {Range} after the range after the autocomplete trigger and query.\n *\n * @returns {boolean} true if the completer can handle these ranges.\n */\n\n/**\n * @typedef {Object} OptionCompletion\n * @property {('insert-at-caret', 'replace')} action the intended placement of the completion.\n * @property {OptionCompletionValue} value the completion value.\n */\n\n/**\n * A completion value.\n * @typedef {(String|WPElement|Object)} OptionCompletionValue\n */\n\n/**\n * @callback FnGetOptionCompletion\n * @param {CompleterOption} value the value of the completer option.\n * @param {Range} range the nodes included in the autocomplete trigger and query.\n * @param {String} query the text value of the autocomplete query.\n *\n * @returns {(OptionCompletion|OptionCompletionValue)} the completion for the given option. If an\n * \t\t\t\t\t\t\t\t\t\t\t\t\t OptionCompletionValue is returned, the\n * \t\t\t\t\t\t\t\t\t\t\t\t\t completion action defaults to `insert-at-caret`.\n */\n\n/**\n * @typedef {Object} Completer\n * @property {String} name a way to identify a completer, useful for selective overriding.\n * @property {?String} className A class to apply to the popup menu.\n * @property {String} triggerPrefix the prefix that will display the menu.\n * @property {(CompleterOption[]|FnGetOptions)} options the completer options or a function to get them.\n * @property {?FnGetOptionKeywords} getOptionKeywords get the keywords for a given option.\n * @property {?FnIsOptionDisabled} isOptionDisabled get whether or not the given option is disabled.\n * @property {FnGetOptionLabel} getOptionLabel get the label for a given option.\n * @property {?FnAllowNode} allowNode filter the allowed text nodes in the autocomplete.\n * @property {?FnAllowContext} allowContext filter the context under which the autocomplete activates.\n * @property {FnGetOptionCompletion} getOptionCompletion get the completion associated with a given option.\n */\n\nfunction filterOptions( search, options = [], maxResults = 10 ) {\n\tconst filtered = [];\n\tfor ( let i = 0; i < options.length; i++ ) {\n\t\tconst option = options[ i ];\n\n\t\t// Merge label into keywords\n\t\tlet { keywords = [] } = option;\n\t\tif ( 'string' === typeof option.label ) {\n\t\t\tkeywords = [ ...keywords, option.label ];\n\t\t}\n\n\t\tconst isMatch = keywords.some( ( keyword ) => search.test( deburr( keyword ) ) );\n\t\tif ( ! isMatch ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tfiltered.push( option );\n\n\t\t// Abort early if max reached\n\t\tif ( filtered.length === maxResults ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn filtered;\n}\n\nfunction getCaretRect() {\n\tconst range = window.getSelection().getRangeAt( 0 );\n\n\tif ( range ) {\n\t\treturn getRectangleFromRange( range );\n\t}\n}\n\nexport class Autocomplete extends Component {\n\tstatic getInitialState() {\n\t\treturn {\n\t\t\tsearch: /./,\n\t\t\tselectedIndex: 0,\n\t\t\tsuppress: undefined,\n\t\t\topen: undefined,\n\t\t\tquery: undefined,\n\t\t\tfilteredOptions: [],\n\t\t};\n\t}\n\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindNode = this.bindNode.bind( this );\n\t\tthis.select = this.select.bind( this );\n\t\tthis.reset = this.reset.bind( this );\n\t\tthis.resetWhenSuppressed = this.resetWhenSuppressed.bind( this );\n\t\tthis.handleKeyDown = this.handleKeyDown.bind( this );\n\t\tthis.debouncedLoadOptions = debounce( this.loadOptions, 250 );\n\n\t\tthis.state = this.constructor.getInitialState();\n\t}\n\n\tbindNode( node ) {\n\t\tthis.node = node;\n\t}\n\n\tinsertCompletion( replacement ) {\n\t\tconst { open, query } = this.state;\n\t\tconst { record, onChange } = this.props;\n\t\tconst end = record.start;\n\t\tconst start = end - open.triggerPrefix.length - query.length;\n\t\tconst toInsert = create( { html: renderToString( replacement ) } );\n\n\t\tonChange( insert( record, toInsert, start, end ) );\n\t}\n\n\tselect( option ) {\n\t\tconst { onReplace } = this.props;\n\t\tconst { open, query } = this.state;\n\t\tconst { getOptionCompletion } = open || {};\n\n\t\tif ( option.isDisabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( getOptionCompletion ) {\n\t\t\tconst completion = getOptionCompletion( option.value, query );\n\n\t\t\tconst { action, value } =\n\t\t\t\t( undefined === completion.action || undefined === completion.value ) ?\n\t\t\t\t\t{ action: 'insert-at-caret', value: completion } :\n\t\t\t\t\tcompletion;\n\n\t\t\tif ( 'replace' === action ) {\n\t\t\t\tonReplace( [ value ] );\n\t\t\t} else if ( 'insert-at-caret' === action ) {\n\t\t\t\tthis.insertCompletion( value );\n\t\t\t}\n\t\t}\n\n\t\t// Reset autocomplete state after insertion rather than before\n\t\t// so insertion events don't cause the completion menu to redisplay.\n\t\tthis.reset();\n\t}\n\n\treset() {\n\t\tconst isMounted = !! this.node;\n\n\t\t// Autocompletions may replace the block containing this component,\n\t\t// so we make sure it is mounted before resetting the state.\n\t\tif ( isMounted ) {\n\t\t\tthis.setState( this.constructor.getInitialState() );\n\t\t}\n\t}\n\n\tresetWhenSuppressed() {\n\t\tconst { open, suppress } = this.state;\n\t\tif ( open && suppress === open.idx ) {\n\t\t\tthis.reset();\n\t\t}\n\t}\n\n\thandleFocusOutside() {\n\t\tthis.reset();\n\t}\n\n\tannounce( filteredOptions ) {\n\t\tconst { debouncedSpeak } = this.props;\n\t\tif ( ! debouncedSpeak ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( !! filteredOptions.length ) {\n\t\t\tdebouncedSpeak( sprintf( _n(\n\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\tfilteredOptions.length\n\t\t\t), filteredOptions.length ), 'assertive' );\n\t\t} else {\n\t\t\tdebouncedSpeak( __( 'No results.' ), 'assertive' );\n\t\t}\n\t}\n\n\t/**\n\t * Load options for an autocompleter.\n\t *\n\t * @param {Completer} completer The autocompleter.\n\t * @param {string} query The query, if any.\n\t */\n\tloadOptions( completer, query ) {\n\t\tconst { options } = completer;\n\n\t\t/*\n\t\t * We support both synchronous and asynchronous retrieval of completer options\n\t\t * but internally treat all as async so we maintain a single, consistent code path.\n\t\t *\n\t\t * Because networks can be slow, and the internet is wonderfully unpredictable,\n\t\t * we don't want two promises updating the state at once. This ensures that only\n\t\t * the most recent promise will act on `optionsData`. This doesn't use the state\n\t\t * because `setState` is batched, and so there's no guarantee that setting\n\t\t * `activePromise` in the state would result in it actually being in `this.state`\n\t\t * before the promise resolves and we check to see if this is the active promise or not.\n\t\t */\n\t\tconst promise = this.activePromise = Promise.resolve(\n\t\t\ttypeof options === 'function' ? options( query ) : options\n\t\t).then( ( optionsData ) => {\n\t\t\tif ( promise !== this.activePromise ) {\n\t\t\t\t// Another promise has become active since this one was asked to resolve, so do nothing,\n\t\t\t\t// or else we might end triggering a race condition updating the state.\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst keyedOptions = optionsData.map( ( optionData, optionIndex ) => ( {\n\t\t\t\tkey: `${ completer.idx }-${ optionIndex }`,\n\t\t\t\tvalue: optionData,\n\t\t\t\tlabel: completer.getOptionLabel( optionData ),\n\t\t\t\tkeywords: completer.getOptionKeywords ? completer.getOptionKeywords( optionData ) : [],\n\t\t\t\tisDisabled: completer.isOptionDisabled ? completer.isOptionDisabled( optionData ) : false,\n\t\t\t} ) );\n\n\t\t\tconst filteredOptions = filterOptions( this.state.search, keyedOptions );\n\t\t\tconst selectedIndex = filteredOptions.length === this.state.filteredOptions.length ? this.state.selectedIndex : 0;\n\t\t\tthis.setState( {\n\t\t\t\t[ 'options_' + completer.idx ]: keyedOptions,\n\t\t\t\tfilteredOptions,\n\t\t\t\tselectedIndex,\n\t\t\t} );\n\t\t\tthis.announce( filteredOptions );\n\t\t} );\n\t}\n\n\thandleKeyDown( event ) {\n\t\tconst { open, suppress, selectedIndex, filteredOptions } = this.state;\n\t\tif ( ! open ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( suppress === open.idx ) {\n\t\t\tswitch ( event.keyCode ) {\n\t\t\t\t// cancel popup suppression on CTRL+SPACE\n\t\t\t\tcase SPACE:\n\t\t\t\t\tconst { ctrlKey, shiftKey, altKey, metaKey } = event;\n\t\t\t\t\tif ( ctrlKey && ! ( shiftKey || altKey || metaKey ) ) {\n\t\t\t\t\t\tthis.setState( { suppress: undefined } );\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\t// reset on cursor movement\n\t\t\t\tcase UP:\n\t\t\t\tcase DOWN:\n\t\t\t\tcase LEFT:\n\t\t\t\tcase RIGHT:\n\t\t\t\t\tthis.reset();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\t\tif ( filteredOptions.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\t\tlet nextSelectedIndex;\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase UP:\n\t\t\t\tnextSelectedIndex = ( selectedIndex === 0 ? filteredOptions.length : selectedIndex ) - 1;\n\t\t\t\tthis.setState( { selectedIndex: nextSelectedIndex } );\n\t\t\t\tbreak;\n\n\t\t\tcase DOWN:\n\t\t\t\tnextSelectedIndex = ( selectedIndex + 1 ) % filteredOptions.length;\n\t\t\t\tthis.setState( { selectedIndex: nextSelectedIndex } );\n\t\t\t\tbreak;\n\n\t\t\tcase ESCAPE:\n\t\t\t\tthis.setState( { suppress: open.idx } );\n\t\t\t\tbreak;\n\n\t\t\tcase ENTER:\n\t\t\t\tthis.select( filteredOptions[ selectedIndex ] );\n\t\t\t\tbreak;\n\n\t\t\tcase LEFT:\n\t\t\tcase RIGHT:\n\t\t\t\tthis.reset();\n\t\t\t\treturn;\n\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\n\t\t// Any handled keycode should prevent original behavior. This relies on\n\t\t// the early return in the default case.\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t}\n\n\ttoggleKeyEvents( isListening ) {\n\t\t// This exists because we must capture ENTER key presses before RichText.\n\t\t// It seems that react fires the simulated capturing events after the\n\t\t// native browser event has already bubbled so we can't stopPropagation\n\t\t// and avoid RichText getting the event from TinyMCE, hence we must\n\t\t// register a native event handler.\n\t\tconst handler = isListening ? 'addEventListener' : 'removeEventListener';\n\t\tthis.node[ handler ]( 'keydown', this.handleKeyDown, true );\n\t}\n\n\tcomponentDidUpdate( prevProps, prevState ) {\n\t\tconst { record, completers } = this.props;\n\t\tconst { record: prevRecord } = prevProps;\n\t\tconst { open: prevOpen } = prevState;\n\n\t\tif ( ( ! this.state.open ) !== ( ! prevOpen ) ) {\n\t\t\tthis.toggleKeyEvents( ! ! this.state.open );\n\t\t}\n\n\t\tif ( isCollapsed( record ) ) {\n\t\t\tconst text = deburr( getTextContent( slice( record, 0 ) ) );\n\t\t\tconst prevText = deburr( getTextContent( slice( prevRecord, 0 ) ) );\n\n\t\t\tif ( text !== prevText ) {\n\t\t\t\tconst textAfterSelection = getTextContent( slice( record, undefined, getTextContent( record ).length ) );\n\t\t\t\tconst allCompleters = map( completers, ( completer, idx ) => ( { ...completer, idx } ) );\n\t\t\t\tconst open = find( allCompleters, ( { triggerPrefix, allowContext } ) => {\n\t\t\t\t\tconst index = text.lastIndexOf( triggerPrefix );\n\n\t\t\t\t\tif ( index === -1 ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( allowContext && ! allowContext( text.slice( 0, index ), textAfterSelection ) ) {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn /^\\S*$/.test( text.slice( index + triggerPrefix.length ) );\n\t\t\t\t} );\n\n\t\t\t\tif ( ! open ) {\n\t\t\t\t\tthis.reset();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst safeTrigger = escapeRegExp( open.triggerPrefix );\n\t\t\t\tconst match = text.match( new RegExp( `${ safeTrigger }(\\\\S*)$` ) );\n\t\t\t\tconst query = match && match[ 1 ];\n\t\t\t\tconst { open: wasOpen, suppress: wasSuppress, query: wasQuery } = this.state;\n\n\t\t\t\tif ( open && ( ! wasOpen || open.idx !== wasOpen.idx || query !== wasQuery ) ) {\n\t\t\t\t\tif ( open.isDebounced ) {\n\t\t\t\t\t\tthis.debouncedLoadOptions( open, query );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.loadOptions( open, query );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// create a regular expression to filter the options\n\t\t\t\tconst search = open ? new RegExp( '(?:\\\\b|\\\\s|^)' + escapeRegExp( query ), 'i' ) : /./;\n\t\t\t\t// filter the options we already have\n\t\t\t\tconst filteredOptions = open ? filterOptions( search, this.state[ 'options_' + open.idx ] ) : [];\n\t\t\t\t// check if we should still suppress the popover\n\t\t\t\tconst suppress = ( open && wasSuppress === open.idx ) ? wasSuppress : undefined;\n\t\t\t\t// update the state\n\t\t\t\tif ( wasOpen || open ) {\n\t\t\t\t\tthis.setState( { selectedIndex: 0, filteredOptions, suppress, search, open, query } );\n\t\t\t\t}\n\t\t\t\t// announce the count of filtered options but only if they have loaded\n\t\t\t\tif ( open && this.state[ 'options_' + open.idx ] ) {\n\t\t\t\t\tthis.announce( filteredOptions );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.toggleKeyEvents( false );\n\t\tthis.debouncedLoadOptions.cancel();\n\t}\n\n\trender() {\n\t\tconst { children, instanceId } = this.props;\n\t\tconst { open, suppress, selectedIndex, filteredOptions } = this.state;\n\t\tconst { key: selectedKey = '' } = filteredOptions[ selectedIndex ] || {};\n\t\tconst { className, idx } = open || {};\n\t\tconst isExpanded = suppress !== idx && filteredOptions.length > 0;\n\t\tconst listBoxId = isExpanded ? `components-autocomplete-listbox-${ instanceId }` : null;\n\t\tconst activeId = isExpanded ? `components-autocomplete-item-${ instanceId }-${ selectedKey }` : null;\n\n\t\t// Disable reason: Clicking the editor should reset the autocomplete when the menu is suppressed\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/onclick-has-role, jsx-a11y/click-events-have-key-events */\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={ this.bindNode }\n\t\t\t\tonClick={ this.resetWhenSuppressed }\n\t\t\t\tclassName=\"components-autocomplete\"\n\t\t\t>\n\t\t\t\t{ children( { isExpanded, listBoxId, activeId } ) }\n\t\t\t\t{ isExpanded && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\t\tonClose={ this.reset }\n\t\t\t\t\t\tposition=\"top right\"\n\t\t\t\t\t\tclassName=\"components-autocomplete__popover\"\n\t\t\t\t\t\tgetAnchorRect={ getCaretRect }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tid={ listBoxId }\n\t\t\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\t\t\tclassName=\"components-autocomplete__results\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isExpanded && map( filteredOptions, ( option, index ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tkey={ option.key }\n\t\t\t\t\t\t\t\t\tid={ `components-autocomplete-item-${ instanceId }-${ option.key }` }\n\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\taria-selected={ index === selectedIndex }\n\t\t\t\t\t\t\t\t\tdisabled={ option.isDisabled }\n\t\t\t\t\t\t\t\t\tclassName={ classnames( 'components-autocomplete__result', className, {\n\t\t\t\t\t\t\t\t\t\t'is-selected': index === selectedIndex,\n\t\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t\t\tonClick={ () => this.select( option ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/onclick-has-role, jsx-a11y/click-events-have-key-events */\n\t}\n}\n\nexport default compose( [\n\twithSpokenMessages,\n\twithInstanceId,\n\twithFocusOutside, // this MUST be the innermost HOC as it calls handleFocusOutside\n] )( Autocomplete );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nfunction BaseControl( { id, label, help, className, children } ) {\n\treturn (\n\t\t<div className={ classnames( 'components-base-control', className ) }>\n\t\t\t<div className=\"components-base-control__field\">\n\t\t\t\t{ label && id && <label className=\"components-base-control__label\" htmlFor={ id }>{ label }</label> }\n\t\t\t\t{ label && ! id && <span className=\"components-base-control__label\">{ label }</span> }\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t\t{ !! help && <p id={ id + '__help' } className=\"components-base-control__help\">{ help }</p> }\n\t\t</div>\n\t);\n}\n\nexport default BaseControl;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nfunction ButtonGroup( { className, ...props } ) {\n\tconst classes = classnames( 'components-button-group', className );\n\n\treturn (\n\t\t<div { ...props } className={ classes } role=\"group\" />\n\t);\n}\n\nexport default ButtonGroup;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createElement, forwardRef } from '@wordpress/element';\n\nexport function Button( props, ref ) {\n\tconst {\n\t\thref,\n\t\ttarget,\n\t\tisPrimary,\n\t\tisLarge,\n\t\tisSmall,\n\t\tisTertiary,\n\t\tisToggled,\n\t\tisBusy,\n\t\tisDefault,\n\t\tisLink,\n\t\tisDestructive,\n\t\tclassName,\n\t\tdisabled,\n\t\t...additionalProps\n\t} = props;\n\n\tconst classes = classnames( 'components-button', className, {\n\t\t'is-button': isDefault || isPrimary || isLarge || isSmall,\n\t\t'is-default': isDefault || isLarge || isSmall,\n\t\t'is-primary': isPrimary,\n\t\t'is-large': isLarge,\n\t\t'is-small': isSmall,\n\t\t'is-tertiary': isTertiary,\n\t\t'is-toggled': isToggled,\n\t\t'is-busy': isBusy,\n\t\t'is-link': isLink,\n\t\t'is-destructive': isDestructive,\n\t} );\n\n\tconst tag = href !== undefined && ! disabled ? 'a' : 'button';\n\tconst tagProps = tag === 'a' ? { href, target } : { type: 'button', disabled };\n\n\treturn createElement( tag, {\n\t\t...tagProps,\n\t\t...additionalProps,\n\t\tclassName: classes,\n\t\tref,\n\t} );\n}\n\nexport default forwardRef( Button );\n","/**\n * External dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\n\nfunction CheckboxControl( { label, className, heading, checked, help, instanceId, onChange, ...props } ) {\n\tconst id = `inspector-checkbox-control-${ instanceId }`;\n\tconst onChangeValue = ( event ) => onChange( event.target.checked );\n\n\treturn (\n\t\t<BaseControl label={ heading } id={ id } help={ help } className={ className }>\n\t\t\t<input\n\t\t\t\tid={ id }\n\t\t\t\tclassName=\"components-checkbox-control__input\"\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tvalue=\"1\"\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\tchecked={ checked }\n\t\t\t\taria-describedby={ !! help ? id + '__help' : undefined }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<label className=\"components-checkbox-control__label\" htmlFor={ id }>\n\t\t\t\t{ label }\n\t\t\t</label>\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( CheckboxControl );\n","/**\n * External dependencies\n */\nimport Clipboard from 'clipboard';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\nimport Button from '../button';\n\nclass ClipboardButton extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\t\tthis.onCopy = this.onCopy.bind( this );\n\t\tthis.getText = this.getText.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { container, getText, onCopy } = this;\n\t\tconst button = container.firstChild;\n\n\t\tthis.clipboard = new Clipboard( button,\t{\n\t\t\ttext: getText,\n\t\t\tcontainer,\n\t\t} );\n\n\t\tthis.clipboard.on( 'success', onCopy );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.clipboard.destroy();\n\t\tdelete this.clipboard;\n\t\tclearTimeout( this.onCopyTimeout );\n\t}\n\n\tbindContainer( container ) {\n\t\tthis.container = container;\n\t}\n\n\tonCopy( args ) {\n\t\t// Clearing selection will move focus back to the triggering button,\n\t\t// ensuring that it is not reset to the body, and further that it is\n\t\t// kept within the rendered node.\n\t\targs.clearSelection();\n\n\t\tconst { onCopy, onFinishCopy } = this.props;\n\t\tif ( onCopy ) {\n\t\t\tonCopy();\n\t\t\t// For convenience and consistency, ClipboardButton offers to call\n\t\t\t// a secondary callback with delay. This is useful to reset\n\t\t\t// consumers' state, e.g. to revert a label from \"Copied\" to\n\t\t\t// \"Copy\".\n\t\t\tif ( onFinishCopy ) {\n\t\t\t\tclearTimeout( this.onCopyTimeout );\n\t\t\t\tthis.onCopyTimeout = setTimeout( onFinishCopy, 4000 );\n\t\t\t}\n\t\t}\n\t}\n\n\tgetText() {\n\t\tlet text = this.props.text;\n\t\tif ( 'function' === typeof text ) {\n\t\t\ttext = text();\n\t\t}\n\n\t\treturn text;\n\t}\n\n\trender() {\n\t\t// Disable reason: Exclude from spread props passed to Button\n\t\t// eslint-disable-next-line no-unused-vars\n\t\tconst { className, children, onCopy, onFinishCopy, text, ...buttonProps } = this.props;\n\t\tconst { icon } = buttonProps;\n\t\tconst classes = classnames( 'components-clipboard-button', className );\n\t\tconst ComponentToUse = icon ? IconButton : Button;\n\n\t\t// Workaround for inconsistent behavior in Safari, where <textarea> is not\n\t\t// the document.activeElement at the moment when the copy event fires.\n\t\t// This causes documentHasSelection() in the copy-handler component to\n\t\t// mistakenly override the ClipboardButton, and copy a serialized string\n\t\t// of the current block instead.\n\t\tconst focusOnCopyEventTarget = ( event ) => {\n\t\t\tevent.target.focus();\n\t\t};\n\n\t\treturn (\n\t\t\t<span ref={ this.bindContainer } onCopy={ focusOnCopyEventTarget }>\n\t\t\t\t<ComponentToUse { ...buttonProps } className={ classes }>\n\t\t\t\t\t{ children }\n\t\t\t\t</ComponentToUse>\n\t\t\t</span>\n\t\t);\n\t}\n}\n\nexport default ClipboardButton;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nconst ColorIndicator = ( { className, colorValue, ...props } ) => (\n\t<span\n\t\tclassName={ classnames( 'component-color-indicator', className ) }\n\t\tstyle={ { background: colorValue } }\n\t\t{ ...props }\n\t/>\n);\n\nexport default ColorIndicator;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport Dropdown from '../dropdown';\nimport Tooltip from '../tooltip';\nimport ColorPicker from '../color-picker';\n\nexport default function ColorPalette( { colors, disableCustomColors = false, value, onChange, className } ) {\n\tfunction applyOrUnset( color ) {\n\t\treturn () => onChange( value === color ? undefined : color );\n\t}\n\tconst customColorPickerLabel = __( 'Custom color picker' );\n\tconst classes = classnames( 'components-color-palette', className );\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t{ map( colors, ( { color, name } ) => {\n\t\t\t\tconst style = { color: color };\n\t\t\t\tconst itemClasses = classnames( 'components-color-palette__item', { 'is-active': value === color } );\n\n\t\t\t\treturn (\n\t\t\t\t\t<div key={ color } className=\"components-color-palette__item-wrapper\">\n\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\ttext={ name ||\n\t\t\t\t\t\t\t\t// translators: %s: color hex code e.g: \"#f00\".\n\t\t\t\t\t\t\t\tsprintf( __( 'Color code: %s' ), color )\n\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tclassName={ itemClasses }\n\t\t\t\t\t\t\t\tstyle={ style }\n\t\t\t\t\t\t\t\tonClick={ applyOrUnset( color ) }\n\t\t\t\t\t\t\t\taria-label={ name ?\n\t\t\t\t\t\t\t\t\t// translators: %s: The name of the color e.g: \"vivid red\".\n\t\t\t\t\t\t\t\t\tsprintf( __( 'Color: %s' ), name ) :\n\t\t\t\t\t\t\t\t\t// translators: %s: color hex code e.g: \"#f00\".\n\t\t\t\t\t\t\t\t\tsprintf( __( 'Color code: %s' ), color ) }\n\t\t\t\t\t\t\t\taria-pressed={ value === color }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t} ) }\n\n\t\t\t{ ! disableCustomColors &&\n\t\t\t\t<Dropdown\n\t\t\t\t\tclassName=\"components-color-palette__item-wrapper components-color-palette__custom-color\"\n\t\t\t\t\tcontentClassName=\"components-color-palette__picker\"\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Tooltip text={ customColorPickerLabel }>\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\tclassName=\"components-color-palette__item\"\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-label={ customColorPickerLabel }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"components-color-palette__custom-color-gradient\" />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\t\tcolor={ value }\n\t\t\t\t\t\t\tonChangeComplete={ ( color ) => onChange( color.hex ) }\n\t\t\t\t\t\t\tdisableAlpha\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t}\n\n\t\t\t<Button\n\t\t\t\tclassName=\"components-color-palette__clear\"\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={ () => onChange( undefined ) }\n\t\t\t\tisSmall\n\t\t\t\tisDefault\n\t\t\t>\n\t\t\t\t{ __( 'Clear' ) }\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n","/**\n * Parts of this source were derived and modified from react-color,\n * released under the MIT license.\n *\n * https://github.com/casesandberg/react-color/\n *\n * Copyright (c) 2015 Case Sandberg\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component, createRef } from '@wordpress/element';\nimport { TAB } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { calculateAlphaChange } from './utils';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\n\nexport class Alpha extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.container = createRef();\n\t\tthis.increase = this.increase.bind( this );\n\t\tthis.decrease = this.decrease.bind( this );\n\t\tthis.handleChange = this.handleChange.bind( this );\n\t\tthis.handleMouseDown = this.handleMouseDown.bind( this );\n\t\tthis.handleMouseUp = this.handleMouseUp.bind( this );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.unbindEventListeners();\n\t}\n\n\tincrease( amount = 0.01 ) {\n\t\tconst { hsl, onChange = noop } = this.props;\n\t\tamount = parseInt( amount * 100, 10 );\n\t\tconst change = {\n\t\t\th: hsl.h,\n\t\t\ts: hsl.s,\n\t\t\tl: hsl.l,\n\t\t\ta: ( parseInt( hsl.a * 100, 10 ) + amount ) / 100,\n\t\t\tsource: 'rgb',\n\t\t};\n\t\tonChange( change );\n\t}\n\n\tdecrease( amount = 0.01 ) {\n\t\tconst { hsl, onChange = noop } = this.props;\n\t\tconst intValue = parseInt( hsl.a * 100, 10 ) - parseInt( amount * 100, 10 );\n\t\tconst change = {\n\t\t\th: hsl.h,\n\t\t\ts: hsl.s,\n\t\t\tl: hsl.l,\n\t\t\ta: hsl.a <= amount ? 0 : intValue / 100,\n\t\t\tsource: 'rgb',\n\t\t};\n\t\tonChange( change );\n\t}\n\n\thandleChange( e ) {\n\t\tconst { onChange = noop } = this.props;\n\t\tconst change = calculateAlphaChange( e, this.props, this.container.current );\n\t\tif ( change ) {\n\t\t\tonChange( change, e );\n\t\t}\n\t}\n\n\thandleMouseDown( e ) {\n\t\tthis.handleChange( e );\n\t\twindow.addEventListener( 'mousemove', this.handleChange );\n\t\twindow.addEventListener( 'mouseup', this.handleMouseUp );\n\t}\n\n\thandleMouseUp() {\n\t\tthis.unbindEventListeners();\n\t}\n\n\tpreventKeyEvents( event ) {\n\t\tif ( event.keyCode === TAB ) {\n\t\t\treturn;\n\t\t}\n\t\tevent.preventDefault();\n\t}\n\n\tunbindEventListeners() {\n\t\twindow.removeEventListener( 'mousemove', this.handleChange );\n\t\twindow.removeEventListener( 'mouseup', this.handleMouseUp );\n\t}\n\n\trender() {\n\t\tconst { rgb } = this.props;\n\t\tconst rgbString = `${ rgb.r },${ rgb.g },${ rgb.b }`;\n\t\tconst gradient = {\n\t\t\tbackground: `linear-gradient(to right, rgba(${ rgbString }, 0) 0%, rgba(${ rgbString }, 1) 100%)`,\n\t\t};\n\t\tconst pointerLocation = { left: `${ rgb.a * 100 }%` };\n\n\t\tconst shortcuts = {\n\t\t\tup: () => this.increase(),\n\t\t\tright: () => this.increase(),\n\t\t\t'shift+up': () => this.increase( 0.1 ),\n\t\t\t'shift+right': () => this.increase( 0.1 ),\n\t\t\tpageup: () => this.increase( 0.1 ),\n\t\t\tend: () => this.increase( 1 ),\n\t\t\tdown: () => this.decrease(),\n\t\t\tleft: () => this.decrease(),\n\t\t\t'shift+down': () => this.decrease( 0.1 ),\n\t\t\t'shift+left': () => this.decrease( 0.1 ),\n\t\t\tpagedown: () => this.decrease( 0.1 ),\n\t\t\thome: () => this.decrease( 1 ),\n\t\t};\n\n\t\treturn (\n\t\t\t<KeyboardShortcuts shortcuts={ shortcuts }>\n\t\t\t\t<div className=\"components-color-picker__alpha\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"components-color-picker__alpha-gradient\"\n\t\t\t\t\t\tstyle={ gradient }\n\t\t\t\t\t/>\n\t\t\t\t\t{ /* eslint-disable jsx-a11y/no-static-element-interactions */ }\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"components-color-picker__alpha-bar\"\n\t\t\t\t\t\tref={ this.container }\n\t\t\t\t\t\tonMouseDown={ this.handleMouseDown }\n\t\t\t\t\t\tonTouchMove={ this.handleChange }\n\t\t\t\t\t\tonTouchStart={ this.handleChange }>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\trole=\"slider\"\n\t\t\t\t\t\t\taria-valuemax=\"1\"\n\t\t\t\t\t\t\taria-valuemin=\"0\"\n\t\t\t\t\t\t\taria-valuenow={ rgb.a }\n\t\t\t\t\t\t\taria-orientation=\"horizontal\"\n\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t'Alpha value, from 0 (transparent) to 1 (fully opaque).'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tclassName=\"components-color-picker__alpha-pointer\"\n\t\t\t\t\t\t\tstyle={ pointerLocation }\n\t\t\t\t\t\t\tonKeyDown={ this.preventKeyEvents }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-static-element-interactions */ }\n\t\t\t\t</div>\n\t\t\t</KeyboardShortcuts>\n\t\t);\n\t}\n}\n\nexport default Alpha;\n","/**\n * Parts of this source were derived and modified from react-color,\n * released under the MIT license.\n *\n * https://github.com/casesandberg/react-color/\n *\n * Copyright (c) 2015 Case Sandberg\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { Component, createRef } from '@wordpress/element';\nimport { TAB } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { calculateHueChange } from './utils';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\n\nexport class Hue extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.container = createRef();\n\t\tthis.increase = this.increase.bind( this );\n\t\tthis.decrease = this.decrease.bind( this );\n\t\tthis.handleChange = this.handleChange.bind( this );\n\t\tthis.handleMouseDown = this.handleMouseDown.bind( this );\n\t\tthis.handleMouseUp = this.handleMouseUp.bind( this );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.unbindEventListeners();\n\t}\n\n\tincrease( amount = 1 ) {\n\t\tconst { hsl, onChange = noop } = this.props;\n\t\tconst change = {\n\t\t\th: hsl.h + amount >= 359 ? 359 : hsl.h + amount,\n\t\t\ts: hsl.s,\n\t\t\tl: hsl.l,\n\t\t\ta: hsl.a,\n\t\t\tsource: 'rgb',\n\t\t};\n\t\tonChange( change );\n\t}\n\n\tdecrease( amount = 1 ) {\n\t\tconst { hsl, onChange = noop } = this.props;\n\t\tconst change = {\n\t\t\th: hsl.h <= amount ? 0 : hsl.h - amount,\n\t\t\ts: hsl.s,\n\t\t\tl: hsl.l,\n\t\t\ta: hsl.a,\n\t\t\tsource: 'rgb',\n\t\t};\n\t\tonChange( change );\n\t}\n\n\thandleChange( e ) {\n\t\tconst { onChange = noop } = this.props;\n\t\tconst change = calculateHueChange( e, this.props, this.container.current );\n\t\tif ( change ) {\n\t\t\tonChange( change, e );\n\t\t}\n\t}\n\n\thandleMouseDown( e ) {\n\t\tthis.handleChange( e );\n\t\twindow.addEventListener( 'mousemove', this.handleChange );\n\t\twindow.addEventListener( 'mouseup', this.handleMouseUp );\n\t}\n\n\thandleMouseUp() {\n\t\tthis.unbindEventListeners();\n\t}\n\n\tpreventKeyEvents( event ) {\n\t\tif ( event.keyCode === TAB ) {\n\t\t\treturn;\n\t\t}\n\t\tevent.preventDefault();\n\t}\n\n\tunbindEventListeners() {\n\t\twindow.removeEventListener( 'mousemove', this.handleChange );\n\t\twindow.removeEventListener( 'mouseup', this.handleMouseUp );\n\t}\n\n\trender() {\n\t\tconst { hsl = {}, instanceId } = this.props;\n\n\t\tconst pointerLocation = { left: `${ ( hsl.h * 100 ) / 360 }%` };\n\t\tconst shortcuts = {\n\t\t\tup: () => this.increase(),\n\t\t\tright: () => this.increase(),\n\t\t\t'shift+up': () => this.increase( 10 ),\n\t\t\t'shift+right': () => this.increase( 10 ),\n\t\t\tpageup: () => this.increase( 10 ),\n\t\t\tend: () => this.increase( 359 ),\n\t\t\tdown: () => this.decrease(),\n\t\t\tleft: () => this.decrease(),\n\t\t\t'shift+down': () => this.decrease( 10 ),\n\t\t\t'shift+left': () => this.decrease( 10 ),\n\t\t\tpagedown: () => this.decrease( 10 ),\n\t\t\thome: () => this.decrease( 359 ),\n\t\t};\n\n\t\treturn (\n\t\t\t<KeyboardShortcuts shortcuts={ shortcuts }>\n\t\t\t\t<div className=\"components-color-picker__hue\">\n\t\t\t\t\t<div className=\"components-color-picker__hue-gradient\" />\n\t\t\t\t\t{ /* eslint-disable jsx-a11y/no-static-element-interactions */ }\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"components-color-picker__hue-bar\"\n\t\t\t\t\t\tref={ this.container }\n\t\t\t\t\t\tonMouseDown={ this.handleMouseDown }\n\t\t\t\t\t\tonTouchMove={ this.handleChange }\n\t\t\t\t\t\tonTouchStart={ this.handleChange }>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\trole=\"slider\"\n\t\t\t\t\t\t\taria-valuemax=\"1\"\n\t\t\t\t\t\t\taria-valuemin=\"359\"\n\t\t\t\t\t\t\taria-valuenow={ hsl.h }\n\t\t\t\t\t\t\taria-orientation=\"horizontal\"\n\t\t\t\t\t\t\taria-label={ __( 'Hue value in degrees, from 0 to 359.' ) }\n\t\t\t\t\t\t\taria-describedby={ `components-color-picker__hue-description-${ instanceId }` }\n\t\t\t\t\t\t\tclassName=\"components-color-picker__hue-pointer\"\n\t\t\t\t\t\t\tstyle={ pointerLocation }\n\t\t\t\t\t\t\tonKeyDown={ this.preventKeyEvents }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName=\"components-color-picker__hue-description screen-reader-text\"\n\t\t\t\t\t\t\tid={ `components-color-picker__hue-description-${ instanceId }` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Move the arrow left or right to change hue.' ) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-static-element-interactions */ }\n\t\t\t\t</div>\n\t\t\t</KeyboardShortcuts>\n\t\t);\n\t}\n}\n\nexport default withInstanceId( Hue );\n","/**\n * Parts of this source were derived and modified from react-color,\n * released under the MIT license.\n *\n * https://github.com/casesandberg/react-color/\n *\n * Copyright (c) 2015 Case Sandberg\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { debounce, noop, partial } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Alpha from './alpha';\nimport Hue from './hue';\nimport Inputs from './inputs';\nimport Saturation from './saturation';\nimport { colorToState, simpleCheckForValidColor } from './utils';\n\nexport default class ColorPicker extends Component {\n\tconstructor( { color = '0071a1' } ) {\n\t\tsuper( ...arguments );\n\t\tthis.state = colorToState( color );\n\t\tthis.handleChange = this.handleChange.bind( this );\n\t}\n\n\thandleChange( data ) {\n\t\tconst { oldHue, onChangeComplete = noop } = this.props;\n\t\tconst isValidColor = simpleCheckForValidColor( data );\n\t\tif ( isValidColor ) {\n\t\t\tconst colors = colorToState( data, data.h || oldHue );\n\t\t\tthis.setState(\n\t\t\t\tcolors,\n\t\t\t\tdebounce( partial( onChangeComplete, colors ), 100 )\n\t\t\t);\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { className, disableAlpha } = this.props;\n\t\tconst { color, hex, hsl, hsv, rgb } = this.state;\n\t\tconst classes = classnames( className, {\n\t\t\t'components-color-picker': true,\n\t\t\t'is-alpha-disabled': disableAlpha,\n\t\t\t'is-alpha-enabled': ! disableAlpha,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div className={ classes }>\n\t\t\t\t<div className=\"components-color-picker__saturation\">\n\t\t\t\t\t<Saturation\n\t\t\t\t\t\thsl={ hsl }\n\t\t\t\t\t\thsv={ hsv }\n\t\t\t\t\t\tonChange={ this.handleChange }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"components-color-picker__body\">\n\t\t\t\t\t<div className=\"components-color-picker__controls\">\n\t\t\t\t\t\t<div className=\"components-color-picker__swatch\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"components-color-picker__active\"\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tbackgroundColor: color && color.toRgbString(),\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"components-color-picker__toggles\">\n\t\t\t\t\t\t\t<Hue hsl={ hsl } onChange={ this.handleChange } />\n\t\t\t\t\t\t\t{ disableAlpha ? null : (\n\t\t\t\t\t\t\t\t<Alpha\n\t\t\t\t\t\t\t\t\trgb={ rgb }\n\t\t\t\t\t\t\t\t\thsl={ hsl }\n\t\t\t\t\t\t\t\t\tonChange={ this.handleChange }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<Inputs\n\t\t\t\t\t\trgb={ rgb }\n\t\t\t\t\t\thsl={ hsl }\n\t\t\t\t\t\thex={ hex }\n\t\t\t\t\t\tonChange={ this.handleChange }\n\t\t\t\t\t\tdisableAlpha={ disableAlpha }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n","/**\n * External dependencies\n */\nimport { omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { DOWN, ENTER, UP } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\nimport { isValidHex } from './utils';\nimport TextControl from '../text-control';\n\n/* Wrapper for TextControl, only used to handle intermediate state while typing. */\nclass Input extends Component {\n\tconstructor( { value } ) {\n\t\tsuper( ...arguments );\n\t\tthis.state = { value: String( value ).toLowerCase() };\n\t\tthis.handleBlur = this.handleBlur.bind( this );\n\t\tthis.handleChange = this.handleChange.bind( this );\n\t\tthis.handleKeyDown = this.handleKeyDown.bind( this );\n\t}\n\n\tcomponentWillReceiveProps( nextProps ) {\n\t\tif ( nextProps.value !== this.props.value ) {\n\t\t\tthis.setState( {\n\t\t\t\tvalue: String( nextProps.value ).toLowerCase(),\n\t\t\t} );\n\t\t}\n\t}\n\n\thandleBlur() {\n\t\tconst { valueKey, onChange } = this.props;\n\t\tconst { value } = this.state;\n\t\tonChange( { [ valueKey ]: value } );\n\t}\n\n\thandleChange( value ) {\n\t\tconst { valueKey, onChange } = this.props;\n\t\t// Protect against expanding a value while we're typing.\n\t\tif ( value.length > 4 ) {\n\t\t\tonChange( { [ valueKey ]: value } );\n\t\t}\n\t\tthis.setState( { value } );\n\t}\n\n\thandleKeyDown( { keyCode } ) {\n\t\tif ( keyCode !== ENTER && keyCode !== UP && keyCode !== DOWN ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { value } = this.state;\n\t\tconst { valueKey, onChange } = this.props;\n\t\tonChange( { [ valueKey ]: value } );\n\t}\n\n\trender() {\n\t\tconst { label, ...props } = this.props;\n\t\tconst { value } = this.state;\n\t\treturn (\n\t\t\t<TextControl\n\t\t\t\tclassName=\"components-color-picker__inputs-field\"\n\t\t\t\tlabel={ label }\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ ( newValue ) => this.handleChange( newValue ) }\n\t\t\t\tonBlur={ this.handleBlur }\n\t\t\t\tonKeyDown={ this.handleKeyDown }\n\t\t\t\t{ ...omit( props, [ 'onChange', 'value', 'valueKey' ] ) }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport class Inputs extends Component {\n\tconstructor( { hsl } ) {\n\t\tsuper( ...arguments );\n\n\t\tconst view = hsl.a === 1 ? 'hex' : 'rgb';\n\t\tthis.state = { view };\n\n\t\tthis.toggleViews = this.toggleViews.bind( this );\n\t\tthis.handleChange = this.handleChange.bind( this );\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\tif ( props.hsl.a !== 1 && state.view === 'hex' ) {\n\t\t\treturn { view: 'rgb' };\n\t\t}\n\t\treturn null;\n\t}\n\n\ttoggleViews() {\n\t\tif ( this.state.view === 'hex' ) {\n\t\t\tthis.setState( { view: 'rgb' } );\n\n\t\t\tspeak( __( 'RGB mode active' ) );\n\t\t} else if ( this.state.view === 'rgb' ) {\n\t\t\tthis.setState( { view: 'hsl' } );\n\n\t\t\tspeak( __( 'Hue/saturation/lightness mode active' ) );\n\t\t} else if ( this.state.view === 'hsl' ) {\n\t\t\tif ( this.props.hsl.a === 1 ) {\n\t\t\t\tthis.setState( { view: 'hex' } );\n\n\t\t\t\tspeak( __( 'Hex color mode active' ) );\n\t\t\t} else {\n\t\t\t\tthis.setState( { view: 'rgb' } );\n\n\t\t\t\tspeak( __( 'RGB mode active' ) );\n\t\t\t}\n\t\t}\n\t}\n\n\thandleChange( data ) {\n\t\tif ( data.hex ) {\n\t\t\tif ( isValidHex( data.hex ) ) {\n\t\t\t\tthis.props.onChange( {\n\t\t\t\t\thex: data.hex,\n\t\t\t\t\tsource: 'hex',\n\t\t\t\t} );\n\t\t\t}\n\t\t} else if ( data.r || data.g || data.b ) {\n\t\t\tthis.props.onChange( {\n\t\t\t\tr: data.r || this.props.rgb.r,\n\t\t\t\tg: data.g || this.props.rgb.g,\n\t\t\t\tb: data.b || this.props.rgb.b,\n\t\t\t\tsource: 'rgb',\n\t\t\t} );\n\t\t} else if ( data.a ) {\n\t\t\tif ( data.a < 0 ) {\n\t\t\t\tdata.a = 0;\n\t\t\t} else if ( data.a > 1 ) {\n\t\t\t\tdata.a = 1;\n\t\t\t}\n\n\t\t\tthis.props.onChange( {\n\t\t\t\th: this.props.hsl.h,\n\t\t\t\ts: this.props.hsl.s,\n\t\t\t\tl: this.props.hsl.l,\n\t\t\t\ta: Math.round( data.a * 100 ) / 100,\n\t\t\t\tsource: 'rgb',\n\t\t\t} );\n\t\t} else if ( data.h || data.s || data.l ) {\n\t\t\tthis.props.onChange( {\n\t\t\t\th: data.h || this.props.hsl.h,\n\t\t\t\ts: data.s || this.props.hsl.s,\n\t\t\t\tl: data.l || this.props.hsl.l,\n\t\t\t\tsource: 'hsl',\n\t\t\t} );\n\t\t}\n\t}\n\n\trenderFields() {\n\t\tconst { disableAlpha = false } = this.props;\n\t\tif ( this.state.view === 'hex' ) {\n\t\t\treturn (\n\t\t\t\t<div className=\"components-color-picker__inputs-fields\">\n\t\t\t\t\t<Input\n\t\t\t\t\t\tlabel={ __( 'Color value in hexadecimal' ) }\n\t\t\t\t\t\tvalueKey=\"hex\"\n\t\t\t\t\t\tvalue={ this.props.hex }\n\t\t\t\t\t\tonChange={ this.handleChange }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else if ( this.state.view === 'rgb' ) {\n\t\t\treturn (\n\t\t\t\t<fieldset>\n\t\t\t\t\t<legend className=\"screen-reader-text\">\n\t\t\t\t\t\t{ __( 'Color value in RGB' ) }\n\t\t\t\t\t</legend>\n\t\t\t\t\t<div className=\"components-color-picker__inputs-fields\">\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tlabel=\"r\"\n\t\t\t\t\t\t\tvalueKey=\"r\"\n\t\t\t\t\t\t\tvalue={ this.props.rgb.r }\n\t\t\t\t\t\t\tonChange={ this.handleChange }\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tmin=\"0\"\n\t\t\t\t\t\t\tmax=\"255\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tlabel=\"g\"\n\t\t\t\t\t\t\tvalueKey=\"g\"\n\t\t\t\t\t\t\tvalue={ this.props.rgb.g }\n\t\t\t\t\t\t\tonChange={ this.handleChange }\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tmin=\"0\"\n\t\t\t\t\t\t\tmax=\"255\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tlabel=\"b\"\n\t\t\t\t\t\t\tvalueKey=\"b\"\n\t\t\t\t\t\t\tvalue={ this.props.rgb.b }\n\t\t\t\t\t\t\tonChange={ this.handleChange }\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tmin=\"0\"\n\t\t\t\t\t\t\tmax=\"255\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ disableAlpha ? null : (\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tlabel=\"a\"\n\t\t\t\t\t\t\t\tvalueKey=\"a\"\n\t\t\t\t\t\t\t\tvalue={ this.props.rgb.a }\n\t\t\t\t\t\t\t\tonChange={ this.handleChange }\n\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\tmin=\"0\"\n\t\t\t\t\t\t\t\tmax=\"1\"\n\t\t\t\t\t\t\t\tstep=\"0.05\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\t\t\t);\n\t\t} else if ( this.state.view === 'hsl' ) {\n\t\t\treturn (\n\t\t\t\t<fieldset>\n\t\t\t\t\t<legend className=\"screen-reader-text\">\n\t\t\t\t\t\t{ __( 'Color value in HSL' ) }\n\t\t\t\t\t</legend>\n\t\t\t\t\t<div className=\"components-color-picker__inputs-fields\">\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tlabel=\"h\"\n\t\t\t\t\t\t\tvalueKey=\"h\"\n\t\t\t\t\t\t\tvalue={ this.props.hsl.h }\n\t\t\t\t\t\t\tonChange={ this.handleChange }\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tmin=\"0\"\n\t\t\t\t\t\t\tmax=\"359\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tlabel=\"s\"\n\t\t\t\t\t\t\tvalueKey=\"s\"\n\t\t\t\t\t\t\tvalue={ this.props.hsl.s }\n\t\t\t\t\t\t\tonChange={ this.handleChange }\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tmin=\"0\"\n\t\t\t\t\t\t\tmax=\"100\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\tlabel=\"l\"\n\t\t\t\t\t\t\tvalueKey=\"l\"\n\t\t\t\t\t\t\tvalue={ this.props.hsl.l }\n\t\t\t\t\t\t\tonChange={ this.handleChange }\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tmin=\"0\"\n\t\t\t\t\t\t\tmax=\"100\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ disableAlpha ? null : (\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tlabel=\"a\"\n\t\t\t\t\t\t\t\tvalueKey=\"a\"\n\t\t\t\t\t\t\t\tvalue={ this.props.hsl.a }\n\t\t\t\t\t\t\t\tonChange={ this.handleChange }\n\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\tmin=\"0\"\n\t\t\t\t\t\t\t\tmax=\"1\"\n\t\t\t\t\t\t\t\tstep=\"0.05\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\t\t\t);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div className=\"components-color-picker__inputs-wrapper\">\n\t\t\t\t{ this.renderFields() }\n\t\t\t\t<div className=\"components-color-picker__inputs-toggle\">\n\t\t\t\t\t<IconButton\n\t\t\t\t\t\ticon=\"arrow-down-alt2\"\n\t\t\t\t\t\tlabel={ __( 'Change color format' ) }\n\t\t\t\t\t\tonClick={ this.toggleViews }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Inputs;\n","/**\n * Parts of this source were derived and modified from react-color,\n * released under the MIT license.\n *\n * https://github.com/casesandberg/react-color/\n *\n * Copyright (c) 2015 Case Sandberg\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * External dependencies\n */\nimport { clamp, noop, throttle } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component, createRef } from '@wordpress/element';\nimport { TAB } from '@wordpress/keycodes';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { calculateSaturationChange } from './utils';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\n\nexport class Saturation extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.throttle = throttle( ( fn, data, e ) => {\n\t\t\tfn( data, e );\n\t\t}, 50 );\n\n\t\tthis.container = createRef();\n\t\tthis.saturate = this.saturate.bind( this );\n\t\tthis.brighten = this.brighten.bind( this );\n\t\tthis.handleChange = this.handleChange.bind( this );\n\t\tthis.handleMouseDown = this.handleMouseDown.bind( this );\n\t\tthis.handleMouseUp = this.handleMouseUp.bind( this );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.throttle.cancel();\n\t\tthis.unbindEventListeners();\n\t}\n\n\tsaturate( amount = 0.01 ) {\n\t\tconst { hsv, onChange = noop } = this.props;\n\t\tconst intSaturation = clamp(\n\t\t\thsv.s + Math.round( amount * 100 ),\n\t\t\t0,\n\t\t\t100\n\t\t);\n\t\tconst change = {\n\t\t\th: hsv.h,\n\t\t\ts: intSaturation,\n\t\t\tv: hsv.v,\n\t\t\ta: hsv.a,\n\t\t\tsource: 'rgb',\n\t\t};\n\n\t\tonChange( change );\n\t}\n\n\tbrighten( amount = 0.01 ) {\n\t\tconst { hsv, onChange = noop } = this.props;\n\t\tconst intValue = clamp(\n\t\t\thsv.v + Math.round( amount * 100 ),\n\t\t\t0,\n\t\t\t100\n\t\t);\n\t\tconst change = {\n\t\t\th: hsv.h,\n\t\t\ts: hsv.s,\n\t\t\tv: intValue,\n\t\t\ta: hsv.a,\n\t\t\tsource: 'rgb',\n\t\t};\n\n\t\tonChange( change );\n\t}\n\n\thandleChange( e ) {\n\t\tconst { onChange = noop } = this.props;\n\t\tconst change = calculateSaturationChange( e, this.props, this.container.current );\n\t\tthis.throttle( onChange, change, e );\n\t}\n\n\thandleMouseDown( e ) {\n\t\tthis.handleChange( e );\n\t\twindow.addEventListener( 'mousemove', this.handleChange );\n\t\twindow.addEventListener( 'mouseup', this.handleMouseUp );\n\t}\n\n\thandleMouseUp() {\n\t\tthis.unbindEventListeners();\n\t}\n\n\tpreventKeyEvents( event ) {\n\t\tif ( event.keyCode === TAB ) {\n\t\t\treturn;\n\t\t}\n\t\tevent.preventDefault();\n\t}\n\n\tunbindEventListeners() {\n\t\twindow.removeEventListener( 'mousemove', this.handleChange );\n\t\twindow.removeEventListener( 'mouseup', this.handleMouseUp );\n\t}\n\n\trender() {\n\t\tconst { hsv, hsl, instanceId } = this.props;\n\t\tconst pointerLocation = {\n\t\t\ttop: `${ -( hsv.v ) + 100 }%`,\n\t\t\tleft: `${ hsv.s }%`,\n\t\t};\n\t\tconst shortcuts = {\n\t\t\tup: () => this.brighten(),\n\t\t\t'shift+up': () => this.brighten( 0.1 ),\n\t\t\tpageup: () => this.brighten( 1 ),\n\t\t\tdown: () => this.brighten( -0.01 ),\n\t\t\t'shift+down': () => this.brighten( -0.1 ),\n\t\t\tpagedown: () => this.brighten( -1 ),\n\t\t\tright: () => this.saturate(),\n\t\t\t'shift+right': () => this.saturate( 0.1 ),\n\t\t\tend: () => this.saturate( 1 ),\n\t\t\tleft: () => this.saturate( -0.01 ),\n\t\t\t'shift+left': () => this.saturate( -0.1 ),\n\t\t\thome: () => this.saturate( -1 ),\n\t\t};\n\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/no-noninteractive-element-interactions */\n\t\treturn (\n\t\t\t<KeyboardShortcuts shortcuts={ shortcuts }>\n\t\t\t\t<div\n\t\t\t\t\tstyle={ { background: `hsl(${ hsl.h },100%, 50%)` } }\n\t\t\t\t\tclassName=\"components-color-picker__saturation-color\"\n\t\t\t\t\tref={ this.container }\n\t\t\t\t\tonMouseDown={ this.handleMouseDown }\n\t\t\t\t\tonTouchMove={ this.handleChange }\n\t\t\t\t\tonTouchStart={ this.handleChange }\n\t\t\t\t\trole=\"application\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"components-color-picker__saturation-white\" />\n\t\t\t\t\t<div className=\"components-color-picker__saturation-black\" />\n\t\t\t\t\t<button\n\t\t\t\t\t\taria-label={ __( 'Choose a shade' ) }\n\t\t\t\t\t\taria-describedby={ `color-picker-saturation-${ instanceId }` }\n\t\t\t\t\t\tclassName=\"components-color-picker__saturation-pointer\"\n\t\t\t\t\t\tstyle={ pointerLocation }\n\t\t\t\t\t\tonKeyDown={ this.preventKeyEvents }\n\t\t\t\t\t/>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"screen-reader-text\"\n\t\t\t\t\t\tid={ `color-picker-saturation-${ instanceId }` }>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Use your arrow keys to change the base color. Move up to lighten the color, down to darken, left to increase saturation, and right to decrease saturation.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</KeyboardShortcuts>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/no-noninteractive-element-interactions */\n\t}\n}\n\nexport default withInstanceId( Saturation );\n","/**\n * Parts of this source were derived and modified from react-color,\n * released under the MIT license.\n *\n * https://github.com/casesandberg/react-color/\n *\n * Copyright (c) 2015 Case Sandberg\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * External dependencies\n */\nimport { each } from 'lodash';\nimport tinycolor from 'tinycolor2';\n\n/**\n * Given a hex color, get all other color properties (rgb, alpha, etc).\n *\n * @param {Object|string} data A hex color string or an object with a hex property\n * @param {string} oldHue A reference to the hue of the previous color, otherwise dragging the saturation to zero will reset the current hue to zero as well. See https://github.com/casesandberg/react-color/issues/29#issuecomment-132686909.\n * @return {Object} An object of different color representations.\n */\nexport function colorToState( data = {}, oldHue = false ) {\n\tconst color = data.hex ? tinycolor( data.hex ) : tinycolor( data );\n\tconst hsl = color.toHsl();\n\thsl.h = Math.round( hsl.h );\n\thsl.s = Math.round( hsl.s * 100 );\n\thsl.l = Math.round( hsl.l * 100 );\n\tconst hsv = color.toHsv();\n\thsv.h = Math.round( hsv.h );\n\thsv.s = Math.round( hsv.s * 100 );\n\thsv.v = Math.round( hsv.v * 100 );\n\tconst rgb = color.toRgb();\n\tconst hex = color.toHex();\n\tif ( hsl.s === 0 ) {\n\t\thsl.h = oldHue || 0;\n\t\thsv.h = oldHue || 0;\n\t}\n\tconst transparent = hex === '000000' && rgb.a === 0;\n\n\treturn {\n\t\tcolor,\n\t\thex: transparent ? 'transparent' : `#${ hex }`,\n\t\thsl,\n\t\thsv,\n\t\toldHue: data.h || oldHue || hsl.h,\n\t\trgb,\n\t\tsource: data.source,\n\t};\n}\n\n/**\n * Get the top/left offsets of a point in a container, also returns the container width/height.\n *\n * @param {Event} e Mouse or touch event with a location coordinate.\n * @param {HTMLElement} container The container div, returned point is relative to this container.\n * @return {Object} An object of the offset positions & container size.\n */\nfunction getPointOffset( e, container ) {\n\te.preventDefault();\n\tconst {\n\t\tleft: containerLeft,\n\t\ttop: containerTop,\n\t\twidth,\n\t\theight,\n\t} = container.getBoundingClientRect();\n\tconst x = typeof e.pageX === 'number' ? e.pageX : e.touches[ 0 ].pageX;\n\tconst y = typeof e.pageY === 'number' ? e.pageY : e.touches[ 0 ].pageY;\n\tlet left = x - ( containerLeft + window.pageXOffset );\n\tlet top = y - ( containerTop + window.pageYOffset );\n\n\tif ( left < 0 ) {\n\t\tleft = 0;\n\t} else if ( left > width ) {\n\t\tleft = width;\n\t} else if ( top < 0 ) {\n\t\ttop = 0;\n\t} else if ( top > height ) {\n\t\ttop = height;\n\t}\n\n\treturn { top, left, width, height };\n}\n\n/**\n * Check if a string is a valid hex color code.\n *\n * @param {string} hex A possible hex color.\n * @return {boolean} True if the color is a valid hex color.\n */\nexport function isValidHex( hex ) {\n\t// disable hex4 and hex8\n\tconst lh = String( hex ).charAt( 0 ) === '#' ? 1 : 0;\n\treturn (\n\t\thex.length !== 4 + lh && hex.length < 7 + lh && tinycolor( hex ).isValid()\n\t);\n}\n\n/**\n * Check an object for any valid color properties.\n *\n * @param {Object} data A possible object representing a color.\n * @return {Object|boolean} If a valid representation of color, returns the data object. Otherwise returns false.\n */\nexport function simpleCheckForValidColor( data ) {\n\tconst keysToCheck = [ 'r', 'g', 'b', 'a', 'h', 's', 'l', 'v' ];\n\tlet checked = 0;\n\tlet passed = 0;\n\teach( keysToCheck, ( letter ) => {\n\t\tif ( data[ letter ] ) {\n\t\t\tchecked += 1;\n\t\t\tif ( ! isNaN( data[ letter ] ) ) {\n\t\t\t\tpassed += 1;\n\t\t\t}\n\t\t}\n\t} );\n\treturn checked === passed ? data : false;\n}\n\n/**\n * Calculate the current alpha based on a mouse or touch event\n *\n * @param {Event} e A mouse or touch event on the alpha bar.\n * @param {Object} props The current component props\n * @param {HTMLElement} container The container div for the alpha bar graph.\n * @return {Object|null} If the alpha value has changed, returns a new color object.\n */\nexport function calculateAlphaChange( e, props, container ) {\n\tconst { left, width } = getPointOffset( e, container );\n\tconst a = left < 0 ? 0 : Math.round( ( left * 100 ) / width ) / 100;\n\n\tif ( props.hsl.a !== a ) {\n\t\treturn {\n\t\t\th: props.hsl.h,\n\t\t\ts: props.hsl.s,\n\t\t\tl: props.hsl.l,\n\t\t\ta,\n\t\t\tsource: 'rgb',\n\t\t};\n\t}\n\treturn null;\n}\n\n/**\n * Calculate the current hue based on a mouse or touch event\n *\n * @param {Event} e A mouse or touch event on the hue bar.\n * @param {Object} props The current component props\n * @param {HTMLElement} container The container div for the hue bar graph.\n * @return {Object|null} If the hue value has changed, returns a new color object.\n */\nexport function calculateHueChange( e, props, container ) {\n\tconst { left, width } = getPointOffset( e, container );\n\tconst percent = ( left * 100 ) / width;\n\tconst h = left >= width ? 359 : ( 360 * percent ) / 100;\n\n\tif ( props.hsl.h !== h ) {\n\t\treturn {\n\t\t\th,\n\t\t\ts: props.hsl.s,\n\t\t\tl: props.hsl.l,\n\t\t\ta: props.hsl.a,\n\t\t\tsource: 'rgb',\n\t\t};\n\t}\n\treturn null;\n}\n\n/**\n * Calculate the current saturation & brightness based on a mouse or touch event\n *\n * @param {Event} e A mouse or touch event on the saturation graph.\n * @param {Object} props The current component props\n * @param {HTMLElement} container The container div for the 2D saturation graph.\n * @return {Object} Returns a new color object.\n */\nexport function calculateSaturationChange( e, props, container ) {\n\tconst { top, left, width, height } = getPointOffset( e, container );\n\tconst saturation = left < 0 ? 0 : ( left * 100 ) / width;\n\tlet bright = top >= height ? 0 : -( ( top * 100 ) / height ) + 100;\n\t// `v` values less than 1 are considered in the [0,1] range, causing unexpected behavior at the bottom\n\t// of the chart. To fix this, we assume any value less than 1 should be 0 brightness.\n\tif ( bright < 1 ) {\n\t\tbright = 0;\n\t}\n\n\treturn {\n\t\th: props.hsl.h,\n\t\ts: saturation,\n\t\tv: bright,\n\t\ta: props.hsl.a,\n\t\tsource: 'rgb',\n\t};\n}\n","/* !!!\nIF YOU ARE EDITING dashicon/index.jsx\nTHEN YOU ARE EDITING A FILE THAT GETS OUTPUT FROM THE DASHICONS REPO!\nDO NOT EDIT THAT FILE! EDIT index-header.jsx and index-footer.jsx instead\nOR if you're looking to change now SVGs get output, you'll need to edit strings in the Gruntfile :)\n!!! */\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { Path, SVG } from '../primitives';\n\nexport default class Dashicon extends Component {\n\tshouldComponentUpdate( nextProps ) {\n\t\treturn (\n\t\t\tthis.props.icon !== nextProps.icon ||\n\t\t\tthis.props.size !== nextProps.size ||\n\t\t\tthis.props.className !== nextProps.className\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { icon, className, size = 20 } = this.props;\n\t\tlet path;\n\n\t\tswitch ( icon ) {\n\t\t\tcase 'admin-appearance':\n\t\t\t\tpath = 'M14.48 11.06L7.41 3.99l1.5-1.5c.5-.56 2.3-.47 3.51.32 1.21.8 1.43 1.28 2.91 2.1 1.18.64 2.45 1.26 4.45.85zm-.71.71L6.7 4.7 4.93 6.47c-.39.39-.39 1.02 0 1.41l1.06 1.06c.39.39.39 1.03 0 1.42-.6.6-1.43 1.11-2.21 1.69-.35.26-.7.53-1.01.84C1.43 14.23.4 16.08 1.4 17.07c.99 1 2.84-.03 4.18-1.36.31-.31.58-.66.85-1.02.57-.78 1.08-1.61 1.69-2.21.39-.39 1.02-.39 1.41 0l1.06 1.06c.39.39 1.02.39 1.41 0z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-collapse':\n\t\t\t\tpath = 'M10 2.16c4.33 0 7.84 3.51 7.84 7.84s-3.51 7.84-7.84 7.84S2.16 14.33 2.16 10 5.71 2.16 10 2.16zm2 11.72V6.12L6.18 9.97z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-comments':\n\t\t\t\tpath = 'M5 2h9c1.1 0 2 .9 2 2v7c0 1.1-.9 2-2 2h-2l-5 5v-5H5c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-customizer':\n\t\t\t\tpath = 'M18.33 3.57s.27-.8-.31-1.36c-.53-.52-1.22-.24-1.22-.24-.61.3-5.76 3.47-7.67 5.57-.86.96-2.06 3.79-1.09 4.82.92.98 3.96-.17 4.79-1 2.06-2.06 5.21-7.17 5.5-7.79zM1.4 17.65c2.37-1.56 1.46-3.41 3.23-4.64.93-.65 2.22-.62 3.08.29.63.67.8 2.57-.16 3.46-1.57 1.45-4 1.55-6.15.89z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-generic':\n\t\t\t\tpath = 'M18 12h-2.18c-.17.7-.44 1.35-.81 1.93l1.54 1.54-2.1 2.1-1.54-1.54c-.58.36-1.23.63-1.91.79V19H8v-2.18c-.68-.16-1.33-.43-1.91-.79l-1.54 1.54-2.12-2.12 1.54-1.54c-.36-.58-.63-1.23-.79-1.91H1V9.03h2.17c.16-.7.44-1.35.8-1.94L2.43 5.55l2.1-2.1 1.54 1.54c.58-.37 1.24-.64 1.93-.81V2h3v2.18c.68.16 1.33.43 1.91.79l1.54-1.54 2.12 2.12-1.54 1.54c.36.59.64 1.24.8 1.94H18V12zm-8.5 1.5c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-home':\n\t\t\t\tpath = 'M16 8.5l1.53 1.53-1.06 1.06L10 4.62l-6.47 6.47-1.06-1.06L10 2.5l4 4v-2h2v4zm-6-2.46l6 5.99V18H4v-5.97zM12 17v-5H8v5h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-links':\n\t\t\t\tpath = 'M17.74 2.76c1.68 1.69 1.68 4.41 0 6.1l-1.53 1.52c-1.12 1.12-2.7 1.47-4.14 1.09l2.62-2.61.76-.77.76-.76c.84-.84.84-2.2 0-3.04-.84-.85-2.2-.85-3.04 0l-.77.76-3.38 3.38c-.37-1.44-.02-3.02 1.1-4.14l1.52-1.53c1.69-1.68 4.42-1.68 6.1 0zM8.59 13.43l5.34-5.34c.42-.42.42-1.1 0-1.52-.44-.43-1.13-.39-1.53 0l-5.33 5.34c-.42.42-.42 1.1 0 1.52.44.43 1.13.39 1.52 0zm-.76 2.29l4.14-4.15c.38 1.44.03 3.02-1.09 4.14l-1.52 1.53c-1.69 1.68-4.41 1.68-6.1 0-1.68-1.68-1.68-4.42 0-6.1l1.53-1.52c1.12-1.12 2.7-1.47 4.14-1.1l-4.14 4.15c-.85.84-.85 2.2 0 3.05.84.84 2.2.84 3.04 0z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-media':\n\t\t\t\tpath = 'M13 11V4c0-.55-.45-1-1-1h-1.67L9 1H5L3.67 3H2c-.55 0-1 .45-1 1v7c0 .55.45 1 1 1h10c.55 0 1-.45 1-1zM7 4.5c1.38 0 2.5 1.12 2.5 2.5S8.38 9.5 7 9.5 4.5 8.38 4.5 7 5.62 4.5 7 4.5zM14 6h5v10.5c0 1.38-1.12 2.5-2.5 2.5S14 17.88 14 16.5s1.12-2.5 2.5-2.5c.17 0 .34.02.5.05V9h-3V6zm-4 8.05V13h2v3.5c0 1.38-1.12 2.5-2.5 2.5S7 17.88 7 16.5 8.12 14 9.5 14c.17 0 .34.02.5.05z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-multisite':\n\t\t\t\tpath = 'M14.27 6.87L10 3.14 5.73 6.87 5 6.14l5-4.38 5 4.38zM14 8.42l-4.05 3.43L6 8.38v-.74l4-3.5 4 3.5v.78zM11 9.7V8H9v1.7h2zm-1.73 4.03L5 10 .73 13.73 0 13l5-4.38L10 13zm10 0L15 10l-4.27 3.73L10 13l5-4.38L20 13zM5 11l4 3.5V18H1v-3.5zm10 0l4 3.5V18h-8v-3.5zm-9 6v-2H4v2h2zm10 0v-2h-2v2h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-network':\n\t\t\t\tpath = 'M16.95 2.58c1.96 1.95 1.96 5.12 0 7.07-1.51 1.51-3.75 1.84-5.59 1.01l-1.87 3.31-2.99.31L5 18H2l-1-2 7.95-7.69c-.92-1.87-.62-4.18.93-5.73 1.95-1.96 5.12-1.96 7.07 0zm-2.51 3.79c.74 0 1.33-.6 1.33-1.34 0-.73-.59-1.33-1.33-1.33-.73 0-1.33.6-1.33 1.33 0 .74.6 1.34 1.33 1.34z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-page':\n\t\t\t\tpath = 'M6 15V2h10v13H6zm-1 1h8v2H3V5h2v11z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-plugins':\n\t\t\t\tpath = 'M13.11 4.36L9.87 7.6 8 5.73l3.24-3.24c.35-.34 1.05-.2 1.56.32.52.51.66 1.21.31 1.55zm-8 1.77l.91-1.12 9.01 9.01-1.19.84c-.71.71-2.63 1.16-3.82 1.16H6.14L4.9 17.26c-.59.59-1.54.59-2.12 0-.59-.58-.59-1.53 0-2.12l1.24-1.24v-3.88c0-1.13.4-3.19 1.09-3.89zm7.26 3.97l3.24-3.24c.34-.35 1.04-.21 1.55.31.52.51.66 1.21.31 1.55l-3.24 3.25z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-post':\n\t\t\t\tpath = 'M10.44 3.02l1.82-1.82 6.36 6.35-1.83 1.82c-1.05-.68-2.48-.57-3.41.36l-.75.75c-.92.93-1.04 2.35-.35 3.41l-1.83 1.82-2.41-2.41-2.8 2.79c-.42.42-3.38 2.71-3.8 2.29s1.86-3.39 2.28-3.81l2.79-2.79L4.1 9.36l1.83-1.82c1.05.69 2.48.57 3.4-.36l.75-.75c.93-.92 1.05-2.35.36-3.41z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-settings':\n\t\t\t\tpath = 'M18 16V4c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h13c.55 0 1-.45 1-1zM8 11h1c.55 0 1 .45 1 1s-.45 1-1 1H8v1.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V13H6c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V11zm5-2h-1c-.55 0-1-.45-1-1s.45-1 1-1h1V5.5c0-.28.22-.5.5-.5s.5.22.5.5V7h1c.55 0 1 .45 1 1s-.45 1-1 1h-1v5.5c0 .28-.22.5-.5.5s-.5-.22-.5-.5V9z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-site-alt':\n\t\t\t\tpath = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm7.5 6.48c-.274.896-.908 1.64-1.75 2.05-.45-1.69-1.658-3.074-3.27-3.75.13-.444.41-.83.79-1.09-.43-.28-1-.42-1.34.07-.53.69 0 1.61.21 2v.14c-.555-.337-.99-.84-1.24-1.44-.966-.03-1.922.208-2.76.69-.087-.565-.032-1.142.16-1.68.733.07 1.453-.23 1.92-.8.46-.52-.13-1.18-.59-1.58h.36c1.36-.01 2.702.335 3.89 1 1.36 1.005 2.194 2.57 2.27 4.26.24 0 .7-.55.91-.92.172.34.32.69.44 1.05zM9 16.84c-2.05-2.08.25-3.75-1-5.24-.92-.85-2.29-.26-3.11-1.23-.282-1.473.267-2.982 1.43-3.93.52-.44 4-1 5.42.22.83.715 1.415 1.674 1.67 2.74.46.035.918-.066 1.32-.29.41 2.98-3.15 6.74-5.73 7.73zM5.15 2.09c.786-.3 1.676-.028 2.16.66-.42.38-.94.63-1.5.72.02-.294.085-.584.19-.86l-.85-.52z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-site-alt2':\n\t\t\t\tpath = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm2.92 12.34c0 .35.14.63.36.66.22.03.47-.22.58-.6l.2.08c.718.384 1.07 1.22.84 2-.15.69-.743 1.198-1.45 1.24-.49-1.21-2.11.06-3.56-.22-.612-.154-1.11-.6-1.33-1.19 1.19-.11 2.85-1.73 4.36-1.97zM8 11.27c.918 0 1.695-.68 1.82-1.59.44.54.41 1.324-.07 1.83-.255.223-.594.325-.93.28-.335-.047-.635-.236-.82-.52zm3-.76c.41.39 3-.06 3.52 1.09-.95-.2-2.95.61-3.47-1.08l-.05-.01zM9.73 5.45v.27c-.65-.77-1.33-1.07-1.61-.57-.28.5 1 1.11.76 1.88-.24.77-1.27.56-1.88 1.61-.61 1.05-.49 2.42 1.24 3.67-1.192-.132-2.19-.962-2.54-2.11-.4-1.2-.09-2.26-.78-2.46C4 7.46 3 8.71 3 9.8c-1.26-1.26.05-2.86-1.2-4.18C3.5 1.998 7.644.223 11.44 1.49c-1.1 1.02-1.722 2.458-1.71 3.96z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-site-alt3':\n\t\t\t\tpath = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zM1.11 9.68h2.51c.04.91.167 1.814.38 2.7H1.84c-.403-.85-.65-1.764-.73-2.7zm8.57-5.4V1.19c.964.366 1.756 1.08 2.22 2 .205.347.386.708.54 1.08l-2.76.01zm3.22 1.35c.232.883.37 1.788.41 2.7H9.68v-2.7h3.22zM8.32 1.19v3.09H5.56c.154-.372.335-.733.54-1.08.462-.924 1.255-1.64 2.22-2.01zm0 4.44v2.7H4.7c.04-.912.178-1.817.41-2.7h3.21zm-4.7 2.69H1.11c.08-.936.327-1.85.73-2.7H4c-.213.886-.34 1.79-.38 2.7zM4.7 9.68h3.62v2.7H5.11c-.232-.883-.37-1.788-.41-2.7zm3.63 4v3.09c-.964-.366-1.756-1.08-2.22-2-.205-.347-.386-.708-.54-1.08l2.76-.01zm1.35 3.09v-3.04h2.76c-.154.372-.335.733-.54 1.08-.464.92-1.256 1.634-2.22 2v-.04zm0-4.44v-2.7h3.62c-.04.912-.178 1.817-.41 2.7H9.68zm4.71-2.7h2.51c-.08.936-.327 1.85-.73 2.7H14c.21-.87.337-1.757.38-2.65l.01-.05zm0-1.35c-.046-.894-.176-1.78-.39-2.65h2.16c.403.85.65 1.764.73 2.7l-2.5-.05zm1-4H13.6c-.324-.91-.793-1.76-1.39-2.52 1.244.56 2.325 1.426 3.14 2.52h.04zm-9.6-2.52c-.597.76-1.066 1.61-1.39 2.52H2.65c.815-1.094 1.896-1.96 3.14-2.52zm-3.15 12H4.4c.324.91.793 1.76 1.39 2.52-1.248-.567-2.33-1.445-3.14-2.55l-.01.03zm9.56 2.52c.597-.76 1.066-1.61 1.39-2.52h1.76c-.82 1.08-1.9 1.933-3.14 2.48l-.01.04z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-site':\n\t\t\t\tpath = 'M9 0C4.03 0 0 4.03 0 9s4.03 9 9 9 9-4.03 9-9-4.03-9-9-9zm3.46 11.95c0 1.47-.8 3.3-4.06 4.7.3-4.17-2.52-3.69-3.2-5 .126-1.1.804-2.063 1.8-2.55-1.552-.266-3-.96-4.18-2 .05.47.28.904.64 1.21-.782-.295-1.458-.817-1.94-1.5.977-3.225 3.883-5.482 7.25-5.63-.84 1.38-1.5 4.13 0 5.57C7.23 7 6.26 5 5.41 5.79c-1.13 1.06.33 2.51 3.42 3.08 3.29.59 3.66 1.58 3.63 3.08zm1.34-4c-.32-1.11.62-2.23 1.69-3.14 1.356 1.955 1.67 4.45.84 6.68-.77-1.89-2.17-2.32-2.53-3.57v.03z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-tools':\n\t\t\t\tpath = 'M16.68 9.77c-1.34 1.34-3.3 1.67-4.95.99l-5.41 6.52c-.99.99-2.59.99-3.58 0s-.99-2.59 0-3.57l6.52-5.42c-.68-1.65-.35-3.61.99-4.95 1.28-1.28 3.12-1.62 4.72-1.06l-2.89 2.89 2.82 2.82 2.86-2.87c.53 1.58.18 3.39-1.08 4.65zM3.81 16.21c.4.39 1.04.39 1.43 0 .4-.4.4-1.04 0-1.43-.39-.4-1.03-.4-1.43 0-.39.39-.39 1.03 0 1.43z';\n\t\t\t\tbreak;\n\t\t\tcase 'admin-users':\n\t\t\t\tpath = 'M10 9.25c-2.27 0-2.73-3.44-2.73-3.44C7 4.02 7.82 2 9.97 2c2.16 0 2.98 2.02 2.71 3.81 0 0-.41 3.44-2.68 3.44zm0 2.57L12.72 10c2.39 0 4.52 2.33 4.52 4.53v2.49s-3.65 1.13-7.24 1.13c-3.65 0-7.24-1.13-7.24-1.13v-2.49c0-2.25 1.94-4.48 4.47-4.48z';\n\t\t\t\tbreak;\n\t\t\tcase 'album':\n\t\t\t\tpath = 'M0 18h10v-.26c1.52.4 3.17.35 4.76-.24 4.14-1.52 6.27-6.12 4.75-10.26-1.43-3.89-5.58-6-9.51-4.98V2H0v16zM9 3v14H1V3h8zm5.45 8.22c-.68 1.35-2.32 1.9-3.67 1.23-.31-.15-.57-.35-.78-.59V8.13c.8-.86 2.11-1.13 3.22-.58 1.35.68 1.9 2.32 1.23 3.67zm-2.75-.82c.22.16.53.12.7-.1.16-.22.12-.53-.1-.7s-.53-.12-.7.1c-.16.21-.12.53.1.7zm3.01 3.67c-1.17.78-2.56.99-3.83.69-.27-.06-.44-.34-.37-.61s.34-.43.62-.36l.17.04c.96.17 1.98-.01 2.86-.59.47-.32.86-.72 1.14-1.18.15-.23.45-.3.69-.16.23.15.3.46.16.69-.36.57-.84 1.08-1.44 1.48zm1.05 1.57c-1.48.99-3.21 1.32-4.84 1.06-.28-.05-.47-.32-.41-.6.05-.27.32-.45.61-.39l.22.04c1.31.15 2.68-.14 3.87-.94.71-.47 1.27-1.07 1.7-1.74.14-.24.45-.31.68-.16.24.14.31.45.16.69-.49.79-1.16 1.49-1.99 2.04z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-center':\n\t\t\t\tpath = 'M3 5h14V3H3v2zm12 8V7H5v6h10zM3 17h14v-2H3v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-full-width':\n\t\t\t\tpath = 'M17 13V3H3v10h14zM5 17h10v-2H5v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-left':\n\t\t\t\tpath = 'M3 5h14V3H3v2zm9 8V7H3v6h9zm2-4h3V7h-3v2zm0 4h3v-2h-3v2zM3 17h14v-2H3v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-none':\n\t\t\t\tpath = 'M3 5h14V3H3v2zm10 8V7H3v6h10zM3 17h14v-2H3v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-pull-left':\n\t\t\t\tpath = 'M9 16V4H3v12h6zm2-7h6V7h-6v2zm0 4h6v-2h-6v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-pull-right':\n\t\t\t\tpath = 'M17 16V4h-6v12h6zM9 7H3v2h6V7zm0 4H3v2h6v-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-right':\n\t\t\t\tpath = 'M3 5h14V3H3v2zm0 4h3V7H3v2zm14 4V7H8v6h9zM3 13h3v-2H3v2zm0 4h14v-2H3v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'align-wide':\n\t\t\t\tpath = 'M5 5h10V3H5v2zm12 8V7H3v6h14zM5 17h10v-2H5v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'analytics':\n\t\t\t\tpath = 'M18 18V2H2v16h16zM16 5H4V4h12v1zM7 7v3h3c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3zm1 2V7c1.1 0 2 .9 2 2H8zm8-1h-4V7h4v1zm0 3h-4V9h4v2zm0 2h-4v-1h4v1zm0 3H4v-1h12v1z';\n\t\t\t\tbreak;\n\t\t\tcase 'archive':\n\t\t\t\tpath = 'M19 4v2H1V4h18zM2 7h16v10H2V7zm11 3V9H7v1h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-down-alt':\n\t\t\t\tpath = 'M9 2h2v12l4-4 2 1-7 7-7-7 2-1 4 4V2z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-down-alt2':\n\t\t\t\tpath = 'M5 6l5 5 5-5 2 1-7 7-7-7z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-down':\n\t\t\t\tpath = 'M15 8l-4.03 6L7 8h8z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-left-alt':\n\t\t\t\tpath = 'M18 9v2H6l4 4-1 2-7-7 7-7 1 2-4 4h12z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-left-alt2':\n\t\t\t\tpath = 'M14 5l-5 5 5 5-1 2-7-7 7-7z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-left':\n\t\t\t\tpath = 'M13 14L7 9.97 13 6v8z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-right-alt':\n\t\t\t\tpath = 'M2 11V9h12l-4-4 1-2 7 7-7 7-1-2 4-4H2z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-right-alt2':\n\t\t\t\tpath = 'M6 15l5-5-5-5 1-2 7 7-7 7z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-right':\n\t\t\t\tpath = 'M8 6l6 4.03L8 14V6z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-up-alt':\n\t\t\t\tpath = 'M11 18H9V6l-4 4-2-1 7-7 7 7-2 1-4-4v12z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-up-alt2':\n\t\t\t\tpath = 'M15 14l-5-5-5 5-2-1 7-7 7 7z';\n\t\t\t\tbreak;\n\t\t\tcase 'arrow-up':\n\t\t\t\tpath = 'M7 13l4.03-6L15 13H7z';\n\t\t\t\tbreak;\n\t\t\tcase 'art':\n\t\t\t\tpath = 'M8.55 3.06c1.01.34-1.95 2.01-.1 3.13 1.04.63 3.31-2.22 4.45-2.86.97-.54 2.67-.65 3.53 1.23 1.09 2.38.14 8.57-3.79 11.06-3.97 2.5-8.97 1.23-10.7-2.66-2.01-4.53 3.12-11.09 6.61-9.9zm1.21 6.45c.73 1.64 4.7-.5 3.79-2.8-.59-1.49-4.48 1.25-3.79 2.8z';\n\t\t\t\tbreak;\n\t\t\tcase 'awards':\n\t\t\t\tpath = 'M4.46 5.16L5 7.46l-.54 2.29 2.01 1.24L7.7 13l2.3-.54 2.3.54 1.23-2.01 2.01-1.24L15 7.46l.54-2.3-2-1.24-1.24-2.01-2.3.55-2.29-.54-1.25 2zm5.55 6.34C7.79 11.5 6 9.71 6 7.49c0-2.2 1.79-3.99 4.01-3.99 2.2 0 3.99 1.79 3.99 3.99 0 2.22-1.79 4.01-3.99 4.01zm-.02-1C8.33 10.5 7 9.16 7 7.5c0-1.65 1.33-3 2.99-3S13 5.85 13 7.5c0 1.66-1.35 3-3.01 3zm3.84 1.1l-1.28 2.24-2.08-.47L13 19.2l1.4-2.2h2.5zm-7.7.07l1.25 2.25 2.13-.51L7 19.2 5.6 17H3.1z';\n\t\t\t\tbreak;\n\t\t\tcase 'backup':\n\t\t\t\tpath = 'M13.65 2.88c3.93 2.01 5.48 6.84 3.47 10.77s-6.83 5.48-10.77 3.47c-1.87-.96-3.2-2.56-3.86-4.4l1.64-1.03c.45 1.57 1.52 2.95 3.08 3.76 3.01 1.54 6.69.35 8.23-2.66 1.55-3.01.36-6.69-2.65-8.24C9.78 3.01 6.1 4.2 4.56 7.21l1.88.97-4.95 3.08-.39-5.82 1.78.91C4.9 2.4 9.75.89 13.65 2.88zm-4.36 7.83C9.11 10.53 9 10.28 9 10c0-.07.03-.12.04-.19h-.01L10 5l.97 4.81L14 13l-4.5-2.12.02-.02c-.08-.04-.16-.09-.23-.15z';\n\t\t\t\tbreak;\n\t\t\tcase 'block-default':\n\t\t\t\tpath = 'M15 6V4h-3v2H8V4H5v2H4c-.6 0-1 .4-1 1v8h14V7c0-.6-.4-1-1-1h-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'book-alt':\n\t\t\t\tpath = 'M5 17h13v2H5c-1.66 0-3-1.34-3-3V4c0-1.66 1.34-3 3-3h13v14H5c-.55 0-1 .45-1 1s.45 1 1 1zm2-3.5v-11c0-.28-.22-.5-.5-.5s-.5.22-.5.5v11c0 .28.22.5.5.5s.5-.22.5-.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'book':\n\t\t\t\tpath = 'M16 3h2v16H5c-1.66 0-3-1.34-3-3V4c0-1.66 1.34-3 3-3h9v14H5c-.55 0-1 .45-1 1s.45 1 1 1h11V3z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-activity':\n\t\t\t\tpath = 'M8 1v7h2V6c0-1.52 1.45-3 3-3v.86c.55-.52 1.26-.86 2-.86v3h1c1.1 0 2 .9 2 2s-.9 2-2 2h-1v6c0 .55-.45 1-1 1s-1-.45-1-1v-2.18c-.31.11-.65.18-1 .18v2c0 .55-.45 1-1 1s-1-.45-1-1v-2H8v2c0 .55-.45 1-1 1s-1-.45-1-1v-2c-.35 0-.69-.07-1-.18V16c0 .55-.45 1-1 1s-1-.45-1-1v-4H2v-1c0-1.66 1.34-3 3-3h2V1h1zm5 7c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-bbpress-logo':\n\t\t\t\tpath = 'M8.5 12.6c.3-1.3 0-2.3-1.1-2.3-.8 0-1.6.6-1.8 1.5l-.3 1.7c-.3 1 .3 1.5 1 1.5 1.2 0 1.9-1.1 2.2-2.4zm-4-6.4C3.7 7.3 3.3 8.6 3.3 10c0 1 .2 1.9.6 2.8l1-4.6c.3-1.7.4-2-.4-2zm9.3 6.4c.3-1.3 0-2.3-1.1-2.3-.8 0-1.6.6-1.8 1.5l-.4 1.7c-.2 1.1.4 1.6 1.1 1.6 1.1-.1 1.9-1.2 2.2-2.5zM10 3.3c-2 0-3.9.9-5.1 2.3.6-.1 1.4-.2 1.8-.3.2 0 .2.1.2.2 0 .2-1 4.8-1 4.8.5-.3 1.2-.7 1.8-.7.9 0 1.5.4 1.9.9l.5-2.4c.4-1.6.4-1.9-.4-1.9-.4 0-.4-.5 0-.6.6-.1 1.8-.2 2.3-.3.2 0 .2.1.2.2l-1 4.8c.5-.4 1.2-.7 1.9-.7 1.7 0 2.5 1.3 2.1 3-.3 1.7-2 3-3.8 3-1.3 0-2.1-.7-2.3-1.4-.7.8-1.7 1.3-2.8 1.4 1.1.7 2.4 1.1 3.7 1.1 3.7 0 6.7-3 6.7-6.7s-3-6.7-6.7-6.7zM10 2c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm0 15.5c-2.1 0-4-.8-5.3-2.2-.3-.4-.7-.8-1-1.2-.7-1.2-1.2-2.6-1.2-4.1 0-4.1 3.4-7.5 7.5-7.5s7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-buddypress-logo':\n\t\t\t\tpath = 'M10 0c5.52 0 10 4.48 10 10s-4.48 10-10 10S0 15.52 0 10 4.48 0 10 0zm0 .5C4.75.5.5 4.75.5 10s4.25 9.5 9.5 9.5 9.5-4.25 9.5-9.5S15.25.5 10 .5zm0 1c4.7 0 8.5 3.8 8.5 8.5s-3.8 8.5-8.5 8.5-8.5-3.8-8.5-8.5S5.3 1.5 10 1.5zm1.8 1.71c-.57 0-1.1.17-1.55.45 1.56.37 2.73 1.77 2.73 3.45 0 .69-.21 1.33-.55 1.87 1.31-.29 2.29-1.45 2.29-2.85 0-1.61-1.31-2.92-2.92-2.92zm-2.38 1c-1.61 0-2.92 1.31-2.92 2.93 0 1.61 1.31 2.92 2.92 2.92 1.62 0 2.93-1.31 2.93-2.92 0-1.62-1.31-2.93-2.93-2.93zm4.25 5.01l-.51.59c2.34.69 2.45 3.61 2.45 3.61h1.28c0-4.71-3.22-4.2-3.22-4.2zm-2.1.8l-2.12 2.09-2.12-2.09C3.12 10.24 3.89 15 3.89 15h11.08c.47-4.98-3.4-4.98-3.4-4.98z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-community':\n\t\t\t\tpath = 'M9 3c0-.67-.47-1.43-1-2-.5.5-1 1.38-1 2 0 .48.45 1 1 1s1-.47 1-1zm4 0c0-.67-.47-1.43-1-2-.5.5-1 1.38-1 2 0 .48.45 1 1 1s1-.47 1-1zM9 9V5.5c0-.55-.45-1-1-1-.57 0-1 .49-1 1V9c0 .55.45 1 1 1 .57 0 1-.49 1-1zm4 0V5.5c0-.55-.45-1-1-1-.57 0-1 .49-1 1V9c0 .55.45 1 1 1 .57 0 1-.49 1-1zm4 1c0-1.48-1.41-2.77-3.5-3.46V9c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5V6.01c-.17 0-.33-.01-.5-.01s-.33.01-.5.01V9c0 .83-.67 1.5-1.5 1.5S6.5 9.83 6.5 9V6.54C4.41 7.23 3 8.52 3 10c0 1.41.95 2.65 3.21 3.37 1.11.35 2.39 1.12 3.79 1.12s2.69-.78 3.79-1.13C16.04 12.65 17 11.41 17 10zm-7 5.43c1.43 0 2.74-.79 3.88-1.11 1.9-.53 2.49-1.34 3.12-2.32v3c0 2.21-3.13 4-7 4s-7-1.79-7-4v-3c.64.99 1.32 1.8 3.15 2.33 1.13.33 2.44 1.1 3.85 1.1z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-forums':\n\t\t\t\tpath = 'M13.5 7h-7C5.67 7 5 6.33 5 5.5S5.67 4 6.5 4h1.59C8.04 3.84 8 3.68 8 3.5 8 2.67 8.67 2 9.5 2h1c.83 0 1.5.67 1.5 1.5 0 .18-.04.34-.09.5h1.59c.83 0 1.5.67 1.5 1.5S14.33 7 13.5 7zM4 8h12c.55 0 1 .45 1 1s-.45 1-1 1H4c-.55 0-1-.45-1-1s.45-1 1-1zm1 3h10c.55 0 1 .45 1 1s-.45 1-1 1H5c-.55 0-1-.45-1-1s.45-1 1-1zm2 3h6c.55 0 1 .45 1 1s-.45 1-1 1h-1.09c.05.16.09.32.09.5 0 .83-.67 1.5-1.5 1.5h-1c-.83 0-1.5-.67-1.5-1.5 0-.18.04-.34.09-.5H7c-.55 0-1-.45-1-1s.45-1 1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-friends':\n\t\t\t\tpath = 'M8.75 5.77C8.75 4.39 7 2 7 2S5.25 4.39 5.25 5.77 5.9 7.5 7 7.5s1.75-.35 1.75-1.73zm6 0C14.75 4.39 13 2 13 2s-1.75 2.39-1.75 3.77S11.9 7.5 13 7.5s1.75-.35 1.75-1.73zM9 17V9c0-.55-.45-1-1-1H6c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm6 0V9c0-.55-.45-1-1-1h-2c-.55 0-1 .45-1 1v8c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm-9-6l2-1v2l-2 1v-2zm6 0l2-1v2l-2 1v-2zm-6 3l2-1v2l-2 1v-2zm6 0l2-1v2l-2 1v-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-groups':\n\t\t\t\tpath = 'M15.45 6.25c1.83.94 1.98 3.18.7 4.98-.8 1.12-2.33 1.88-3.46 1.78L10.05 18H9l-2.65-4.99c-1.13.16-2.73-.63-3.55-1.79-1.28-1.8-1.13-4.04.71-4.97.48-.24.96-.33 1.43-.31-.01.4.01.8.07 1.21.26 1.69 1.41 3.53 2.86 4.37-.19.55-.49.99-.88 1.25L9 16.58v-5.66C7.64 10.55 6.26 8.76 6 7c-.4-2.65 1-5 3.5-5s3.9 2.35 3.5 5c-.26 1.76-1.64 3.55-3 3.92v5.77l2.07-3.84c-.44-.23-.77-.71-.99-1.3 1.48-.83 2.65-2.69 2.91-4.4.06-.41.08-.82.07-1.22.46-.01.92.08 1.39.32z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-pm':\n\t\t\t\tpath = 'M10 2c3 0 8 5 8 5v11H2V7s5-5 8-5zm7 14.72l-3.73-2.92L17 11l-.43-.37-2.26 1.3.24-4.31-8.77-.52-.46 4.54-1.99-.95L3 11l3.73 2.8-3.44 2.85.4.43L10 13l6.53 4.15z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-replies':\n\t\t\t\tpath = 'M17.54 10.29c1.17 1.17 1.17 3.08 0 4.25-1.18 1.17-3.08 1.17-4.25 0l-.34-.52c0 3.66-2 4.38-2.95 4.98-.82-.6-2.95-1.28-2.95-4.98l-.34.52c-1.17 1.17-3.07 1.17-4.25 0-1.17-1.17-1.17-3.08 0-4.25 0 0 1.02-.67 2.1-1.3C3.71 7.84 3.2 6.42 3.2 4.88c0-.34.03-.67.08-1C3.53 5.66 4.47 7.22 5.8 8.3c.67-.35 1.85-.83 2.37-.92H8c-1.1 0-2-.9-2-2s.9-2 2-2v-.5c0-.28.22-.5.5-.5s.5.22.5.5v.5h2v-.5c0-.28.22-.5.5-.5s.5.22.5.5v.5c1.1 0 2 .9 2 2s-.9 2-2 2h-.17c.51.09 1.78.61 2.38.92 1.33-1.08 2.27-2.64 2.52-4.42.05.33.08.66.08 1 0 1.54-.51 2.96-1.36 4.11 1.08.63 2.09 1.3 2.09 1.3zM8.5 6.38c.5 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm3-2c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1zm-2.3 5.73c-.12.11-.19.26-.19.43.02.25.23.46.49.46h1c.26 0 .47-.21.49-.46 0-.15-.07-.29-.19-.43-.08-.06-.18-.11-.3-.11h-1c-.12 0-.22.05-.3.11zM12 12.5c0-.12-.06-.28-.19-.38-.09-.07-.19-.12-.31-.12h-3c-.12 0-.22.05-.31.12-.11.1-.19.25-.19.38 0 .28.22.5.5.5h3c.28 0 .5-.22.5-.5zM8.5 15h3c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-3c-.28 0-.5.22-.5.5s.22.5.5.5zm1 2h1c.28 0 .5-.22.5-.5s-.22-.5-.5-.5h-1c-.28 0-.5.22-.5.5s.22.5.5.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-topics':\n\t\t\t\tpath = 'M10.44 1.66c-.59-.58-1.54-.58-2.12 0L2.66 7.32c-.58.58-.58 1.53 0 2.12.6.6 1.56.56 2.12 0l5.66-5.66c.58-.58.59-1.53 0-2.12zm2.83 2.83c-.59-.59-1.54-.59-2.12 0l-5.66 5.66c-.59.58-.59 1.53 0 2.12.6.6 1.56.55 2.12 0l5.66-5.66c.58-.58.58-1.53 0-2.12zm1.06 6.72l4.18 4.18c.59.58.59 1.53 0 2.12s-1.54.59-2.12 0l-4.18-4.18-1.77 1.77c-.59.58-1.54.58-2.12 0-.59-.59-.59-1.54 0-2.13l5.66-5.65c.58-.59 1.53-.59 2.12 0 .58.58.58 1.53 0 2.12zM5 15c0-1.59-1.66-4-1.66-4S2 13.78 2 15s.6 2 1.34 2h.32C4.4 17 5 16.59 5 15z';\n\t\t\t\tbreak;\n\t\t\tcase 'buddicons-tracking':\n\t\t\t\tpath = 'M10.98 6.78L15.5 15c-1 2-3.5 3-5.5 3s-4.5-1-5.5-3L9 6.82c-.75-1.23-2.28-1.98-4.29-2.03l2.46-2.92c1.68 1.19 2.46 2.32 2.97 3.31.56-.87 1.2-1.68 2.7-2.12l1.83 2.86c-1.42-.34-2.64.08-3.69.86zM8.17 10.4l-.93 1.69c.49.11 1 .16 1.54.16 1.35 0 2.58-.36 3.55-.95l-1.01-1.82c-.87.53-1.96.86-3.15.92zm.86 5.38c1.99 0 3.73-.74 4.74-1.86l-.98-1.76c-1 1.12-2.74 1.87-4.74 1.87-.62 0-1.21-.08-1.76-.21l-.63 1.15c.94.5 2.1.81 3.37.81z';\n\t\t\t\tbreak;\n\t\t\tcase 'building':\n\t\t\t\tpath = 'M3 20h14V0H3v20zM7 3H5V1h2v2zm4 0H9V1h2v2zm4 0h-2V1h2v2zM7 6H5V4h2v2zm4 0H9V4h2v2zm4 0h-2V4h2v2zM7 9H5V7h2v2zm4 0H9V7h2v2zm4 0h-2V7h2v2zm-8 3H5v-2h2v2zm4 0H9v-2h2v2zm4 0h-2v-2h2v2zm-4 7H5v-6h6v6zm4-4h-2v-2h2v2zm0 3h-2v-2h2v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'businessman':\n\t\t\t\tpath = 'M7.3 6l-.03-.19c-.04-.37-.05-.73-.03-1.08.02-.36.1-.71.25-1.04.14-.32.31-.61.52-.86s.49-.46.83-.6c.34-.15.72-.23 1.13-.23.69 0 1.26.2 1.71.59s.76.87.91 1.44.18 1.16.09 1.78l-.03.19c-.01.09-.05.25-.11.48-.05.24-.12.47-.2.69-.08.21-.19.45-.34.72-.14.27-.3.49-.47.69-.18.19-.4.34-.67.48-.27.13-.55.19-.86.19s-.59-.06-.87-.19c-.26-.13-.49-.29-.67-.5-.18-.2-.34-.42-.49-.66-.15-.25-.26-.49-.34-.73-.09-.25-.16-.47-.21-.67-.06-.21-.1-.37-.12-.5zm9.2 6.24c.41.7.5 1.41.5 2.14v2.49c0 .03-.12.08-.29.13-.18.04-.42.13-.97.27-.55.12-1.1.24-1.65.34s-1.19.19-1.95.27c-.75.08-1.46.12-2.13.12-.68 0-1.39-.04-2.14-.12-.75-.07-1.4-.17-1.98-.27-.58-.11-1.08-.23-1.56-.34-.49-.11-.8-.21-1.06-.29L3 16.87v-2.49c0-.75.07-1.46.46-2.15s.81-1.25 1.5-1.68C5.66 10.12 7.19 10 8 10l1.67 1.67L9 13v3l1.02 1.08L11 16v-3l-.68-1.33L11.97 10c.77 0 2.2.07 2.9.52.71.45 1.21 1.02 1.63 1.72z';\n\t\t\t\tbreak;\n\t\t\tcase 'button':\n\t\t\t\tpath = 'M17 5H3c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm1 7c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V7c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v5z';\n\t\t\t\tbreak;\n\t\t\tcase 'calendar-alt':\n\t\t\t\tpath = 'M15 4h3v15H2V4h3V3c0-.41.15-.76.44-1.06.29-.29.65-.44 1.06-.44s.77.15 1.06.44c.29.3.44.65.44 1.06v1h4V3c0-.41.15-.76.44-1.06.29-.29.65-.44 1.06-.44s.77.15 1.06.44c.29.3.44.65.44 1.06v1zM6 3v2.5c0 .14.05.26.15.36.09.09.21.14.35.14s.26-.05.35-.14c.1-.1.15-.22.15-.36V3c0-.14-.05-.26-.15-.35-.09-.1-.21-.15-.35-.15s-.26.05-.35.15c-.1.09-.15.21-.15.35zm7 0v2.5c0 .14.05.26.14.36.1.09.22.14.36.14s.26-.05.36-.14c.09-.1.14-.22.14-.36V3c0-.14-.05-.26-.14-.35-.1-.1-.22-.15-.36-.15s-.26.05-.36.15c-.09.09-.14.21-.14.35zm4 15V8H3v10h14zM7 9v2H5V9h2zm2 0h2v2H9V9zm4 2V9h2v2h-2zm-6 1v2H5v-2h2zm2 0h2v2H9v-2zm4 2v-2h2v2h-2zm-6 1v2H5v-2h2zm4 2H9v-2h2v2zm4 0h-2v-2h2v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'calendar':\n\t\t\t\tpath = 'M15 4h3v14H2V4h3V3c0-.83.67-1.5 1.5-1.5S8 2.17 8 3v1h4V3c0-.83.67-1.5 1.5-1.5S15 2.17 15 3v1zM6 3v2.5c0 .28.22.5.5.5s.5-.22.5-.5V3c0-.28-.22-.5-.5-.5S6 2.72 6 3zm7 0v2.5c0 .28.22.5.5.5s.5-.22.5-.5V3c0-.28-.22-.5-.5-.5s-.5.22-.5.5zm4 14V8H3v9h14zM7 16V9H5v7h2zm4 0V9H9v7h2zm4 0V9h-2v7h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'camera':\n\t\t\t\tpath = 'M6 5V3H3v2h3zm12 10V4H9L7 6H2v9h16zm-7-8c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3z';\n\t\t\t\tbreak;\n\t\t\tcase 'carrot':\n\t\t\t\tpath = 'M2 18.43c1.51 1.36 11.64-4.67 13.14-7.21.72-1.22-.13-3.01-1.52-4.44C15.2 5.73 16.59 9 17.91 8.31c.6-.32.99-1.31.7-1.92-.52-1.08-2.25-1.08-3.42-1.21.83-.2 2.82-1.05 2.86-2.25.04-.92-1.13-1.97-2.05-1.86-1.21.14-1.65 1.88-2.06 3-.05-.71-.2-2.27-.98-2.95-1.04-.91-2.29-.05-2.32 1.05-.04 1.33 2.82 2.07 1.92 3.67C11.04 4.67 9.25 4.03 8.1 4.7c-.49.31-1.05.91-1.63 1.69.89.94 2.12 2.07 3.09 2.72.2.14.26.42.11.62-.14.21-.42.26-.62.12-.99-.67-2.2-1.78-3.1-2.71-.45.67-.91 1.43-1.34 2.23.85.86 1.93 1.83 2.79 2.41.2.14.25.42.11.62-.14.21-.42.26-.63.12-.85-.58-1.86-1.48-2.71-2.32C2.4 13.69 1.1 17.63 2 18.43z';\n\t\t\t\tbreak;\n\t\t\tcase 'cart':\n\t\t\t\tpath = 'M6 13h9c.55 0 1 .45 1 1s-.45 1-1 1H5c-.55 0-1-.45-1-1V4H2c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1v2h13l-4 7H6v1zm-.5 3c.83 0 1.5.67 1.5 1.5S6.33 19 5.5 19 4 18.33 4 17.5 4.67 16 5.5 16zm9 0c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'category':\n\t\t\t\tpath = 'M5 7h13v10H2V4h7l2 2H4v9h1V7z';\n\t\t\t\tbreak;\n\t\t\tcase 'chart-area':\n\t\t\t\tpath = 'M18 18l.01-12.28c.59-.35.99-.99.99-1.72 0-1.1-.9-2-2-2s-2 .9-2 2c0 .8.47 1.48 1.14 1.8l-4.13 6.58c-.33-.24-.73-.38-1.16-.38-.84 0-1.55.51-1.85 1.24l-2.14-1.53c.09-.22.14-.46.14-.71 0-1.11-.89-2-2-2-1.1 0-2 .89-2 2 0 .73.4 1.36.98 1.71L1 18h17zM17 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM5 10c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm5.85 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'chart-bar':\n\t\t\t\tpath = 'M18 18V2h-4v16h4zm-6 0V7H8v11h4zm-6 0v-8H2v8h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'chart-line':\n\t\t\t\tpath = 'M18 3.5c0 .62-.38 1.16-.92 1.38v13.11H1.99l4.22-6.73c-.13-.23-.21-.48-.21-.76C6 9.67 6.67 9 7.5 9S9 9.67 9 10.5c0 .13-.02.25-.05.37l1.44.63c.27-.3.67-.5 1.11-.5.18 0 .35.04.51.09l3.58-6.41c-.36-.27-.59-.7-.59-1.18 0-.83.67-1.5 1.5-1.5.19 0 .36.04.53.1l.05-.09v.11c.54.22.92.76.92 1.38zm-1.92 13.49V5.85l-3.29 5.89c.13.23.21.48.21.76 0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5l.01-.07-1.63-.72c-.25.18-.55.29-.88.29-.18 0-.35-.04-.51-.1l-3.2 5.09h12.29z';\n\t\t\t\tbreak;\n\t\t\tcase 'chart-pie':\n\t\t\t\tpath = 'M10 10V3c3.87 0 7 3.13 7 7h-7zM9 4v7h7c0 3.87-3.13 7-7 7s-7-3.13-7-7 3.13-7 7-7z';\n\t\t\t\tbreak;\n\t\t\tcase 'clipboard':\n\t\t\t\tpath = 'M11.9.39l1.4 1.4c1.61.19 3.5-.74 4.61.37s.18 3 .37 4.61l1.4 1.4c.39.39.39 1.02 0 1.41l-9.19 9.2c-.4.39-1.03.39-1.42 0L1.29 11c-.39-.39-.39-1.02 0-1.42l9.2-9.19c.39-.39 1.02-.39 1.41 0zm.58 2.25l-.58.58 4.95 4.95.58-.58c-.19-.6-.2-1.22-.15-1.82.02-.31.05-.62.09-.92.12-1 .18-1.63-.17-1.98s-.98-.29-1.98-.17c-.3.04-.61.07-.92.09-.6.05-1.22.04-1.82-.15zm4.02.93c.39.39.39 1.03 0 1.42s-1.03.39-1.42 0-.39-1.03 0-1.42 1.03-.39 1.42 0zm-6.72.36l-.71.7L15.44 11l.7-.71zM8.36 5.34l-.7.71 6.36 6.36.71-.7zM6.95 6.76l-.71.7 6.37 6.37.7-.71zM5.54 8.17l-.71.71 6.36 6.36.71-.71zM4.12 9.58l-.71.71 6.37 6.37.71-.71z';\n\t\t\t\tbreak;\n\t\t\tcase 'clock':\n\t\t\t\tpath = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm0 14c3.31 0 6-2.69 6-6s-2.69-6-6-6-6 2.69-6 6 2.69 6 6 6zm-.71-5.29c.07.05.14.1.23.15l-.02.02L14 13l-3.03-3.19L10 5l-.97 4.81h.01c0 .02-.01.05-.02.09S9 9.97 9 10c0 .28.1.52.29.71z';\n\t\t\t\tbreak;\n\t\t\tcase 'cloud-saved':\n\t\t\t\tpath = 'M14.8 9c.1-.3.2-.6.2-1 0-2.2-1.8-4-4-4-1.5 0-2.9.9-3.5 2.2-.3-.1-.7-.2-1-.2C5.1 6 4 7.1 4 8.5c0 .2 0 .4.1.5-1.8.3-3.1 1.7-3.1 3.5C1 14.4 2.6 16 4.5 16h10c1.9 0 3.5-1.6 3.5-3.5 0-1.8-1.4-3.3-3.2-3.5zm-6.3 5.9l-3.2-3.2 1.4-1.4 1.8 1.8 3.8-3.8 1.4 1.4-5.2 5.2z';\n\t\t\t\tbreak;\n\t\t\tcase 'cloud-upload':\n\t\t\t\tpath = 'M14.8 9c.1-.3.2-.6.2-1 0-2.2-1.8-4-4-4-1.5 0-2.9.9-3.5 2.2-.3-.1-.7-.2-1-.2C5.1 6 4 7.1 4 8.5c0 .2 0 .4.1.5-1.8.3-3.1 1.7-3.1 3.5C1 14.4 2.6 16 4.5 16H8v-3H5l4.5-4.5L14 13h-3v3h3.5c1.9 0 3.5-1.6 3.5-3.5 0-1.8-1.4-3.3-3.2-3.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'cloud':\n\t\t\t\tpath = 'M14.9 9c1.8.2 3.1 1.7 3.1 3.5 0 1.9-1.6 3.5-3.5 3.5h-10C2.6 16 1 14.4 1 12.5 1 10.7 2.3 9.3 4.1 9 4 8.9 4 8.7 4 8.5 4 7.1 5.1 6 6.5 6c.3 0 .7.1.9.2C8.1 4.9 9.4 4 11 4c2.2 0 4 1.8 4 4 0 .4-.1.7-.1 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'columns':\n\t\t\t\tpath = 'M3 15h6V5H3v10zm8 0h6V5h-6v10z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-back':\n\t\t\t\tpath = 'M2 10l10-6v3.6L18 4v12l-6-3.6V16z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-forward':\n\t\t\t\tpath = 'M18 10L8 16v-3.6L2 16V4l6 3.6V4z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-pause':\n\t\t\t\tpath = 'M5 16V4h3v12H5zm7-12h3v12h-3V4z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-play':\n\t\t\t\tpath = 'M5 4l10 6-10 6V4z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-repeat':\n\t\t\t\tpath = 'M5 7v3l-2 1.5V5h11V3l4 3.01L14 9V7H5zm10 6v-3l2-1.5V15H6v2l-4-3.01L6 11v2h9z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-skipback':\n\t\t\t\tpath = 'M11.98 7.63l6-3.6v12l-6-3.6v3.6l-8-4.8v4.8h-2v-12h2v4.8l8-4.8v3.6z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-skipforward':\n\t\t\t\tpath = 'M8 12.4L2 16V4l6 3.6V4l8 4.8V4h2v12h-2v-4.8L8 16v-3.6z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-volumeoff':\n\t\t\t\tpath = 'M2 7h4l5-4v14l-5-4H2V7z';\n\t\t\t\tbreak;\n\t\t\tcase 'controls-volumeon':\n\t\t\t\tpath = 'M2 7h4l5-4v14l-5-4H2V7zm12.69-2.46C14.82 4.59 18 5.92 18 10s-3.18 5.41-3.31 5.46c-.06.03-.13.04-.19.04-.2 0-.39-.12-.46-.31-.11-.26.02-.55.27-.65.11-.05 2.69-1.15 2.69-4.54 0-3.41-2.66-4.53-2.69-4.54-.25-.1-.38-.39-.27-.65.1-.25.39-.38.65-.27zM16 10c0 2.57-2.23 3.43-2.32 3.47-.06.02-.12.03-.18.03-.2 0-.39-.12-.47-.32-.1-.26.04-.55.29-.65.07-.02 1.68-.67 1.68-2.53s-1.61-2.51-1.68-2.53c-.25-.1-.38-.39-.29-.65.1-.25.39-.39.65-.29.09.04 2.32.9 2.32 3.47z';\n\t\t\t\tbreak;\n\t\t\tcase 'cover-image':\n\t\t\t\tpath = 'M2.2 1h15.5c.7 0 1.3.6 1.3 1.2v11.5c0 .7-.6 1.2-1.2 1.2H2.2c-.6.1-1.2-.5-1.2-1.1V2.2C1 1.6 1.6 1 2.2 1zM17 13V3H3v10h14zm-4-4s0-5 3-5v7c0 .6-.4 1-1 1H5c-.6 0-1-.4-1-1V7c2 0 3 4 3 4s1-4 3-4 3 2 3 2zM4 17h12v2H4z';\n\t\t\t\tbreak;\n\t\t\tcase 'dashboard':\n\t\t\t\tpath = 'M3.76 16h12.48c1.1-1.37 1.76-3.11 1.76-5 0-4.42-3.58-8-8-8s-8 3.58-8 8c0 1.89.66 3.63 1.76 5zM10 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM6 6c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm8 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-5.37 5.55L12 7v6c0 1.1-.9 2-2 2s-2-.9-2-2c0-.57.24-1.08.63-1.45zM4 10c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm12 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm-5 3c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'desktop':\n\t\t\t\tpath = 'M3 2h14c.55 0 1 .45 1 1v10c0 .55-.45 1-1 1h-5v2h2c.55 0 1 .45 1 1v1H5v-1c0-.55.45-1 1-1h2v-2H3c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm13 9V4H4v7h12zM5 5h9L5 9V5z';\n\t\t\t\tbreak;\n\t\t\tcase 'dismiss':\n\t\t\t\tpath = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm5 11l-3-3 3-3-2-2-3 3-3-3-2 2 3 3-3 3 2 2 3-3 3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'download':\n\t\t\t\tpath = 'M14.01 4v6h2V2H4v8h2.01V4h8zm-2 2v6h3l-5 6-5-6h3V6h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'edit':\n\t\t\t\tpath = 'M13.89 3.39l2.71 2.72c.46.46.42 1.24.03 1.64l-8.01 8.02-5.56 1.16 1.16-5.58s7.6-7.63 7.99-8.03c.39-.39 1.22-.39 1.68.07zm-2.73 2.79l-5.59 5.61 1.11 1.11 5.54-5.65zm-2.97 8.23l5.58-5.6-1.07-1.08-5.59 5.6z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-aligncenter':\n\t\t\t\tpath = 'M14 5V3H6v2h8zm3 4V7H3v2h14zm-3 4v-2H6v2h8zm3 4v-2H3v2h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-alignleft':\n\t\t\t\tpath = 'M12 5V3H3v2h9zm5 4V7H3v2h14zm-5 4v-2H3v2h9zm5 4v-2H3v2h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-alignright':\n\t\t\t\tpath = 'M17 5V3H8v2h9zm0 4V7H3v2h14zm0 4v-2H8v2h9zm0 4v-2H3v2h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-bold':\n\t\t\t\tpath = 'M6 4v13h4.54c1.37 0 2.46-.33 3.26-1 .8-.66 1.2-1.58 1.2-2.77 0-.84-.17-1.51-.51-2.01s-.9-.85-1.67-1.03v-.09c.57-.1 1.02-.4 1.36-.9s.51-1.13.51-1.91c0-1.14-.39-1.98-1.17-2.5C12.75 4.26 11.5 4 9.78 4H6zm2.57 5.15V6.26h1.36c.73 0 1.27.11 1.61.32.34.22.51.58.51 1.07 0 .54-.16.92-.47 1.15s-.82.35-1.51.35h-1.5zm0 2.19h1.6c1.44 0 2.16.53 2.16 1.61 0 .6-.17 1.05-.51 1.34s-.86.43-1.57.43H8.57v-3.38z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-break':\n\t\t\t\tpath = 'M16 4h2v9H7v3l-5-4 5-4v3h9V4z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-code':\n\t\t\t\tpath = 'M9 6l-4 4 4 4-1 2-6-6 6-6zm2 8l4-4-4-4 1-2 6 6-6 6z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-contract':\n\t\t\t\tpath = 'M15.75 6.75L18 3v14l-2.25-3.75L17 12h-4v4l1.25-1.25L18 17H2l3.75-2.25L7 16v-4H3l1.25 1.25L2 17V3l2.25 3.75L3 8h4V4L5.75 5.25 2 3h16l-3.75 2.25L13 4v4h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-customchar':\n\t\t\t\tpath = 'M10 5.4c1.27 0 2.24.36 2.91 1.08.66.71 1 1.76 1 3.13 0 1.28-.23 2.37-.69 3.27-.47.89-1.27 1.52-2.22 2.12v2h6v-2h-3.69c.92-.64 1.62-1.34 2.12-2.34.49-1.01.74-2.13.74-3.35 0-1.78-.55-3.19-1.65-4.22S11.92 3.54 10 3.54s-3.43.53-4.52 1.57c-1.1 1.04-1.65 2.44-1.65 4.2 0 1.21.24 2.31.73 3.33.48 1.01 1.19 1.71 2.1 2.36H3v2h6v-2c-.98-.64-1.8-1.28-2.24-2.17-.45-.89-.67-1.96-.67-3.22 0-1.37.33-2.41 1-3.13C7.75 5.76 8.72 5.4 10 5.4z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-expand':\n\t\t\t\tpath = 'M7 8h6v4H7zm-5 5v4h4l-1.2-1.2L7 12l-3.8 2.2M14 17h4v-4l-1.2 1.2L13 12l2.2 3.8M14 3l1.3 1.3L13 8l3.8-2.2L18 7V3M6 3H2v4l1.2-1.2L7 8 4.7 4.3';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-help':\n\t\t\t\tpath = 'M17 10c0-3.87-3.14-7-7-7-3.87 0-7 3.13-7 7s3.13 7 7 7c3.86 0 7-3.13 7-7zm-6.3 1.48H9.14v-.43c0-.38.08-.7.24-.98s.46-.57.88-.89c.41-.29.68-.53.81-.71.14-.18.2-.39.2-.62 0-.25-.09-.44-.28-.58-.19-.13-.45-.19-.79-.19-.58 0-1.25.19-2 .57l-.64-1.28c.87-.49 1.8-.74 2.77-.74.81 0 1.45.2 1.92.58.48.39.71.91.71 1.55 0 .43-.09.8-.29 1.11-.19.32-.57.67-1.11 1.06-.38.28-.61.49-.71.63-.1.15-.15.34-.15.57v.35zm-1.47 2.74c-.18-.17-.27-.42-.27-.73 0-.33.08-.58.26-.75s.43-.25.77-.25c.32 0 .57.09.75.26s.27.42.27.74c0 .3-.09.55-.27.72-.18.18-.43.27-.75.27-.33 0-.58-.09-.76-.26z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-indent':\n\t\t\t\tpath = 'M3 5V3h9v2H3zm10-1V3h4v1h-4zm0 3h2V5l4 3.5-4 3.5v-2h-2V7zM3 8V6h9v2H3zm2 3V9h7v2H5zm-2 3v-2h9v2H3zm10 0v-1h4v1h-4zm-4 3v-2h3v2H9z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-insertmore':\n\t\t\t\tpath = 'M17 7V3H3v4h14zM6 11V9H3v2h3zm6 0V9H8v2h4zm5 0V9h-3v2h3zm0 6v-4H3v4h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-italic':\n\t\t\t\tpath = 'M14.78 6h-2.13l-2.8 9h2.12l-.62 2H4.6l.62-2h2.14l2.8-9H8.03l.62-2h6.75z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-justify':\n\t\t\t\tpath = 'M2 3h16v2H2V3zm0 4h16v2H2V7zm0 4h16v2H2v-2zm0 4h16v2H2v-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-kitchensink':\n\t\t\t\tpath = 'M19 2v6H1V2h18zm-1 5V3H2v4h16zM5 4v2H3V4h2zm3 0v2H6V4h2zm3 0v2H9V4h2zm3 0v2h-2V4h2zm3 0v2h-2V4h2zm2 5v9H1V9h18zm-1 8v-7H2v7h16zM5 11v2H3v-2h2zm3 0v2H6v-2h2zm3 0v2H9v-2h2zm6 0v2h-5v-2h5zm-6 3v2H3v-2h8zm3 0v2h-2v-2h2zm3 0v2h-2v-2h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-ltr':\n\t\t\t\tpath = 'M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM14 14l5-4-5-4v8z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-ol-rtl':\n\t\t\t\tpath = 'M15.025 8.75a1.048 1.048 0 0 1 .45-.1.507.507 0 0 1 .35.11.455.455 0 0 1 .13.36.803.803 0 0 1-.06.3 1.448 1.448 0 0 1-.19.33c-.09.11-.29.32-.58.62l-.99 1v.58h2.76v-.7h-1.72v-.04l.51-.48a7.276 7.276 0 0 0 .7-.71 1.75 1.75 0 0 0 .3-.49 1.254 1.254 0 0 0 .1-.51.968.968 0 0 0-.16-.56 1.007 1.007 0 0 0-.44-.37 1.512 1.512 0 0 0-.65-.14 1.98 1.98 0 0 0-.51.06 1.9 1.9 0 0 0-.42.15 3.67 3.67 0 0 0-.48.35l.45.54a2.505 2.505 0 0 1 .45-.3zM16.695 15.29a1.29 1.29 0 0 0-.74-.3v-.02a1.203 1.203 0 0 0 .65-.37.973.973 0 0 0 .23-.65.81.81 0 0 0-.37-.71 1.72 1.72 0 0 0-1-.26 2.185 2.185 0 0 0-1.33.4l.4.6a1.79 1.79 0 0 1 .46-.23 1.18 1.18 0 0 1 .41-.07c.38 0 .58.15.58.46a.447.447 0 0 1-.22.43 1.543 1.543 0 0 1-.7.12h-.31v.66h.31a1.764 1.764 0 0 1 .75.12.433.433 0 0 1 .23.41.55.55 0 0 1-.2.47 1.084 1.084 0 0 1-.63.15 2.24 2.24 0 0 1-.57-.08 2.671 2.671 0 0 1-.52-.2v.74a2.923 2.923 0 0 0 1.18.22 1.948 1.948 0 0 0 1.22-.33 1.077 1.077 0 0 0 .43-.92.836.836 0 0 0-.26-.64zM15.005 4.17c.06-.05.16-.14.3-.28l-.02.42V7h.84V3h-.69l-1.29 1.03.4.51zM4.02 5h9v1h-9zM4.02 10h9v1h-9zM4.02 15h9v1h-9z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-ol':\n\t\t\t\tpath = 'M6 7V3h-.69L4.02 4.03l.4.51.46-.37c.06-.05.16-.14.3-.28l-.02.42V7H6zm2-2h9v1H8V5zm-1.23 6.95v-.7H5.05v-.04l.51-.48c.33-.31.57-.54.7-.71.14-.17.24-.33.3-.49.07-.16.1-.33.1-.51 0-.21-.05-.4-.16-.56-.1-.16-.25-.28-.44-.37s-.41-.14-.65-.14c-.19 0-.36.02-.51.06-.15.03-.29.09-.42.15-.12.07-.29.19-.48.35l.45.54c.16-.13.31-.23.45-.3.15-.07.3-.1.45-.1.14 0 .26.03.35.11s.13.2.13.36c0 .1-.02.2-.06.3s-.1.21-.19.33c-.09.11-.29.32-.58.62l-.99 1v.58h2.76zM8 10h9v1H8v-1zm-1.29 3.95c0-.3-.12-.54-.37-.71-.24-.17-.58-.26-1-.26-.52 0-.96.13-1.33.4l.4.6c.17-.11.32-.19.46-.23.14-.05.27-.07.41-.07.38 0 .58.15.58.46 0 .2-.07.35-.22.43s-.38.12-.7.12h-.31v.66h.31c.34 0 .59.04.75.12.15.08.23.22.23.41 0 .22-.07.37-.2.47-.14.1-.35.15-.63.15-.19 0-.38-.03-.57-.08s-.36-.12-.52-.2v.74c.34.15.74.22 1.18.22.53 0 .94-.11 1.22-.33.29-.22.43-.52.43-.92 0-.27-.09-.48-.26-.64s-.42-.26-.74-.3v-.02c.27-.06.49-.19.65-.37.15-.18.23-.39.23-.65zM8 15h9v1H8v-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-outdent':\n\t\t\t\tpath = 'M7 4V3H3v1h4zm10 1V3H8v2h9zM7 7H5V5L1 8.5 5 12v-2h2V7zm10 1V6H8v2h9zm-2 3V9H8v2h7zm2 3v-2H8v2h9zM7 14v-1H3v1h4zm4 3v-2H8v2h3z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-paragraph':\n\t\t\t\tpath = 'M15 2H7.54c-.83 0-1.59.2-2.28.6-.7.41-1.25.96-1.65 1.65C3.2 4.94 3 5.7 3 6.52s.2 1.58.61 2.27c.4.69.95 1.24 1.65 1.64.69.41 1.45.61 2.28.61h.43V17c0 .27.1.51.29.71.2.19.44.29.71.29.28 0 .51-.1.71-.29.2-.2.3-.44.3-.71V5c0-.27.09-.51.29-.71.2-.19.44-.29.71-.29s.51.1.71.29c.19.2.29.44.29.71v12c0 .27.1.51.3.71.2.19.43.29.71.29.27 0 .51-.1.71-.29.19-.2.29-.44.29-.71V4H15c.27 0 .5-.1.7-.3.2-.19.3-.43.3-.7s-.1-.51-.3-.71C15.5 2.1 15.27 2 15 2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-paste-text':\n\t\t\t\tpath = 'M12.38 2L15 5v1H5V5l2.64-3h4.74zM10 5c.55 0 1-.44 1-1 0-.55-.45-1-1-1s-1 .45-1 1c0 .56.45 1 1 1zm5.45-1H17c.55 0 1 .45 1 1v12c0 .56-.45 1-1 1H3c-.55 0-1-.44-1-1V5c0-.55.45-1 1-1h1.55L4 4.63V7h12V4.63zM14 11V9H6v2h3v5h2v-5h3z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-paste-word':\n\t\t\t\tpath = 'M12.38 2L15 5v1H5V5l2.64-3h4.74zM10 5c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1zm8 12V5c0-.55-.45-1-1-1h-1.54l.54.63V7H4V4.62L4.55 4H3c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-3-8l-2 7h-2l-1-5-1 5H6.92L5 9h2l1 5 1-5h2l1 5 1-5h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-quote':\n\t\t\t\tpath = 'M9.49 13.22c0-.74-.2-1.38-.61-1.9-.62-.78-1.83-.88-2.53-.72-.29-1.65 1.11-3.75 2.92-4.65L7.88 4c-2.73 1.3-5.42 4.28-4.96 8.05C3.21 14.43 4.59 16 6.54 16c.85 0 1.56-.25 2.12-.75s.83-1.18.83-2.03zm8.05 0c0-.74-.2-1.38-.61-1.9-.63-.78-1.83-.88-2.53-.72-.29-1.65 1.11-3.75 2.92-4.65L15.93 4c-2.73 1.3-5.41 4.28-4.95 8.05.29 2.38 1.66 3.95 3.61 3.95.85 0 1.56-.25 2.12-.75s.83-1.18.83-2.03z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-removeformatting':\n\t\t\t\tpath = 'M14.29 4.59l1.1 1.11c.41.4.61.94.61 1.47v2.12c0 .53-.2 1.07-.61 1.47l-6.63 6.63c-.4.41-.94.61-1.47.61s-1.07-.2-1.47-.61l-1.11-1.1-1.1-1.11c-.41-.4-.61-.94-.61-1.47v-2.12c0-.54.2-1.07.61-1.48l6.63-6.62c.4-.41.94-.61 1.47-.61s1.06.2 1.47.61zm-6.21 9.7l6.42-6.42c.39-.39.39-1.03 0-1.43L12.36 4.3c-.19-.19-.45-.29-.72-.29s-.52.1-.71.29l-6.42 6.42c-.39.4-.39 1.04 0 1.43l2.14 2.14c.38.38 1.04.38 1.43 0z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-rtl':\n\t\t\t\tpath = 'M5.52 2h7.43c.55 0 1 .45 1 1s-.45 1-1 1h-1v13c0 .55-.45 1-1 1s-1-.45-1-1V5c0-.55-.45-1-1-1s-1 .45-1 1v12c0 .55-.45 1-1 1s-1-.45-1-1v-5.96h-.43C3.02 11.04 1 9.02 1 6.52S3.02 2 5.52 2zM19 6l-5 4 5 4V6z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-spellcheck':\n\t\t\t\tpath = 'M15.84 2.76c.25 0 .49.04.71.11.23.07.44.16.64.25l.35-.81c-.52-.26-1.08-.39-1.69-.39-.58 0-1.09.13-1.52.37-.43.25-.76.61-.99 1.08C13.11 3.83 13 4.38 13 5c0 .99.23 1.75.7 2.28s1.15.79 2.02.79c.6 0 1.13-.09 1.6-.26v-.84c-.26.08-.51.14-.74.19-.24.05-.49.08-.74.08-.59 0-1.04-.19-1.34-.57-.32-.37-.47-.93-.47-1.66 0-.7.16-1.25.48-1.65.33-.4.77-.6 1.33-.6zM6.5 8h1.04L5.3 2H4.24L2 8h1.03l.58-1.66H5.9zM8 2v6h2.17c.67 0 1.19-.15 1.57-.46.38-.3.56-.72.56-1.26 0-.4-.1-.72-.3-.95-.19-.24-.5-.39-.93-.47v-.04c.35-.06.6-.21.78-.44.18-.24.28-.53.28-.88 0-.52-.19-.9-.56-1.14-.36-.24-.96-.36-1.79-.36H8zm.98 2.48V2.82h.85c.44 0 .77.06.97.19.21.12.31.33.31.61 0 .31-.1.53-.29.66-.18.13-.48.2-.89.2h-.95zM5.64 5.5H3.9l.54-1.56c.14-.4.25-.76.32-1.1l.15.52c.07.23.13.4.17.51zm3.34-.23h.99c.44 0 .76.08.98.23.21.15.32.38.32.69 0 .34-.11.59-.32.75s-.52.24-.93.24H8.98V5.27zM4 13l5 5 9-8-1-1-8 6-4-3z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-strikethrough':\n\t\t\t\tpath = 'M15.82 12.25c.26 0 .5-.02.74-.07.23-.05.48-.12.73-.2v.84c-.46.17-.99.26-1.58.26-.88 0-1.54-.26-2.01-.79-.39-.44-.62-1.04-.68-1.79h-.94c.12.21.18.48.18.79 0 .54-.18.95-.55 1.26-.38.3-.9.45-1.56.45H8v-2.5H6.59l.93 2.5H6.49l-.59-1.67H3.62L3.04 13H2l.93-2.5H2v-1h1.31l.93-2.49H5.3l.92 2.49H8V7h1.77c1 0 1.41.17 1.77.41.37.24.55.62.55 1.13 0 .35-.09.64-.27.87l-.08.09h1.29c.05-.4.15-.77.31-1.1.23-.46.55-.82.98-1.06.43-.25.93-.37 1.51-.37.61 0 1.17.12 1.69.38l-.35.81c-.2-.1-.42-.18-.64-.25s-.46-.11-.71-.11c-.55 0-.99.2-1.31.59-.23.29-.38.66-.44 1.11H17v1h-2.95c.06.5.2.9.44 1.19.3.37.75.56 1.33.56zM4.44 8.96l-.18.54H5.3l-.22-.61c-.04-.11-.09-.28-.17-.51-.07-.24-.12-.41-.14-.51-.08.33-.18.69-.33 1.09zm4.53-1.09V9.5h1.19c.28-.02.49-.09.64-.18.19-.13.28-.35.28-.66 0-.28-.1-.48-.3-.61-.2-.12-.53-.18-.97-.18h-.84zm-3.33 2.64v-.01H3.91v.01h1.73zm5.28.01l-.03-.02H8.97v1.68h1.04c.4 0 .71-.08.92-.23.21-.16.31-.4.31-.74 0-.31-.11-.54-.32-.69z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-table':\n\t\t\t\tpath = 'M18 17V3H2v14h16zM16 7H4V5h12v2zm-7 4H4V9h5v2zm7 0h-5V9h5v2zm-7 4H4v-2h5v2zm7 0h-5v-2h5v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-textcolor':\n\t\t\t\tpath = 'M13.23 15h1.9L11 4H9L5 15h1.88l1.07-3h4.18zm-1.53-4.54H8.51L10 5.6z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-ul':\n\t\t\t\tpath = 'M5.5 7C4.67 7 4 6.33 4 5.5 4 4.68 4.67 4 5.5 4 6.32 4 7 4.68 7 5.5 7 6.33 6.32 7 5.5 7zM8 5h9v1H8V5zm-2.5 7c-.83 0-1.5-.67-1.5-1.5C4 9.68 4.67 9 5.5 9c.82 0 1.5.68 1.5 1.5 0 .83-.68 1.5-1.5 1.5zM8 10h9v1H8v-1zm-2.5 7c-.83 0-1.5-.67-1.5-1.5 0-.82.67-1.5 1.5-1.5.82 0 1.5.68 1.5 1.5 0 .83-.68 1.5-1.5 1.5zM8 15h9v1H8v-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-underline':\n\t\t\t\tpath = 'M14 5h-2v5.71c0 1.99-1.12 2.98-2.45 2.98-1.32 0-2.55-1-2.55-2.96V5H5v5.87c0 1.91 1 4.54 4.48 4.54 3.49 0 4.52-2.58 4.52-4.5V5zm0 13v-2H5v2h9z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-unlink':\n\t\t\t\tpath = 'M17.74 2.26c1.68 1.69 1.68 4.41 0 6.1l-1.53 1.52c-.32.33-.69.58-1.08.77L13 10l1.69-1.64.76-.77.76-.76c.84-.84.84-2.2 0-3.04-.84-.85-2.2-.85-3.04 0l-.77.76-.76.76L10 7l-.65-2.14c.19-.38.44-.75.77-1.07l1.52-1.53c1.69-1.68 4.42-1.68 6.1 0zM2 4l8 6-6-8zm4-2l4 8-2-8H6zM2 6l8 4-8-2V6zm7.36 7.69L10 13l.74 2.35-1.38 1.39c-1.69 1.68-4.41 1.68-6.1 0-1.68-1.68-1.68-4.42 0-6.1l1.39-1.38L7 10l-.69.64-1.52 1.53c-.85.84-.85 2.2 0 3.04.84.85 2.2.85 3.04 0zM18 16l-8-6 6 8zm-4 2l-4-8 2 8h2zm4-4l-8-4 8 2v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'editor-video':\n\t\t\t\tpath = 'M16 2h-3v1H7V2H4v15h3v-1h6v1h3V2zM6 3v1H5V3h1zm9 0v1h-1V3h1zm-2 1v5H7V4h6zM6 5v1H5V5h1zm9 0v1h-1V5h1zM6 7v1H5V7h1zm9 0v1h-1V7h1zM6 9v1H5V9h1zm9 0v1h-1V9h1zm-2 1v5H7v-5h6zm-7 1v1H5v-1h1zm9 0v1h-1v-1h1zm-9 2v1H5v-1h1zm9 0v1h-1v-1h1zm-9 2v1H5v-1h1zm9 0v1h-1v-1h1z';\n\t\t\t\tbreak;\n\t\t\tcase 'ellipsis':\n\t\t\t\tpath = 'M5 10c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm12-2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-7 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'email-alt':\n\t\t\t\tpath = 'M19 14.5v-9c0-.83-.67-1.5-1.5-1.5H3.49c-.83 0-1.5.67-1.5 1.5v9c0 .83.67 1.5 1.5 1.5H17.5c.83 0 1.5-.67 1.5-1.5zm-1.31-9.11c.33.33.15.67-.03.84L13.6 9.95l3.9 4.06c.12.14.2.36.06.51-.13.16-.43.15-.56.05l-4.37-3.73-2.14 1.95-2.13-1.95-4.37 3.73c-.13.1-.43.11-.56-.05-.14-.15-.06-.37.06-.51l3.9-4.06-4.06-3.72c-.18-.17-.36-.51-.03-.84s.67-.17.95.07l6.24 5.04 6.25-5.04c.28-.24.62-.4.95-.07z';\n\t\t\t\tbreak;\n\t\t\tcase 'email-alt2':\n\t\t\t\tpath = 'M18.01 11.18V2.51c0-1.19-.9-1.81-2-1.37L4 5.91c-1.1.44-2 1.77-2 2.97v8.66c0 1.2.9 1.81 2 1.37l12.01-4.77c1.1-.44 2-1.76 2-2.96zm-1.43-7.46l-6.04 9.33-6.65-4.6c-.1-.07-.36-.32-.17-.64.21-.36.65-.21.65-.21l6.3 2.32s4.83-6.34 5.11-6.7c.13-.17.43-.34.73-.13.29.2.16.49.07.63z';\n\t\t\t\tbreak;\n\t\t\tcase 'email':\n\t\t\t\tpath = 'M3.87 4h13.25C18.37 4 19 4.59 19 5.79v8.42c0 1.19-.63 1.79-1.88 1.79H3.87c-1.25 0-1.88-.6-1.88-1.79V5.79c0-1.2.63-1.79 1.88-1.79zm6.62 8.6l6.74-5.53c.24-.2.43-.66.13-1.07-.29-.41-.82-.42-1.17-.17l-5.7 3.86L4.8 5.83c-.35-.25-.88-.24-1.17.17-.3.41-.11.87.13 1.07z';\n\t\t\t\tbreak;\n\t\t\tcase 'embed-audio':\n\t\t\t\tpath = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 3H7v4c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.4 0 .7.1 1 .3V5h4v2zm4 3.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'embed-generic':\n\t\t\t\tpath = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-3 6.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'embed-photo':\n\t\t\t\tpath = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 8H3V6h7v6zm4-1.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3zm-6-4V8.5L7.2 10 6 9.2 4 11h5zM4.6 8.6c.6 0 1-.4 1-1s-.4-1-1-1-1 .4-1 1 .4 1 1 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'embed-post':\n\t\t\t\tpath = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM8.6 9l-.4.3c-.4.4-.5 1.1-.2 1.6l-.8.8-1.1-1.1-1.3 1.3c-.2.2-1.6 1.3-1.8 1.1-.2-.2.9-1.6 1.1-1.8l1.3-1.3-1.1-1.1.8-.8c.5.3 1.2.3 1.6-.2l.3-.3c.5-.5.5-1.2.2-1.7L8 5l3 2.9-.8.8c-.5-.2-1.2-.2-1.6.3zm5.4 1.5L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'embed-video':\n\t\t\t\tpath = 'M17 4H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm-7 6.5L8 9.1V11H3V6h5v1.8l2-1.3v4zm4 0L12.5 12l1.5 1.5V15l-3-3 3-3v1.5zm1 4.5v-1.5l1.5-1.5-1.5-1.5V9l3 3-3 3z';\n\t\t\t\tbreak;\n\t\t\tcase 'excerpt-view':\n\t\t\t\tpath = 'M19 18V2c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1h16c.55 0 1-.45 1-1zM4 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v6H6V3h11zM4 11c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v6H6v-6h11z';\n\t\t\t\tbreak;\n\t\t\tcase 'exit':\n\t\t\t\tpath = 'M13 3v2h2v10h-2v2h4V3h-4zm0 8V9H5.4l4.3-4.3-1.4-1.4L1.6 10l6.7 6.7 1.4-1.4L5.4 11H13z';\n\t\t\t\tbreak;\n\t\t\tcase 'external':\n\t\t\t\tpath = 'M9 3h8v8l-2-1V6.92l-5.6 5.59-1.41-1.41L14.08 5H10zm3 12v-3l2-2v7H3V6h8L9 8H5v7h7z';\n\t\t\t\tbreak;\n\t\t\tcase 'facebook-alt':\n\t\t\t\tpath = 'M8.46 18h2.93v-7.3h2.45l.37-2.84h-2.82V6.04c0-.82.23-1.38 1.41-1.38h1.51V2.11c-.26-.03-1.15-.11-2.19-.11-2.18 0-3.66 1.33-3.66 3.76v2.1H6v2.84h2.46V18z';\n\t\t\t\tbreak;\n\t\t\tcase 'facebook':\n\t\t\t\tpath = 'M2.89 2h14.23c.49 0 .88.39.88.88v14.24c0 .48-.39.88-.88.88h-4.08v-6.2h2.08l.31-2.41h-2.39V7.85c0-.7.2-1.18 1.2-1.18h1.28V4.51c-.22-.03-.98-.09-1.86-.09-1.85 0-3.11 1.12-3.11 3.19v1.78H8.46v2.41h2.09V18H2.89c-.49 0-.89-.4-.89-.88V2.88c0-.49.4-.88.89-.88z';\n\t\t\t\tbreak;\n\t\t\tcase 'feedback':\n\t\t\t\tpath = 'M2 2h16c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm15 14V7H3v9h14zM4 8v1h3V8H4zm4 0v3h8V8H8zm-4 4v1h3v-1H4zm4 0v3h8v-3H8z';\n\t\t\t\tbreak;\n\t\t\tcase 'filter':\n\t\t\t\tpath = 'M3 4.5v-2s3.34-1 7-1 7 1 7 1v2l-5 7.03v6.97s-1.22-.09-2.25-.59S8 16.5 8 16.5v-4.97z';\n\t\t\t\tbreak;\n\t\t\tcase 'flag':\n\t\t\t\tpath = 'M5 18V3H3v15h2zm1-6V4c3-1 7 1 11 0v8c-3 1.27-8-1-11 0z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-aside':\n\t\t\t\tpath = 'M1 1h18v12l-6 6H1V1zm3 3v1h12V4H4zm0 4v1h12V8H4zm6 5v-1H4v1h6zm2 4l5-5h-5v5z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-audio':\n\t\t\t\tpath = 'M6.99 3.08l11.02-2c.55-.08.99.45.99 1V14.5c0 1.94-1.57 3.5-3.5 3.5S12 16.44 12 14.5c0-1.93 1.57-3.5 3.5-3.5.54 0 1.04.14 1.5.35V5.08l-9 2V16c-.24 1.7-1.74 3-3.5 3C2.57 19 1 17.44 1 15.5 1 13.57 2.57 12 4.5 12c.54 0 1.04.14 1.5.35V4.08c0-.55.44-.91.99-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-chat':\n\t\t\t\tpath = 'M11 6h-.82C9.07 6 8 7.2 8 8.16V10l-3 3v-3H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h6c1.1 0 2 .9 2 2v3zm0 1h6c1.1 0 2 .9 2 2v5c0 1.1-.9 2-2 2h-2v3l-3-3h-1c-1.1 0-2-.9-2-2V9c0-1.1.9-2 2-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-gallery':\n\t\t\t\tpath = 'M16 4h1.96c.57 0 1.04.47 1.04 1.04v12.92c0 .57-.47 1.04-1.04 1.04H5.04C4.47 19 4 18.53 4 17.96V16H2.04C1.47 16 1 15.53 1 14.96V2.04C1 1.47 1.47 1 2.04 1h12.92c.57 0 1.04.47 1.04 1.04V4zM3 14h11V3H3v11zm5-8.5C8 4.67 7.33 4 6.5 4S5 4.67 5 5.5 5.67 7 6.5 7 8 6.33 8 5.5zm2 4.5s1-5 3-5v8H4V7c2 0 2 3 2 3s.33-2 2-2 2 2 2 2zm7 7V6h-1v8.96c0 .57-.47 1.04-1.04 1.04H6v1h11z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-image':\n\t\t\t\tpath = 'M2.25 1h15.5c.69 0 1.25.56 1.25 1.25v15.5c0 .69-.56 1.25-1.25 1.25H2.25C1.56 19 1 18.44 1 17.75V2.25C1 1.56 1.56 1 2.25 1zM17 17V3H3v14h14zM10 6c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm3 5s0-6 3-6v10c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1V8c2 0 3 4 3 4s1-3 3-3 3 2 3 2z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-quote':\n\t\t\t\tpath = 'M8.54 12.74c0-.87-.24-1.61-.72-2.22-.73-.92-2.14-1.03-2.96-.85-.34-1.93 1.3-4.39 3.42-5.45L6.65 1.94C3.45 3.46.31 6.96.85 11.37 1.19 14.16 2.8 16 5.08 16c1 0 1.83-.29 2.48-.88.66-.59.98-1.38.98-2.38zm9.43 0c0-.87-.24-1.61-.72-2.22-.73-.92-2.14-1.03-2.96-.85-.34-1.93 1.3-4.39 3.42-5.45l-1.63-2.28c-3.2 1.52-6.34 5.02-5.8 9.43.34 2.79 1.95 4.63 4.23 4.63 1 0 1.83-.29 2.48-.88.66-.59.98-1.38.98-2.38z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-status':\n\t\t\t\tpath = 'M10 1c7 0 9 2.91 9 6.5S17 14 10 14s-9-2.91-9-6.5S3 1 10 1zM5.5 9C6.33 9 7 8.33 7 7.5S6.33 6 5.5 6 4 6.67 4 7.5 4.67 9 5.5 9zM10 9c.83 0 1.5-.67 1.5-1.5S10.83 6 10 6s-1.5.67-1.5 1.5S9.17 9 10 9zm4.5 0c.83 0 1.5-.67 1.5-1.5S15.33 6 14.5 6 13 6.67 13 7.5 13.67 9 14.5 9zM6 14.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zm-3 2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'format-video':\n\t\t\t\tpath = 'M2 1h16c.55 0 1 .45 1 1v16l-18-.02V2c0-.55.45-1 1-1zm4 1L4 5h1l2-3H6zm4 0H9L7 5h1zm3 0h-1l-2 3h1zm3 0h-1l-2 3h1zm1 14V6H3v10h14zM8 7l6 4-6 4V7z';\n\t\t\t\tbreak;\n\t\t\tcase 'forms':\n\t\t\t\tpath = 'M2 2h7v7H2V2zm9 0v7h7V2h-7zM5.5 4.5L7 3H4zM12 8V3h5v5h-5zM4.5 5.5L3 4v3zM8 4L6.5 5.5 8 7V4zM5.5 6.5L4 8h3zM9 18v-7H2v7h7zm9 0h-7v-7h7v7zM8 12v5H3v-5h5zm6.5 1.5L16 12h-3zM12 16l1.5-1.5L12 13v3zm3.5-1.5L17 16v-3zm-1 1L13 17h3z';\n\t\t\t\tbreak;\n\t\t\tcase 'googleplus':\n\t\t\t\tpath = 'M6.73 10h5.4c.05.29.09.57.09.95 0 3.27-2.19 5.6-5.49 5.6-3.17 0-5.73-2.57-5.73-5.73 0-3.17 2.56-5.73 5.73-5.73 1.54 0 2.84.57 3.83 1.5l-1.55 1.5c-.43-.41-1.17-.89-2.28-.89-1.96 0-3.55 1.62-3.55 3.62 0 1.99 1.59 3.61 3.55 3.61 2.26 0 3.11-1.62 3.24-2.47H6.73V10zM19 10v1.64h-1.64v1.63h-1.63v-1.63h-1.64V10h1.64V8.36h1.63V10H19z';\n\t\t\t\tbreak;\n\t\t\tcase 'grid-view':\n\t\t\t\tpath = 'M2 1h16c.55 0 1 .45 1 1v16c0 .55-.45 1-1 1H2c-.55 0-1-.45-1-1V2c0-.55.45-1 1-1zm7.01 7.99v-6H3v6h6.01zm8 0v-6h-6v6h6zm-8 8.01v-6H3v6h6.01zm8 0v-6h-6v6h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'groups':\n\t\t\t\tpath = 'M8.03 4.46c-.29 1.28.55 3.46 1.97 3.46 1.41 0 2.25-2.18 1.96-3.46-.22-.98-1.08-1.63-1.96-1.63-.89 0-1.74.65-1.97 1.63zm-4.13.9c-.25 1.08.47 2.93 1.67 2.93s1.92-1.85 1.67-2.93c-.19-.83-.92-1.39-1.67-1.39s-1.48.56-1.67 1.39zm8.86 0c-.25 1.08.47 2.93 1.66 2.93 1.2 0 1.92-1.85 1.67-2.93-.19-.83-.92-1.39-1.67-1.39-.74 0-1.47.56-1.66 1.39zm-.59 11.43l1.25-4.3C14.2 10 12.71 8.47 10 8.47c-2.72 0-4.21 1.53-3.44 4.02l1.26 4.3C8.05 17.51 9 18 10 18c.98 0 1.94-.49 2.17-1.21zm-6.1-7.63c-.49.67-.96 1.83-.42 3.59l1.12 3.79c-.34.2-.77.31-1.2.31-.85 0-1.65-.41-1.85-1.03l-1.07-3.65c-.65-2.11.61-3.4 2.92-3.4.27 0 .54.02.79.06-.1.1-.2.22-.29.33zm8.35-.39c2.31 0 3.58 1.29 2.92 3.4l-1.07 3.65c-.2.62-1 1.03-1.85 1.03-.43 0-.86-.11-1.2-.31l1.11-3.77c.55-1.78.08-2.94-.42-3.61-.08-.11-.18-.23-.28-.33.25-.04.51-.06.79-.06z';\n\t\t\t\tbreak;\n\t\t\tcase 'hammer':\n\t\t\t\tpath = 'M17.7 6.32l1.41 1.42-3.47 3.41-1.42-1.42.84-.82c-.32-.76-.81-1.57-1.51-2.31l-4.61 6.59-5.26 4.7c-.39.39-1.02.39-1.42 0l-1.2-1.21c-.39-.39-.39-1.02 0-1.41l10.97-9.92c-1.37-.86-3.21-1.46-5.67-1.48 2.7-.82 4.95-.93 6.58-.3 1.7.66 2.82 2.2 3.91 3.58z';\n\t\t\t\tbreak;\n\t\t\tcase 'heading':\n\t\t\t\tpath = 'M12.5 4v5.2h-5V4H5v13h2.5v-5.2h5V17H15V4';\n\t\t\t\tbreak;\n\t\t\tcase 'heart':\n\t\t\t\tpath = 'M10 17.12c3.33-1.4 5.74-3.79 7.04-6.21 1.28-2.41 1.46-4.81.32-6.25-1.03-1.29-2.37-1.78-3.73-1.74s-2.68.63-3.63 1.46c-.95-.83-2.27-1.42-3.63-1.46s-2.7.45-3.73 1.74c-1.14 1.44-.96 3.84.34 6.25 1.28 2.42 3.69 4.81 7.02 6.21z';\n\t\t\t\tbreak;\n\t\t\tcase 'hidden':\n\t\t\t\tpath = 'M17.2 3.3l.16.17c.39.39.39 1.02 0 1.41L4.55 17.7c-.39.39-1.03.39-1.41 0l-.17-.17c-.39-.39-.39-1.02 0-1.41l1.59-1.6c-1.57-1-2.76-2.3-3.56-3.93.81-1.65 2.03-2.98 3.64-3.99S8.04 5.09 10 5.09c1.2 0 2.33.21 3.4.6l2.38-2.39c.39-.39 1.03-.39 1.42 0zm-7.09 4.01c-.23.25-.34.54-.34.88 0 .31.12.58.31.81l1.8-1.79c-.13-.12-.28-.21-.45-.26-.11-.01-.28-.03-.49-.04-.33.03-.6.16-.83.4zM2.4 10.59c.69 1.23 1.71 2.25 3.05 3.05l1.28-1.28c-.51-.69-.77-1.47-.77-2.36 0-1.06.36-1.98 1.09-2.76-1.04.27-1.96.7-2.76 1.26-.8.58-1.43 1.27-1.89 2.09zm13.22-2.13l.96-.96c1.02.86 1.83 1.89 2.42 3.09-.81 1.65-2.03 2.98-3.64 3.99s-3.4 1.51-5.36 1.51c-.63 0-1.24-.07-1.83-.18l1.07-1.07c.25.02.5.05.76.05 1.63 0 3.13-.4 4.5-1.21s2.4-1.84 3.1-3.09c-.46-.82-1.09-1.51-1.89-2.09-.03-.01-.06-.03-.09-.04zm-5.58 5.58l4-4c-.01 1.1-.41 2.04-1.18 2.81-.78.78-1.72 1.18-2.82 1.19z';\n\t\t\t\tbreak;\n\t\t\tcase 'html':\n\t\t\t\tpath = 'M4 16v-2H2v2H1v-5h1v2h2v-2h1v5H4zM7 16v-4H5.6v-1h3.7v1H8v4H7zM10 16v-5h1l1.4 3.4h.1L14 11h1v5h-1v-3.1h-.1l-1.1 2.5h-.6l-1.1-2.5H11V16h-1zM19 16h-3v-5h1v4h2v1zM9.4 4.2L7.1 6.5l2.3 2.3-.6 1.2-3.5-3.5L8.8 3l.6 1.2zm1.2 4.6l2.3-2.3-2.3-2.3.6-1.2 3.5 3.5-3.5 3.5-.6-1.2z';\n\t\t\t\tbreak;\n\t\t\tcase 'id-alt':\n\t\t\t\tpath = 'M18 18H2V2h16v16zM8.05 7.53c.13-.07.24-.15.33-.24.09-.1.17-.21.24-.34.07-.14.13-.26.17-.37s.07-.22.1-.34L8.95 6c0-.04.01-.07.01-.09.05-.32.03-.61-.04-.9-.08-.28-.23-.52-.46-.72C8.23 4.1 7.95 4 7.6 4c-.2 0-.39.04-.56.11-.17.08-.31.18-.41.3-.11.13-.2.27-.27.44-.07.16-.11.33-.12.51s0 .36.01.55l.02.09c.01.06.03.15.06.25s.06.21.1.33.1.25.17.37c.08.12.16.23.25.33s.2.19.34.25c.13.06.28.09.43.09s.3-.03.43-.09zM16 5V4h-5v1h5zm0 2V6h-5v1h5zM7.62 8.83l-1.38-.88c-.41 0-.79.11-1.14.32-.35.22-.62.5-.81.85-.19.34-.29.7-.29 1.07v1.25l.2.05c.13.04.31.09.55.14.24.06.51.12.8.17.29.06.62.1 1 .14.37.04.73.06 1.07.06s.69-.02 1.07-.06.7-.09.98-.14c.27-.05.54-.1.82-.17.27-.06.45-.11.54-.13.09-.03.16-.05.21-.06v-1.25c0-.36-.1-.72-.31-1.07s-.49-.64-.84-.86-.72-.33-1.11-.33zM16 9V8h-3v1h3zm0 2v-1h-3v1h3zm0 3v-1H4v1h12zm0 2v-1H4v1h12z';\n\t\t\t\tbreak;\n\t\t\tcase 'id':\n\t\t\t\tpath = 'M18 16H2V4h16v12zM7.05 8.53c.13-.07.24-.15.33-.24.09-.1.17-.21.24-.34.07-.14.13-.26.17-.37s.07-.22.1-.34L7.95 7c0-.04.01-.07.01-.09.05-.32.03-.61-.04-.9-.08-.28-.23-.52-.46-.72C7.23 5.1 6.95 5 6.6 5c-.2 0-.39.04-.56.11-.17.08-.31.18-.41.3-.11.13-.2.27-.27.44-.07.16-.11.33-.12.51s0 .36.01.55l.02.09c.01.06.03.15.06.25s.06.21.1.33.1.25.17.37c.08.12.16.23.25.33s.2.19.34.25c.13.06.28.09.43.09s.3-.03.43-.09zM17 9V5h-5v4h5zm-10.38.83l-1.38-.88c-.41 0-.79.11-1.14.32-.35.22-.62.5-.81.85-.19.34-.29.7-.29 1.07v1.25l.2.05c.13.04.31.09.55.14.24.06.51.12.8.17.29.06.62.1 1 .14.37.04.73.06 1.07.06s.69-.02 1.07-.06.7-.09.98-.14c.27-.05.54-.1.82-.17.27-.06.45-.11.54-.13.09-.03.16-.05.21-.06v-1.25c0-.36-.1-.72-.31-1.07s-.49-.64-.84-.86-.72-.33-1.11-.33zM17 11v-1h-5v1h5zm0 2v-1h-5v1h5zm0 2v-1H3v1h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-crop':\n\t\t\t\tpath = 'M19 12v3h-4v4h-3v-4H4V7H0V4h4V0h3v4h7l3-3 1 1-3 3v7h4zm-8-5H7v4zm-3 5h4V8z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-filter':\n\t\t\t\tpath = 'M14 5.87c0-2.2-1.79-4-4-4s-4 1.8-4 4c0 2.21 1.79 4 4 4s4-1.79 4-4zM3.24 10.66c-1.92 1.1-2.57 3.55-1.47 5.46 1.11 1.92 3.55 2.57 5.47 1.47 1.91-1.11 2.57-3.55 1.46-5.47-1.1-1.91-3.55-2.56-5.46-1.46zm9.52 6.93c1.92 1.1 4.36.45 5.47-1.46 1.1-1.92.45-4.36-1.47-5.47-1.91-1.1-4.36-.45-5.46 1.46-1.11 1.92-.45 4.36 1.46 5.47z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-flip-horizontal':\n\t\t\t\tpath = 'M19 3v14h-8v3H9v-3H1V3h8V0h2v3h8zm-8.5 14V3h-1v14h1zM7 6.5L3 10l4 3.5v-7zM17 10l-4-3.5v7z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-flip-vertical':\n\t\t\t\tpath = 'M20 9v2h-3v8H3v-8H0V9h3V1h14v8h3zM6.5 7h7L10 3zM17 9.5H3v1h14v-1zM13.5 13h-7l3.5 4z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-rotate-left':\n\t\t\t\tpath = 'M7 5H5.05c0-1.74.85-2.9 2.95-2.9V0C4.85 0 2.96 2.11 2.96 5H1.18L3.8 8.39zm13-4v14h-5v5H1V10h9V1h10zm-2 2h-6v7h3v3h3V3zm-5 9H3v6h10v-6z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-rotate-right':\n\t\t\t\tpath = 'M15.95 5H14l3.2 3.39L19.82 5h-1.78c0-2.89-1.89-5-5.04-5v2.1c2.1 0 2.95 1.16 2.95 2.9zM1 1h10v9h9v10H6v-5H1V1zm2 2v10h3v-3h3V3H3zm5 9v6h10v-6H8z';\n\t\t\t\tbreak;\n\t\t\tcase 'image-rotate':\n\t\t\t\tpath = 'M10.25 1.02c5.1 0 8.75 4.04 8.75 9s-3.65 9-8.75 9c-3.2 0-6.02-1.59-7.68-3.99l2.59-1.52c1.1 1.5 2.86 2.51 4.84 2.51 3.3 0 6-2.79 6-6s-2.7-6-6-6c-1.97 0-3.72 1-4.82 2.49L7 8.02l-6 2v-7L2.89 4.6c1.69-2.17 4.36-3.58 7.36-3.58z';\n\t\t\t\tbreak;\n\t\t\tcase 'images-alt':\n\t\t\t\tpath = 'M4 15v-3H2V2h12v3h2v3h2v10H6v-3H4zm7-12c-1.1 0-2 .9-2 2h4c0-1.1-.89-2-2-2zm-7 8V6H3v5h1zm7-3h4c0-1.1-.89-2-2-2-1.1 0-2 .9-2 2zm-5 6V9H5v5h1zm9-1c1.1 0 2-.89 2-2 0-1.1-.9-2-2-2s-2 .9-2 2c0 1.11.9 2 2 2zm2 4v-2c-5 0-5-3-10-3v5h10z';\n\t\t\t\tbreak;\n\t\t\tcase 'images-alt2':\n\t\t\t\tpath = 'M5 3h14v11h-2v2h-2v2H1V7h2V5h2V3zm13 10V4H6v9h12zm-3-4c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm1 6v-1H5V6H4v9h12zM7 6l10 6H7V6zm7 11v-1H3V8H2v9h12z';\n\t\t\t\tbreak;\n\t\t\tcase 'index-card':\n\t\t\t\tpath = 'M1 3.17V18h18V4H8v-.83c0-.32-.12-.6-.35-.83S7.14 2 6.82 2H2.18c-.33 0-.6.11-.83.34-.24.23-.35.51-.35.83zM10 6v2H3V6h7zm7 0v10h-5V6h5zm-7 4v2H3v-2h7zm0 4v2H3v-2h7z';\n\t\t\t\tbreak;\n\t\t\tcase 'info-outline':\n\t\t\t\tpath = 'M9 15h2V9H9v6zm1-10c-.5 0-1 .5-1 1s.5 1 1 1 1-.5 1-1-.5-1-1-1zm0-4c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7z';\n\t\t\t\tbreak;\n\t\t\tcase 'info':\n\t\t\t\tpath = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm1 4c0-.55-.45-1-1-1s-1 .45-1 1 .45 1 1 1 1-.45 1-1zm0 9V9H9v6h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'insert-after':\n\t\t\t\tpath = 'M9 12h2v-2h2V8h-2V6H9v2H7v2h2v2zm1 4c3.9 0 7-3.1 7-7s-3.1-7-7-7-7 3.1-7 7 3.1 7 7 7zm0-12c2.8 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.2-5 5-5zM3 19h14v-2H3v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'insert-before':\n\t\t\t\tpath = 'M11 8H9v2H7v2h2v2h2v-2h2v-2h-2V8zm-1-4c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm0 12c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM3 1v2h14V1H3z';\n\t\t\t\tbreak;\n\t\t\tcase 'insert':\n\t\t\t\tpath = 'M10 1c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 16c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7zm1-11H9v3H6v2h3v3h2v-3h3V9h-3V6z';\n\t\t\t\tbreak;\n\t\t\tcase 'instagram':\n\t\t\t\tpath = 'M12.67 10A2.67 2.67 0 1 0 10 12.67 2.68 2.68 0 0 0 12.67 10zm1.43 0A4.1 4.1 0 1 1 10 5.9a4.09 4.09 0 0 1 4.1 4.1zm1.13-4.27a1 1 0 1 1-1-1 1 1 0 0 1 1 1zM10 3.44c-1.17 0-3.67-.1-4.72.32a2.67 2.67 0 0 0-1.52 1.52c-.42 1-.32 3.55-.32 4.72s-.1 3.67.32 4.72a2.74 2.74 0 0 0 1.52 1.52c1 .42 3.55.32 4.72.32s3.67.1 4.72-.32a2.83 2.83 0 0 0 1.52-1.52c.42-1.05.32-3.55.32-4.72s.1-3.67-.32-4.72a2.74 2.74 0 0 0-1.52-1.52c-1.05-.42-3.55-.32-4.72-.32zM18 10c0 1.1 0 2.2-.05 3.3a4.84 4.84 0 0 1-1.29 3.36A4.8 4.8 0 0 1 13.3 18H6.7a4.84 4.84 0 0 1-3.36-1.29 4.84 4.84 0 0 1-1.29-3.41C2 12.2 2 11.1 2 10V6.7a4.84 4.84 0 0 1 1.34-3.36A4.8 4.8 0 0 1 6.7 2.05C7.8 2 8.9 2 10 2h3.3a4.84 4.84 0 0 1 3.36 1.29A4.8 4.8 0 0 1 18 6.7V10z';\n\t\t\t\tbreak;\n\t\t\tcase 'laptop':\n\t\t\t\tpath = 'M3 3h14c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H3c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1zm13 2H4v8h12V5zm-3 1H5v4zm6 11v-1H1v1c0 .6.5 1 1.1 1h15.8c.6 0 1.1-.4 1.1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'layout':\n\t\t\t\tpath = 'M2 2h5v11H2V2zm6 0h5v5H8V2zm6 0h4v16h-4V2zM8 8h5v5H8V8zm-6 6h11v4H2v-4z';\n\t\t\t\tbreak;\n\t\t\tcase 'leftright':\n\t\t\t\tpath = 'M3 10.03L9 6v8zM11 6l6 4.03L11 14V6z';\n\t\t\t\tbreak;\n\t\t\tcase 'lightbulb':\n\t\t\t\tpath = 'M10 1c3.11 0 5.63 2.52 5.63 5.62 0 1.84-2.03 4.58-2.03 4.58-.33.44-.6 1.25-.6 1.8v1c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1v-1c0-.55-.27-1.36-.6-1.8 0 0-2.02-2.74-2.02-4.58C4.38 3.52 6.89 1 10 1zM7 16.87V16h6v.87c0 .62-.13 1.13-.75 1.13H12c0 .62-.4 1-1.02 1h-2c-.61 0-.98-.38-.98-1h-.25c-.62 0-.75-.51-.75-1.13z';\n\t\t\t\tbreak;\n\t\t\tcase 'list-view':\n\t\t\t\tpath = 'M2 19h16c.55 0 1-.45 1-1V2c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1v16c0 .55.45 1 1 1zM4 3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6V3h11zM4 7c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6V7h11zM4 11c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6v-2h11zM4 15c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm13 0v2H6v-2h11z';\n\t\t\t\tbreak;\n\t\t\tcase 'location-alt':\n\t\t\t\tpath = 'M13 13.14l1.17-5.94c.79-.43 1.33-1.25 1.33-2.2 0-1.38-1.12-2.5-2.5-2.5S10.5 3.62 10.5 5c0 .95.54 1.77 1.33 2.2zm0-9.64c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5-1.5-.67-1.5-1.5.67-1.5 1.5-1.5zm1.72 4.8L18 6.97v9L13.12 18 7 15.97l-5 2v-9l5-2 4.27 1.41 1.73 7.3z';\n\t\t\t\tbreak;\n\t\t\tcase 'location':\n\t\t\t\tpath = 'M10 2C6.69 2 4 4.69 4 8c0 2.02 1.17 3.71 2.53 4.89.43.37 1.18.96 1.85 1.83.74.97 1.41 2.01 1.62 2.71.21-.7.88-1.74 1.62-2.71.67-.87 1.42-1.46 1.85-1.83C14.83 11.71 16 10.02 16 8c0-3.31-2.69-6-6-6zm0 2.56c1.9 0 3.44 1.54 3.44 3.44S11.9 11.44 10 11.44 6.56 9.9 6.56 8 8.1 4.56 10 4.56z';\n\t\t\t\tbreak;\n\t\t\tcase 'lock':\n\t\t\t\tpath = 'M14 9h1c.55 0 1 .45 1 1v7c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1v-7c0-.55.45-1 1-1h1V6c0-2.21 1.79-4 4-4s4 1.79 4 4v3zm-2 0V6c0-1.1-.9-2-2-2s-2 .9-2 2v3h4zm-1 7l-.36-2.15c.51-.24.86-.75.86-1.35 0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5c0 .6.35 1.11.86 1.35L9 16h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'marker':\n\t\t\t\tpath = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm0 13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-archive':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zM8 3.5v2l1.8-1zM11 5L9.2 6 11 7V5zM8 6.5v2l1.8-1zM11 8L9.2 9l1.8 1V8zM8 9.5v2l1.8-1zm3 1.5l-1.8 1 1.8 1v-2zm-1.5 6c.83 0 1.62-.72 1.5-1.63-.05-.38-.49-1.61-.49-1.61l-1.99-1.1s-.45 1.95-.52 2.71c-.07.77.67 1.63 1.5 1.63zm0-2.39c.42 0 .76.34.76.76 0 .43-.34.77-.76.77s-.76-.34-.76-.77c0-.42.34-.76.76-.76z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-audio':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm1 7.26V8.09c0-.11-.04-.21-.12-.29-.07-.08-.16-.11-.27-.1 0 0-3.97.71-4.25.78C8.07 8.54 8 8.8 8 9v3.37c-.2-.09-.42-.07-.6-.07-.38 0-.7.13-.96.39-.26.27-.4.58-.4.96 0 .37.14.69.4.95.26.27.58.4.96.4.34 0 .7-.04.96-.26.26-.23.64-.65.64-1.12V10.3l3-.6V12c-.67-.2-1.17.04-1.44.31-.26.26-.39.58-.39.95 0 .38.13.69.39.96.27.26.71.39 1.08.39.38 0 .7-.13.96-.39.26-.27.4-.58.4-.96z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-code':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zM9 13l-2-2 2-2-1-1-3 3 3 3zm3 1l3-3-3-3-1 1 2 2-2 2z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-default':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-document':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zM5 3v1h6V3H5zm7 3h3l-3-3v3zM5 5v1h6V5H5zm10 3V7H5v1h10zM5 9v1h4V9H5zm10 3V9h-5v3h5zM5 11v1h4v-1H5zm10 3v-1H5v1h10zm-3 2v-1H5v1h7z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-interactive':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm2 8V8H6v6h3l-1 2h1l1-2 1 2h1l-1-2h3zm-6-3c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm5-2v2h-3V9h3zm0 3v1H7v-1h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-spreadsheet':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm-1 4V3H5v3h6zM8 8V7H5v1h3zm3 0V7H9v1h2zm4 0V7h-3v1h3zm-7 2V9H5v1h3zm3 0V9H9v1h2zm4 0V9h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2zm4 0v-1h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2zm4 0v-1h-3v1h3zm-7 2v-1H5v1h3zm3 0v-1H9v1h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-text':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zM5 3v1h6V3H5zm7 3h3l-3-3v3zM5 5v1h6V5H5zm10 3V7H5v1h10zm0 2V9H5v1h10zm0 2v-1H5v1h10zm-4 2v-1H5v1h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'media-video':\n\t\t\t\tpath = 'M12 2l4 4v12H4V2h8zm0 4h3l-3-3v3zm-1 8v-3c0-.27-.1-.51-.29-.71-.2-.19-.44-.29-.71-.29H7c-.27 0-.51.1-.71.29-.19.2-.29.44-.29.71v3c0 .27.1.51.29.71.2.19.44.29.71.29h3c.27 0 .51-.1.71-.29.19-.2.29-.44.29-.71zm3 1v-5l-2 2v1z';\n\t\t\t\tbreak;\n\t\t\tcase 'megaphone':\n\t\t\t\tpath = 'M18.15 5.94c.46 1.62.38 3.22-.02 4.48-.42 1.28-1.26 2.18-2.3 2.48-.16.06-.26.06-.4.06-.06.02-.12.02-.18.02-.06.02-.14.02-.22.02h-6.8l2.22 5.5c.02.14-.06.26-.14.34-.08.1-.24.16-.34.16H6.95c-.1 0-.26-.06-.34-.16-.08-.08-.16-.2-.14-.34l-1-5.5H4.25l-.02-.02c-.5.06-1.08-.18-1.54-.62s-.88-1.08-1.06-1.88c-.24-.8-.2-1.56-.02-2.2.18-.62.58-1.08 1.06-1.3l.02-.02 9-5.4c.1-.06.18-.1.24-.16.06-.04.14-.08.24-.12.16-.08.28-.12.5-.18 1.04-.3 2.24.1 3.22.98s1.84 2.24 2.26 3.86zm-2.58 5.98h-.02c.4-.1.74-.34 1.04-.7.58-.7.86-1.76.86-3.04 0-.64-.1-1.3-.28-1.98-.34-1.36-1.02-2.5-1.78-3.24s-1.68-1.1-2.46-.88c-.82.22-1.4.96-1.7 2-.32 1.04-.28 2.36.06 3.72.38 1.36 1 2.5 1.8 3.24.78.74 1.62 1.1 2.48.88zm-2.54-7.08c.22-.04.42-.02.62.04.38.16.76.48 1.02 1s.42 1.2.42 1.78c0 .3-.04.56-.12.8-.18.48-.44.84-.86.94-.34.1-.8-.06-1.14-.4s-.64-.86-.78-1.5c-.18-.62-.12-1.24.02-1.72s.48-.84.82-.94z';\n\t\t\t\tbreak;\n\t\t\tcase 'menu-alt':\n\t\t\t\tpath = 'M3 4h14v2H3V4zm0 5h14v2H3V9zm0 5h14v2H3v-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'menu':\n\t\t\t\tpath = 'M17 7V5H3v2h14zm0 4V9H3v2h14zm0 4v-2H3v2h14z';\n\t\t\t\tbreak;\n\t\t\tcase 'microphone':\n\t\t\t\tpath = 'M12 9V3c0-1.1-.89-2-2-2-1.12 0-2 .94-2 2v6c0 1.1.9 2 2 2 1.13 0 2-.94 2-2zm4 0c0 2.97-2.16 5.43-5 5.91V17h2c.56 0 1 .45 1 1s-.44 1-1 1H7c-.55 0-1-.45-1-1s.45-1 1-1h2v-2.09C6.17 14.43 4 11.97 4 9c0-.55.45-1 1-1 .56 0 1 .45 1 1 0 2.21 1.8 4 4 4 2.21 0 4-1.79 4-4 0-.55.45-1 1-1 .56 0 1 .45 1 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'migrate':\n\t\t\t\tpath = 'M4 6h6V4H2v12.01h8V14H4V6zm2 2h6V5l6 5-6 5v-3H6V8z';\n\t\t\t\tbreak;\n\t\t\tcase 'minus':\n\t\t\t\tpath = 'M4 9h12v2H4V9z';\n\t\t\t\tbreak;\n\t\t\tcase 'money':\n\t\t\t\tpath = 'M0 3h20v12h-.75c0-1.79-1.46-3.25-3.25-3.25-1.31 0-2.42.79-2.94 1.91-.25-.1-.52-.16-.81-.16-.98 0-1.8.63-2.11 1.5H0V3zm8.37 3.11c-.06.15-.1.31-.11.47s-.01.33.01.5l.02.08c.01.06.02.14.05.23.02.1.06.2.1.31.03.11.09.22.15.33.07.12.15.22.23.31s.18.17.31.23c.12.06.25.09.4.09.14 0 .27-.03.39-.09s.22-.14.3-.22c.09-.09.16-.2.22-.32.07-.12.12-.23.16-.33s.07-.2.09-.31c.03-.11.04-.18.05-.22s.01-.07.01-.09c.05-.29.03-.56-.04-.82s-.21-.48-.41-.66c-.21-.18-.47-.27-.79-.27-.19 0-.36.03-.52.1-.15.07-.28.16-.38.28-.09.11-.17.25-.24.4zm4.48 6.04v-1.14c0-.33-.1-.66-.29-.98s-.45-.59-.77-.79c-.32-.21-.66-.31-1.02-.31l-1.24.84-1.28-.82c-.37 0-.72.1-1.04.3-.31.2-.56.46-.74.77-.18.32-.27.65-.27.99v1.14l.18.05c.12.04.29.08.51.14.23.05.47.1.74.15.26.05.57.09.91.13.34.03.67.05.99.05.3 0 .63-.02.98-.05.34-.04.64-.08.89-.13.25-.04.5-.1.76-.16l.5-.12c.08-.02.14-.04.19-.06zm3.15.1c1.52 0 2.75 1.23 2.75 2.75s-1.23 2.75-2.75 2.75c-.73 0-1.38-.3-1.87-.77.23-.35.37-.78.37-1.23 0-.77-.39-1.46-.99-1.86.43-.96 1.37-1.64 2.49-1.64zm-5.5 3.5c0-.96.79-1.75 1.75-1.75s1.75.79 1.75 1.75-.79 1.75-1.75 1.75-1.75-.79-1.75-1.75z';\n\t\t\t\tbreak;\n\t\t\tcase 'move':\n\t\t\t\tpath = 'M19 10l-4 4v-3h-4v4h3l-4 4-4-4h3v-4H5v3l-4-4 4-4v3h4V5H6l4-4 4 4h-3v4h4V6z';\n\t\t\t\tbreak;\n\t\t\tcase 'nametag':\n\t\t\t\tpath = 'M12 5V2c0-.55-.45-1-1-1H9c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1h2c.55 0 1-.45 1-1zm-2-3c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm8 13V7c0-1.1-.9-2-2-2h-3v.33C13 6.25 12.25 7 11.33 7H8.67C7.75 7 7 6.25 7 5.33V5H4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-1-6v6H3V9h14zm-8 2c0-.55-.22-1-.5-1s-.5.45-.5 1 .22 1 .5 1 .5-.45.5-1zm3 0c0-.55-.22-1-.5-1s-.5.45-.5 1 .22 1 .5 1 .5-.45.5-1zm-5.96 1.21c.92.48 2.34.79 3.96.79s3.04-.31 3.96-.79c-.21 1-1.89 1.79-3.96 1.79s-3.75-.79-3.96-1.79z';\n\t\t\t\tbreak;\n\t\t\tcase 'networking':\n\t\t\t\tpath = 'M18 13h1c.55 0 1 .45 1 1.01v2.98c0 .56-.45 1.01-1 1.01h-4c-.55 0-1-.45-1-1.01v-2.98c0-.56.45-1.01 1-1.01h1v-2h-5v2h1c.55 0 1 .45 1 1.01v2.98c0 .56-.45 1.01-1 1.01H8c-.55 0-1-.45-1-1.01v-2.98c0-.56.45-1.01 1-1.01h1v-2H4v2h1c.55 0 1 .45 1 1.01v2.98C6 17.55 5.55 18 5 18H1c-.55 0-1-.45-1-1.01v-2.98C0 13.45.45 13 1 13h1v-2c0-1.1.9-2 2-2h5V7H8c-.55 0-1-.45-1-1.01V3.01C7 2.45 7.45 2 8 2h4c.55 0 1 .45 1 1.01v2.98C13 6.55 12.55 7 12 7h-1v2h5c1.1 0 2 .9 2 2v2z';\n\t\t\t\tbreak;\n\t\t\tcase 'no-alt':\n\t\t\t\tpath = 'M14.95 6.46L11.41 10l3.54 3.54-1.41 1.41L10 11.42l-3.53 3.53-1.42-1.42L8.58 10 5.05 6.47l1.42-1.42L10 8.58l3.54-3.53z';\n\t\t\t\tbreak;\n\t\t\tcase 'no':\n\t\t\t\tpath = 'M12.12 10l3.53 3.53-2.12 2.12L10 12.12l-3.54 3.54-2.12-2.12L7.88 10 4.34 6.46l2.12-2.12L10 7.88l3.54-3.53 2.12 2.12z';\n\t\t\t\tbreak;\n\t\t\tcase 'palmtree':\n\t\t\t\tpath = 'M8.58 2.39c.32 0 .59.05.81.14 1.25.55 1.69 2.24 1.7 3.97.59-.82 2.15-2.29 3.41-2.29s2.94.73 3.53 3.55c-1.13-.65-2.42-.94-3.65-.94-1.26 0-2.45.32-3.29.89.4-.11.86-.16 1.33-.16 1.39 0 2.9.45 3.4 1.31.68 1.16.47 3.38-.76 4.14-.14-2.1-1.69-4.12-3.47-4.12-.44 0-.88.12-1.33.38C8 10.62 7 14.56 7 19H2c0-5.53 4.21-9.65 7.68-10.79-.56-.09-1.17-.15-1.82-.15C6.1 8.06 4.05 8.5 2 10c.76-2.96 2.78-4.1 4.69-4.1 1.25 0 2.45.5 3.2 1.29-.66-2.24-2.49-2.86-4.08-2.86-.8 0-1.55.16-2.05.35.91-1.29 3.31-2.29 4.82-2.29zM13 11.5c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5.67 1.5 1.5 1.5 1.5-.67 1.5-1.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'paperclip':\n\t\t\t\tpath = 'M17.05 2.7c1.93 1.94 1.93 5.13 0 7.07L10 16.84c-1.88 1.89-4.91 1.93-6.86.15-.06-.05-.13-.09-.19-.15-1.93-1.94-1.93-5.12 0-7.07l4.94-4.95c.91-.92 2.28-1.1 3.39-.58.3.15.59.33.83.58 1.17 1.17 1.17 3.07 0 4.24l-4.93 4.95c-.39.39-1.02.39-1.41 0s-.39-1.02 0-1.41l4.93-4.95c.39-.39.39-1.02 0-1.41-.38-.39-1.02-.39-1.4 0l-4.94 4.95c-.91.92-1.1 2.29-.57 3.4.14.3.32.59.57.84s.54.43.84.57c1.11.53 2.47.35 3.39-.57l7.05-7.07c1.16-1.17 1.16-3.08 0-4.25-.56-.55-1.28-.83-2-.86-.08.01-.16.01-.24 0-.22-.03-.43-.11-.6-.27-.39-.4-.38-1.05.02-1.45.16-.16.36-.24.56-.28.14-.02.27-.01.4.02 1.19.06 2.36.52 3.27 1.43z';\n\t\t\t\tbreak;\n\t\t\tcase 'performance':\n\t\t\t\tpath = 'M3.76 17.01h12.48C17.34 15.63 18 13.9 18 12c0-4.41-3.58-8-8-8s-8 3.59-8 8c0 1.9.66 3.63 1.76 5.01zM9 6c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zM4 8c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm4.52 3.4c.84-.83 6.51-3.5 6.51-3.5s-2.66 5.68-3.49 6.51c-.84.84-2.18.84-3.02 0-.83-.83-.83-2.18 0-3.01zM3 13c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm6 0c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1zm6 0c0-.55.45-1 1-1s1 .45 1 1c0 .56-.45 1-1 1s-1-.44-1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'phone':\n\t\t\t\tpath = 'M12.06 6l-.21-.2c-.52-.54-.43-.79.08-1.3l2.72-2.75c.81-.82.96-1.21 1.73-.48l.21.2zm.53.45l4.4-4.4c.7.94 2.34 3.47 1.53 5.34-.73 1.67-1.09 1.75-2 3-1.85 2.11-4.18 4.37-6 6.07-1.26.91-1.31 1.33-3 2-1.8.71-4.4-.89-5.38-1.56l4.4-4.4 1.18 1.62c.34.46 1.2-.06 1.8-.66 1.04-1.05 3.18-3.18 4-4.07.59-.59 1.12-1.45.66-1.8zM1.57 16.5l-.21-.21c-.68-.74-.29-.9.52-1.7l2.74-2.72c.51-.49.75-.6 1.27-.11l.2.21z';\n\t\t\t\tbreak;\n\t\t\tcase 'playlist-audio':\n\t\t\t\tpath = 'M17 3V1H2v2h15zm0 4V5H2v2h15zm-7 4V9H2v2h8zm7.45-1.96l-6 1.12c-.16.02-.19.03-.29.13-.11.09-.16.22-.16.37v4.59c-.29-.13-.66-.14-.93-.14-.54 0-1 .19-1.38.57s-.56.84-.56 1.38c0 .53.18.99.56 1.37s.84.57 1.38.57c.49 0 .92-.16 1.29-.48s.59-.71.65-1.19v-4.95L17 11.27v3.48c-.29-.13-.56-.19-.83-.19-.54 0-1.11.19-1.49.57-.38.37-.57.83-.57 1.37s.19.99.57 1.37.84.57 1.38.57c.53 0 .99-.19 1.37-.57s.57-.83.57-1.37V9.6c0-.16-.05-.3-.16-.41-.11-.12-.24-.17-.39-.15zM8 15v-2H2v2h6zm-2 4v-2H2v2h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'playlist-video':\n\t\t\t\tpath = 'M17 3V1H2v2h15zm0 4V5H2v2h15zM6 11V9H2v2h4zm2-2h9c.55 0 1 .45 1 1v8c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1v-8c0-.55.45-1 1-1zm3 7l3.33-2L11 12v4zm-5-1v-2H2v2h4zm0 4v-2H2v2h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'plus-alt':\n\t\t\t\tpath = 'M15.8 4.2c3.2 3.21 3.2 8.39 0 11.6-3.21 3.2-8.39 3.2-11.6 0C1 12.59 1 7.41 4.2 4.2 7.41 1 12.59 1 15.8 4.2zm-4.3 11.3v-4h4v-3h-4v-4h-3v4h-4v3h4v4h3z';\n\t\t\t\tbreak;\n\t\t\tcase 'plus-light':\n\t\t\t\tpath = 'M17 9v2h-6v6H9v-6H3V9h6V3h2v6h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'plus':\n\t\t\t\tpath = 'M17 7v3h-5v5H9v-5H4V7h5V2h3v5h5z';\n\t\t\t\tbreak;\n\t\t\tcase 'portfolio':\n\t\t\t\tpath = 'M4 5H.78c-.37 0-.74.32-.69.84l1.56 9.99S3.5 8.47 3.86 6.7c.11-.53.61-.7.98-.7H10s-.7-2.08-.77-2.31C9.11 3.25 8.89 3 8.45 3H5.14c-.36 0-.7.23-.8.64C4.25 4.04 4 5 4 5zm4.88 0h-4s.42-1 .87-1h2.13c.48 0 1 1 1 1zM2.67 16.25c-.31.47-.76.75-1.26.75h15.73c.54 0 .92-.31 1.03-.83.44-2.19 1.68-8.44 1.68-8.44.07-.5-.3-.73-.62-.73H16V5.53c0-.16-.26-.53-.66-.53h-3.76c-.52 0-.87.58-.87.58L10 7H5.59c-.32 0-.63.19-.69.5 0 0-1.59 6.7-1.72 7.33-.07.37-.22.99-.51 1.42zM15.38 7H11s.58-1 1.13-1h2.29c.71 0 .96 1 .96 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'post-status':\n\t\t\t\tpath = 'M14 6c0 1.86-1.28 3.41-3 3.86V16c0 1-2 2-2 2V9.86c-1.72-.45-3-2-3-3.86 0-2.21 1.79-4 4-4s4 1.79 4 4zM8 5c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1-1 .45-1 1z';\n\t\t\t\tbreak;\n\t\t\tcase 'pressthis':\n\t\t\t\tpath = 'M14.76 1C16.55 1 18 2.46 18 4.25c0 1.78-1.45 3.24-3.24 3.24-.23 0-.47-.03-.7-.08L13 8.47V19H2V4h9.54c.13-2 1.52-3 3.22-3zm0 5.49C16 6.49 17 5.48 17 4.25 17 3.01 16 2 14.76 2s-2.24 1.01-2.24 2.25c0 .37.1.72.27 1.03L9.57 8.5c-.28.28-1.77 2.22-1.5 2.49.02.03.06.04.1.04.49 0 2.14-1.28 2.39-1.53l3.24-3.24c.29.14.61.23.96.23z';\n\t\t\t\tbreak;\n\t\t\tcase 'products':\n\t\t\t\tpath = 'M17 8h1v11H2V8h1V6c0-2.76 2.24-5 5-5 .71 0 1.39.15 2 .42.61-.27 1.29-.42 2-.42 2.76 0 5 2.24 5 5v2zM5 6v2h2V6c0-1.13.39-2.16 1.02-3H8C6.35 3 5 4.35 5 6zm10 2V6c0-1.65-1.35-3-3-3h-.02c.63.84 1.02 1.87 1.02 3v2h2zm-5-4.22C9.39 4.33 9 5.12 9 6v2h2V6c0-.88-.39-1.67-1-2.22z';\n\t\t\t\tbreak;\n\t\t\tcase 'randomize':\n\t\t\t\tpath = 'M18 6.01L14 9V7h-4l-5 8H2v-2h2l5-8h5V3zM2 5h3l1.15 2.17-1.12 1.8L4 7H2V5zm16 9.01L14 17v-2H9l-1.15-2.17 1.12-1.8L10 13h4v-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'redo':\n\t\t\t\tpath = 'M8 5h5V2l6 4-6 4V7H8c-2.2 0-4 1.8-4 4s1.8 4 4 4h5v2H8c-3.3 0-6-2.7-6-6s2.7-6 6-6z';\n\t\t\t\tbreak;\n\t\t\tcase 'rest-api':\n\t\t\t\tpath = 'M3 4h2v12H3z';\n\t\t\t\tbreak;\n\t\t\tcase 'rss':\n\t\t\t\tpath = 'M14.92 18H18C18 9.32 10.82 2.25 2 2.25v3.02c7.12 0 12.92 5.71 12.92 12.73zm-5.44 0h3.08C12.56 12.27 7.82 7.6 2 7.6v3.02c2 0 3.87.77 5.29 2.16C8.7 14.17 9.48 16.03 9.48 18zm-5.35-.02c1.17 0 2.13-.93 2.13-2.09 0-1.15-.96-2.09-2.13-2.09-1.18 0-2.13.94-2.13 2.09 0 1.16.95 2.09 2.13 2.09z';\n\t\t\t\tbreak;\n\t\t\tcase 'saved':\n\t\t\t\tpath = 'M15.3 5.3l-6.8 6.8-2.8-2.8-1.4 1.4 4.2 4.2 8.2-8.2';\n\t\t\t\tbreak;\n\t\t\tcase 'schedule':\n\t\t\t\tpath = 'M2 2h16v4H2V2zm0 10V8h4v4H2zm6-2V8h4v2H8zm6 3V8h4v5h-4zm-6 5v-6h4v6H8zm-6 0v-4h4v4H2zm12 0v-3h4v3h-4z';\n\t\t\t\tbreak;\n\t\t\tcase 'screenoptions':\n\t\t\t\tpath = 'M9 9V3H3v6h6zm8 0V3h-6v6h6zm-8 8v-6H3v6h6zm8 0v-6h-6v6h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'search':\n\t\t\t\tpath = 'M12.14 4.18c1.87 1.87 2.11 4.75.72 6.89.12.1.22.21.36.31.2.16.47.36.81.59.34.24.56.39.66.47.42.31.73.57.94.78.32.32.6.65.84 1 .25.35.44.69.59 1.04.14.35.21.68.18 1-.02.32-.14.59-.36.81s-.49.34-.81.36c-.31.02-.65-.04-.99-.19-.35-.14-.7-.34-1.04-.59-.35-.24-.68-.52-1-.84-.21-.21-.47-.52-.77-.93-.1-.13-.25-.35-.47-.66-.22-.32-.4-.57-.56-.78-.16-.2-.29-.35-.44-.5-2.07 1.09-4.69.76-6.44-.98-2.14-2.15-2.14-5.64 0-7.78 2.15-2.15 5.63-2.15 7.78 0zm-1.41 6.36c1.36-1.37 1.36-3.58 0-4.95-1.37-1.37-3.59-1.37-4.95 0-1.37 1.37-1.37 3.58 0 4.95 1.36 1.37 3.58 1.37 4.95 0z';\n\t\t\t\tbreak;\n\t\t\tcase 'share-alt':\n\t\t\t\tpath = 'M16.22 5.8c.47.69.29 1.62-.4 2.08-.69.47-1.62.29-2.08-.4-.16-.24-.35-.46-.55-.67-.21-.2-.43-.39-.67-.55s-.5-.3-.77-.41c-.27-.12-.55-.21-.84-.26-.59-.13-1.23-.13-1.82-.01-.29.06-.57.15-.84.27-.27.11-.53.25-.77.41s-.46.35-.66.55c-.21.21-.4.43-.56.67s-.3.5-.41.76c-.01.02-.01.03-.01.04-.1.24-.17.48-.23.72H1V6h2.66c.04-.07.07-.13.12-.2.27-.4.57-.77.91-1.11s.72-.65 1.11-.91c.4-.27.83-.51 1.28-.7s.93-.34 1.41-.43c.99-.21 2.03-.21 3.02 0 .48.09.96.24 1.41.43s.88.43 1.28.7c.39.26.77.57 1.11.91s.64.71.91 1.11zM12.5 10c0-1.38-1.12-2.5-2.5-2.5S7.5 8.62 7.5 10s1.12 2.5 2.5 2.5 2.5-1.12 2.5-2.5zm-8.72 4.2c-.47-.69-.29-1.62.4-2.09.69-.46 1.62-.28 2.08.41.16.24.35.46.55.67.21.2.43.39.67.55s.5.3.77.41c.27.12.55.2.84.26.59.13 1.23.12 1.82 0 .29-.06.57-.14.84-.26.27-.11.53-.25.77-.41s.46-.35.66-.55c.21-.21.4-.44.56-.67.16-.25.3-.5.41-.76.01-.02.01-.03.01-.04.1-.24.17-.48.23-.72H19v3h-2.66c-.04.06-.07.13-.12.2-.27.4-.57.77-.91 1.11s-.72.65-1.11.91c-.4.27-.83.51-1.28.7s-.93.33-1.41.43c-.99.21-2.03.21-3.02 0-.48-.1-.96-.24-1.41-.43s-.88-.43-1.28-.7c-.39-.26-.77-.57-1.11-.91s-.64-.71-.91-1.11z';\n\t\t\t\tbreak;\n\t\t\tcase 'share-alt2':\n\t\t\t\tpath = 'M18 8l-5 4V9.01c-2.58.06-4.88.45-7 2.99.29-3.57 2.66-5.66 7-5.94V3zM4 14h11v-2l2-1.6V16H2V5h9.43c-1.83.32-3.31 1-4.41 2H4v7z';\n\t\t\t\tbreak;\n\t\t\tcase 'share':\n\t\t\t\tpath = 'M14.5 12c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3c0-.24.03-.46.09-.69l-4.38-2.3c-.55.61-1.33.99-2.21.99-1.66 0-3-1.34-3-3s1.34-3 3-3c.88 0 1.66.39 2.21.99l4.38-2.3c-.06-.23-.09-.45-.09-.69 0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3c-.88 0-1.66-.39-2.21-.99l-4.38 2.3c.06.23.09.45.09.69s-.03.46-.09.69l4.38 2.3c.55-.61 1.33-.99 2.21-.99z';\n\t\t\t\tbreak;\n\t\t\tcase 'shield-alt':\n\t\t\t\tpath = 'M10 2s3 2 7 2c0 11-7 14-7 14S3 15 3 4c4 0 7-2 7-2z';\n\t\t\t\tbreak;\n\t\t\tcase 'shield':\n\t\t\t\tpath = 'M10 2s3 2 7 2c0 11-7 14-7 14S3 15 3 4c4 0 7-2 7-2zm0 8h5s1-1 1-5c0 0-5-1-6-2v7H5c1 4 5 7 5 7v-7z';\n\t\t\t\tbreak;\n\t\t\tcase 'shortcode':\n\t\t\t\tpath = 'M6 14H4V6h2V4H2v12h4M7.1 17h2.1l3.7-14h-2.1M14 4v2h2v8h-2v2h4V4';\n\t\t\t\tbreak;\n\t\t\tcase 'slides':\n\t\t\t\tpath = 'M5 14V6h10v8H5zm-3-1V7h2v6H2zm4-6v6h8V7H6zm10 0h2v6h-2V7zm-3 2V8H7v1h6zm0 3v-2H7v2h6z';\n\t\t\t\tbreak;\n\t\t\tcase 'smartphone':\n\t\t\t\tpath = 'M6 2h8c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H6c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm7 12V4H7v10h6zM8 5h4l-4 5V5z';\n\t\t\t\tbreak;\n\t\t\tcase 'smiley':\n\t\t\t\tpath = 'M7 5.2c1.1 0 2 .89 2 2 0 .37-.11.71-.28 1C8.72 8.2 8 8 7 8s-1.72.2-1.72.2c-.17-.29-.28-.63-.28-1 0-1.11.9-2 2-2zm6 0c1.11 0 2 .89 2 2 0 .37-.11.71-.28 1 0 0-.72-.2-1.72-.2s-1.72.2-1.72.2c-.17-.29-.28-.63-.28-1 0-1.11.89-2 2-2zm-3 13.7c3.72 0 7.03-2.36 8.23-5.88l-1.32-.46C15.9 15.52 13.12 17.5 10 17.5s-5.9-1.98-6.91-4.94l-1.32.46c1.2 3.52 4.51 5.88 8.23 5.88z';\n\t\t\t\tbreak;\n\t\t\tcase 'sort':\n\t\t\t\tpath = 'M11 7H1l5 7zm-2 7h10l-5-7z';\n\t\t\t\tbreak;\n\t\t\tcase 'sos':\n\t\t\t\tpath = 'M18 10c0-4.42-3.58-8-8-8s-8 3.58-8 8 3.58 8 8 8 8-3.58 8-8zM7.23 3.57L8.72 7.3c-.62.29-1.13.8-1.42 1.42L3.57 7.23c.71-1.64 2.02-2.95 3.66-3.66zm9.2 3.66L12.7 8.72c-.29-.62-.8-1.13-1.42-1.42l1.49-3.73c1.64.71 2.95 2.02 3.66 3.66zM10 12c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm-6.43.77l3.73-1.49c.29.62.8 1.13 1.42 1.42l-1.49 3.73c-1.64-.71-2.95-2.02-3.66-3.66zm9.2 3.66l-1.49-3.73c.62-.29 1.13-.8 1.42-1.42l3.73 1.49c-.71 1.64-2.02 2.95-3.66 3.66z';\n\t\t\t\tbreak;\n\t\t\tcase 'star-empty':\n\t\t\t\tpath = 'M10 1L7 7l-6 .75 4.13 4.62L4 19l6-3 6 3-1.12-6.63L19 7.75 13 7zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15L10 14.88l-4.68 2.34.87-5.15-3.18-3.56 4.65-.58z';\n\t\t\t\tbreak;\n\t\t\tcase 'star-filled':\n\t\t\t\tpath = 'M10 1l3 6 6 .75-4.12 4.62L16 19l-6-3-6 3 1.13-6.63L1 7.75 7 7z';\n\t\t\t\tbreak;\n\t\t\tcase 'star-half':\n\t\t\t\tpath = 'M10 1L7 7l-6 .75 4.13 4.62L4 19l6-3 6 3-1.12-6.63L19 7.75 13 7zm0 2.24l2.34 4.69 4.65.58-3.18 3.56.87 5.15L10 14.88V3.24z';\n\t\t\t\tbreak;\n\t\t\tcase 'sticky':\n\t\t\t\tpath = 'M5 3.61V1.04l8.99-.01-.01 2.58c-1.22.26-2.16 1.35-2.16 2.67v.5c.01 1.31.93 2.4 2.17 2.66l-.01 2.58h-3.41l-.01 2.57c0 .6-.47 4.41-1.06 4.41-.6 0-1.08-3.81-1.08-4.41v-2.56L5 12.02l.01-2.58c1.23-.25 2.15-1.35 2.15-2.66v-.5c0-1.31-.92-2.41-2.16-2.67z';\n\t\t\t\tbreak;\n\t\t\tcase 'store':\n\t\t\t\tpath = 'M1 10c.41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.51.43.54 0 1.08-.14 1.49-.43.62-.46 1-1.17 1-2 0 .83.37 1.54 1 2 .41.29.96.43 1.5.43.55 0 1.09-.14 1.5-.43.63-.46 1-1.17 1-2V7l-3-7H4L0 7v1c0 .83.37 1.54 1 2zm2 8.99h5v-5h4v5h5v-7c-.37-.05-.72-.22-1-.43-.63-.45-1-.73-1-1.56 0 .83-.38 1.11-1 1.56-.41.3-.95.43-1.49.44-.55 0-1.1-.14-1.51-.44-.63-.45-1-.73-1-1.56 0 .83-.38 1.11-1 1.56-.41.3-.95.43-1.5.44-.54 0-1.09-.14-1.5-.44-.63-.45-1-.73-1-1.57 0 .84-.38 1.12-1 1.57-.29.21-.63.38-1 .44v6.99z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-col-after':\n\t\t\t\tpath = 'M14.08 12.864V9.216h3.648V7.424H14.08V3.776h-1.728v3.648H8.64v1.792h3.712v3.648zM0 17.92V0h20.48v17.92H0zM6.4 1.28H1.28v3.84H6.4V1.28zm0 5.12H1.28v3.84H6.4V6.4zm0 5.12H1.28v3.84H6.4v-3.84zM19.2 1.28H7.68v14.08H19.2V1.28z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-col-before':\n\t\t\t\tpath = 'M6.4 3.776v3.648H2.752v1.792H6.4v3.648h1.728V9.216h3.712V7.424H8.128V3.776zM0 17.92V0h20.48v17.92H0zM12.8 1.28H1.28v14.08H12.8V1.28zm6.4 0h-5.12v3.84h5.12V1.28zm0 5.12h-5.12v3.84h5.12V6.4zm0 5.12h-5.12v3.84h5.12v-3.84z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-col-delete':\n\t\t\t\tpath = 'M6.4 9.98L7.68 8.7v-.256L6.4 7.164V9.98zm6.4-1.532l1.28-1.28V9.92L12.8 8.64v-.192zm7.68 9.472V0H0v17.92h20.48zm-1.28-2.56h-5.12v-1.024l-.256.256-1.024-1.024v1.792H7.68v-1.792l-1.024 1.024-.256-.256v1.024H1.28V1.28H6.4v2.368l.704-.704.576.576V1.216h5.12V3.52l.96-.96.32.32V1.216h5.12V15.36zm-5.76-2.112l-3.136-3.136-3.264 3.264-1.536-1.536 3.264-3.264L5.632 5.44l1.536-1.536 3.136 3.136 3.2-3.2 1.536 1.536-3.2 3.2 3.136 3.136-1.536 1.536z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-row-after':\n\t\t\t\tpath = 'M13.824 10.176h-2.88v-2.88H9.536v2.88h-2.88v1.344h2.88v2.88h1.408v-2.88h2.88zM0 17.92V0h20.48v17.92H0zM6.4 1.28H1.28v3.84H6.4V1.28zm6.4 0H7.68v3.84h5.12V1.28zm6.4 0h-5.12v3.84h5.12V1.28zm0 5.056H1.28v9.024H19.2V6.336z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-row-before':\n\t\t\t\tpath = 'M6.656 6.464h2.88v2.88h1.408v-2.88h2.88V5.12h-2.88V2.24H9.536v2.88h-2.88zM0 17.92V0h20.48v17.92H0zm7.68-2.56h5.12v-3.84H7.68v3.84zm-6.4 0H6.4v-3.84H1.28v3.84zM19.2 1.28H1.28v9.024H19.2V1.28zm0 10.24h-5.12v3.84h5.12v-3.84z';\n\t\t\t\tbreak;\n\t\t\tcase 'table-row-delete':\n\t\t\t\tpath = 'M17.728 11.456L14.592 8.32l3.2-3.2-1.536-1.536-3.2 3.2L9.92 3.648 8.384 5.12l3.2 3.2-3.264 3.264 1.536 1.536 3.264-3.264 3.136 3.136 1.472-1.536zM0 17.92V0h20.48v17.92H0zm19.2-6.4h-.448l-1.28-1.28H19.2V6.4h-1.792l1.28-1.28h.512V1.28H1.28v3.84h6.208l1.28 1.28H1.28v3.84h7.424l-1.28 1.28H1.28v3.84H19.2v-3.84z';\n\t\t\t\tbreak;\n\t\t\tcase 'tablet':\n\t\t\t\tpath = 'M4 2h12c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1H4c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1zm11 14V4H5v12h10zM6 5h6l-6 5V5z';\n\t\t\t\tbreak;\n\t\t\tcase 'tag':\n\t\t\t\tpath = 'M11 2h7v7L8 19l-7-7zm3 6c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z';\n\t\t\t\tbreak;\n\t\t\tcase 'tagcloud':\n\t\t\t\tpath = 'M11 3v4H1V3h10zm8 0v4h-7V3h7zM7 8v3H1V8h6zm12 0v3H8V8h11zM9 12v2H1v-2h8zm10 0v2h-9v-2h9zM6 15v1H1v-1h5zm5 0v1H7v-1h4zm3 0v1h-2v-1h2zm5 0v1h-4v-1h4z';\n\t\t\t\tbreak;\n\t\t\tcase 'testimonial':\n\t\t\t\tpath = 'M4 3h12c.55 0 1.02.2 1.41.59S18 4.45 18 5v7c0 .55-.2 1.02-.59 1.41S16.55 14 16 14h-1l-5 5v-5H4c-.55 0-1.02-.2-1.41-.59S2 12.55 2 12V5c0-.55.2-1.02.59-1.41S3.45 3 4 3zm11 2H4v1h11V5zm1 3H4v1h12V8zm-3 3H4v1h9v-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'text':\n\t\t\t\tpath = 'M18 3v2H2V3h16zm-6 4v2H2V7h10zm6 0v2h-4V7h4zM8 11v2H2v-2h6zm10 0v2h-8v-2h8zm-4 4v2H2v-2h12z';\n\t\t\t\tbreak;\n\t\t\tcase 'thumbs-down':\n\t\t\t\tpath = 'M7.28 18c-.15.02-.26-.02-.41-.07-.56-.19-.83-.79-.66-1.35.17-.55 1-3.04 1-3.58 0-.53-.75-1-1.35-1h-3c-.6 0-1-.4-1-1s2-7 2-7c.17-.39.55-1 1-1H14v9h-2.14c-.41.41-3.3 4.71-3.58 5.27-.21.41-.6.68-1 .73zM18 12h-2V3h2v9z';\n\t\t\t\tbreak;\n\t\t\tcase 'thumbs-up':\n\t\t\t\tpath = 'M12.72 2c.15-.02.26.02.41.07.56.19.83.79.66 1.35-.17.55-1 3.04-1 3.58 0 .53.75 1 1.35 1h3c.6 0 1 .4 1 1s-2 7-2 7c-.17.39-.55 1-1 1H6V8h2.14c.41-.41 3.3-4.71 3.58-5.27.21-.41.6-.68 1-.73zM2 8h2v9H2V8z';\n\t\t\t\tbreak;\n\t\t\tcase 'tickets-alt':\n\t\t\t\tpath = 'M20 6.38L18.99 9.2v-.01c-.52-.19-1.03-.16-1.53.08s-.85.62-1.04 1.14-.16 1.03.07 1.53c.24.5.62.84 1.15 1.03v.01l-1.01 2.82-15.06-5.38.99-2.79c.52.19 1.03.16 1.53-.08.5-.23.84-.61 1.03-1.13s.16-1.03-.08-1.53c-.23-.49-.61-.83-1.13-1.02L4.93 1zm-4.97 5.69l1.37-3.76c.12-.31.1-.65-.04-.95s-.39-.53-.7-.65L8.14 3.98c-.64-.23-1.37.12-1.6.74L5.17 8.48c-.24.65.1 1.37.74 1.6l7.52 2.74c.14.05.28.08.43.08.52 0 1-.33 1.17-.83zM7.97 4.45l7.51 2.73c.19.07.34.21.43.39.08.18.09.38.02.57l-1.37 3.76c-.13.38-.58.59-.96.45L6.09 9.61c-.39-.14-.59-.57-.45-.96l1.37-3.76c.1-.29.39-.49.7-.49.09 0 .17.02.26.05zm6.82 12.14c.35.27.75.41 1.2.41H16v3H0v-2.96c.55 0 1.03-.2 1.41-.59.39-.38.59-.86.59-1.41s-.2-1.02-.59-1.41-.86-.59-1.41-.59V10h1.05l-.28.8 2.87 1.02c-.51.16-.89.62-.89 1.18v4c0 .69.56 1.25 1.25 1.25h8c.69 0 1.25-.56 1.25-1.25v-1.75l.83.3c.12.43.36.78.71 1.04zM3.25 17v-4c0-.41.34-.75.75-.75h.83l7.92 2.83V17c0 .41-.34.75-.75.75H4c-.41 0-.75-.34-.75-.75z';\n\t\t\t\tbreak;\n\t\t\tcase 'tickets':\n\t\t\t\tpath = 'M20 5.38L18.99 8.2v-.01c-1.04-.37-2.19.18-2.57 1.22-.37 1.04.17 2.19 1.22 2.56v.01l-1.01 2.82L1.57 9.42l.99-2.79c1.04.38 2.19-.17 2.56-1.21s-.17-2.18-1.21-2.55L4.93 0zm-5.45 3.37c.74-2.08-.34-4.37-2.42-5.12-2.08-.74-4.37.35-5.11 2.42-.74 2.08.34 4.38 2.42 5.12 2.07.74 4.37-.35 5.11-2.42zm-2.56-4.74c.89.32 1.57.94 1.97 1.71-.01-.01-.02-.01-.04-.02-.33-.12-.67.09-.78.4-.1.28-.03.57.05.91.04.27.09.62-.06 1.04-.1.29-.33.58-.65 1l-.74 1.01.08-4.08.4.11c.19.04.26-.24.08-.29 0 0-.57-.15-.92-.28-.34-.12-.88-.36-.88-.36-.18-.08-.3.19-.12.27 0 0 .16.08.34.16l.01 1.63L9.2 9.18l.08-4.11c.2.06.4.11.4.11.19.04.26-.23.07-.29 0 0-.56-.15-.91-.28-.07-.02-.14-.05-.22-.08.93-.7 2.19-.94 3.37-.52zM7.4 6.19c.17-.49.44-.92.78-1.27l.04 5c-.94-.95-1.3-2.39-.82-3.73zm4.04 4.75l2.1-2.63c.37-.41.57-.77.69-1.12.05-.12.08-.24.11-.35.09.57.04 1.18-.17 1.77-.45 1.25-1.51 2.1-2.73 2.33zm-.7-3.22l.02 3.22c0 .02 0 .04.01.06-.4 0-.8-.07-1.2-.21-.33-.12-.63-.28-.9-.48zm1.24 6.08l2.1.75c.24.84 1 1.45 1.91 1.45H16v3H0v-2.96c1.1 0 2-.89 2-2 0-1.1-.9-2-2-2V9h1.05l-.28.8 4.28 1.52C4.4 12.03 4 12.97 4 14c0 2.21 1.79 4 4 4s4-1.79 4-4c0-.07-.02-.13-.02-.2zm-6.53-2.33l1.48.53c-.14.04-.15.27.03.28 0 0 .18.02.37.03l.56 1.54-.78 2.36-1.31-3.9c.21-.01.41-.03.41-.03.19-.02.17-.31-.02-.3 0 0-.59.05-.96.05-.07 0-.15 0-.23-.01.13-.2.28-.38.45-.55zM4.4 14c0-.52.12-1.02.32-1.46l1.71 4.7C5.23 16.65 4.4 15.42 4.4 14zm4.19-1.41l1.72.62c.07.17.12.37.12.61 0 .31-.12.66-.28 1.16l-.35 1.2zM11.6 14c0 1.33-.72 2.49-1.79 3.11l1.1-3.18c.06-.17.1-.31.14-.46l.52.19c.02.11.03.22.03.34zm-4.62 3.45l1.08-3.14 1.11 3.03c.01.02.01.04.02.05-.37.13-.77.21-1.19.21-.35 0-.69-.06-1.02-.15z';\n\t\t\t\tbreak;\n\t\t\tcase 'tide':\n\t\t\t\tpath = 'M17 7.2V3H3v7.1c2.6-.5 4.5-1.5 6.4-2.6.2-.2.4-.3.6-.5v3c-1.9 1.1-4 2.2-7 2.8V17h14V9.9c-2.6.5-4.4 1.5-6.2 2.6-.3.1-.5.3-.8.4V10c2-1.1 4-2.2 7-2.8z';\n\t\t\t\tbreak;\n\t\t\tcase 'translation':\n\t\t\t\tpath = 'M11 7H9.49c-.63 0-1.25.3-1.59.7L7 5H4.13l-2.39 7h1.69l.74-2H7v4H2c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2h7c1.1 0 2 .9 2 2v2zM6.51 9H4.49l1-2.93zM10 8h7c1.1 0 2 .9 2 2v7c0 1.1-.9 2-2 2h-7c-1.1 0-2-.9-2-2v-7c0-1.1.9-2 2-2zm7.25 5v-1.08h-3.17V9.75h-1.16v2.17H9.75V13h1.28c.11.85.56 1.85 1.28 2.62-.87.36-1.89.62-2.31.62-.01.02.22.97.2 1.46.84 0 2.21-.5 3.28-1.15 1.09.65 2.48 1.15 3.34 1.15-.02-.49.2-1.44.2-1.46-.43 0-1.49-.27-2.38-.63.7-.77 1.14-1.77 1.25-2.61h1.36zm-3.81 1.93c-.5-.46-.85-1.13-1.01-1.93h2.09c-.17.8-.51 1.47-1 1.93l-.04.03s-.03-.02-.04-.03z';\n\t\t\t\tbreak;\n\t\t\tcase 'trash':\n\t\t\t\tpath = 'M12 4h3c.6 0 1 .4 1 1v1H3V5c0-.6.5-1 1-1h3c.2-1.1 1.3-2 2.5-2s2.3.9 2.5 2zM8 4h3c-.2-.6-.9-1-1.5-1S8.2 3.4 8 4zM4 7h11l-.9 10.1c0 .5-.5.9-1 .9H5.9c-.5 0-.9-.4-1-.9L4 7z';\n\t\t\t\tbreak;\n\t\t\tcase 'twitter':\n\t\t\t\tpath = 'M18.94 4.46c-.49.73-1.11 1.38-1.83 1.9.01.15.01.31.01.47 0 4.85-3.69 10.44-10.43 10.44-2.07 0-4-.61-5.63-1.65.29.03.58.05.88.05 1.72 0 3.3-.59 4.55-1.57-1.6-.03-2.95-1.09-3.42-2.55.22.04.45.07.69.07.33 0 .66-.05.96-.13-1.67-.34-2.94-1.82-2.94-3.6v-.04c.5.27 1.06.44 1.66.46-.98-.66-1.63-1.78-1.63-3.06 0-.67.18-1.3.5-1.84 1.81 2.22 4.51 3.68 7.56 3.83-.06-.27-.1-.55-.1-.84 0-2.02 1.65-3.66 3.67-3.66 1.06 0 2.01.44 2.68 1.16.83-.17 1.62-.47 2.33-.89-.28.85-.86 1.57-1.62 2.02.75-.08 1.45-.28 2.11-.57z';\n\t\t\t\tbreak;\n\t\t\tcase 'undo':\n\t\t\t\tpath = 'M12 5H7V2L1 6l6 4V7h5c2.2 0 4 1.8 4 4s-1.8 4-4 4H7v2h5c3.3 0 6-2.7 6-6s-2.7-6-6-6z';\n\t\t\t\tbreak;\n\t\t\tcase 'universal-access-alt':\n\t\t\t\tpath = 'M19 10c0-4.97-4.03-9-9-9s-9 4.03-9 9 4.03 9 9 9 9-4.03 9-9zm-9-7.4c.83 0 1.5.67 1.5 1.5s-.67 1.51-1.5 1.51c-.82 0-1.5-.68-1.5-1.51s.68-1.5 1.5-1.5zM3.4 7.36c0-.65 6.6-.76 6.6-.76s6.6.11 6.6.76-4.47 1.4-4.47 1.4 1.69 8.14 1.06 8.38c-.62.24-3.19-5.19-3.19-5.19s-2.56 5.43-3.18 5.19c-.63-.24 1.06-8.38 1.06-8.38S3.4 8.01 3.4 7.36z';\n\t\t\t\tbreak;\n\t\t\tcase 'universal-access':\n\t\t\t\tpath = 'M10 2.6c.83 0 1.5.67 1.5 1.5s-.67 1.51-1.5 1.51c-.82 0-1.5-.68-1.5-1.51s.68-1.5 1.5-1.5zM3.4 7.36c0-.65 6.6-.76 6.6-.76s6.6.11 6.6.76-4.47 1.4-4.47 1.4 1.69 8.14 1.06 8.38c-.62.24-3.19-5.19-3.19-5.19s-2.56 5.43-3.18 5.19c-.63-.24 1.06-8.38 1.06-8.38S3.4 8.01 3.4 7.36z';\n\t\t\t\tbreak;\n\t\t\tcase 'unlock':\n\t\t\t\tpath = 'M12 9V6c0-1.1-.9-2-2-2s-2 .9-2 2H6c0-2.21 1.79-4 4-4s4 1.79 4 4v3h1c.55 0 1 .45 1 1v7c0 .55-.45 1-1 1H5c-.55 0-1-.45-1-1v-7c0-.55.45-1 1-1h7zm-1 7l-.36-2.15c.51-.24.86-.75.86-1.35 0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5c0 .6.35 1.11.86 1.35L9 16h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'update':\n\t\t\t\tpath = 'M10.2 3.28c3.53 0 6.43 2.61 6.92 6h2.08l-3.5 4-3.5-4h2.32c-.45-1.97-2.21-3.45-4.32-3.45-1.45 0-2.73.71-3.54 1.78L4.95 5.66C6.23 4.2 8.11 3.28 10.2 3.28zm-.4 13.44c-3.52 0-6.43-2.61-6.92-6H.8l3.5-4c1.17 1.33 2.33 2.67 3.5 4H5.48c.45 1.97 2.21 3.45 4.32 3.45 1.45 0 2.73-.71 3.54-1.78l1.71 1.95c-1.28 1.46-3.15 2.38-5.25 2.38z';\n\t\t\t\tbreak;\n\t\t\tcase 'upload':\n\t\t\t\tpath = 'M8 14V8H5l5-6 5 6h-3v6H8zm-2 2v-6H4v8h12.01v-8H14v6H6z';\n\t\t\t\tbreak;\n\t\t\tcase 'vault':\n\t\t\t\tpath = 'M18 17V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v14c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-1 0H3V3h14v14zM4.75 4h10.5c.41 0 .75.34.75.75V6h-1v3h1v2h-1v3h1v1.25c0 .41-.34.75-.75.75H4.75c-.41 0-.75-.34-.75-.75V4.75c0-.41.34-.75.75-.75zM13 10c0-2.21-1.79-4-4-4s-4 1.79-4 4 1.79 4 4 4 4-1.79 4-4zM9 7l.77 1.15C10.49 8.46 11 9.17 11 10c0 1.1-.9 2-2 2s-2-.9-2-2c0-.83.51-1.54 1.23-1.85z';\n\t\t\t\tbreak;\n\t\t\tcase 'video-alt':\n\t\t\t\tpath = 'M8 5c0-.55-.45-1-1-1H2c-.55 0-1 .45-1 1 0 .57.49 1 1 1h5c.55 0 1-.45 1-1zm6 5l4-4v10l-4-4v-2zm-1 4V8c0-.55-.45-1-1-1H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h8c.55 0 1-.45 1-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'video-alt2':\n\t\t\t\tpath = 'M12 13V7c0-1.1-.9-2-2-2H3c-1.1 0-2 .9-2 2v6c0 1.1.9 2 2 2h7c1.1 0 2-.9 2-2zm1-2.5l6 4.5V5l-6 4.5v1z';\n\t\t\t\tbreak;\n\t\t\tcase 'video-alt3':\n\t\t\t\tpath = 'M19 15V5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h13c1.1 0 2-.9 2-2zM8 14V6l6 4z';\n\t\t\t\tbreak;\n\t\t\tcase 'visibility':\n\t\t\t\tpath = 'M19.7 9.4C17.7 6 14 3.9 10 3.9S2.3 6 .3 9.4L0 10l.3.6c2 3.4 5.7 5.5 9.7 5.5s7.7-2.1 9.7-5.5l.3-.6-.3-.6zM10 14.1c-3.1 0-6-1.6-7.7-4.1C3.6 8 5.7 6.6 8 6.1c-.9.6-1.5 1.7-1.5 2.9 0 1.9 1.6 3.5 3.5 3.5s3.5-1.6 3.5-3.5c0-1.2-.6-2.3-1.5-2.9 2.3.5 4.4 1.9 5.7 3.9-1.7 2.5-4.6 4.1-7.7 4.1z';\n\t\t\t\tbreak;\n\t\t\tcase 'warning':\n\t\t\t\tpath = 'M10 2c4.42 0 8 3.58 8 8s-3.58 8-8 8-8-3.58-8-8 3.58-8 8-8zm1.13 9.38l.35-6.46H8.52l.35 6.46h2.26zm-.09 3.36c.24-.23.37-.55.37-.96 0-.42-.12-.74-.36-.97s-.59-.35-1.06-.35-.82.12-1.07.35-.37.55-.37.97c0 .41.13.73.38.96.26.23.61.34 1.06.34s.8-.11 1.05-.34z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-add-page':\n\t\t\t\tpath = 'M17 7V4h-2V2h-3v1H3v15h11V9h1V7h2zm-1-2v1h-2v2h-1V6h-2V5h2V3h1v2h2z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-comments':\n\t\t\t\tpath = 'M5 2h10c1.1 0 2 .9 2 2v8c0 1.1-.9 2-2 2h-2l-5 5v-5H5c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2zm8.5 8.5L11 8l2.5-2.5-1-1L10 7 7.5 4.5l-1 1L9 8l-2.5 2.5 1 1L10 9l2.5 2.5z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-learn-more':\n\t\t\t\tpath = 'M10 10L2.54 7.02 3 18H1l.48-11.41L0 6l10-4 10 4zm0-5c-.55 0-1 .22-1 .5s.45.5 1 .5 1-.22 1-.5-.45-.5-1-.5zm0 6l5.57-2.23c.71.94 1.2 2.07 1.36 3.3-.3-.04-.61-.07-.93-.07-2.55 0-4.78 1.37-6 3.41C8.78 13.37 6.55 12 4 12c-.32 0-.63.03-.93.07.16-1.23.65-2.36 1.36-3.3z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-view-site':\n\t\t\t\tpath = 'M18 14V4c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v10c0 .55.45 1 1 1h14c.55 0 1-.45 1-1zm-8-8c2.3 0 4.4 1.14 6 3-1.6 1.86-3.7 3-6 3s-4.4-1.14-6-3c1.6-1.86 3.7-3 6-3zm2 3c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm2 8h3v1H3v-1h3v-1h8v1z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-widgets-menus':\n\t\t\t\tpath = 'M19 16V3c0-.55-.45-1-1-1H3c-.55 0-1 .45-1 1v13c0 .55.45 1 1 1h15c.55 0 1-.45 1-1zM4 4h13v4H4V4zm1 1v2h3V5H5zm4 0v2h3V5H9zm4 0v2h3V5h-3zm-8.5 5c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 10h4v1H6v-1zm6 0h5v5h-5v-5zm-7.5 2c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 12h4v1H6v-1zm7 0v2h3v-2h-3zm-8.5 2c.28 0 .5.22.5.5s-.22.5-.5.5-.5-.22-.5-.5.22-.5.5-.5zM6 14h4v1H6v-1z';\n\t\t\t\tbreak;\n\t\t\tcase 'welcome-write-blog':\n\t\t\t\tpath = 'M16.89 1.2l1.41 1.41c.39.39.39 1.02 0 1.41L14 8.33V18H3V3h10.67l1.8-1.8c.4-.39 1.03-.4 1.42 0zm-5.66 8.48l5.37-5.36-1.42-1.42-5.36 5.37-.71 2.12z';\n\t\t\t\tbreak;\n\t\t\tcase 'wordpress-alt':\n\t\t\t\tpath = 'M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z';\n\t\t\t\tbreak;\n\t\t\tcase 'wordpress':\n\t\t\t\tpath = 'M20 10c0-5.52-4.48-10-10-10S0 4.48 0 10s4.48 10 10 10 10-4.48 10-10zM10 1.01c4.97 0 8.99 4.02 8.99 8.99s-4.02 8.99-8.99 8.99S1.01 14.97 1.01 10 5.03 1.01 10 1.01zM8.01 14.82L4.96 6.61c.49-.03 1.05-.08 1.05-.08.43-.05.38-1.01-.06-.99 0 0-1.29.1-2.13.1-.15 0-.33 0-.52-.01 1.44-2.17 3.9-3.6 6.7-3.6 2.09 0 3.99.79 5.41 2.09-.6-.08-1.45.35-1.45 1.42 0 .66.38 1.22.79 1.88.31.54.5 1.22.5 2.21 0 1.34-1.27 4.48-1.27 4.48l-2.71-7.5c.48-.03.75-.16.75-.16.43-.05.38-1.1-.05-1.08 0 0-1.3.11-2.14.11-.78 0-2.11-.11-2.11-.11-.43-.02-.48 1.06-.05 1.08l.84.08 1.12 3.04zm6.02 2.15L16.64 10s.67-1.69.39-3.81c.63 1.14.94 2.42.94 3.81 0 2.96-1.56 5.58-3.94 6.97zM2.68 6.77L6.5 17.25c-2.67-1.3-4.47-4.08-4.47-7.25 0-1.16.2-2.23.65-3.23zm7.45 4.53l2.29 6.25c-.75.27-1.57.42-2.42.42-.72 0-1.41-.11-2.06-.3z';\n\t\t\t\tbreak;\n\t\t\tcase 'yes-alt':\n\t\t\t\tpath = 'M10 2c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8-3.58-8-8-8zm-.615 12.66h-1.34l-3.24-4.54 1.34-1.25 2.57 2.4 5.14-5.93 1.34.94-5.81 8.38z';\n\t\t\t\tbreak;\n\t\t\tcase 'yes':\n\t\t\t\tpath = 'M14.83 4.89l1.34.94-5.81 8.38H9.02L5.78 9.67l1.34-1.25 2.57 2.4z';\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( ! path ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst iconClass = [ 'dashicon', 'dashicons-' + icon, className ].filter( Boolean ).join( ' ' );\n\n\t\treturn (\n\t\t\t<SVG\n\t\t\t\taria-hidden\n\t\t\t\trole=\"img\"\n\t\t\t\tfocusable=\"false\"\n\t\t\t\tclassName={ iconClass }\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth={ size }\n\t\t\t\theight={ size }\n\t\t\t\tviewBox=\"0 0 20 20\"\n\t\t\t>\n\t\t\t\t<Path d={ path } />\n\t\t\t</SVG>\n\t\t);\n\t}\n}\n","/**\n * External dependencies\n */\nimport moment from 'moment';\nimport { DayPickerSingleDateController } from 'react-dates';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Module Constants\n */\nconst TIMEZONELESS_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\n\nclass DatePicker extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onChangeMoment = this.onChangeMoment.bind( this );\n\t}\n\n\tonChangeMoment( newDate ) {\n\t\tconst { currentDate, onChange } = this.props;\n\n\t\tconst momentDate = currentDate ? moment( currentDate ) : moment();\n\t\tconst momentTime = {\n\t\t\thours: momentDate.hours(),\n\t\t\tminutes: momentDate.minutes(),\n\t\t\tseconds: momentDate.seconds(),\n\t\t};\n\n\t\tonChange( newDate.set( momentTime ).format( TIMEZONELESS_FORMAT ) );\n\t}\n\n\trender() {\n\t\tconst { currentDate } = this.props;\n\n\t\tconst momentDate = currentDate ? moment( currentDate ) : moment();\n\n\t\treturn (\n\t\t\t<div className=\"components-datetime__date\">\n\t\t\t\t<DayPickerSingleDateController\n\t\t\t\t\tblock\n\t\t\t\t\tdate={ momentDate }\n\t\t\t\t\tdaySize={ 30 }\n\t\t\t\t\tfocused\n\t\t\t\t\thideKeyboardShortcutsPanel\n\t\t\t\t\t// This is a hack to force the calendar to update on month or year change\n\t\t\t\t\t// https://github.com/airbnb/react-dates/issues/240#issuecomment-361776665\n\t\t\t\t\tkey={ `datepicker-controller-${ momentDate.format( 'MM-YYYY' ) }` }\n\t\t\t\t\tnoBorder\n\t\t\t\t\tnumberOfMonths={ 1 }\n\t\t\t\t\tonDateChange={ this.onChangeMoment }\n\t\t\t\t\ttransitionDuration={ 0 }\n\t\t\t\t\tweekDayFormat=\"ddd\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default DatePicker;\n","/**\n * External dependencies\n */\n// Needed to initialise the default datepicker styles.\n// See: https://github.com/airbnb/react-dates#initialize\nimport 'react-dates/initialize';\n\n/**\n * WordPress dependencies\n */\nimport { Component, Fragment } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport { default as DatePicker } from './date';\nimport { default as TimePicker } from './time';\n\nexport { DatePicker, TimePicker };\n\nexport class DateTimePicker extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = { calendarHelpIsVisible: false };\n\n\t\tthis.onClickDescriptionToggle = this.onClickDescriptionToggle.bind( this );\n\t}\n\n\tonClickDescriptionToggle() {\n\t\tthis.setState( { calendarHelpIsVisible: ! this.state.calendarHelpIsVisible } );\n\t}\n\n\trender() {\n\t\tconst { currentDate, is12Hour, onChange } = this.props;\n\n\t\treturn (\n\t\t\t<div className=\"components-datetime\">\n\t\t\t\t{ ! this.state.calendarHelpIsVisible && (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<TimePicker\n\t\t\t\t\t\t\tcurrentTime={ currentDate }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tis12Hour={ is12Hour }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<DatePicker\n\t\t\t\t\t\t\tcurrentDate={ currentDate }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Fragment>\n\t\t\t\t) }\n\n\t\t\t\t{ this.state.calendarHelpIsVisible && (\n\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t<div className=\"components-datetime__calendar-help\">\n\t\t\t\t\t\t\t<h4>{ __( 'Click to Select' ) }</h4>\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li>{ __( 'Click the right or left arrows to select other months in the past or the future.' ) }</li>\n\t\t\t\t\t\t\t\t<li>{ __( 'Click the desired day to select it.' ) }</li>\n\t\t\t\t\t\t\t</ul>\n\n\t\t\t\t\t\t\t<h4>{ __( 'Navigating with a keyboard' ) }</h4>\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<abbr aria-label={ _x( 'Enter', 'keyboard button' ) }>↵</abbr>\n\t\t\t\t\t\t\t\t\t{ ' ' /* JSX removes whitespace, but a space is required for screen readers. */ }\n\t\t\t\t\t\t\t\t\t<span>{ __( 'Select the date in focus.' ) }</span>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<abbr aria-label={ __( 'Left and Right Arrows' ) }>←/→</abbr>\n\t\t\t\t\t\t\t\t\t{ ' ' /* JSX removes whitespace, but a space is required for screen readers. */ }\n\t\t\t\t\t\t\t\t\t{ __( 'Move backward (left) or forward (right) by one day.' ) }\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<abbr aria-label={ __( 'Up and Down Arrows' ) }>↑/↓</abbr>\n\t\t\t\t\t\t\t\t\t{ ' ' /* JSX removes whitespace, but a space is required for screen readers. */ }\n\t\t\t\t\t\t\t\t\t{ __( 'Move backward (up) or forward (down) by one week.' ) }\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<abbr aria-label={ __( 'Page Up and Page Down' ) }>{ __( 'PgUp/PgDn' ) }</abbr>\n\t\t\t\t\t\t\t\t\t{ ' ' /* JSX removes whitespace, but a space is required for screen readers. */ }\n\t\t\t\t\t\t\t\t\t{ __( 'Move backward (PgUp) or forward (PgDn) by one month.' ) }\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t<abbr aria-label={ __( 'Home and End' ) }>{ __( 'Home/End' ) }</abbr>\n\t\t\t\t\t\t\t\t\t{ ' ' /* JSX removes whitespace, but a space is required for screen readers. */ }\n\t\t\t\t\t\t\t\t\t{ __( 'Go to the first (home) or last (end) day of a week.' ) }\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t</ul>\n\n\t\t\t\t\t\t\t<Button isSmall onClick={ this.onClickDescriptionToggle }>\n\t\t\t\t\t\t\t\t{ __( 'Close' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Fragment>\n\t\t\t\t) }\n\n\t\t\t\t{ ! this.state.calendarHelpIsVisible && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"components-datetime__date-help-button\"\n\t\t\t\t\t\tisLink\n\t\t\t\t\t\tonClick={ this.onClickDescriptionToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Calendar Help' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n}\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isInteger } from 'lodash';\nimport moment from 'moment';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\n\n/**\n * Module Constants\n */\nconst TIMEZONELESS_FORMAT = 'YYYY-MM-DDTHH:mm:ss';\n\nclass TimePicker extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tday: '',\n\t\t\tmonth: '',\n\t\t\tyear: '',\n\t\t\thours: '',\n\t\t\tminutes: '',\n\t\t\tam: true,\n\t\t\tdate: null,\n\t\t};\n\t\tthis.updateMonth = this.updateMonth.bind( this );\n\t\tthis.onChangeMonth = this.onChangeMonth.bind( this );\n\t\tthis.updateDay = this.updateDay.bind( this );\n\t\tthis.onChangeDay = this.onChangeDay.bind( this );\n\t\tthis.updateYear = this.updateYear.bind( this );\n\t\tthis.onChangeYear = this.onChangeYear.bind( this );\n\t\tthis.updateHours = this.updateHours.bind( this );\n\t\tthis.updateMinutes = this.updateMinutes.bind( this );\n\t\tthis.onChangeHours = this.onChangeHours.bind( this );\n\t\tthis.onChangeMinutes = this.onChangeMinutes.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.syncState( this.props );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { currentTime, is12Hour } = this.props;\n\t\tif (\n\t\t\tcurrentTime !== prevProps.currentTime ||\n\t\t\tis12Hour !== prevProps.is12Hour\n\t\t) {\n\t\t\tthis.syncState( this.props );\n\t\t}\n\t}\n\n\tgetMaxHours() {\n\t\treturn this.props.is12Hour ? 12 : 23;\n\t}\n\n\tgetMinHours() {\n\t\treturn this.props.is12Hour ? 1 : 0;\n\t}\n\n\tsyncState( { currentTime, is12Hour } ) {\n\t\tconst selected = currentTime ? moment( currentTime ) : moment();\n\t\tconst day = selected.format( 'DD' );\n\t\tconst month = selected.format( 'MM' );\n\t\tconst year = selected.format( 'YYYY' );\n\t\tconst minutes = selected.format( 'mm' );\n\t\tconst am = selected.format( 'A' );\n\t\tconst hours = selected.format( is12Hour ? 'hh' : 'HH' );\n\t\tconst date = currentTime ? moment( currentTime ) : moment();\n\t\tthis.setState( { day, month, year, minutes, hours, am, date } );\n\t}\n\n\tupdateHours() {\n\t\tconst { is12Hour, onChange } = this.props;\n\t\tconst { am, hours, date } = this.state;\n\t\tconst value = parseInt( hours, 10 );\n\t\tif (\n\t\t\t! isInteger( value ) ||\n\t\t\t( is12Hour && ( value < 1 || value > 12 ) ) ||\n\t\t\t( ! is12Hour && ( value < 0 || value > 23 ) )\n\t\t) {\n\t\t\tthis.syncState( this.props );\n\t\t\treturn;\n\t\t}\n\n\t\tconst newDate = is12Hour ?\n\t\t\tdate.clone().hours( am === 'AM' ? value % 12 : ( ( ( value % 12 ) + 12 ) % 24 ) ) :\n\t\t\tdate.clone().hours( value );\n\t\tthis.setState( { date: newDate } );\n\t\tonChange( newDate.format( TIMEZONELESS_FORMAT ) );\n\t}\n\n\tupdateMinutes() {\n\t\tconst { onChange } = this.props;\n\t\tconst { minutes, date } = this.state;\n\t\tconst value = parseInt( minutes, 10 );\n\t\tif ( ! isInteger( value ) || value < 0 || value > 59 ) {\n\t\t\tthis.syncState( this.props );\n\t\t\treturn;\n\t\t}\n\t\tconst newDate = date.clone().minutes( value );\n\t\tthis.setState( { date: newDate } );\n\t\tonChange( newDate.format( TIMEZONELESS_FORMAT ) );\n\t}\n\n\tupdateDay() {\n\t\tconst { onChange } = this.props;\n\t\tconst { day, date } = this.state;\n\t\tconst value = parseInt( day, 10 );\n\t\tif ( ! isInteger( value ) || value < 1 || value > 31 ) {\n\t\t\tthis.syncState( this.props );\n\t\t\treturn;\n\t\t}\n\t\tconst newDate = date.clone().date( value );\n\t\tthis.setState( { date: newDate } );\n\t\tonChange( newDate.format( TIMEZONELESS_FORMAT ) );\n\t}\n\n\tupdateMonth() {\n\t\tconst { onChange } = this.props;\n\t\tconst { month, date } = this.state;\n\t\tconst value = parseInt( month, 10 );\n\t\tif ( ! isInteger( value ) || value < 1 || value > 12 ) {\n\t\t\tthis.syncState( this.props );\n\t\t\treturn;\n\t\t}\n\t\tconst newDate = date.clone().month( value - 1 );\n\t\tthis.setState( { date: newDate } );\n\t\tonChange( newDate.format( TIMEZONELESS_FORMAT ) );\n\t}\n\n\tupdateYear() {\n\t\tconst { onChange } = this.props;\n\t\tconst { year, date } = this.state;\n\t\tconst value = parseInt( year, 10 );\n\t\tif ( ! isInteger( value ) || value < 1970 || value > 9999 ) {\n\t\t\tthis.syncState( this.props );\n\t\t\treturn;\n\t\t}\n\t\tconst newDate = date.clone().year( value );\n\t\tthis.setState( { date: newDate } );\n\t\tonChange( newDate.format( TIMEZONELESS_FORMAT ) );\n\t}\n\n\tupdateAmPm( value ) {\n\t\treturn () => {\n\t\t\tconst { onChange } = this.props;\n\t\t\tconst { am, date, hours } = this.state;\n\t\t\tif ( am === value ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet newDate;\n\t\t\tif ( value === 'PM' ) {\n\t\t\t\tnewDate = date.clone().hours( ( ( parseInt( hours, 10 ) % 12 ) + 12 ) % 24 );\n\t\t\t} else {\n\t\t\t\tnewDate = date.clone().hours( parseInt( hours, 10 ) % 12 );\n\t\t\t}\n\t\t\tthis.setState( { date: newDate } );\n\t\t\tonChange( newDate.format( TIMEZONELESS_FORMAT ) );\n\t\t};\n\t}\n\n\tonChangeDay( event ) {\n\t\tthis.setState( { day: event.target.value } );\n\t}\n\n\tonChangeMonth( event ) {\n\t\tthis.setState( { month: event.target.value } );\n\t}\n\n\tonChangeYear( event ) {\n\t\tthis.setState( { year: event.target.value } );\n\t}\n\n\tonChangeHours( event ) {\n\t\tthis.setState( { hours: event.target.value } );\n\t}\n\n\tonChangeMinutes( event ) {\n\t\tthis.setState( { minutes: event.target.value } );\n\t}\n\n\trender() {\n\t\tconst { is12Hour } = this.props;\n\t\tconst { day, month, year, minutes, hours, am } = this.state;\n\n\t\treturn (\n\t\t\t<div className={ classnames( 'components-datetime__time', {\n\t\t\t\t'is-12-hour': is12Hour,\n\t\t\t\t'is-24-hour': ! is12Hour,\n\t\t\t} ) }>\n\t\t\t\t<fieldset>\n\t\t\t\t\t<legend className=\"components-datetime__time-legend invisible\">{ __( 'Date' ) }</legend>\n\t\t\t\t\t<div className=\"components-datetime__time-wrapper\">\n\t\t\t\t\t\t<div className=\"components-datetime__time-field components-datetime__time-field-month\">\n\t\t\t\t\t\t\t<select\n\t\t\t\t\t\t\t\taria-label={ __( 'Month' ) }\n\t\t\t\t\t\t\t\tclassName=\"components-datetime__time-field-month-select\"\n\t\t\t\t\t\t\t\tvalue={ month }\n\t\t\t\t\t\t\t\tonChange={ this.onChangeMonth }\n\t\t\t\t\t\t\t\tonBlur={ this.updateMonth }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<option value=\"01\">{ __( 'January' ) }</option>\n\t\t\t\t\t\t\t\t<option value=\"02\">{ __( 'February' ) }</option>\n\t\t\t\t\t\t\t\t<option value=\"03\">{ __( 'March' ) }</option>\n\t\t\t\t\t\t\t\t<option value=\"04\">{ __( 'April' ) }</option>\n\t\t\t\t\t\t\t\t<option value=\"05\">{ __( 'May' ) }</option>\n\t\t\t\t\t\t\t\t<option value=\"06\">{ __( 'June' ) }</option>\n\t\t\t\t\t\t\t\t<option value=\"07\">{ __( 'July' ) }</option>\n\t\t\t\t\t\t\t\t<option value=\"08\">{ __( 'August' ) }</option>\n\t\t\t\t\t\t\t\t<option value=\"09\">{ __( 'September' ) }</option>\n\t\t\t\t\t\t\t\t<option value=\"10\">{ __( 'October' ) }</option>\n\t\t\t\t\t\t\t\t<option value=\"11\">{ __( 'November' ) }</option>\n\t\t\t\t\t\t\t\t<option value=\"12\">{ __( 'December' ) }</option>\n\t\t\t\t\t\t\t</select>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"components-datetime__time-field components-datetime__time-field-day\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\taria-label={ __( 'Day' ) }\n\t\t\t\t\t\t\t\tclassName=\"components-datetime__time-field-day-input\"\n\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\tvalue={ day }\n\t\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tonChange={ this.onChangeDay }\n\t\t\t\t\t\t\t\tonBlur={ this.updateDay }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"components-datetime__time-field components-datetime__time-field-year\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\taria-label={ __( 'Year' ) }\n\t\t\t\t\t\t\t\tclassName=\"components-datetime__time-field-year-input\"\n\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\t\tvalue={ year }\n\t\t\t\t\t\t\t\tonChange={ this.onChangeYear }\n\t\t\t\t\t\t\t\tonBlur={ this.updateYear }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\n\t\t\t\t<fieldset>\n\t\t\t\t\t<legend className=\"components-datetime__time-legend invisible\">{ __( 'Time' ) }</legend>\n\t\t\t\t\t<div className=\"components-datetime__time-wrapper\">\n\t\t\t\t\t\t<div className=\"components-datetime__time-field components-datetime__time-field-time\">\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\taria-label={ __( 'Hours' ) }\n\t\t\t\t\t\t\t\tclassName=\"components-datetime__time-field-hours-input\"\n\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\t\tmin={ this.getMinHours() }\n\t\t\t\t\t\t\t\tmax={ this.getMaxHours() }\n\t\t\t\t\t\t\t\tvalue={ hours }\n\t\t\t\t\t\t\t\tonChange={ this.onChangeHours }\n\t\t\t\t\t\t\t\tonBlur={ this.updateHours }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"components-datetime__time-separator\"\n\t\t\t\t\t\t\t\taria-hidden=\"true\">:</span>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\taria-label={ __( 'Minutes' ) }\n\t\t\t\t\t\t\t\tclassName=\"components-datetime__time-field-minutes-input\"\n\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tmax={ 59 }\n\t\t\t\t\t\t\t\tvalue={ minutes }\n\t\t\t\t\t\t\t\tonChange={ this.onChangeMinutes }\n\t\t\t\t\t\t\t\tonBlur={ this.updateMinutes }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{ is12Hour && (\n\t\t\t\t\t\t\t<div className=\"components-datetime__time-field components-datetime__time-field-am-pm\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\taria-pressed={ am === 'AM' }\n\t\t\t\t\t\t\t\t\tisDefault\n\t\t\t\t\t\t\t\t\tclassName=\"components-datetime__time-am-button\"\n\t\t\t\t\t\t\t\t\tisToggled={ am === 'AM' }\n\t\t\t\t\t\t\t\t\tonClick={ this.updateAmPm( 'AM' ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'AM' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\taria-pressed={ am === 'PM' }\n\t\t\t\t\t\t\t\t\tisDefault\n\t\t\t\t\t\t\t\t\tclassName=\"components-datetime__time-pm-button\"\n\t\t\t\t\t\t\t\t\tisToggled={ am === 'PM' }\n\t\t\t\t\t\t\t\t\tonClick={ this.updateAmPm( 'PM' ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'PM' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default TimePicker;\n","/**\n * External dependencies\n */\nimport { includes, debounce } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createContext, Component } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\n\nconst { Consumer, Provider } = createContext( false );\n\n/**\n * Names of control nodes which qualify for disabled behavior.\n *\n * See WHATWG HTML Standard: 4.10.18.5: \"Enabling and disabling form controls: the disabled attribute\".\n *\n * @link https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#enabling-and-disabling-form-controls:-the-disabled-attribute\n *\n * @type {string[]}\n */\nconst DISABLED_ELIGIBLE_NODE_NAMES = [\n\t'BUTTON',\n\t'FIELDSET',\n\t'INPUT',\n\t'OPTGROUP',\n\t'OPTION',\n\t'SELECT',\n\t'TEXTAREA',\n];\n\nclass Disabled extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindNode = this.bindNode.bind( this );\n\t\tthis.disable = this.disable.bind( this );\n\n\t\t// Debounce re-disable since disabling process itself will incur\n\t\t// additional mutations which should be ignored.\n\t\tthis.debouncedDisable = debounce( this.disable, { leading: true } );\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.disable();\n\n\t\tthis.observer = new window.MutationObserver( this.debouncedDisable );\n\t\tthis.observer.observe( this.node, {\n\t\t\tchildList: true,\n\t\t\tattributes: true,\n\t\t\tsubtree: true,\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.observer.disconnect();\n\t\tthis.debouncedDisable.cancel();\n\t}\n\n\tbindNode( node ) {\n\t\tthis.node = node;\n\t}\n\n\tdisable() {\n\t\tfocus.focusable.find( this.node ).forEach( ( focusable ) => {\n\t\t\tif ( includes( DISABLED_ELIGIBLE_NODE_NAMES, focusable.nodeName ) ) {\n\t\t\t\tfocusable.setAttribute( 'disabled', '' );\n\t\t\t}\n\n\t\t\tif ( focusable.hasAttribute( 'tabindex' ) ) {\n\t\t\t\tfocusable.removeAttribute( 'tabindex' );\n\t\t\t}\n\n\t\t\tif ( focusable.hasAttribute( 'contenteditable' ) ) {\n\t\t\t\tfocusable.setAttribute( 'contenteditable', 'false' );\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { className, ...props } = this.props;\n\t\treturn (\n\t\t\t<Provider value={ true }>\n\t\t\t\t<div\n\t\t\t\t\tref={ this.bindNode }\n\t\t\t\t\tclassName={ classnames( className, 'components-disabled' ) }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ this.props.children }\n\t\t\t\t</div>\n\t\t\t</Provider>\n\t\t);\n\t}\n}\n\nDisabled.Consumer = Consumer;\n\nexport default Disabled;\n","/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress Dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withSafeTimeout } from '@wordpress/compose';\n\nconst dragImageClass = 'components-draggable__invisible-drag-image';\nconst cloneWrapperClass = 'components-draggable__clone';\nconst cloneHeightTransformationBreakpoint = 700;\nconst clonePadding = 20;\n\nconst isChromeUA = ( ) => /Chrome/i.test( window.navigator.userAgent );\nconst documentHasIframes = ( ) => [ ...document.getElementById( 'editor' ).querySelectorAll( 'iframe' ) ].length > 0;\n\nclass Draggable extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onDragStart = this.onDragStart.bind( this );\n\t\tthis.onDragOver = this.onDragOver.bind( this );\n\t\tthis.onDrop = this.onDrop.bind( this );\n\t\tthis.onDragEnd = this.onDragEnd.bind( this );\n\t\tthis.resetDragState = this.resetDragState.bind( this );\n\n\t\tthis.isChromeAndHasIframes = false;\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.resetDragState();\n\t}\n\n\t/**\n\t * Removes the element clone, resets cursor, and removes drag listener.\n\t * @param {Object} event The non-custom DragEvent.\n\t */\n\tonDragEnd( event ) {\n\t\tconst { onDragEnd = noop } = this.props;\n\t\tif ( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\n\t\tthis.resetDragState();\n\t\tthis.props.setTimeout( onDragEnd );\n\t}\n\n\t/*\n\t * Updates positioning of element clone based on mouse movement during dragging.\n\t * @param {Object} event The non-custom DragEvent.\n\t */\n\tonDragOver( event ) {\n\t\tthis.cloneWrapper.style.top =\n\t\t\t`${ parseInt( this.cloneWrapper.style.top, 10 ) + event.clientY - this.cursorTop }px`;\n\t\tthis.cloneWrapper.style.left =\n\t\t\t`${ parseInt( this.cloneWrapper.style.left, 10 ) + event.clientX - this.cursorLeft }px`;\n\n\t\t// Update cursor coordinates.\n\t\tthis.cursorLeft = event.clientX;\n\t\tthis.cursorTop = event.clientY;\n\t}\n\n\tonDrop( ) {\n\t\t// As per https://html.spec.whatwg.org/multipage/dnd.html#dndevents\n\t\t// the target node for the dragend is the source node that started the drag operation,\n\t\t// while drop event's target is the current target element.\n\t\tthis.onDragEnd( null );\n\t}\n\n\t/**\n\t * - Clones the current element and spawns clone over original element.\n\t * - Adds a fake temporary drag image to avoid browser defaults.\n\t * - Sets transfer data.\n\t * - Adds dragover listener.\n\t * @param {Object} event\t\t\t\t\tThe non-custom DragEvent.\n\t * @param {string} elementId\t\t\t\tThe HTML id of the element to be dragged.\n\t * @param {Object} transferData\t\t\tThe data to be set to the event's dataTransfer - to be accessible in any later drop logic.\n\t */\n\tonDragStart( event ) {\n\t\tconst { elementId, transferData, onDragStart = noop } = this.props;\n\t\tconst element = document.getElementById( elementId );\n\t\tif ( ! element ) {\n\t\t\tevent.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\t// Set a fake drag image to avoid browser defaults. Remove from DOM\n\t\t// right after. event.dataTransfer.setDragImage is not supported yet in\n\t\t// IE, we need to check for its existence first.\n\t\tif ( 'function' === typeof event.dataTransfer.setDragImage ) {\n\t\t\tconst dragImage = document.createElement( 'div' );\n\t\t\tdragImage.id = `drag-image-${ elementId }`;\n\t\t\tdragImage.classList.add( dragImageClass );\n\t\t\tdocument.body.appendChild( dragImage );\n\t\t\tevent.dataTransfer.setDragImage( dragImage, 0, 0 );\n\t\t\tthis.props.setTimeout( () => {\n\t\t\t\tdocument.body.removeChild( dragImage );\n\t\t\t} );\n\t\t}\n\n\t\tevent.dataTransfer.setData( 'text', JSON.stringify( transferData ) );\n\n\t\t// Prepare element clone and append to element wrapper.\n\t\tconst elementRect = element.getBoundingClientRect();\n\t\tconst elementWrapper = element.parentNode;\n\t\tconst elementTopOffset = parseInt( elementRect.top, 10 );\n\t\tconst elementLeftOffset = parseInt( elementRect.left, 10 );\n\t\tconst clone = element.cloneNode( true );\n\t\tclone.id = `clone-${ elementId }`;\n\t\tthis.cloneWrapper = document.createElement( 'div' );\n\t\tthis.cloneWrapper.classList.add( cloneWrapperClass );\n\t\tthis.cloneWrapper.style.width = `${ elementRect.width + ( clonePadding * 2 ) }px`;\n\n\t\tif ( elementRect.height > cloneHeightTransformationBreakpoint ) {\n\t\t\t// Scale down clone if original element is larger than 700px.\n\t\t\tthis.cloneWrapper.style.transform = 'scale(0.5)';\n\t\t\tthis.cloneWrapper.style.transformOrigin = 'top left';\n\t\t\t// Position clone near the cursor.\n\t\t\tthis.cloneWrapper.style.top = `${ event.clientY - 100 }px`;\n\t\t\tthis.cloneWrapper.style.left = `${ event.clientX }px`;\n\t\t} else {\n\t\t\t// Position clone right over the original element (20px padding).\n\t\t\tthis.cloneWrapper.style.top = `${ elementTopOffset - clonePadding }px`;\n\t\t\tthis.cloneWrapper.style.left = `${ elementLeftOffset - clonePadding }px`;\n\t\t}\n\n\t\t// Hack: Remove iFrames as it's causing the embeds drag clone to freeze\n\t\t[ ...clone.querySelectorAll( 'iframe' ) ].forEach( ( child ) => child.parentNode.removeChild( child ) );\n\n\t\tthis.cloneWrapper.appendChild( clone );\n\t\telementWrapper.appendChild( this.cloneWrapper );\n\n\t\t// Mark the current cursor coordinates.\n\t\tthis.cursorLeft = event.clientX;\n\t\tthis.cursorTop = event.clientY;\n\t\t// Update cursor to 'grabbing', document wide.\n\t\tdocument.body.classList.add( 'is-dragging-components-draggable' );\n\t\tdocument.addEventListener( 'dragover', this.onDragOver );\n\n\t\t// Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=737691#c8\n\t\t// dragend event won't be dispatched in the chrome browser\n\t\t// when iframes are affected by the drag operation. So, in that case,\n\t\t// we use the drop event to wrap up the dragging operation.\n\t\t// This way the hack is contained to a specific use case and the external API\n\t\t// still relies mostly on the dragend event.\n\t\tif ( isChromeUA() && documentHasIframes() ) {\n\t\t\tthis.isChromeAndHasIframes = true;\n\t\t\tdocument.addEventListener( 'drop', this.onDrop );\n\t\t}\n\n\t\tthis.props.setTimeout( onDragStart );\n\t}\n\n\t/**\n\t * Cleans up drag state when drag has completed, or component unmounts\n\t * while dragging.\n\t */\n\tresetDragState() {\n\t\t// Remove drag clone\n\t\tdocument.removeEventListener( 'dragover', this.onDragOver );\n\t\tif ( this.cloneWrapper && this.cloneWrapper.parentNode ) {\n\t\t\tthis.cloneWrapper.parentNode.removeChild( this.cloneWrapper );\n\t\t\tthis.cloneWrapper = null;\n\t\t}\n\n\t\tif ( this.isChromeAndHasIframes ) {\n\t\t\tthis.isChromeAndHasIframes = false;\n\t\t\tdocument.removeEventListener( 'drop', this.onDrop );\n\t\t}\n\n\t\t// Reset cursor.\n\t\tdocument.body.classList.remove( 'is-dragging-components-draggable' );\n\t}\n\n\trender() {\n\t\tconst { children } = this.props;\n\n\t\treturn children( {\n\t\t\tonDraggableStart: this.onDragStart,\n\t\t\tonDraggableEnd: this.onDragEnd,\n\t\t} );\n\t}\n}\n\nexport default withSafeTimeout( Draggable );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component, createRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Dashicon from '../dashicon';\nimport { DropZoneConsumer } from './provider';\n\nconst DropZone = ( props ) => (\n\t<DropZoneConsumer>\n\t\t{ ( { addDropZone, removeDropZone } ) => (\n\t\t\t<DropZoneComponent\n\t\t\t\taddDropZone={ addDropZone }\n\t\t\t\tremoveDropZone={ removeDropZone }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t) }\n\t</DropZoneConsumer>\n);\n\nclass DropZoneComponent extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.dropZoneElement = createRef();\n\t\tthis.dropZone = {\n\t\t\telement: null,\n\t\t\tonDrop: this.props.onDrop,\n\t\t\tonFilesDrop: this.props.onFilesDrop,\n\t\t\tonHTMLDrop: this.props.onHTMLDrop,\n\t\t\tsetState: this.setState.bind( this ),\n\t\t};\n\t\tthis.state = {\n\t\t\tisDraggingOverDocument: false,\n\t\t\tisDraggingOverElement: false,\n\t\t\tposition: null,\n\t\t\ttype: null,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\t// Set element after the component has a node assigned in the DOM\n\t\tthis.dropZone.element = this.dropZoneElement.current;\n\t\tthis.props.addDropZone( this.dropZone );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.props.removeDropZone( this.dropZone );\n\t}\n\n\trender() {\n\t\tconst { className, label } = this.props;\n\t\tconst { isDraggingOverDocument, isDraggingOverElement, position, type } = this.state;\n\t\tconst classes = classnames( 'components-drop-zone', className, {\n\t\t\t'is-active': isDraggingOverDocument || isDraggingOverElement,\n\t\t\t'is-dragging-over-document': isDraggingOverDocument,\n\t\t\t'is-dragging-over-element': isDraggingOverElement,\n\t\t\t'is-close-to-top': position && position.y === 'top',\n\t\t\t'is-close-to-bottom': position && position.y === 'bottom',\n\t\t\t'is-close-to-left': position && position.x === 'left',\n\t\t\t'is-close-to-right': position && position.x === 'right',\n\t\t\t[ `is-dragging-${ type }` ]: !! type,\n\t\t} );\n\n\t\treturn (\n\t\t\t<div ref={ this.dropZoneElement } className={ classes }>\n\t\t\t\t<div className=\"components-drop-zone__content\">\n\t\t\t\t\t{ [\n\t\t\t\t\t\t<Dashicon\n\t\t\t\t\t\t\tkey=\"icon\"\n\t\t\t\t\t\t\ticon=\"upload\"\n\t\t\t\t\t\t\tsize=\"40\"\n\t\t\t\t\t\t\tclassName=\"components-drop-zone__content-icon\"\n\t\t\t\t\t\t/>,\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tkey=\"text\"\n\t\t\t\t\t\t\tclassName=\"components-drop-zone__content-text\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ label ? label : __( 'Drop files to upload' ) }\n\t\t\t\t\t\t</span>,\n\t\t\t\t\t] }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default DropZone;\n","/**\n * External dependencies\n */\nimport { isEqual, find, some, filter, throttle, includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createContext } from '@wordpress/element';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\nconst { Provider, Consumer } = createContext( {\n\taddDropZone: () => {},\n\tremoveDropZone: () => {},\n} );\n\nconst getDragEventType = ( { dataTransfer } ) => {\n\tif ( dataTransfer ) {\n\t\t// Use lodash `includes` here as in the Edge browser `types` is implemented\n\t\t// as a DomStringList, whereas in other browsers it's an array. `includes`\n\t\t// happily works with both types.\n\t\tif ( includes( dataTransfer.types, 'Files' ) ) {\n\t\t\treturn 'file';\n\t\t}\n\n\t\tif ( includes( dataTransfer.types, 'text/html' ) ) {\n\t\t\treturn 'html';\n\t\t}\n\t}\n\n\treturn 'default';\n};\n\nconst isTypeSupportedByDropZone = ( type, dropZone ) => {\n\treturn ( type === 'file' && dropZone.onFilesDrop ) ||\n\t\t( type === 'html' && dropZone.onHTMLDrop ) ||\n\t\t( type === 'default' && dropZone.onDrop );\n};\n\nconst isWithinElementBounds = ( element, x, y ) => {\n\tconst rect = element.getBoundingClientRect();\n\t/// make sure the rect is a valid rect\n\tif ( rect.bottom === rect.top || rect.left === rect.right ) {\n\t\treturn false;\n\t}\n\n\treturn x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom;\n};\n\nclass DropZoneProvider extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\t// Event listeners\n\t\tthis.onDragOver = this.onDragOver.bind( this );\n\t\tthis.onDrop = this.onDrop.bind( this );\n\t\t// Context methods so this component can receive data from consumers\n\t\tthis.addDropZone = this.addDropZone.bind( this );\n\t\tthis.removeDropZone = this.removeDropZone.bind( this );\n\t\t// Utility methods\n\t\tthis.resetDragState = this.resetDragState.bind( this );\n\t\tthis.toggleDraggingOverDocument = throttle( this.toggleDraggingOverDocument.bind( this ), 200 );\n\n\t\tthis.dropZones = [];\n\t\tthis.dropZoneCallbacks = {\n\t\t\taddDropZone: this.addDropZone,\n\t\t\tremoveDropZone: this.removeDropZone,\n\t\t};\n\t\tthis.state = {\n\t\t\thoveredDropZone: -1,\n\t\t\tisDraggingOverDocument: false,\n\t\t\tisDraggingOverElement: false,\n\t\t\tposition: null,\n\t\t\ttype: null,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\twindow.addEventListener( 'dragover', this.onDragOver );\n\t\twindow.addEventListener( 'mouseup', this.resetDragState );\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener( 'dragover', this.onDragOver );\n\t\twindow.removeEventListener( 'mouseup', this.resetDragState );\n\t}\n\n\taddDropZone( dropZone ) {\n\t\tthis.dropZones.push( dropZone );\n\t}\n\n\tremoveDropZone( dropZone ) {\n\t\tthis.dropZones = filter( this.dropZones, ( dz ) => dz !== dropZone );\n\t}\n\n\tresetDragState() {\n\t\t// Avoid throttled drag over handler calls\n\t\tthis.toggleDraggingOverDocument.cancel();\n\n\t\tconst { isDraggingOverDocument, hoveredDropZone } = this.state;\n\t\tif ( ! isDraggingOverDocument && hoveredDropZone === -1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setState( {\n\t\t\thoveredDropZone: -1,\n\t\t\tisDraggingOverDocument: false,\n\t\t\tisDraggingOverElement: false,\n\t\t\tposition: null,\n\t\t\ttype: null,\n\t\t} );\n\n\t\tthis.dropZones.forEach( ( dropZone ) => dropZone.setState( {\n\t\t\tisDraggingOverDocument: false,\n\t\t\tisDraggingOverElement: false,\n\t\t\tposition: null,\n\t\t\ttype: null,\n\t\t} ) );\n\t}\n\n\ttoggleDraggingOverDocument( event, dragEventType ) {\n\t\t// In some contexts, it may be necessary to capture and redirect the\n\t\t// drag event (e.g. atop an `iframe`). To accommodate this, you can\n\t\t// create an instance of CustomEvent with the original event specified\n\t\t// as the `detail` property.\n\t\t//\n\t\t// See: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events\n\t\tconst detail = window.CustomEvent && event instanceof window.CustomEvent ? event.detail : event;\n\n\t\t// Index of hovered dropzone.\n\t\tconst hoveredDropZones = filter( this.dropZones, ( dropZone ) =>\n\t\t\tisTypeSupportedByDropZone( dragEventType, dropZone ) &&\n\t\t\tisWithinElementBounds( dropZone.element, detail.clientX, detail.clientY )\n\t\t);\n\n\t\t// Find the leaf dropzone not containing another dropzone\n\t\tconst hoveredDropZone = find( hoveredDropZones, ( zone ) => (\n\t\t\t! some( hoveredDropZones, ( subZone ) => subZone !== zone && zone.element.parentElement.contains( subZone.element ) )\n\t\t) );\n\n\t\tconst hoveredDropZoneIndex = this.dropZones.indexOf( hoveredDropZone );\n\n\t\tlet position = null;\n\n\t\tif ( hoveredDropZone ) {\n\t\t\tconst rect = hoveredDropZone.element.getBoundingClientRect();\n\n\t\t\tposition = {\n\t\t\t\tx: detail.clientX - rect.left < rect.right - detail.clientX ? 'left' : 'right',\n\t\t\t\ty: detail.clientY - rect.top < rect.bottom - detail.clientY ? 'top' : 'bottom',\n\t\t\t};\n\t\t}\n\n\t\t// Optimisation: Only update the changed dropzones\n\t\tlet toUpdate = [];\n\n\t\tif ( ! this.state.isDraggingOverDocument ) {\n\t\t\ttoUpdate = this.dropZones;\n\t\t} else if ( hoveredDropZoneIndex !== this.state.hoveredDropZone ) {\n\t\t\tif ( this.state.hoveredDropZone !== -1 ) {\n\t\t\t\ttoUpdate.push( this.dropZones[ this.state.hoveredDropZone ] );\n\t\t\t}\n\t\t\tif ( hoveredDropZone ) {\n\t\t\t\ttoUpdate.push( hoveredDropZone );\n\t\t\t}\n\t\t} else if (\n\t\t\thoveredDropZone &&\n\t\t\thoveredDropZoneIndex === this.state.hoveredDropZone &&\n\t\t\t! isEqual( position, this.state.position )\n\t\t) {\n\t\t\ttoUpdate.push( hoveredDropZone );\n\t\t}\n\n\t\t// Notifying the dropzones\n\t\ttoUpdate.map( ( dropZone ) => {\n\t\t\tconst index = this.dropZones.indexOf( dropZone );\n\t\t\tconst isDraggingOverDropZone = index === hoveredDropZoneIndex;\n\t\t\tdropZone.setState( {\n\t\t\t\tisDraggingOverDocument: isTypeSupportedByDropZone( dragEventType, dropZone ),\n\t\t\t\tisDraggingOverElement: isDraggingOverDropZone,\n\t\t\t\tposition: isDraggingOverDropZone ? position : null,\n\t\t\t\ttype: isDraggingOverDropZone ? dragEventType : null,\n\t\t\t} );\n\t\t} );\n\n\t\tconst newState = {\n\t\t\tisDraggingOverDocument: true,\n\t\t\thoveredDropZone: hoveredDropZoneIndex,\n\t\t\tposition,\n\t\t};\n\t\tif ( ! isShallowEqual( newState, this.state ) ) {\n\t\t\tthis.setState( newState );\n\t\t}\n\t}\n\n\tonDragOver( event ) {\n\t\tthis.toggleDraggingOverDocument( event, getDragEventType( event ) );\n\t\tevent.preventDefault();\n\t}\n\n\tonDrop( event ) {\n\t\t// This seemingly useless line has been shown to resolve a Safari issue\n\t\t// where files dragged directly from the dock are not recognized\n\t\tevent.dataTransfer && event.dataTransfer.files.length; // eslint-disable-line no-unused-expressions\n\n\t\tconst { position, hoveredDropZone } = this.state;\n\t\tconst dragEventType = getDragEventType( event );\n\t\tconst dropZone = this.dropZones[ hoveredDropZone ];\n\t\tthis.resetDragState();\n\n\t\tif ( dropZone ) {\n\t\t\tswitch ( dragEventType ) {\n\t\t\t\tcase 'file':\n\t\t\t\t\tdropZone.onFilesDrop( [ ...event.dataTransfer.files ], position );\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'html':\n\t\t\t\t\tdropZone.onHTMLDrop( event.dataTransfer.getData( 'text/html' ), position );\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'default':\n\t\t\t\t\tdropZone.onDrop( event, position );\n\t\t\t}\n\t\t}\n\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div onDrop={ this.onDrop } className=\"components-drop-zone__provider\">\n\t\t\t\t<Provider value={ this.dropZoneCallbacks }>\n\t\t\t\t\t{ this.props.children }\n\t\t\t\t</Provider>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default DropZoneProvider;\nexport { Consumer as DropZoneConsumer };\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { flatMap } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { DOWN } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\nimport Dropdown from '../dropdown';\nimport { NavigableMenu } from '../navigable-container';\n\nfunction DropdownMenu( {\n\ticon = 'menu',\n\tlabel,\n\tmenuLabel,\n\tcontrols,\n\tclassName,\n} ) {\n\tif ( ! controls || ! controls.length ) {\n\t\treturn null;\n\t}\n\n\t// Normalize controls to nested array of objects (sets of controls)\n\tlet controlSets = controls;\n\tif ( ! Array.isArray( controlSets[ 0 ] ) ) {\n\t\tcontrolSets = [ controlSets ];\n\t}\n\n\treturn (\n\t\t<Dropdown\n\t\t\tclassName={ classnames( 'components-dropdown-menu', className ) }\n\t\t\tcontentClassName=\"components-dropdown-menu__popover\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tonToggle();\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\treturn (\n\t\t\t\t\t<IconButton\n\t\t\t\t\t\tclassName=\"components-dropdown-menu__toggle\"\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ttooltip={ label }\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"components-dropdown-menu__indicator\" />\n\t\t\t\t\t</IconButton>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ ( { onClose } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<NavigableMenu\n\t\t\t\t\t\tclassName=\"components-dropdown-menu__menu\"\n\t\t\t\t\t\trole=\"menu\"\n\t\t\t\t\t\taria-label={ menuLabel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ flatMap( controlSets, ( controlSet, indexOfSet ) => (\n\t\t\t\t\t\t\tcontrolSet.map( ( control, indexOfControl ) => (\n\t\t\t\t\t\t\t\t<IconButton\n\t\t\t\t\t\t\t\t\tkey={ [ indexOfSet, indexOfControl ].join() }\n\t\t\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\tif ( control.onClick ) {\n\t\t\t\t\t\t\t\t\t\t\tcontrol.onClick();\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'has-separator': indexOfSet > 0 && indexOfControl === 0,\n\t\t\t\t\t\t\t\t\t\t\t'is-active': control.isActive,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\ticon={ control.icon }\n\t\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\t\tdisabled={ control.isDisabled }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ control.title }\n\t\t\t\t\t\t\t\t</IconButton>\n\t\t\t\t\t\t\t) )\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</NavigableMenu>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nexport default DropdownMenu;\n","/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { Component, createRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Popover from '../popover';\n\nclass Dropdown extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.toggle = this.toggle.bind( this );\n\t\tthis.close = this.close.bind( this );\n\t\tthis.closeIfClickOutside = this.closeIfClickOutside.bind( this );\n\t\tthis.refresh = this.refresh.bind( this );\n\n\t\tthis.containerRef = createRef();\n\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t};\n\t}\n\n\tcomponentWillUnmount() {\n\t\tconst { isOpen } = this.state;\n\t\tconst { onToggle } = this.props;\n\t\tif ( isOpen && onToggle ) {\n\t\t\tonToggle( false );\n\t\t}\n\t}\n\n\tcomponentDidUpdate( prevProps, prevState ) {\n\t\tconst { isOpen } = this.state;\n\t\tconst { onToggle } = this.props;\n\t\tif ( prevState.isOpen !== isOpen && onToggle ) {\n\t\t\tonToggle( isOpen );\n\t\t}\n\t}\n\n\t/**\n\t * When contents change height due to user interaction,\n\t * `refresh` can be called to re-render Popover with correct\n\t * attributes which allow scroll, if need be.\n\t * @deprecated\n\t */\n\trefresh() {\n\t\tdeprecated( 'Dropdown.refresh()', {\n\t\t\tplugin: 'Gutenberg',\n\t\t\tversion: '4.5',\n\t\t\thint: 'Popover is now automatically re-rendered without needing to execute \"refresh\"',\n\t\t} );\n\t}\n\n\ttoggle() {\n\t\tthis.setState( ( state ) => ( {\n\t\t\tisOpen: ! state.isOpen,\n\t\t} ) );\n\t}\n\n\t/**\n\t * Closes the dropdown if a click occurs outside the dropdown wrapper. This\n\t * is intentionally distinct from `onClose` in that a click outside the\n\t * popover may occur in the toggling of the dropdown via its toggle button.\n\t * The correct behavior is to keep the dropdown closed.\n\t *\n\t * @param {MouseEvent} event Click event triggering `onClickOutside`.\n\t */\n\tcloseIfClickOutside( event ) {\n\t\tif ( ! this.containerRef.current.contains( event.target ) ) {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tclose() {\n\t\tthis.setState( { isOpen: false } );\n\t}\n\n\trender() {\n\t\tconst { isOpen } = this.state;\n\t\tconst {\n\t\t\trenderContent,\n\t\t\trenderToggle,\n\t\t\tposition = 'bottom',\n\t\t\tclassName,\n\t\t\tcontentClassName,\n\t\t\texpandOnMobile,\n\t\t\theaderTitle,\n\t\t} = this.props;\n\n\t\tconst args = { isOpen, onToggle: this.toggle, onClose: this.close };\n\n\t\treturn (\n\t\t\t<div className={ className } ref={ this.containerRef }>\n\t\t\t\t{ renderToggle( args ) }\n\t\t\t\t{ isOpen && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tclassName={ contentClassName }\n\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\tonClose={ this.close }\n\t\t\t\t\t\tonClickOutside={ this.closeIfClickOutside }\n\t\t\t\t\t\texpandOnMobile={ expandOnMobile }\n\t\t\t\t\t\theaderTitle={ headerTitle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ renderContent( args ) }\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Dropdown;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { compact, uniq } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Dashicon from '../dashicon';\n\nexport function ExternalLink( { href, children, className, rel = '', ...additionalProps }, ref ) {\n\trel = uniq( compact( [\n\t\t...rel.split( ' ' ),\n\t\t'external',\n\t\t'noreferrer',\n\t\t'noopener',\n\t] ) ).join( ' ' );\n\tconst classes = classnames( 'components-external-link', className );\n\treturn (\n\t\t<a { ...additionalProps } className={ classes } href={ href } target=\"_blank\" rel={ rel } ref={ ref }>\n\t\t\t{ children }\n\t\t\t<span className=\"screen-reader-text\">\n\t\t\t\t{\n\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t}\n\t\t\t</span>\n\t\t\t<Dashicon icon=\"external\" className=\"components-external-link__icon\" />\n\t\t</a>\n\t);\n}\n\nexport default forwardRef( ExternalLink );\n","/**\n * External dependencies\n */\nimport { omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createRef } from '@wordpress/element';\nimport { withGlobalEvents } from '@wordpress/compose';\n\n/**\n * Browser dependencies\n */\n\nconst { FocusEvent } = window;\n\nclass FocusableIframe extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\n\t\tthis.checkFocus = this.checkFocus.bind( this );\n\n\t\tthis.node = props.iframeRef || createRef();\n\t}\n\n\t/**\n\t * Checks whether the iframe is the activeElement, inferring that it has\n\t * then received focus, and calls the `onFocus` prop callback.\n\t */\n\tcheckFocus() {\n\t\tconst iframe = this.node.current;\n\n\t\tif ( document.activeElement !== iframe ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst focusEvent = new FocusEvent( 'focus', { bubbles: true } );\n\t\tiframe.dispatchEvent( focusEvent );\n\n\t\tconst { onFocus } = this.props;\n\t\tif ( onFocus ) {\n\t\t\tonFocus( focusEvent );\n\t\t}\n\t}\n\n\trender() {\n\t\t// Disable reason: The rendered iframe is a pass-through component,\n\t\t// assigning props inherited from the rendering parent. It's the\n\t\t// responsibility of the parent to assign a title.\n\n\t\t/* eslint-disable jsx-a11y/iframe-has-title */\n\t\treturn (\n\t\t\t<iframe\n\t\t\t\tref={ this.node }\n\t\t\t\t{ ...omit( this.props, [ 'iframeRef', 'onFocus' ] ) }\n\t\t\t/>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/iframe-has-title */\n\t}\n}\n\nexport default withGlobalEvents( {\n\tblur: 'checkFocus',\n} )( FocusableIframe );\n","/**\n * External dependencies\n */\nimport { map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Dashicon from '../dashicon';\nimport BaseControl from '../base-control';\nimport Button from '../button';\nimport Dropdown from '../dropdown';\nimport RangeControl from '../range-control';\nimport { NavigableMenu } from '../navigable-container';\n\nfunction FontSizePicker( {\n\tfallbackFontSize,\n\tfontSizes = [],\n\tdisableCustomFontSizes = false,\n\tonChange,\n\tvalue,\n\twithSlider = false,\n} ) {\n\tconst onChangeValue = ( event ) => {\n\t\tconst newValue = event.target.value;\n\t\tif ( newValue === '' ) {\n\t\t\tonChange( undefined );\n\t\t\treturn;\n\t\t}\n\t\tonChange( Number( newValue ) );\n\t};\n\n\tconst currentFont = fontSizes.find( ( font ) => font.size === value );\n\n\treturn (\n\t\t<BaseControl label={ __( 'Font Size' ) }>\n\t\t\t<div className=\"components-font-size-picker__buttons\">\n\t\t\t\t<Dropdown\n\t\t\t\t\tclassName=\"components-font-size-picker__dropdown\"\n\t\t\t\t\tcontentClassName=\"components-font-size-picker__dropdown-content\"\n\t\t\t\t\tposition=\"bottom\"\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-font-size-picker__selector\"\n\t\t\t\t\t\t\tisLarge\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-label={ __( 'Custom font size' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( currentFont && currentFont.name ) || ( ! value && _x( 'Normal', 'font size name' ) ) || _x( 'Custom', 'font size name' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t{ map( fontSizes, ( { name, size, slug } ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\t\tonClick={ () => onChange( slug === 'normal' ? undefined : size ) }\n\t\t\t\t\t\t\t\t\tclassName={ 'is-font-' + slug }\n\t\t\t\t\t\t\t\t\trole=\"menuitem\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ ( value === size || ( ! value && slug === 'normal' ) ) &&\t<Dashicon icon=\"saved\" /> }\n\t\t\t\t\t\t\t\t\t<span className=\"components-font-size-picker__dropdown-text-size\" style={ { fontSize: size } }>\n\t\t\t\t\t\t\t\t\t\t{ name }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t{ ( ! withSlider && ! disableCustomFontSizes ) &&\n\t\t\t\t\t<input\n\t\t\t\t\t\tclassName=\"components-range-control__number\"\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tonChange={ onChangeValue }\n\t\t\t\t\t\taria-label={ __( 'Custom font size' ) }\n\t\t\t\t\t\tvalue={ value || '' }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"components-color-palette__clear\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tdisabled={ value === undefined }\n\t\t\t\t\tonClick={ () => onChange( undefined ) }\n\t\t\t\t\tisSmall\n\t\t\t\t\tisDefault\n\t\t\t\t\taria-label={ __( 'Reset font size' ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t\t{ withSlider &&\n\t\t\t\t<RangeControl\n\t\t\t\t\tclassName=\"components-font-size-picker__custom-input\"\n\t\t\t\t\tlabel={ __( 'Custom Size' ) }\n\t\t\t\t\tvalue={ value || '' }\n\t\t\t\t\tinitialPosition={ fallbackFontSize }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tmin={ 12 }\n\t\t\t\t\tmax={ 100 }\n\t\t\t\t\tbeforeIcon=\"editor-textcolor\"\n\t\t\t\t\tafterIcon=\"editor-textcolor\"\n\t\t\t\t/>\n\t\t\t}\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( FontSizePicker );\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\n\nclass FormFileUpload extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.openFileDialog = this.openFileDialog.bind( this );\n\t\tthis.bindInput = this.bindInput.bind( this );\n\t}\n\n\topenFileDialog() {\n\t\tthis.input.click();\n\t}\n\n\tbindInput( ref ) {\n\t\tthis.input = ref;\n\t}\n\n\trender() {\n\t\tconst { children, multiple = false, accept, onChange, icon = 'upload', ...props } = this.props;\n\n\t\treturn (\n\t\t\t<div className=\"components-form-file-upload\">\n\t\t\t\t<IconButton\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tonClick={ this.openFileDialog }\n\t\t\t\t\t{ ...props }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</IconButton>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"file\"\n\t\t\t\t\tref={ this.bindInput }\n\t\t\t\t\tmultiple={ multiple }\n\t\t\t\t\tstyle={ { display: 'none' } }\n\t\t\t\t\taccept={ accept }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default FormFileUpload;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport { Path, SVG } from '../primitives';\n\nfunction FormToggle( { className, checked, id, onChange = noop, ...props } ) {\n\tconst wrapperClasses = classnames(\n\t\t'components-form-toggle',\n\t\tclassName,\n\t\t{ 'is-checked': checked },\n\t);\n\n\treturn (\n\t\t<span className={ wrapperClasses }>\n\t\t\t<input\n\t\t\t\tclassName=\"components-form-toggle__input\"\n\t\t\t\tid={ id }\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tchecked={ checked }\n\t\t\t\tonChange={ onChange }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t<span className=\"components-form-toggle__track\"></span>\n\t\t\t<span className=\"components-form-toggle__thumb\"></span>\n\t\t\t{ checked ?\n\t\t\t\t<SVG className=\"components-form-toggle__on\" width=\"2\" height=\"6\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 2 6\"><Path d=\"M0 0h2v6H0z\" /></SVG> :\n\t\t\t\t<SVG className=\"components-form-toggle__off\" width=\"6\" height=\"6\" aria-hidden=\"true\" role=\"img\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 6 6\"><Path d=\"M3 1.5c.8 0 1.5.7 1.5 1.5S3.8 4.5 3 4.5 1.5 3.8 1.5 3 2.2 1.5 3 1.5M3 0C1.3 0 0 1.3 0 3s1.3 3 3 3 3-1.3 3-3-1.3-3-3-3z\" /></SVG>\n\t\t\t}\n\t\t</span>\n\t);\n}\n\nexport default FormToggle;\n","/**\n * External dependencies\n */\nimport { last, take, clone, uniq, map, difference, each, identity, some } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\nimport { BACKSPACE, ENTER, UP, DOWN, LEFT, RIGHT, SPACE, DELETE, ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport Token from './token';\nimport TokenInput from './token-input';\nimport SuggestionsList from './suggestions-list';\nimport withSpokenMessages from '../higher-order/with-spoken-messages';\n\nconst initialState = {\n\tincompleteTokenValue: '',\n\tinputOffsetFromEnd: 0,\n\tisActive: false,\n\tisExpanded: false,\n\tselectedSuggestionIndex: -1,\n\tselectedSuggestionScroll: false,\n};\n\nclass FormTokenField extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = initialState;\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.onKeyPress = this.onKeyPress.bind( this );\n\t\tthis.onFocus = this.onFocus.bind( this );\n\t\tthis.onBlur = this.onBlur.bind( this );\n\t\tthis.deleteTokenBeforeInput = this.deleteTokenBeforeInput.bind( this );\n\t\tthis.deleteTokenAfterInput = this.deleteTokenAfterInput.bind( this );\n\t\tthis.addCurrentToken = this.addCurrentToken.bind( this );\n\t\tthis.onContainerTouched = this.onContainerTouched.bind( this );\n\t\tthis.renderToken = this.renderToken.bind( this );\n\t\tthis.onTokenClickRemove = this.onTokenClickRemove.bind( this );\n\t\tthis.onSuggestionHovered = this.onSuggestionHovered.bind( this );\n\t\tthis.onSuggestionSelected = this.onSuggestionSelected.bind( this );\n\t\tthis.onInputChange = this.onInputChange.bind( this );\n\t\tthis.bindInput = this.bindInput.bind( this );\n\t\tthis.bindTokensAndInput = this.bindTokensAndInput.bind( this );\n\t}\n\n\tcomponentDidUpdate() {\n\t\t// Make sure to focus the input when the isActive state is true.\n\t\tif ( this.state.isActive && ! this.input.hasFocus() ) {\n\t\t\tthis.input.focus();\n\t\t}\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\tif ( ! props.disabled || ! state.isActive ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\tisActive: false,\n\t\t\tincompleteTokenValue: '',\n\t\t};\n\t}\n\n\tbindInput( ref ) {\n\t\tthis.input = ref;\n\t}\n\n\tbindTokensAndInput( ref ) {\n\t\tthis.tokensAndInput = ref;\n\t}\n\n\tonFocus( event ) {\n\t\t// If focus is on the input or on the container, set the isActive state to true.\n\t\tif ( this.input.hasFocus() || event.target === this.tokensAndInput ) {\n\t\t\tthis.setState( { isActive: true } );\n\t\t} else {\n\t\t\t/*\n\t\t\t * Otherwise, focus is on one of the token \"remove\" buttons and we\n\t\t\t * set the isActive state to false to prevent the input to be\n\t\t\t * re-focused, see componentDidUpdate().\n\t\t\t */\n\t\t\tthis.setState( { isActive: false } );\n\t\t}\n\n\t\tif ( 'function' === typeof this.props.onFocus ) {\n\t\t\tthis.props.onFocus( event );\n\t\t}\n\t}\n\n\tonBlur() {\n\t\tif ( this.inputHasValidValue() ) {\n\t\t\tthis.setState( { isActive: false } );\n\t\t} else {\n\t\t\tthis.setState( initialState );\n\t\t}\n\t}\n\n\tonKeyDown( event ) {\n\t\tlet preventDefault = false;\n\n\t\tswitch ( event.keyCode ) {\n\t\t\tcase BACKSPACE:\n\t\t\t\tpreventDefault = this.handleDeleteKey( this.deleteTokenBeforeInput );\n\t\t\t\tbreak;\n\t\t\tcase ENTER:\n\t\t\t\tpreventDefault = this.addCurrentToken();\n\t\t\t\tbreak;\n\t\t\tcase LEFT:\n\t\t\t\tpreventDefault = this.handleLeftArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase UP:\n\t\t\t\tpreventDefault = this.handleUpArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase RIGHT:\n\t\t\t\tpreventDefault = this.handleRightArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase DOWN:\n\t\t\t\tpreventDefault = this.handleDownArrowKey();\n\t\t\t\tbreak;\n\t\t\tcase DELETE:\n\t\t\t\tpreventDefault = this.handleDeleteKey( this.deleteTokenAfterInput );\n\t\t\t\tbreak;\n\t\t\tcase SPACE:\n\t\t\t\tif ( this.props.tokenizeOnSpace ) {\n\t\t\t\t\tpreventDefault = this.addCurrentToken();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ESCAPE:\n\t\t\t\tpreventDefault = this.handleEscapeKey( event );\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonKeyPress( event ) {\n\t\tlet preventDefault = false;\n\t\tswitch ( event.charCode ) {\n\t\t\tcase 44: // comma\n\t\t\t\tpreventDefault = this.handleCommaKey();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( preventDefault ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonContainerTouched( event ) {\n\t\t// Prevent clicking/touching the tokensAndInput container from blurring\n\t\t// the input and adding the current token.\n\t\tif ( event.target === this.tokensAndInput && this.state.isActive ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tonTokenClickRemove( event ) {\n\t\tthis.deleteToken( event.value );\n\t\tthis.input.focus();\n\t}\n\n\tonSuggestionHovered( suggestion ) {\n\t\tconst index = this.getMatchingSuggestions().indexOf( suggestion );\n\n\t\tif ( index >= 0 ) {\n\t\t\tthis.setState( {\n\t\t\t\tselectedSuggestionIndex: index,\n\t\t\t\tselectedSuggestionScroll: false,\n\t\t\t} );\n\t\t}\n\t}\n\n\tonSuggestionSelected( suggestion ) {\n\t\tthis.addNewToken( suggestion );\n\t}\n\n\tonInputChange( event ) {\n\t\tconst text = event.value;\n\t\tconst separator = this.props.tokenizeOnSpace ? /[ ,\\t]+/ : /[,\\t]+/;\n\t\tconst items = text.split( separator );\n\t\tconst tokenValue = last( items ) || '';\n\t\tconst inputHasMinimumChars = tokenValue.trim().length > 1;\n\t\tconst matchingSuggestions = this.getMatchingSuggestions( tokenValue );\n\t\tconst hasVisibleSuggestions = inputHasMinimumChars && !! matchingSuggestions.length;\n\n\t\tif ( items.length > 1 ) {\n\t\t\tthis.addNewTokens( items.slice( 0, -1 ) );\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: tokenValue,\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t\tisExpanded: false,\n\t\t} );\n\n\t\tthis.props.onInputChange( tokenValue );\n\n\t\tif ( inputHasMinimumChars ) {\n\t\t\tthis.setState( {\n\t\t\t\tisExpanded: hasVisibleSuggestions,\n\t\t\t} );\n\n\t\t\tif ( !! matchingSuggestions.length ) {\n\t\t\t\tthis.props.debouncedSpeak( sprintf( _n(\n\t\t\t\t\t'%d result found, use up and down arrow keys to navigate.',\n\t\t\t\t\t'%d results found, use up and down arrow keys to navigate.',\n\t\t\t\t\tmatchingSuggestions.length\n\t\t\t\t), matchingSuggestions.length ), 'assertive' );\n\t\t\t} else {\n\t\t\t\tthis.props.debouncedSpeak( __( 'No results.' ), 'assertive' );\n\t\t\t}\n\t\t}\n\t}\n\n\thandleDeleteKey( deleteToken ) {\n\t\tlet preventDefault = false;\n\t\tif ( this.input.hasFocus() && this.isInputEmpty() ) {\n\t\t\tdeleteToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleLeftArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( this.isInputEmpty() ) {\n\t\t\tthis.moveInputBeforePreviousToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleRightArrowKey() {\n\t\tlet preventDefault = false;\n\t\tif ( this.isInputEmpty() ) {\n\t\t\tthis.moveInputAfterNextToken();\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\thandleUpArrowKey() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tselectedSuggestionIndex: (\n\t\t\t\t( state.selectedSuggestionIndex === 0 ? this.getMatchingSuggestions(\n\t\t\t\t\tstate.incompleteTokenValue,\n\t\t\t\t\tprops.suggestions,\n\t\t\t\t\tprops.value,\n\t\t\t\t\tprops.maxSuggestions,\n\t\t\t\t\tprops.saveTransform\n\t\t\t\t).length : state.selectedSuggestionIndex ) - 1\n\t\t\t),\n\t\t\tselectedSuggestionScroll: true,\n\t\t} ) );\n\n\t\treturn true; // preventDefault\n\t}\n\n\thandleDownArrowKey() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tselectedSuggestionIndex: (\n\t\t\t\t( state.selectedSuggestionIndex + 1 ) % this.getMatchingSuggestions(\n\t\t\t\t\tstate.incompleteTokenValue,\n\t\t\t\t\tprops.suggestions,\n\t\t\t\t\tprops.value,\n\t\t\t\t\tprops.maxSuggestions,\n\t\t\t\t\tprops.saveTransform\n\t\t\t\t).length\n\t\t\t),\n\t\t\tselectedSuggestionScroll: true,\n\t\t} ) );\n\n\t\treturn true; // preventDefault\n\t}\n\n\thandleEscapeKey( event ) {\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: event.target.value,\n\t\t\tisExpanded: false,\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t} );\n\t\treturn true; // preventDefault\n\t}\n\n\thandleCommaKey() {\n\t\tif ( this.inputHasValidValue() ) {\n\t\t\tthis.addNewToken( this.state.incompleteTokenValue );\n\t\t}\n\n\t\treturn true; // preventDefault\n\t}\n\n\tmoveInputToIndex( index ) {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tinputOffsetFromEnd: props.value.length - Math.max( index, -1 ) - 1,\n\t\t} ) );\n\t}\n\n\tmoveInputBeforePreviousToken() {\n\t\tthis.setState( ( state, props ) => ( {\n\t\t\tinputOffsetFromEnd: Math.min( state.inputOffsetFromEnd + 1, props.value.length ),\n\t\t} ) );\n\t}\n\n\tmoveInputAfterNextToken() {\n\t\tthis.setState( ( state ) => ( {\n\t\t\tinputOffsetFromEnd: Math.max( state.inputOffsetFromEnd - 1, 0 ),\n\t\t} ) );\n\t}\n\n\tdeleteTokenBeforeInput() {\n\t\tconst index = this.getIndexOfInput() - 1;\n\n\t\tif ( index > -1 ) {\n\t\t\tthis.deleteToken( this.props.value[ index ] );\n\t\t}\n\t}\n\n\tdeleteTokenAfterInput() {\n\t\tconst index = this.getIndexOfInput();\n\n\t\tif ( index < this.props.value.length ) {\n\t\t\tthis.deleteToken( this.props.value[ index ] );\n\t\t\t// update input offset since it's the offset from the last token\n\t\t\tthis.moveInputToIndex( index );\n\t\t}\n\t}\n\n\taddCurrentToken() {\n\t\tlet preventDefault = false;\n\t\tconst selectedSuggestion = this.getSelectedSuggestion();\n\n\t\tif ( selectedSuggestion ) {\n\t\t\tthis.addNewToken( selectedSuggestion );\n\t\t\tpreventDefault = true;\n\t\t} else if ( this.inputHasValidValue() ) {\n\t\t\tthis.addNewToken( this.state.incompleteTokenValue );\n\t\t\tpreventDefault = true;\n\t\t}\n\n\t\treturn preventDefault;\n\t}\n\n\taddNewTokens( tokens ) {\n\t\tconst tokensToAdd = uniq(\n\t\t\ttokens\n\t\t\t\t.map( this.props.saveTransform )\n\t\t\t\t.filter( Boolean )\n\t\t\t\t.filter( ( token ) => ! this.valueContainsToken( token ) )\n\t\t);\n\n\t\tif ( tokensToAdd.length > 0 ) {\n\t\t\tconst newValue = clone( this.props.value );\n\t\t\tnewValue.splice.apply(\n\t\t\t\tnewValue,\n\t\t\t\t[ this.getIndexOfInput(), 0 ].concat( tokensToAdd )\n\t\t\t);\n\t\t\tthis.props.onChange( newValue );\n\t\t}\n\t}\n\n\taddNewToken( token ) {\n\t\tthis.addNewTokens( [ token ] );\n\t\tthis.props.speak( this.props.messages.added, 'assertive' );\n\n\t\tthis.setState( {\n\t\t\tincompleteTokenValue: '',\n\t\t\tselectedSuggestionIndex: -1,\n\t\t\tselectedSuggestionScroll: false,\n\t\t\tisExpanded: false,\n\t\t} );\n\n\t\tif ( this.state.isActive ) {\n\t\t\tthis.input.focus();\n\t\t}\n\t}\n\n\tdeleteToken( token ) {\n\t\tconst newTokens = this.props.value.filter( ( item ) => {\n\t\t\treturn this.getTokenValue( item ) !== this.getTokenValue( token );\n\t\t} );\n\t\tthis.props.onChange( newTokens );\n\t\tthis.props.speak( this.props.messages.removed, 'assertive' );\n\t}\n\n\tgetTokenValue( token ) {\n\t\tif ( 'object' === typeof token ) {\n\t\t\treturn token.value;\n\t\t}\n\n\t\treturn token;\n\t}\n\n\tgetMatchingSuggestions(\n\t\tsearchValue = this.state.incompleteTokenValue,\n\t\tsuggestions = this.props.suggestions,\n\t\tvalue = this.props.value,\n\t\tmaxSuggestions = this.props.maxSuggestions,\n\t\tsaveTransform = this.props.saveTransform,\n\t) {\n\t\tlet match = saveTransform( searchValue );\n\t\tconst startsWithMatch = [];\n\t\tconst containsMatch = [];\n\n\t\tif ( match.length === 0 ) {\n\t\t\tsuggestions = difference( suggestions, value );\n\t\t} else {\n\t\t\tmatch = match.toLocaleLowerCase();\n\n\t\t\teach( suggestions, ( suggestion ) => {\n\t\t\t\tconst index = suggestion.toLocaleLowerCase().indexOf( match );\n\t\t\t\tif ( value.indexOf( suggestion ) === -1 ) {\n\t\t\t\t\tif ( index === 0 ) {\n\t\t\t\t\t\tstartsWithMatch.push( suggestion );\n\t\t\t\t\t} else if ( index > 0 ) {\n\t\t\t\t\t\tcontainsMatch.push( suggestion );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\tsuggestions = startsWithMatch.concat( containsMatch );\n\t\t}\n\n\t\treturn take( suggestions, maxSuggestions );\n\t}\n\n\tgetSelectedSuggestion() {\n\t\tif ( this.state.selectedSuggestionIndex !== -1 ) {\n\t\t\treturn this.getMatchingSuggestions()[ this.state.selectedSuggestionIndex ];\n\t\t}\n\t}\n\n\tvalueContainsToken( token ) {\n\t\treturn some( this.props.value, ( item ) => {\n\t\t\treturn this.getTokenValue( token ) === this.getTokenValue( item );\n\t\t} );\n\t}\n\n\tgetIndexOfInput() {\n\t\treturn this.props.value.length - this.state.inputOffsetFromEnd;\n\t}\n\n\tisInputEmpty() {\n\t\treturn this.state.incompleteTokenValue.length === 0;\n\t}\n\n\tinputHasValidValue() {\n\t\treturn this.props.saveTransform( this.state.incompleteTokenValue ).length > 0;\n\t}\n\n\trenderTokensAndInput() {\n\t\tconst components = map( this.props.value, this.renderToken );\n\t\tcomponents.splice( this.getIndexOfInput(), 0, this.renderInput() );\n\n\t\treturn components;\n\t}\n\n\trenderToken( token, index, tokens ) {\n\t\tconst value = this.getTokenValue( token );\n\t\tconst status = token.status ? token.status : undefined;\n\t\tconst termPosition = index + 1;\n\t\tconst termsCount = tokens.length;\n\n\t\treturn (\n\t\t\t<Token\n\t\t\t\tkey={ 'token-' + value }\n\t\t\t\tvalue={ value }\n\t\t\t\tstatus={ status }\n\t\t\t\ttitle={ token.title }\n\t\t\t\tdisplayTransform={ this.props.displayTransform }\n\t\t\t\tonClickRemove={ this.onTokenClickRemove }\n\t\t\t\tisBorderless={ token.isBorderless || this.props.isBorderless }\n\t\t\t\tonMouseEnter={ token.onMouseEnter }\n\t\t\t\tonMouseLeave={ token.onMouseLeave }\n\t\t\t\tdisabled={ 'error' !== status && this.props.disabled }\n\t\t\t\tmessages={ this.props.messages }\n\t\t\t\ttermsCount={ termsCount }\n\t\t\t\ttermPosition={ termPosition }\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderInput() {\n\t\tconst { autoCapitalize, autoComplete, maxLength, value, instanceId } = this.props;\n\n\t\tlet props = {\n\t\t\tinstanceId,\n\t\t\tautoCapitalize,\n\t\t\tautoComplete,\n\t\t\tref: this.bindInput,\n\t\t\tkey: 'input',\n\t\t\tdisabled: this.props.disabled,\n\t\t\tvalue: this.state.incompleteTokenValue,\n\t\t\tonBlur: this.onBlur,\n\t\t\tisExpanded: this.state.isExpanded,\n\t\t\tselectedSuggestionIndex: this.state.selectedSuggestionIndex,\n\t\t};\n\n\t\tif ( ! ( maxLength && value.length >= maxLength ) ) {\n\t\t\tprops = { ...props, onChange: this.onInputChange };\n\t\t}\n\n\t\treturn (\n\t\t\t<TokenInput { ...props } />\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tdisabled,\n\t\t\tlabel = __( 'Add item' ),\n\t\t\tinstanceId,\n\t\t\tclassName,\n\t\t} = this.props;\n\t\tconst { isExpanded } = this.state;\n\t\tconst classes = classnames( className, 'components-form-token-field__input-container', {\n\t\t\t'is-active': this.state.isActive,\n\t\t\t'is-disabled': disabled,\n\t\t} );\n\n\t\tlet tokenFieldProps = {\n\t\t\tclassName: 'components-form-token-field',\n\t\t\ttabIndex: '-1',\n\t\t};\n\t\tconst matchingSuggestions = this.getMatchingSuggestions();\n\n\t\tif ( ! disabled ) {\n\t\t\ttokenFieldProps = Object.assign( {}, tokenFieldProps, {\n\t\t\t\tonKeyDown: this.onKeyDown,\n\t\t\t\tonKeyPress: this.onKeyPress,\n\t\t\t\tonFocus: this.onFocus,\n\t\t\t} );\n\t\t}\n\n\t\t// Disable reason: There is no appropriate role which describes the\n\t\t// input container intended accessible usability.\n\t\t// TODO: Refactor click detection to use blur to stop propagation.\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\treturn (\n\t\t\t<div { ...tokenFieldProps }>\n\t\t\t\t<label\n\t\t\t\t\thtmlFor={ `components-form-token-input-${ instanceId }` }\n\t\t\t\t\tclassName=\"components-form-token-field__label\"\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</label>\n\t\t\t\t<div ref={ this.bindTokensAndInput }\n\t\t\t\t\tclassName={ classes }\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\tonMouseDown={ this.onContainerTouched }\n\t\t\t\t\tonTouchStart={ this.onContainerTouched }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderTokensAndInput() }\n\t\t\t\t\t{ isExpanded && (\n\t\t\t\t\t\t<SuggestionsList\n\t\t\t\t\t\t\tinstanceId={ instanceId }\n\t\t\t\t\t\t\tmatch={ this.props.saveTransform( this.state.incompleteTokenValue ) }\n\t\t\t\t\t\t\tdisplayTransform={ this.props.displayTransform }\n\t\t\t\t\t\t\tsuggestions={ matchingSuggestions }\n\t\t\t\t\t\t\tselectedIndex={ this.state.selectedSuggestionIndex }\n\t\t\t\t\t\t\tscrollIntoView={ this.state.selectedSuggestionScroll }\n\t\t\t\t\t\t\tonHover={ this.onSuggestionHovered }\n\t\t\t\t\t\t\tonSelect={ this.onSuggestionSelected }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<div id={ `components-form-token-suggestions-howto-${ instanceId }` } className=\"screen-reader-text\">\n\t\t\t\t\t{ __( 'Separate with commas' ) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t}\n}\n\nFormTokenField.defaultProps = {\n\tsuggestions: Object.freeze( [] ),\n\tmaxSuggestions: 100,\n\tvalue: Object.freeze( [] ),\n\tdisplayTransform: identity,\n\tsaveTransform: ( token ) => token.trim(),\n\tonChange: () => {},\n\tonInputChange: () => {},\n\tisBorderless: false,\n\tdisabled: false,\n\ttokenizeOnSpace: false,\n\tmessages: {\n\t\tadded: __( 'Item added.' ),\n\t\tremoved: __( 'Item removed.' ),\n\t\tremove: __( 'Remove item' ),\n\t},\n};\n\nexport default withSpokenMessages( withInstanceId( FormTokenField ) );\n","/**\n * External dependencies\n */\nimport { map } from 'lodash';\nimport scrollIntoView from 'dom-scroll-into-view';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\nclass SuggestionsList extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.handleMouseDown = this.handleMouseDown.bind( this );\n\t\tthis.bindList = this.bindList.bind( this );\n\t}\n\n\tcomponentDidUpdate() {\n\t\t// only have to worry about scrolling selected suggestion into view\n\t\t// when already expanded\n\t\tif ( this.props.selectedIndex > -1 && this.props.scrollIntoView ) {\n\t\t\tthis.scrollingIntoView = true;\n\t\t\tscrollIntoView( this.list.children[ this.props.selectedIndex ], this.list, {\n\t\t\t\tonlyScrollIfNeeded: true,\n\t\t\t} );\n\n\t\t\tsetTimeout( () => {\n\t\t\t\tthis.scrollingIntoView = false;\n\t\t\t}, 100 );\n\t\t}\n\t}\n\n\tbindList( ref ) {\n\t\tthis.list = ref;\n\t}\n\n\thandleHover( suggestion ) {\n\t\treturn () => {\n\t\t\tif ( ! this.scrollingIntoView ) {\n\t\t\t\tthis.props.onHover( suggestion );\n\t\t\t}\n\t\t};\n\t}\n\n\thandleClick( suggestion ) {\n\t\treturn () => {\n\t\t\tthis.props.onSelect( suggestion );\n\t\t};\n\t}\n\n\thandleMouseDown( e ) {\n\t\t// By preventing default here, we will not lose focus of <input> when clicking a suggestion\n\t\te.preventDefault();\n\t}\n\n\tcomputeSuggestionMatch( suggestion ) {\n\t\tconst match = this.props.displayTransform( this.props.match || '' ).toLocaleLowerCase();\n\t\tif ( match.length === 0 ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsuggestion = this.props.displayTransform( suggestion );\n\t\tconst indexOfMatch = suggestion.toLocaleLowerCase().indexOf( match );\n\n\t\treturn {\n\t\t\tsuggestionBeforeMatch: suggestion.substring( 0, indexOfMatch ),\n\t\t\tsuggestionMatch: suggestion.substring( indexOfMatch, indexOfMatch + match.length ),\n\t\t\tsuggestionAfterMatch: suggestion.substring( indexOfMatch + match.length ),\n\t\t};\n\t}\n\n\trender() {\n\t\t// We set `tabIndex` here because otherwise Firefox sets focus on this\n\t\t// div when tabbing off of the input in `TokenField` -- not really sure\n\t\t// why, since usually a div isn't focusable by default\n\t\t// TODO does this still apply now that it's a <ul> and not a <div>?\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tref={ this.bindList }\n\t\t\t\tclassName=\"components-form-token-field__suggestions-list\"\n\t\t\t\tid={ `components-form-token-suggestions-${ this.props.instanceId }` }\n\t\t\t\trole=\"listbox\"\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\tmap( this.props.suggestions, ( suggestion, index ) => {\n\t\t\t\t\t\tconst match = this.computeSuggestionMatch( suggestion );\n\t\t\t\t\t\tconst classeName = classnames( 'components-form-token-field__suggestion', {\n\t\t\t\t\t\t\t'is-selected': index === this.props.selectedIndex,\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tid={ `components-form-token-suggestions-${ this.props.instanceId }-${ index }` }\n\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\tclassName={ classeName }\n\t\t\t\t\t\t\t\tkey={ suggestion }\n\t\t\t\t\t\t\t\tonMouseDown={ this.handleMouseDown }\n\t\t\t\t\t\t\t\tonClick={ this.handleClick( suggestion ) }\n\t\t\t\t\t\t\t\tonMouseEnter={ this.handleHover( suggestion ) }\n\t\t\t\t\t\t\t\taria-selected={ index === this.props.selectedIndex }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ match ?\n\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t<span aria-label={ this.props.displayTransform( suggestion ) }>\n\t\t\t\t\t\t\t\t\t\t\t{ match.suggestionBeforeMatch }\n\t\t\t\t\t\t\t\t\t\t\t<strong className=\"components-form-token-field__suggestion-match\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ match.suggestionMatch }\n\t\t\t\t\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t\t\t\t\t{ match.suggestionAfterMatch }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) :\n\t\t\t\t\t\t\t\t\tthis.props.displayTransform( suggestion )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t\t/* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t</ul>\n\t\t);\n\t}\n}\n\nSuggestionsList.defaultProps = {\n\tmatch: '',\n\tonHover: () => {},\n\tonSelect: () => {},\n\tsuggestions: Object.freeze( [] ),\n};\n\nexport default SuggestionsList;\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\nclass TokenInput extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onChange = this.onChange.bind( this );\n\t\tthis.bindInput = this.bindInput.bind( this );\n\t}\n\n\tfocus() {\n\t\tthis.input.focus();\n\t}\n\n\thasFocus() {\n\t\treturn this.input === document.activeElement;\n\t}\n\n\tbindInput( ref ) {\n\t\tthis.input = ref;\n\t}\n\n\tonChange( event ) {\n\t\tthis.props.onChange( {\n\t\t\tvalue: event.target.value,\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { value, isExpanded, instanceId, selectedSuggestionIndex, ...props } = this.props;\n\t\tconst size = value.length + 1;\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\tref={ this.bindInput }\n\t\t\t\tid={ `components-form-token-input-${ instanceId }` }\n\t\t\t\ttype=\"text\"\n\t\t\t\t{ ...props }\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ this.onChange }\n\t\t\t\tsize={ size }\n\t\t\t\tclassName=\"components-form-token-field__input\"\n\t\t\t\trole=\"combobox\"\n\t\t\t\taria-expanded={ isExpanded }\n\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\taria-owns={ isExpanded ? `components-form-token-suggestions-${ instanceId }` : undefined }\n\t\t\t\taria-activedescendant={ selectedSuggestionIndex !== -1 ? `components-form-token-suggestions-${ instanceId }-${ selectedSuggestionIndex }` : undefined }\n\t\t\t\taria-describedby={ `components-form-token-suggestions-howto-${ instanceId }` }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default TokenInput;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\n\nfunction Token( {\n\tvalue,\n\tstatus,\n\ttitle,\n\tdisplayTransform,\n\tisBorderless = false,\n\tdisabled = false,\n\tonClickRemove = noop,\n\tonMouseEnter,\n\tonMouseLeave,\n\tmessages,\n\ttermPosition,\n\ttermsCount,\n\tinstanceId,\n} ) {\n\tconst tokenClasses = classnames( 'components-form-token-field__token', {\n\t\t'is-error': 'error' === status,\n\t\t'is-success': 'success' === status,\n\t\t'is-validating': 'validating' === status,\n\t\t'is-borderless': isBorderless,\n\t\t'is-disabled': disabled,\n\t} );\n\n\tconst onClick = () => onClickRemove( { value } );\n\n\tconst transformedValue = displayTransform( value );\n\tconst termPositionAndCount = sprintf(\n\t\t/* translators: 1: term name, 2: term position in a set of terms, 3: total term set count. */\n\t\t__( '%1$s (%2$s of %3$s)' ),\n\t\ttransformedValue,\n\t\ttermPosition,\n\t\ttermsCount\n\t);\n\n\treturn (\n\t\t<span\n\t\t\tclassName={ tokenClasses }\n\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\ttitle={ title }\n\t\t>\n\t\t\t<span\n\t\t\t\tclassName=\"components-form-token-field__token-text\"\n\t\t\t\tid={ `components-form-token-field__token-text-${ instanceId }` }\n\t\t\t>\n\t\t\t\t<span className=\"screen-reader-text\">{ termPositionAndCount }</span>\n\t\t\t\t<span aria-hidden=\"true\">{ transformedValue }</span>\n\t\t\t</span>\n\n\t\t\t<IconButton\n\t\t\t\tclassName=\"components-form-token-field__remove-token\"\n\t\t\t\ticon=\"dismiss\"\n\t\t\t\tonClick={ ! disabled && onClick }\n\t\t\t\tlabel={ messages.remove }\n\t\t\t\taria-describedby={ `components-form-token-field__token-text-${ instanceId }` }\n\t\t\t/>\n\t\t</span>\n\t);\n}\n\nexport default withInstanceId( Token );\n","/**\n * External Dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress Dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal Dependencies\n */\nimport KeyboardShortcuts from '../../keyboard-shortcuts';\n\nexport default createHigherOrderComponent(\n\t( WrappedComponent ) => {\n\t\treturn class extends Component {\n\t\t\tconstructor() {\n\t\t\t\tsuper( ...arguments );\n\t\t\t\tthis.bindContainer = this.bindContainer.bind( this );\n\t\t\t\tthis.focusNextRegion = this.focusRegion.bind( this, 1 );\n\t\t\t\tthis.focusPreviousRegion = this.focusRegion.bind( this, -1 );\n\t\t\t\tthis.onClick = this.onClick.bind( this );\n\t\t\t\tthis.state = {\n\t\t\t\t\tisFocusingRegions: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tbindContainer( ref ) {\n\t\t\t\tthis.container = ref;\n\t\t\t}\n\n\t\t\tfocusRegion( offset ) {\n\t\t\t\tconst regions = [ ...this.container.querySelectorAll( '[role=\"region\"]' ) ];\n\t\t\t\tif ( ! regions.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlet nextRegion = regions[ 0 ];\n\t\t\t\tconst selectedIndex = regions.indexOf( document.activeElement );\n\t\t\t\tif ( selectedIndex !== -1 ) {\n\t\t\t\t\tlet nextIndex = selectedIndex + offset;\n\t\t\t\t\tnextIndex = nextIndex === -1 ? regions.length - 1 : nextIndex;\n\t\t\t\t\tnextIndex = nextIndex === regions.length ? 0 : nextIndex;\n\t\t\t\t\tnextRegion = regions[ nextIndex ];\n\t\t\t\t}\n\n\t\t\t\tnextRegion.focus();\n\t\t\t\tthis.setState( { isFocusingRegions: true } );\n\t\t\t}\n\n\t\t\tonClick() {\n\t\t\t\tthis.setState( { isFocusingRegions: false } );\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\tconst className = classnames( 'components-navigate-regions', {\n\t\t\t\t\t'is-focusing-regions': this.state.isFocusingRegions,\n\t\t\t\t} );\n\n\t\t\t\t// Disable reason: Clicking the editor should dismiss the regions focus style\n\t\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions, jsx-a11y/onclick-has-role, jsx-a11y/click-events-have-key-events */\n\t\t\t\treturn (\n\t\t\t\t\t<div ref={ this.bindContainer } className={ className } onClick={ this.onClick }>\n\t\t\t\t\t\t<KeyboardShortcuts\n\t\t\t\t\t\t\tbindGlobal\n\t\t\t\t\t\t\tshortcuts={ {\n\t\t\t\t\t\t\t\t'ctrl+`': this.focusNextRegion,\n\t\t\t\t\t\t\t\t'shift+alt+n': this.focusNextRegion,\n\t\t\t\t\t\t\t\t'ctrl+shift+`': this.focusPreviousRegion,\n\t\t\t\t\t\t\t\t'shift+alt+p': this.focusPreviousRegion,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<WrappedComponent { ...this.props } />\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\t/* eslint-enable jsx-a11y/no-static-element-interactions, jsx-a11y/onclick-has-role, jsx-a11y/click-events-have-key-events */\n\t\t\t}\n\t\t};\n\t}, 'navigateRegions'\n);\n","/**\n * WordPress dependencies\n */\nimport { Component, createRef } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { TAB } from '@wordpress/keycodes';\nimport { focus } from '@wordpress/dom';\n\nconst withConstrainedTabbing = createHigherOrderComponent(\n\t( WrappedComponent ) => class extends Component {\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\n\t\t\tthis.focusContainRef = createRef();\n\t\t\tthis.handleTabBehaviour = this.handleTabBehaviour.bind( this );\n\t\t}\n\n\t\thandleTabBehaviour( event ) {\n\t\t\tif ( event.keyCode !== TAB ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst tabbables = focus.tabbable.find( this.focusContainRef.current );\n\t\t\tif ( ! tabbables.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst firstTabbable = tabbables[ 0 ];\n\t\t\tconst lastTabbable = tabbables[ tabbables.length - 1 ];\n\n\t\t\tif ( event.shiftKey && event.target === firstTabbable ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tlastTabbable.focus();\n\t\t\t} else if ( ! event.shiftKey && event.target === lastTabbable ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tfirstTabbable.focus();\n\t\t\t/*\n\t\t\t * When pressing Tab and none of the tabbables has focus, the keydown\n\t\t\t * event happens on the wrapper div: move focus on the first tabbable.\n\t\t\t */\n\t\t\t} else if ( ! tabbables.includes( event.target ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tfirstTabbable.focus();\n\t\t\t}\n\t\t}\n\n\t\trender() {\n\t\t\t// Disable reason: this component is non-interactive, but must capture\n\t\t\t// events from the wrapped component to determine when the Tab key is used.\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tonKeyDown={ this.handleTabBehaviour }\n\t\t\t\t\tref={ this.focusContainRef }\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t>\n\t\t\t\t\t<WrappedComponent { ...this.props } />\n\t\t\t\t</div>\n\t\t\t);\n\t\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t\t}\n\t},\n\t'withConstrainedTabbing'\n);\n\nexport default withConstrainedTabbing;\n","/**\n * External dependencies\n */\nimport { every, isEqual } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\nexport default ( mapNodeToProps ) => createHigherOrderComponent(\n\t( WrappedComponent ) => {\n\t\treturn class extends Component {\n\t\t\tconstructor() {\n\t\t\t\tsuper( ...arguments );\n\t\t\t\tthis.nodeRef = this.props.node;\n\t\t\t\tthis.state = {\n\t\t\t\t\tfallbackStyles: undefined,\n\t\t\t\t\tgrabStylesCompleted: false,\n\t\t\t\t};\n\n\t\t\t\tthis.bindRef = this.bindRef.bind( this );\n\t\t\t}\n\n\t\t\tbindRef( node ) {\n\t\t\t\tif ( ! node ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.nodeRef = node;\n\t\t\t}\n\n\t\t\tcomponentDidMount() {\n\t\t\t\tthis.grabFallbackStyles();\n\t\t\t}\n\n\t\t\tcomponentDidUpdate() {\n\t\t\t\tthis.grabFallbackStyles();\n\t\t\t}\n\n\t\t\tgrabFallbackStyles() {\n\t\t\t\tconst { grabStylesCompleted, fallbackStyles } = this.state;\n\t\t\t\tif ( this.nodeRef && ! grabStylesCompleted ) {\n\t\t\t\t\tconst newFallbackStyles = mapNodeToProps( this.nodeRef, this.props );\n\t\t\t\t\tif ( ! isEqual( newFallbackStyles, fallbackStyles ) ) {\n\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\tfallbackStyles: newFallbackStyles,\n\t\t\t\t\t\t\tgrabStylesCompleted: !! every( newFallbackStyles ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\tconst wrappedComponent = <WrappedComponent { ...this.props } { ...this.state.fallbackStyles } />;\n\t\t\t\treturn this.props.node ? wrappedComponent : <div ref={ this.bindRef }> { wrappedComponent } </div>;\n\t\t\t}\n\t\t};\n\t},\n\t'withFallbackStyles'\n);\n","/**\n * External dependencies\n */\nimport { debounce, uniqueId } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { addAction, applyFilters, removeAction } from '@wordpress/hooks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\nconst ANIMATION_FRAME_PERIOD = 16;\n\n/**\n * Creates a higher-order component which adds filtering capability to the\n * wrapped component. Filters get applied when the original component is about\n * to be mounted. When a filter is added or removed that matches the hook name,\n * the wrapped component re-renders.\n *\n * @param {string} hookName Hook name exposed to be used by filters.\n *\n * @return {Function} Higher-order component factory.\n */\nexport default function withFilters( hookName ) {\n\treturn createHigherOrderComponent( ( OriginalComponent ) => {\n\t\treturn class FilteredComponent extends Component {\n\t\t\t/** @inheritdoc */\n\t\t\tconstructor( props ) {\n\t\t\t\tsuper( props );\n\n\t\t\t\tthis.onHooksUpdated = this.onHooksUpdated.bind( this );\n\t\t\t\tthis.Component = applyFilters( hookName, OriginalComponent );\n\t\t\t\tthis.namespace = uniqueId( 'core/with-filters/component-' );\n\t\t\t\tthis.throttledForceUpdate = debounce( () => {\n\t\t\t\t\tthis.Component = applyFilters( hookName, OriginalComponent );\n\t\t\t\t\tthis.forceUpdate();\n\t\t\t\t}, ANIMATION_FRAME_PERIOD );\n\n\t\t\t\taddAction( 'hookRemoved', this.namespace, this.onHooksUpdated );\n\t\t\t\taddAction( 'hookAdded', this.namespace, this.onHooksUpdated );\n\t\t\t}\n\n\t\t\t/** @inheritdoc */\n\t\t\tcomponentWillUnmount() {\n\t\t\t\tthis.throttledForceUpdate.cancel();\n\t\t\t\tremoveAction( 'hookRemoved', this.namespace );\n\t\t\t\tremoveAction( 'hookAdded', this.namespace );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * When a filter is added or removed for the matching hook name, the wrapped component should re-render.\n\t\t\t *\n\t\t\t * @param {string} updatedHookName Name of the hook that was updated.\n\t\t\t */\n\t\t\tonHooksUpdated( updatedHookName ) {\n\t\t\t\tif ( updatedHookName === hookName ) {\n\t\t\t\t\tthis.throttledForceUpdate();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/** @inheritdoc */\n\t\t\trender() {\n\t\t\t\treturn <this.Component { ...this.props } />;\n\t\t\t}\n\t\t};\n\t}, 'withFilters' );\n}\n","/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Input types which are classified as button types, for use in considering\n * whether element is a (focus-normalized) button.\n *\n * @type {string[]}\n */\nconst INPUT_BUTTON_TYPES = [\n\t'button',\n\t'submit',\n];\n\n/**\n * Returns true if the given element is a button element subject to focus\n * normalization, or false otherwise.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n *\n * @param {Element} element Element to test.\n *\n * @return {boolean} Whether element is a button.\n */\nfunction isFocusNormalizedButton( element ) {\n\tswitch ( element.nodeName ) {\n\t\tcase 'A':\n\t\tcase 'BUTTON':\n\t\t\treturn true;\n\n\t\tcase 'INPUT':\n\t\t\treturn includes( INPUT_BUTTON_TYPES, element.type );\n\t}\n\n\treturn false;\n}\n\nexport default createHigherOrderComponent(\n\t( WrappedComponent ) => {\n\t\treturn class extends Component {\n\t\t\tconstructor() {\n\t\t\t\tsuper( ...arguments );\n\n\t\t\t\tthis.bindNode = this.bindNode.bind( this );\n\t\t\t\tthis.cancelBlurCheck = this.cancelBlurCheck.bind( this );\n\t\t\t\tthis.queueBlurCheck = this.queueBlurCheck.bind( this );\n\t\t\t\tthis.normalizeButtonFocus = this.normalizeButtonFocus.bind( this );\n\t\t\t}\n\n\t\t\tcomponentWillUnmount() {\n\t\t\t\tthis.cancelBlurCheck();\n\t\t\t}\n\n\t\t\tbindNode( node ) {\n\t\t\t\tif ( node ) {\n\t\t\t\t\tthis.node = node;\n\t\t\t\t} else {\n\t\t\t\t\tdelete this.node;\n\t\t\t\t\tthis.cancelBlurCheck();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tqueueBlurCheck( event ) {\n\t\t\t\t// React does not allow using an event reference asynchronously\n\t\t\t\t// due to recycling behavior, except when explicitly persisted.\n\t\t\t\tevent.persist();\n\n\t\t\t\t// Skip blur check if clicking button. See `normalizeButtonFocus`.\n\t\t\t\tif ( this.preventBlurCheck ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.blurCheckTimeout = setTimeout( () => {\n\t\t\t\t\tif ( 'function' === typeof this.node.handleFocusOutside ) {\n\t\t\t\t\t\tthis.node.handleFocusOutside( event );\n\t\t\t\t\t}\n\t\t\t\t}, 0 );\n\t\t\t}\n\n\t\t\tcancelBlurCheck() {\n\t\t\t\tclearTimeout( this.blurCheckTimeout );\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Handles a mousedown or mouseup event to respectively assign and\n\t\t\t * unassign a flag for preventing blur check on button elements. Some\n\t\t\t * browsers, namely Firefox and Safari, do not emit a focus event on\n\t\t\t * button elements when clicked, while others do. The logic here\n\t\t\t * intends to normalize this as treating click on buttons as focus.\n\t\t\t *\n\t\t\t * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n\t\t\t *\n\t\t\t * @param {MouseEvent} event Event for mousedown or mouseup.\n\t\t\t */\n\t\t\tnormalizeButtonFocus( event ) {\n\t\t\t\tconst { type, target } = event;\n\n\t\t\t\tconst isInteractionEnd = includes( [ 'mouseup', 'touchend' ], type );\n\n\t\t\t\tif ( isInteractionEnd ) {\n\t\t\t\t\tthis.preventBlurCheck = false;\n\t\t\t\t} else if ( isFocusNormalizedButton( target ) ) {\n\t\t\t\t\tthis.preventBlurCheck = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\t// Disable reason: See `normalizeButtonFocus` for browser-specific\n\t\t\t\t// focus event normalization.\n\n\t\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tonFocus={ this.cancelBlurCheck }\n\t\t\t\t\t\tonMouseDown={ this.normalizeButtonFocus }\n\t\t\t\t\t\tonMouseUp={ this.normalizeButtonFocus }\n\t\t\t\t\t\tonTouchStart={ this.normalizeButtonFocus }\n\t\t\t\t\t\tonTouchEnd={ this.normalizeButtonFocus }\n\t\t\t\t\t\tonBlur={ this.queueBlurCheck }\n\t\t\t\t\t>\n\t\t\t\t\t\t<WrappedComponent\n\t\t\t\t\t\t\tref={ this.bindNode }\n\t\t\t\t\t\t\t{ ...this.props } />\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t\t\t}\n\t\t};\n\t}, 'withFocusOutside'\n);\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Higher Order Component used to be used to wrap disposable elements like\n * sidebars, modals, dropdowns. When mounting the wrapped component, we track a\n * reference to the current active element so we know where to restore focus\n * when the component is unmounted.\n *\n * @param {WPElement} WrappedComponent The disposable component.\n *\n * @return {Component} Component with the focus restauration behaviour.\n */\nexport default createHigherOrderComponent(\n\t( WrappedComponent ) => {\n\t\treturn class extends Component {\n\t\t\tconstructor() {\n\t\t\t\tsuper( ...arguments );\n\n\t\t\t\tthis.setIsFocusedTrue = () => this.isFocused = true;\n\t\t\t\tthis.setIsFocusedFalse = () => this.isFocused = false;\n\t\t\t\tthis.activeElementOnMount = document.activeElement;\n\t\t\t}\n\n\t\t\tcomponentWillUnmount() {\n\t\t\t\tconst { activeElementOnMount, isFocused } = this;\n\t\t\t\tif ( ! activeElementOnMount ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { body, activeElement } = document;\n\t\t\t\tif ( isFocused || null === activeElement || body === activeElement ) {\n\t\t\t\t\tactiveElementOnMount.focus();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tonFocus={ this.setIsFocusedTrue }\n\t\t\t\t\t\tonBlur={ this.setIsFocusedFalse }\n\t\t\t\t\t>\n\t\t\t\t\t\t<WrappedComponent { ...this.props } />\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\t\t};\n\t}, 'withFocusReturn'\n);\n","/**\n * External dependencies\n */\nimport uuid from 'uuid/v4';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport NoticeList from '../../notice/list';\n\n/**\n * Override the default edit UI to include notices if supported.\n *\n * @param {function|Component} OriginalComponent Original component.\n * @return {Component} Wrapped component.\n */\nexport default createHigherOrderComponent( ( OriginalComponent ) => {\n\treturn class WrappedBlockEdit extends Component {\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\n\t\t\tthis.createNotice = this.createNotice.bind( this );\n\t\t\tthis.createErrorNotice = this.createErrorNotice.bind( this );\n\t\t\tthis.removeNotice = this.removeNotice.bind( this );\n\t\t\tthis.removeAllNotices = this.removeAllNotices.bind( this );\n\n\t\t\tthis.state = {\n\t\t\t\tnoticeList: [],\n\t\t\t};\n\n\t\t\tthis.noticeOperations = {\n\t\t\t\tcreateNotice: this.createNotice,\n\t\t\t\tcreateErrorNotice: this.createErrorNotice,\n\t\t\t\tremoveAllNotices: this.removeAllNotices,\n\t\t\t\tremoveNotice: this.removeNotice,\n\t\t\t};\n\t\t}\n\n\t\t/**\n\t\t* Function passed down as a prop that adds a new notice.\n\t\t*\n\t\t* @param {Object} notice Notice to add.\n\t\t*/\n\t\tcreateNotice( notice ) {\n\t\t\tconst noticeToAdd = notice.id ? notice : { ...notice, id: uuid() };\n\t\t\tthis.setState( ( state ) => ( {\n\t\t\t\tnoticeList: [ ...state.noticeList, noticeToAdd ],\n\t\t\t} ) );\n\t\t}\n\n\t\t/**\n\t\t* Function passed as a prop that adds a new error notice.\n\t\t*\n\t\t* @param {string} msg Error message of the notice.\n\t\t*/\n\t\tcreateErrorNotice( msg ) {\n\t\t\tthis.createNotice( { status: 'error', content: msg } );\n\t\t}\n\n\t\t/**\n\t\t* Removes a notice by id.\n\t\t*\n\t\t* @param {string} id Id of the notice to remove.\n\t\t*/\n\t\tremoveNotice( id ) {\n\t\t\tthis.setState( ( state ) => ( {\n\t\t\t\tnoticeList: state.noticeList.filter( ( notice ) => notice.id !== id ),\n\t\t\t} ) );\n\t\t}\n\n\t\t/**\n\t\t* Removes all notices\n\t\t*/\n\t\tremoveAllNotices() {\n\t\t\tthis.setState( {\n\t\t\t\tnoticeList: [],\n\t\t\t} );\n\t\t}\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t<OriginalComponent\n\t\t\t\t\tnoticeList={ this.state.noticeList }\n\t\t\t\t\tnoticeOperations={ this.noticeOperations }\n\t\t\t\t\tnoticeUI={\n\t\t\t\t\t\tthis.state.noticeList.length > 0 && <NoticeList\n\t\t\t\t\t\t\tclassName=\"components-with-notices-ui\"\n\t\t\t\t\t\t\tnotices={ this.state.noticeList }\n\t\t\t\t\t\t\tonRemove={ this.removeNotice }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\t{ ...this.props }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t};\n} );\n","/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { speak } from '@wordpress/a11y';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * A Higher Order Component used to be provide a unique instance ID by\n * component.\n *\n * @param {WPElement} WrappedComponent The wrapped component.\n *\n * @return {Component} Component with an instanceId prop.\n */\nexport default createHigherOrderComponent( ( WrappedComponent ) => {\n\treturn class extends Component {\n\t\tconstructor() {\n\t\t\tsuper( ...arguments );\n\t\t\tthis.debouncedSpeak = debounce( this.speak.bind( this ), 500 );\n\t\t}\n\n\t\tspeak( message, type = 'polite' ) {\n\t\t\tspeak( message, type );\n\t\t}\n\n\t\tcomponentWillUnmount() {\n\t\t\tthis.debouncedSpeak.cancel();\n\t\t}\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t<WrappedComponent { ...this.props }\n\t\t\t\t\tspeak={ this.speak }\n\t\t\t\t\tdebouncedSpeak={ this.debouncedSpeak }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t};\n}, 'withSpokenMessages' );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isArray, isString } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Tooltip from '../tooltip';\nimport Button from '../button';\nimport Dashicon from '../dashicon';\n\n// This is intentionally a Component class, not a function component because it\n// is common to apply a ref to the button element (only supported in class)\nclass IconButton extends Component {\n\trender() {\n\t\tconst { icon, children, label, className, tooltip, shortcut, ...additionalProps } = this.props;\n\t\tconst classes = classnames( 'components-icon-button', className );\n\t\tconst tooltipText = tooltip || label;\n\n\t\t// Should show the tooltip if...\n\t\tconst showTooltip = ! additionalProps.disabled && (\n\t\t\t// an explicit tooltip is passed or...\n\t\t\ttooltip ||\n\t\t\t// there's a shortcut or...\n\t\t\tshortcut ||\n\t\t\t(\n\t\t\t\t// there's a label and...\n\t\t\t\t!! label &&\n\t\t\t\t// the children are empty and...\n\t\t\t\t( ! children || ( isArray( children ) && ! children.length ) ) &&\n\t\t\t\t// the tooltip is not explicitly disabled.\n\t\t\t\tfalse !== tooltip\n\t\t\t)\n\t\t);\n\n\t\tlet element = (\n\t\t\t<Button aria-label={ label } { ...additionalProps } className={ classes }>\n\t\t\t\t{ isString( icon ) ? <Dashicon icon={ icon } /> : icon }\n\t\t\t\t{ children }\n\t\t\t</Button>\n\t\t);\n\n\t\tif ( showTooltip ) {\n\t\t\telement = (\n\t\t\t\t<Tooltip\n\t\t\t\t\ttext={ tooltipText }\n\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t>\n\t\t\t\t\t{ element }\n\t\t\t\t</Tooltip>\n\t\t\t);\n\t\t}\n\n\t\treturn element;\n\t}\n}\n\nexport default IconButton;\n","/**\n * WordPress dependencies\n */\nimport { cloneElement, createElement, Component, isValidElement } from '@wordpress/element';\nimport { Dashicon, SVG } from '../';\n\nfunction Icon( { icon = null, size, className } ) {\n\tlet iconSize;\n\n\tif ( 'string' === typeof icon ) {\n\t\t// Dashicons should be 20x20 by default\n\t\ticonSize = size || 20;\n\t\treturn <Dashicon icon={ icon } size={ iconSize } className={ className } />;\n\t}\n\n\t// Any other icons should be 24x24 by default\n\ticonSize = size || 24;\n\n\tif ( 'function' === typeof icon ) {\n\t\tif ( icon.prototype instanceof Component ) {\n\t\t\treturn createElement( icon, { className, size: iconSize } );\n\t\t}\n\n\t\treturn icon();\n\t}\n\n\tif ( icon && ( icon.type === 'svg' || icon.type === SVG ) ) {\n\t\tconst appliedProps = {\n\t\t\tclassName,\n\t\t\twidth: iconSize,\n\t\t\theight: iconSize,\n\t\t\t...icon.props,\n\t\t};\n\n\t\treturn <SVG { ...appliedProps } />;\n\t}\n\n\tif ( isValidElement( icon ) ) {\n\t\treturn cloneElement( icon, {\n\t\t\tclassName,\n\t\t\tsize: iconSize,\n\t\t} );\n\t}\n\n\treturn icon;\n}\n\nexport default Icon;\n","// Components\nexport * from './primitives';\n// eslint-disable-next-line camelcase\nexport { default as Autocomplete } from './autocomplete';\nexport { default as BaseControl } from './base-control';\nexport { default as Button } from './button';\nexport { default as ButtonGroup } from './button-group';\nexport { default as CheckboxControl } from './checkbox-control';\nexport { default as ClipboardButton } from './clipboard-button';\nexport { default as ColorIndicator } from './color-indicator';\nexport { default as ColorPalette } from './color-palette';\nexport { default as ColorPicker } from './color-picker';\nexport { default as Dashicon } from './dashicon';\nexport { DateTimePicker, DatePicker, TimePicker } from './date-time';\nexport { default as Disabled } from './disabled';\nexport { default as Draggable } from './draggable';\nexport { default as DropZone } from './drop-zone';\nexport { default as DropZoneProvider } from './drop-zone/provider';\nexport { default as Dropdown } from './dropdown';\nexport { default as DropdownMenu } from './dropdown-menu';\nexport { default as ExternalLink } from './external-link';\nexport { default as FocusableIframe } from './focusable-iframe';\nexport { default as FontSizePicker } from './font-size-picker';\nexport { default as FormFileUpload } from './form-file-upload';\nexport { default as FormToggle } from './form-toggle';\nexport { default as FormTokenField } from './form-token-field';\nexport { default as Icon } from './icon';\nexport { default as IconButton } from './icon-button';\nexport { default as KeyboardShortcuts } from './keyboard-shortcuts';\nexport { default as MenuGroup } from './menu-group';\nexport { default as MenuItem } from './menu-item';\nexport { default as MenuItemsChoice } from './menu-items-choice';\nexport { default as Modal } from './modal';\nexport { default as ScrollLock } from './scroll-lock';\nexport { NavigableMenu, TabbableContainer } from './navigable-container';\nexport { default as Notice } from './notice';\nexport { default as NoticeList } from './notice/list';\nexport { default as Panel } from './panel';\nexport { default as PanelBody } from './panel/body';\nexport { default as PanelHeader } from './panel/header';\nexport { default as PanelRow } from './panel/row';\nexport { default as Placeholder } from './placeholder';\nexport { default as Popover } from './popover';\nexport { default as QueryControls } from './query-controls';\nexport { default as RadioControl } from './radio-control';\nexport { default as RangeControl } from './range-control';\nexport { default as ResizableBox } from './resizable-box';\nexport { default as ResponsiveWrapper } from './responsive-wrapper';\nexport { default as SandBox } from './sandbox';\nexport { default as SelectControl } from './select-control';\nexport { default as Spinner } from './spinner';\nexport { default as ServerSideRender } from './server-side-render';\nexport { default as TabPanel } from './tab-panel';\nexport { default as TextControl } from './text-control';\nexport { default as TextareaControl } from './textarea-control';\nexport { default as ToggleControl } from './toggle-control';\nexport { default as Toolbar } from './toolbar';\nexport { default as ToolbarButton } from './toolbar-button';\nexport { default as Tooltip } from './tooltip';\nexport { default as TreeSelect } from './tree-select';\nexport { createSlotFill, Slot, Fill, Provider as SlotFillProvider } from './slot-fill';\n\n// Higher-Order Components\nexport { default as navigateRegions } from './higher-order/navigate-regions';\nexport { default as withConstrainedTabbing } from './higher-order/with-constrained-tabbing';\nexport { default as withFallbackStyles } from './higher-order/with-fallback-styles';\nexport { default as withFilters } from './higher-order/with-filters';\nexport { default as withFocusOutside } from './higher-order/with-focus-outside';\nexport { default as withFocusReturn } from './higher-order/with-focus-return';\nexport { default as withNotices } from './higher-order/with-notices';\nexport { default as withSpokenMessages } from './higher-order/with-spoken-messages';\n","/**\n * External dependencies\n */\nimport Mousetrap from 'mousetrap';\nimport 'mousetrap/plugins/global-bind/mousetrap-global-bind';\nimport { forEach } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, Children } from '@wordpress/element';\n\nclass KeyboardShortcuts extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindKeyTarget = this.bindKeyTarget.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { keyTarget = document } = this;\n\n\t\tthis.mousetrap = new Mousetrap( keyTarget );\n\t\tforEach( this.props.shortcuts, ( callback, key ) => {\n\t\t\tconst { bindGlobal, eventName } = this.props;\n\t\t\tconst bindFn = bindGlobal ? 'bindGlobal' : 'bind';\n\t\t\tthis.mousetrap[ bindFn ]( key, callback, eventName );\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.mousetrap.reset();\n\t}\n\n\t/**\n\t * When rendering with children, binds the wrapper node on which events\n\t * will be bound.\n\t *\n\t * @param {Element} node Key event target.\n\t */\n\tbindKeyTarget( node ) {\n\t\tthis.keyTarget = node;\n\t}\n\n\trender() {\n\t\t// Render as non-visual if there are no children pressed. Keyboard\n\t\t// events will be bound to the document instead.\n\t\tconst { children } = this.props;\n\t\tif ( ! Children.count( children ) ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn <div ref={ this.bindKeyTarget }>{ children }</div>;\n\t}\n}\n\nexport default KeyboardShortcuts;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Children } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { NavigableMenu } from '../navigable-container';\n\nexport function MenuGroup( {\n\tchildren,\n\tclassName = '',\n\tinstanceId,\n\tlabel,\n} ) {\n\tif ( ! Children.count( children ) ) {\n\t\treturn null;\n\t}\n\n\tconst labelId = `components-menu-group-label-${ instanceId }`;\n\tconst classNames = classnames(\n\t\tclassName,\n\t\t'components-menu-group'\n\t);\n\n\treturn (\n\t\t<div className={ classNames }>\n\t\t\t{ label &&\n\t\t\t\t<div className=\"components-menu-group__label\" id={ labelId }>{ label }</div>\n\t\t\t}\n\t\t\t<NavigableMenu orientation=\"vertical\" aria-labelledby={ labelId }>\n\t\t\t\t{ children }\n\t\t\t</NavigableMenu>\n\t\t</div>\n\t);\n}\n\nexport default withInstanceId( MenuGroup );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isString } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createElement, cloneElement } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport Shortcut from '../shortcut';\nimport IconButton from '../icon-button';\n\n/**\n * Renders a generic menu item for use inside the more menu.\n *\n * @return {WPElement} More menu item.\n */\nexport function MenuItem( {\n\tchildren,\n\tlabel = children,\n\tinfo,\n\tclassName,\n\ticon,\n\tshortcut,\n\tisSelected,\n\trole = 'menuitem',\n\tinstanceId,\n\t...props\n} ) {\n\tclassName = classnames( 'components-menu-item__button', className, {\n\t\t'has-icon': icon,\n\t} );\n\n\t// Avoid using label if it is passed as non-string children.\n\tlabel = isString( label ) ? label : undefined;\n\n\tif ( info ) {\n\t\tconst infoId = 'edit-post-feature-toggle__info-' + instanceId;\n\n\t\t// Deconstructed props is scoped to the function; mutation is fine.\n\t\tprops[ 'aria-describedby' ] = infoId;\n\n\t\tchildren = (\n\t\t\t<span className=\"components-menu-item__info-wrapper\">\n\t\t\t\t{ children }\n\t\t\t\t<span\n\t\t\t\t\tid={ infoId }\n\t\t\t\t\tclassName=\"components-menu-item__info\">\n\t\t\t\t\t{ info }\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t);\n\t}\n\n\tlet tagName = Button;\n\n\tif ( icon ) {\n\t\tif ( ! isString( icon ) ) {\n\t\t\ticon = cloneElement( icon, {\n\t\t\t\tclassName: 'components-menu-items__item-icon',\n\t\t\t\theight: 20,\n\t\t\t\twidth: 20,\n\t\t\t} );\n\t\t}\n\n\t\ttagName = IconButton;\n\t\tprops.icon = icon;\n\t}\n\n\treturn createElement(\n\t\ttagName,\n\t\t{\n\t\t\t'aria-label': label,\n\t\t\t// Make sure aria-checked matches spec https://www.w3.org/TR/wai-aria-1.1/#aria-checked\n\t\t\t'aria-checked': ( role === 'menuitemcheckbox' || role === 'menuitemradio' ) ? isSelected : undefined,\n\t\t\trole,\n\t\t\tclassName,\n\t\t\t...props,\n\t\t},\n\t\tchildren,\n\t\t<Shortcut className=\"components-menu-item__shortcut\" shortcut={ shortcut } />\n\t);\n}\n\nexport default withInstanceId( MenuItem );\n","/**\n * Internal dependencies\n */\nimport MenuItem from '../menu-item';\n\nexport default function MenuItemsChoice( {\n\tchoices = [],\n\tonSelect,\n\tvalue,\n} ) {\n\treturn choices.map( ( item ) => {\n\t\tconst isSelected = value === item.value;\n\t\treturn (\n\t\t\t<MenuItem\n\t\t\t\tkey={ item.value }\n\t\t\t\trole=\"menuitemradio\"\n\t\t\t\ticon={ isSelected && 'yes' }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tshortcut={ item.shortcut }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tif ( ! isSelected ) {\n\t\t\t\t\t\tonSelect( item.value );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ item.label }\n\t\t\t</MenuItem>\n\t\t);\n\t} );\n}\n","/**\n * External dependencies\n */\nimport { forEach } from 'lodash';\n\nconst LIVE_REGION_ARIA_ROLES = new Set( [\n\t'alert',\n\t'status',\n\t'log',\n\t'marquee',\n\t'timer',\n] );\n\nlet hiddenElements = [],\n\tisHidden = false;\n\n/**\n * Hides all elements in the body element from screen-readers except\n * the provided element and elements that should not be hidden from\n * screen-readers.\n *\n * The reason we do this is because `aria-modal=\"true\"` currently is bugged\n * in Safari, and support is spotty in other browsers overall. In the future\n * we should consider removing these helper functions in favor of\n * `aria-modal=\"true\"`.\n *\n * @param {Element} unhiddenElement The element that should not be hidden.\n */\nexport function hideApp( unhiddenElement ) {\n\tif ( isHidden ) {\n\t\treturn;\n\t}\n\tconst elements = document.body.children;\n\tforEach( elements, ( element ) => {\n\t\tif (\n\t\t\telement === unhiddenElement\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tif ( elementShouldBeHidden( element ) ) {\n\t\t\telement.setAttribute( 'aria-hidden', 'true' );\n\t\t\thiddenElements.push( element );\n\t\t}\n\t} );\n\tisHidden = true;\n}\n\n/**\n * Determines if the passed element should not be hidden from screen readers.\n *\n * @param {HTMLElement} element The element that should be checked.\n *\n * @return {boolean} Whether the element should not be hidden from screen-readers.\n */\nexport function elementShouldBeHidden( element ) {\n\tconst role = element.getAttribute( 'role' );\n\treturn ! (\n\t\telement.tagName === 'SCRIPT' ||\n\t\telement.hasAttribute( 'aria-hidden' ) ||\n\t\telement.hasAttribute( 'aria-live' ) ||\n\t\tLIVE_REGION_ARIA_ROLES.has( role )\n\t);\n}\n\n/**\n * Makes all elements in the body that have been hidden by `hideApp`\n * visible again to screen-readers.\n */\nexport function showApp() {\n\tif ( ! isHidden ) {\n\t\treturn;\n\t}\n\tforEach( hiddenElements, ( element ) => {\n\t\telement.removeAttribute( 'aria-hidden' );\n\t} );\n\thiddenElements = [];\n\tisHidden = false;\n}\n","/**\n * WordPress dependencies\n */\nimport { Component, createRef } from '@wordpress/element';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { focus } from '@wordpress/dom';\nimport { withGlobalEvents, compose } from '@wordpress/compose';\n\n/**\n * External dependencies\n */\nimport clickOutside from 'react-click-outside';\n\n/**\n * Internal dependencies\n */\nimport withFocusReturn from '../higher-order/with-focus-return';\nimport withConstrainedTabbing from '../higher-order/with-constrained-tabbing';\n\nclass ModalFrame extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.containerRef = createRef();\n\t\tthis.handleKeyDown = this.handleKeyDown.bind( this );\n\t\tthis.handleClickOutside = this.handleClickOutside.bind( this );\n\t\tthis.focusFirstTabbable = this.focusFirstTabbable.bind( this );\n\t}\n\n\t/**\n\t * Focuses the first tabbable element when props.focusOnMount is true.\n\t */\n\tcomponentDidMount() {\n\t\t// Focus on mount\n\t\tif ( this.props.focusOnMount ) {\n\t\t\tthis.focusFirstTabbable();\n\t\t}\n\t}\n\n\t/**\n\t * Focuses the first tabbable element.\n\t */\n\tfocusFirstTabbable() {\n\t\tconst tabbables = focus.tabbable.find( this.containerRef.current );\n\t\tif ( tabbables.length ) {\n\t\t\ttabbables[ 0 ].focus();\n\t\t}\n\t}\n\n\t/**\n\t * Callback function called when clicked outside the modal.\n\t *\n\t * @param {Object} event Mouse click event.\n\t */\n\thandleClickOutside( event ) {\n\t\tif ( this.props.shouldCloseOnClickOutside ) {\n\t\t\tthis.onRequestClose( event );\n\t\t}\n\t}\n\n\t/**\n\t * Callback function called when a key is pressed.\n\t *\n\t * @param {KeyboardEvent} event Key down event.\n\t */\n\thandleKeyDown( event ) {\n\t\tif ( event.keyCode === ESCAPE ) {\n\t\t\tthis.handleEscapeKeyDown( event );\n\t\t}\n\t}\n\n\t/**\n\t * Handles a escape key down event.\n\t *\n\t * Calls onRequestClose and prevents default key press behaviour.\n\t *\n\t * @param {Object} event Key down event.\n\t */\n\thandleEscapeKeyDown( event ) {\n\t\tif ( this.props.shouldCloseOnEsc ) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.onRequestClose( event );\n\t\t}\n\t}\n\n\t/**\n\t * Calls the onRequestClose callback props when it is available.\n\t *\n\t * @param {Object} event Event object.\n\t */\n\tonRequestClose( event ) {\n\t\tconst { onRequestClose } = this.props;\n\t\tif ( onRequestClose ) {\n\t\t\tonRequestClose( event );\n\t\t}\n\t}\n\n\t/**\n\t * Renders the modal frame element.\n\t *\n\t * @return {WPElement} The modal frame element.\n\t */\n\trender() {\n\t\tconst {\n\t\t\tcontentLabel,\n\t\t\taria: {\n\t\t\t\tdescribedby,\n\t\t\t\tlabelledby,\n\t\t\t},\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\trole,\n\t\t\tstyle,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={ className }\n\t\t\t\tstyle={ style }\n\t\t\t\tref={ this.containerRef }\n\t\t\t\trole={ role }\n\t\t\t\taria-label={ contentLabel }\n\t\t\t\taria-labelledby={ contentLabel ? null : labelledby }\n\t\t\t\taria-describedby={ describedby }\n\t\t\t\ttabIndex=\"-1\"\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithFocusReturn,\n\twithConstrainedTabbing,\n\tclickOutside,\n\twithGlobalEvents( {\n\t\tkeydown: 'handleKeyDown',\n\t} ),\n] )( ModalFrame );\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies.\n */\nimport IconButton from '../icon-button';\n\nconst ModalHeader = ( { icon, title, onClose, closeLabel, headingId, isDismissable } ) => {\n\tconst label = closeLabel ? closeLabel : __( 'Close dialog' );\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"components-modal__header\"\n\t\t>\n\t\t\t<div className=\"components-modal__header-heading-container\">\n\t\t\t\t{ icon &&\n\t\t\t\t\t<span className=\"components-modal__icon-container\" aria-hidden>\n\t\t\t\t\t\t{ icon }\n\t\t\t\t\t</span>\n\t\t\t\t}\n\t\t\t\t{ title &&\n\t\t\t\t\t<h1 id={ headingId }\n\t\t\t\t\t\tclassName=\"components-modal__header-heading\">\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</h1>\n\t\t\t\t}\n\t\t\t</div>\n\t\t\t{ isDismissable &&\n\t\t\t\t<IconButton\n\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\ticon=\"no-alt\"\n\t\t\t\t\tlabel={ label }\n\t\t\t\t/>\n\t\t\t}\n\t\t</div>\n\t);\n};\n\nexport default ModalHeader;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createPortal } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport ModalFrame from './frame';\nimport ModalHeader from './header';\nimport * as ariaHelper from './aria-helper';\n\n// Used to count the number of open modals.\nlet parentElement,\n\topenModalCount = 0;\n\nclass Modal extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.prepareDOM();\n\t\tthis.stopEventPropagationOutsideModal = this.stopEventPropagationOutsideModal.bind( this );\n\t}\n\n\t/**\n\t * Appends the modal's node to the DOM, so the portal can render the\n\t * modal in it. Also calls the openFirstModal when this is the first modal to be\n\t * opened.\n\t */\n\tcomponentDidMount() {\n\t\topenModalCount++;\n\n\t\tif ( openModalCount === 1 ) {\n\t\t\tthis.openFirstModal();\n\t\t}\n\t}\n\n\t/**\n\t * Removes the modal's node from the DOM. Also calls closeLastModal when this is\n\t * the last modal to be closed.\n\t */\n\tcomponentWillUnmount() {\n\t\topenModalCount--;\n\n\t\tif ( openModalCount === 0 ) {\n\t\t\tthis.closeLastModal();\n\t\t}\n\n\t\tthis.cleanDOM();\n\t}\n\n\t/**\n\t * Prepares the DOM for the modals to be rendered.\n\t *\n\t * Every modal is mounted in a separate div appended to a parent div\n\t * that is appended to the document body.\n\t *\n\t * The parent div will be created if it does not yet exist, and the\n\t * separate div for this specific modal will be appended to that.\n\t */\n\tprepareDOM() {\n\t\tif ( ! parentElement ) {\n\t\t\tparentElement = document.createElement( 'div' );\n\t\t\tdocument.body.appendChild( parentElement );\n\t\t}\n\t\tthis.node = document.createElement( 'div' );\n\t\tparentElement.appendChild( this.node );\n\t}\n\n\t/**\n\t * Removes the specific mounting point for this modal from the DOM.\n\t */\n\tcleanDOM() {\n\t\tparentElement.removeChild( this.node );\n\t}\n\n\t/**\n\t * Prepares the DOM for this modal and any additional modal to be mounted.\n\t *\n\t * It appends an additional div to the body for the modals to be rendered in,\n\t * it hides any other elements from screen-readers and adds an additional class\n\t * to the body to prevent scrolling while the modal is open.\n\t */\n\topenFirstModal() {\n\t\tariaHelper.hideApp( parentElement );\n\t\tdocument.body.classList.add( this.props.bodyOpenClassName );\n\t}\n\n\t/**\n\t * Cleans up the DOM after the last modal is closed and makes the app available\n\t * for screen-readers again.\n\t */\n\tcloseLastModal() {\n\t\tdocument.body.classList.remove( this.props.bodyOpenClassName );\n\t\tariaHelper.showApp();\n\t}\n\n\t/**\n\t * Stop all onMouseDown events propagating further - they should only go to the modal\n \t * @param {string} event Event object\n\t */\n\tstopEventPropagationOutsideModal( event ) {\n\t\tevent.stopPropagation();\n\t}\n\n\t/**\n\t * Renders the modal.\n\t *\n\t * @return {WPElement} The modal element.\n\t */\n\trender() {\n\t\tconst {\n\t\t\toverlayClassName,\n\t\t\tclassName,\n\t\t\tonRequestClose,\n\t\t\ttitle,\n\t\t\ticon,\n\t\t\tcloseButtonLabel,\n\t\t\tchildren,\n\t\t\taria,\n\t\t\tinstanceId,\n\t\t\tisDismissable,\n\t\t\t...otherProps\n\t\t} = this.props;\n\n\t\tconst headingId = aria.labelledby || `components-modal-header-${ instanceId }`;\n\n\t\t// Disable reason: this stops mouse events from triggering tooltips and\n\t\t// other elements underneath the modal overlay.\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\treturn createPortal(\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'components-modal__screen-overlay', overlayClassName ) }\n\t\t\t\tonMouseDown={ this.stopEventPropagationOutsideModal }\n\t\t\t>\n\t\t\t\t<ModalFrame\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'components-modal__frame',\n\t\t\t\t\t\tclassName\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ onRequestClose }\n\t\t\t\t\taria={ {\n\t\t\t\t\t\tlabelledby: title ? headingId : null,\n\t\t\t\t\t\tdescribedby: aria.describedby,\n\t\t\t\t\t} }\n\t\t\t\t\t{ ...otherProps }\n\t\t\t\t>\n\t\t\t\t\t<div className={ 'components-modal__content' } tabIndex=\"0\">\n\t\t\t\t\t\t<ModalHeader\n\t\t\t\t\t\t\tcloseLabel={ closeButtonLabel }\n\t\t\t\t\t\t\theadingId={ headingId }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisDismissable={ isDismissable }\n\t\t\t\t\t\t\tonClose={ onRequestClose }\n\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</div>\n\t\t\t\t</ModalFrame>\n\t\t\t</div>,\n\t\t\tthis.node\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\t}\n}\n\nModal.defaultProps = {\n\tbodyOpenClassName: 'modal-open',\n\trole: 'dialog',\n\ttitle: null,\n\tonRequestClose: noop,\n\tfocusOnMount: true,\n\tshouldCloseOnEsc: true,\n\tshouldCloseOnClickOutside: true,\n\tisDismissable: true,\n\t/* accessibility */\n\taria: {\n\t\tlabelledby: null,\n\t\tdescribedby: null,\n\t},\n};\n\nexport default withInstanceId( Modal );\n","/**\n * External Dependencies\n */\nimport { omit, noop, isFunction } from 'lodash';\n\n/**\n * WordPress Dependencies\n */\nimport { Component, forwardRef } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\n\nfunction cycleValue( value, total, offset ) {\n\tconst nextValue = value + offset;\n\tif ( nextValue < 0 ) {\n\t\treturn total + nextValue;\n\t} else if ( nextValue >= total ) {\n\t\treturn nextValue - total;\n\t}\n\n\treturn nextValue;\n}\n\nclass NavigableContainer extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onKeyDown = this.onKeyDown.bind( this );\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\n\t\tthis.getFocusableContext = this.getFocusableContext.bind( this );\n\t\tthis.getFocusableIndex = this.getFocusableIndex.bind( this );\n\t}\n\n\tbindContainer( ref ) {\n\t\tconst { forwardedRef } = this.props;\n\t\tthis.container = ref;\n\n\t\tif ( isFunction( forwardedRef ) ) {\n\t\t\tforwardedRef( ref );\n\t\t} else if ( forwardedRef && 'current' in forwardedRef ) {\n\t\t\tforwardedRef.current = ref;\n\t\t}\n\t}\n\n\tgetFocusableContext( target ) {\n\t\tconst { onlyBrowserTabstops } = this.props;\n\t\tconst finder = onlyBrowserTabstops ? focus.tabbable : focus.focusable;\n\t\tconst focusables = finder.find( this.container );\n\n\t\tconst index = this.getFocusableIndex( focusables, target );\n\t\tif ( index > -1 && target ) {\n\t\t\treturn { index, target, focusables };\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetFocusableIndex( focusables, target ) {\n\t\tconst directIndex = focusables.indexOf( target );\n\t\tif ( directIndex !== -1 ) {\n\t\t\treturn directIndex;\n\t\t}\n\t}\n\n\tonKeyDown( event ) {\n\t\tif ( this.props.onKeyDown ) {\n\t\t\tthis.props.onKeyDown( event );\n\t\t}\n\n\t\tconst { getFocusableContext } = this;\n\t\tconst { cycle = true, eventToOffset, onNavigate = noop, stopNavigationEvents } = this.props;\n\n\t\tconst offset = eventToOffset( event );\n\n\t\t// eventToOffset returns undefined if the event is not handled by the component\n\t\tif ( offset !== undefined && stopNavigationEvents ) {\n\t\t\t// Prevents arrow key handlers bound to the document directly interfering\n\t\t\tevent.nativeEvent.stopImmediatePropagation();\n\n\t\t\t// When navigating a collection of items, prevent scroll containers\n\t\t\t// from scrolling.\n\t\t\tif ( event.target.getAttribute( 'role' ) === 'menuitem' ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\n\t\t\tevent.stopPropagation();\n\t\t}\n\n\t\tif ( ! offset ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst context = getFocusableContext( document.activeElement );\n\t\tif ( ! context ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { index, focusables } = context;\n\t\tconst nextIndex = cycle ? cycleValue( index, focusables.length, offset ) : index + offset;\n\t\tif ( nextIndex >= 0 && nextIndex < focusables.length ) {\n\t\t\tfocusables[ nextIndex ].focus();\n\t\t\tonNavigate( nextIndex, focusables[ nextIndex ] );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { children, ...props } = this.props;\n\t\t// Disable reason: Assumed role is applied by parent via props spread.\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\treturn (\n\t\t\t<div ref={ this.bindContainer }\n\t\t\t\t{ ...omit( props, [\n\t\t\t\t\t'stopNavigationEvents',\n\t\t\t\t\t'eventToOffset',\n\t\t\t\t\t'onNavigate',\n\t\t\t\t\t'cycle',\n\t\t\t\t\t'onlyBrowserTabstops',\n\t\t\t\t\t'forwardedRef',\n\t\t\t\t] ) }\n\t\t\t\tonKeyDown={ this.onKeyDown }\n\t\t\t\tonFocus={ this.onFocus }>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst forwardedNavigableContainer = ( props, ref ) => {\n\treturn <NavigableContainer { ...props } forwardedRef={ ref } />;\n};\nforwardedNavigableContainer.displayName = 'NavigableContainer';\n\nexport default forwardRef( forwardedNavigableContainer );\n","/**\n * Internal Dependencies\n */\nexport { default as NavigableMenu } from './menu';\nexport { default as TabbableContainer } from './tabbable';\n","/**\n * External Dependencies\n */\nimport { includes } from 'lodash';\n\n/**\n * WordPress Dependencies\n */\nimport { forwardRef } from '@wordpress/element';\nimport { UP, DOWN, LEFT, RIGHT } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport NavigableContainer from './container';\n\nexport function NavigableMenu( {\n\trole = 'menu',\n\torientation = 'vertical',\n\t...rest\n}, ref ) {\n\tconst eventToOffset = ( evt ) => {\n\t\tconst { keyCode } = evt;\n\n\t\tlet next = [ DOWN ];\n\t\tlet previous = [ UP ];\n\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\tnext = [ RIGHT ];\n\t\t\tprevious = [ LEFT ];\n\t\t}\n\n\t\tif ( orientation === 'both' ) {\n\t\t\tnext = [ RIGHT, DOWN ];\n\t\t\tprevious = [ LEFT, UP ];\n\t\t}\n\n\t\tif ( includes( next, keyCode ) ) {\n\t\t\treturn 1;\n\t\t} else if ( includes( previous, keyCode ) ) {\n\t\t\treturn -1;\n\t\t}\n\t};\n\n\treturn (\n\t\t<NavigableContainer\n\t\t\tref={ ref }\n\t\t\tstopNavigationEvents\n\t\t\tonlyBrowserTabstops={ false }\n\t\t\trole={ role }\n\t\t\taria-orientation={ orientation }\n\t\t\teventToOffset={ eventToOffset }\n\t\t\t{ ...rest }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( NavigableMenu );\n","/**\n * WordPress Dependencies\n */\nimport { forwardRef } from '@wordpress/element';\nimport { TAB } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport NavigableContainer from './container';\n\nexport function TabbableContainer( { eventToOffset, ...props }, ref ) {\n\tconst innerEventToOffset = ( evt ) => {\n\t\tconst { keyCode, shiftKey } = evt;\n\t\tif ( TAB === keyCode ) {\n\t\t\treturn shiftKey ? -1 : 1;\n\t\t}\n\n\t\t// Allow custom handling of keys besides Tab.\n\t\t//\n\t\t// By default, TabbableContainer will move focus forward on Tab and\n\t\t// backward on Shift+Tab. The handler below will be used for all other\n\t\t// events. The semantics for `eventToOffset`'s return\n\t\t// values are the following:\n\t\t//\n\t\t// - +1: move focus forward\n\t\t// - -1: move focus backward\n\t\t// - 0: don't move focus, but acknowledge event and thus stop it\n\t\t// - undefined: do nothing, let the event propagate\n\t\tif ( eventToOffset ) {\n\t\t\treturn eventToOffset( evt );\n\t\t}\n\t};\n\n\treturn (\n\t\t<NavigableContainer\n\t\t\tref={ ref }\n\t\t\tstopNavigationEvents\n\t\t\tonlyBrowserTabstops\n\t\t\teventToOffset={ innerEventToOffset }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( TabbableContainer );\n","/**\n * External dependencies\n */\nimport { noop } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { Button, IconButton } from '../';\n\nfunction Notice( {\n\tclassName,\n\tstatus,\n\tchildren,\n\tonRemove = noop,\n\tisDismissible = true,\n\tactions = [],\n} ) {\n\tconst classes = classnames( className, 'components-notice', 'is-' + status, {\n\t\t'is-dismissible': isDismissible,\n\t} );\n\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t<div className=\"components-notice__content\">\n\t\t\t\t{ children }\n\t\t\t\t{ actions.map( ( { label, url, onClick }, index ) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\thref={ url }\n\t\t\t\t\t\tisLink={ !! url }\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\tclassName=\"components-notice__action\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</Button>\n\t\t\t\t) ) }\n\t\t\t</div>\n\t\t\t{ isDismissible && (\n\t\t\t\t<IconButton\n\t\t\t\t\tclassName=\"components-notice__dismiss\"\n\t\t\t\t\ticon=\"no\"\n\t\t\t\t\tlabel={ __( 'Dismiss this notice' ) }\n\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\ttooltip={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default Notice;\n","/**\n * External dependencies\n */\nimport { noop, omit } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport Notice from './';\n\n/**\n* Renders a list of notices.\n*\n* @param {Object} $0 Props passed to the component.\n* @param {Array} $0.notices Array of notices to render.\n* @param {Function} $0.onRemove Function called when a notice should be removed / dismissed.\n* @param {Object} $0.className Name of the class used by the component.\n* @param {Object} $0.children Array of children to be rendered inside the notice list.\n* @return {Object} The rendered notices list.\n*/\nfunction NoticeList( { notices, onRemove = noop, className = 'components-notice-list', children } ) {\n\tconst removeNotice = ( id ) => () => onRemove( id );\n\n\treturn (\n\t\t<div className={ className }>\n\t\t\t{ children }\n\t\t\t{ [ ...notices ].reverse().map( ( notice ) => (\n\t\t\t\t<Notice { ...omit( notice, 'content' ) } key={ notice.id } onRemove={ removeNotice( notice.id ) }>\n\t\t\t\t\t{ notice.content }\n\t\t\t\t</Notice>\n\t\t\t) ) }\n\t\t</div>\n\t);\n}\n\nexport default NoticeList;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Component, forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\nimport Icon from '../icon';\nimport { G, Path, SVG } from '../primitives';\n\nexport class PanelBody extends Component {\n\tconstructor( props ) {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\topened: props.initialOpen === undefined ? true : props.initialOpen,\n\t\t};\n\t\tthis.toggle = this.toggle.bind( this );\n\t}\n\n\ttoggle( event ) {\n\t\tevent.preventDefault();\n\t\tif ( this.props.opened === undefined ) {\n\t\t\tthis.setState( ( state ) => ( {\n\t\t\t\topened: ! state.opened,\n\t\t\t} ) );\n\t\t}\n\n\t\tif ( this.props.onToggle ) {\n\t\t\tthis.props.onToggle();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { title, children, opened, className, icon, forwardedRef } = this.props;\n\t\tconst isOpened = opened === undefined ? this.state.opened : opened;\n\t\tconst classes = classnames( 'components-panel__body', className, { 'is-opened': isOpened } );\n\n\t\treturn (\n\t\t\t<div className={ classes } ref={ forwardedRef }>\n\t\t\t\t{ !! title && (\n\t\t\t\t\t<h2 className=\"components-panel__body-title\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"components-panel__body-toggle\"\n\t\t\t\t\t\t\tonClick={ this.toggle }\n\t\t\t\t\t\t\taria-expanded={ isOpened }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isOpened ?\n\t\t\t\t\t\t\t\t<SVG className=\"components-panel__arrow\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t\t\t\t<G><Path fill=\"none\" d=\"M0,0h24v24H0V0z\" /></G>\n\t\t\t\t\t\t\t\t\t<G><Path d=\"M12,8l-6,6l1.41,1.41L12,10.83l4.59,4.58L18,14L12,8z\" /></G>\n\t\t\t\t\t\t\t\t</SVG> :\n\t\t\t\t\t\t\t\t<SVG className=\"components-panel__arrow\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t\t\t\t<G><Path fill=\"none\" d=\"M0,0h24v24H0V0z\" /></G>\n\t\t\t\t\t\t\t\t\t<G><Path d=\"M7.41,8.59L12,13.17l4.59-4.58L18,10l-6,6l-6-6L7.41,8.59z\" /></G>\n\t\t\t\t\t\t\t\t</SVG>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t{ icon && <Icon icon={ icon } className=\"components-panel__icon\" size={ 20 } /> }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</h2>\n\t\t\t\t) }\n\t\t\t\t{ isOpened && children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nconst forwardedPanelBody = ( props, ref ) => {\n\treturn <PanelBody { ...props } forwardedRef={ ref } />;\n};\nforwardedPanelBody.displayName = 'PanelBody';\n\nexport default forwardRef( forwardedPanelBody );\n","function PanelHeader( { label, children } ) {\n\treturn (\n\t\t<div className=\"components-panel__header\">\n\t\t\t{ label && <h2>{ label }</h2> }\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nexport default PanelHeader;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport PanelHeader from './header';\n\nfunction Panel( { header, className, children } ) {\n\tconst classNames = classnames( className, 'components-panel' );\n\treturn (\n\t\t<div className={ classNames }>\n\t\t\t{ header && <PanelHeader label={ header } /> }\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nexport default Panel;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nfunction PanelRow( { className, children } ) {\n\tconst classes = classnames( 'components-panel__row', className );\n\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nexport default PanelRow;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isString } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport Dashicon from '../dashicon';\n\n/**\n* Renders a placeholder. Normally used by blocks to render their empty state.\n*\n* @param {Object} props The component props.\n* @return {Object} The rendered placeholder.\n*/\nfunction Placeholder( { icon, children, label, instructions, className, notices, ...additionalProps } ) {\n\tconst classes = classnames( 'components-placeholder', className );\n\n\treturn (\n\t\t<div { ...additionalProps } className={ classes }>\n\t\t\t{ notices }\n\t\t\t<div className=\"components-placeholder__label\">\n\t\t\t\t{ isString( icon ) ? <Dashicon icon={ icon } /> : icon }\n\t\t\t\t{ label }\n\t\t\t</div>\n\t\t\t{ !! instructions && <div className=\"components-placeholder__instructions\">{ instructions }</div> }\n\t\t\t<div className=\"components-placeholder__fieldset\">\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nexport default Placeholder;\n","/**\n * External dependencies\n */\nimport clickOutside from 'react-click-outside';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\nclass PopoverDetectOutside extends Component {\n\thandleClickOutside( event ) {\n\t\tconst { onClickOutside } = this.props;\n\t\tif ( onClickOutside ) {\n\t\t\tonClickOutside( event );\n\t\t}\n\t}\n\n\trender() {\n\t\treturn this.props.children;\n\t}\n}\n\nexport default clickOutside( PopoverDetectOutside );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createRef } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { computePopoverPosition } from './utils';\nimport withFocusReturn from '../higher-order/with-focus-return';\nimport withConstrainedTabbing from '../higher-order/with-constrained-tabbing';\nimport PopoverDetectOutside from './detect-outside';\nimport IconButton from '../icon-button';\nimport ScrollLock from '../scroll-lock';\nimport { Slot, Fill, Consumer } from '../slot-fill';\n\nconst FocusManaged = withConstrainedTabbing( withFocusReturn( ( { children } ) => children ) );\n\n/**\n * Name of slot in which popover should fill.\n *\n * @type {String}\n */\nconst SLOT_NAME = 'Popover';\n\nclass Popover extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.getAnchorRect = this.getAnchorRect.bind( this );\n\t\tthis.computePopoverPosition = this.computePopoverPosition.bind( this );\n\t\tthis.maybeClose = this.maybeClose.bind( this );\n\t\tthis.throttledRefresh = this.throttledRefresh.bind( this );\n\t\tthis.refresh = this.refresh.bind( this );\n\t\tthis.refreshOnAnchorMove = this.refreshOnAnchorMove.bind( this );\n\n\t\tthis.contentNode = createRef();\n\t\tthis.anchorNode = createRef();\n\n\t\tthis.state = {\n\t\t\tpopoverLeft: null,\n\t\t\tpopoverTop: null,\n\t\t\tyAxis: 'top',\n\t\t\txAxis: 'center',\n\t\t\tcontentHeight: null,\n\t\t\tcontentWidth: null,\n\t\t\tisMobile: false,\n\t\t\tpopoverSize: null,\n\t\t};\n\n\t\t// Property used keep track of the previous anchor rect\n\t\t// used to compute the popover position and size.\n\t\tthis.anchorRect = {};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.toggleAutoRefresh( true );\n\t\tthis.refresh();\n\n\t\t/*\n\t\t * Without the setTimeout, the dom node is not being focused. Related:\n\t\t * https://stackoverflow.com/questions/35522220/react-ref-with-focus-doesnt-work-without-settimeout-my-example\n\t\t *\n\t\t * TODO: Treat the cause, not the symptom.\n\t\t */\n\t\tthis.focusTimeout = setTimeout( () => {\n\t\t\tthis.focus();\n\t\t}, 0 );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( prevProps.position !== this.props.position ) {\n\t\t\tthis.computePopoverPosition( this.state.popoverSize, this.anchorRect );\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.focusTimeout );\n\t\tthis.toggleAutoRefresh( false );\n\t}\n\n\ttoggleAutoRefresh( isActive ) {\n\t\twindow.cancelAnimationFrame( this.rafHandle );\n\n\t\t// Refresh the popover every time the window is resized or scrolled\n\t\tconst handler = isActive ? 'addEventListener' : 'removeEventListener';\n\t\twindow[ handler ]( 'resize', this.throttledRefresh );\n\t\twindow[ handler ]( 'scroll', this.throttledRefresh, true );\n\n\t\t/*\n\t\t * There are sometimes we need to reposition or resize the popover that are not\n\t\t * handled by the resize/scroll window events (i.e. CSS changes in the layout\n\t\t * that changes the position of the anchor).\n\t\t *\n\t\t * For these situations, we refresh the popover every 0.5s\n\t\t */\n\t\tif ( isActive ) {\n\t\t\tthis.autoRefresh = setInterval( this.refreshOnAnchorMove, 500 );\n\t\t} else {\n\t\t\tclearInterval( this.autoRefresh );\n\t\t}\n\t}\n\n\tthrottledRefresh( event ) {\n\t\twindow.cancelAnimationFrame( this.rafHandle );\n\t\tif ( event && event.type === 'scroll' && this.contentNode.current.contains( event.target ) ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.rafHandle = window.requestAnimationFrame( this.refresh );\n\t}\n\n\t/**\n\t * Calling refreshOnAnchorMove\n\t * will only refresh the popover position if the anchor moves.\n\t */\n\trefreshOnAnchorMove() {\n\t\tconst { getAnchorRect = this.getAnchorRect } = this.props;\n\t\tconst anchorRect = getAnchorRect( this.anchorNode.current );\n\t\tconst didAnchorRectChange = ! isShallowEqual( anchorRect, this.anchorRect );\n\t\tif ( didAnchorRectChange ) {\n\t\t\tthis.anchorRect = anchorRect;\n\t\t\tthis.computePopoverPosition( this.state.popoverSize, anchorRect );\n\t\t}\n\t}\n\n\t/**\n\t * Calling `refresh()` will force the Popover to recalculate its size and\n\t * position. This is useful when a DOM change causes the anchor node to change\n\t * position.\n\t */\n\trefresh() {\n\t\tconst { getAnchorRect = this.getAnchorRect } = this.props;\n\t\tconst anchorRect = getAnchorRect( this.anchorNode.current );\n\t\tconst contentRect = this.contentNode.current.getBoundingClientRect();\n\t\tconst popoverSize = {\n\t\t\twidth: contentRect.width,\n\t\t\theight: contentRect.height,\n\t\t};\n\t\tconst didPopoverSizeChange = ! this.state.popoverSize || (\n\t\t\tpopoverSize.width !== this.state.popoverSize.width ||\n\t\t\tpopoverSize.height !== this.state.popoverSize.height\n\t\t);\n\t\tif ( didPopoverSizeChange ) {\n\t\t\tthis.setState( { popoverSize } );\n\t\t}\n\t\tthis.anchorRect = anchorRect;\n\t\tthis.computePopoverPosition( popoverSize, anchorRect );\n\t}\n\n\tfocus() {\n\t\tconst { focusOnMount } = this.props;\n\n\t\tif ( ! focusOnMount || ! this.contentNode.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( focusOnMount === 'firstElement' ) {\n\t\t\t// Find first tabbable node within content and shift focus, falling\n\t\t\t// back to the popover panel itself.\n\t\t\tconst firstTabbable = focus.tabbable.find( this.contentNode.current )[ 0 ];\n\n\t\t\tif ( firstTabbable ) {\n\t\t\t\tfirstTabbable.focus();\n\t\t\t} else {\n\t\t\t\tthis.contentNode.current.focus();\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( focusOnMount === 'container' ) {\n\t\t\t// Focus the popover panel itself so items in the popover are easily\n\t\t\t// accessed via keyboard navigation.\n\t\t\tthis.contentNode.current.focus();\n\t\t}\n\t}\n\n\tgetAnchorRect( anchor ) {\n\t\tif ( ! anchor || ! anchor.parentNode ) {\n\t\t\treturn;\n\t\t}\n\t\tconst rect = anchor.parentNode.getBoundingClientRect();\n\t\t// subtract padding\n\t\tconst { paddingTop, paddingBottom } = window.getComputedStyle( anchor.parentNode );\n\t\tconst topPad = parseInt( paddingTop, 10 );\n\t\tconst bottomPad = parseInt( paddingBottom, 10 );\n\t\treturn {\n\t\t\tx: rect.left,\n\t\t\ty: rect.top + topPad,\n\t\t\twidth: rect.width,\n\t\t\theight: rect.height - topPad - bottomPad,\n\t\t\tleft: rect.left,\n\t\t\tright: rect.right,\n\t\t\ttop: rect.top + topPad,\n\t\t\tbottom: rect.bottom - bottomPad,\n\t\t};\n\t}\n\n\tcomputePopoverPosition( popoverSize, anchorRect ) {\n\t\tconst { position = 'top', expandOnMobile } = this.props;\n\t\tconst newPopoverPosition = computePopoverPosition(\n\t\t\tanchorRect,\n\t\t\tpopoverSize,\n\t\t\tposition,\n\t\t\texpandOnMobile\n\t\t);\n\n\t\tif (\n\t\t\tthis.state.yAxis !== newPopoverPosition.yAxis ||\n\t\t\tthis.state.xAxis !== newPopoverPosition.xAxis ||\n\t\t\tthis.state.popoverLeft !== newPopoverPosition.popoverLeft ||\n\t\t\tthis.state.popoverTop !== newPopoverPosition.popoverTop ||\n\t\t\tthis.state.contentHeight !== newPopoverPosition.contentHeight ||\n\t\t\tthis.state.contentWidth !== newPopoverPosition.contentWidth ||\n\t\t\tthis.state.isMobile !== newPopoverPosition.isMobile\n\t\t) {\n\t\t\tthis.setState( newPopoverPosition );\n\t\t}\n\t}\n\n\tmaybeClose( event ) {\n\t\tconst { onKeyDown, onClose } = this.props;\n\n\t\t// Close on escape\n\t\tif ( event.keyCode === ESCAPE && onClose ) {\n\t\t\tevent.stopPropagation();\n\t\t\tonClose();\n\t\t}\n\n\t\t// Preserve original content prop behavior\n\t\tif ( onKeyDown ) {\n\t\t\tonKeyDown( event );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\theaderTitle,\n\t\t\tonClose,\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tonClickOutside = onClose,\n\t\t\tnoArrow,\n\t\t\t// Disable reason: We generate the `...contentProps` rest as remainder\n\t\t\t// of props which aren't explicitly handled by this component.\n\t\t\t/* eslint-disable no-unused-vars */\n\t\t\tposition,\n\t\t\trange,\n\t\t\tfocusOnMount,\n\t\t\tgetAnchorRect,\n\t\t\texpandOnMobile,\n\t\t\t/* eslint-enable no-unused-vars */\n\t\t\t...contentProps\n\t\t} = this.props;\n\t\tconst {\n\t\t\tpopoverLeft,\n\t\t\tpopoverTop,\n\t\t\tyAxis,\n\t\t\txAxis,\n\t\t\tcontentHeight,\n\t\t\tcontentWidth,\n\t\t\tpopoverSize,\n\t\t\tisMobile,\n\t\t} = this.state;\n\n\t\tconst classes = classnames(\n\t\t\t'components-popover',\n\t\t\tclassName,\n\t\t\t'is-' + yAxis,\n\t\t\t'is-' + xAxis,\n\t\t\t{\n\t\t\t\t'is-mobile': isMobile,\n\t\t\t\t'is-without-arrow': noArrow || ( xAxis === 'center' && yAxis === 'middle' ),\n\t\t\t}\n\t\t);\n\n\t\t// Disable reason: We care to capture the _bubbled_ events from inputs\n\t\t// within popover as inferring close intent.\n\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\tlet content = (\n\t\t\t<PopoverDetectOutside onClickOutside={ onClickOutside }>\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classes }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\ttop: ! isMobile && popoverTop ? popoverTop + 'px' : undefined,\n\t\t\t\t\t\tleft: ! isMobile && popoverLeft ? popoverLeft + 'px' : undefined,\n\t\t\t\t\t\tvisibility: popoverSize ? undefined : 'hidden',\n\t\t\t\t\t} }\n\t\t\t\t\t{ ...contentProps }\n\t\t\t\t\tonKeyDown={ this.maybeClose }\n\t\t\t\t>\n\t\t\t\t\t{ isMobile && (\n\t\t\t\t\t\t<div className=\"components-popover__header\">\n\t\t\t\t\t\t\t<span className=\"components-popover__header-title\">\n\t\t\t\t\t\t\t\t{ headerTitle }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<IconButton className=\"components-popover__close\" icon=\"no-alt\" onClick={ onClose } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<div\n\t\t\t\t\t\tref={ this.contentNode }\n\t\t\t\t\t\tclassName=\"components-popover__content\"\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tmaxHeight: ! isMobile && contentHeight ? contentHeight + 'px' : undefined,\n\t\t\t\t\t\t\tmaxWidth: ! isMobile && contentWidth ? contentWidth + 'px' : undefined,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</PopoverDetectOutside>\n\t\t);\n\t\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n\n\t\t// Apply focus to element as long as focusOnMount is truthy; false is\n\t\t// the only \"disabled\" value.\n\t\tif ( focusOnMount ) {\n\t\t\tcontent = <FocusManaged>{ content }</FocusManaged>;\n\t\t}\n\n\t\treturn (\n\t\t\t<Consumer>\n\t\t\t\t{ ( { getSlot } ) => {\n\t\t\t\t\t// In case there is no slot context in which to render,\n\t\t\t\t\t// default to an in-place rendering.\n\t\t\t\t\tif ( getSlot && getSlot( SLOT_NAME ) ) {\n\t\t\t\t\t\tcontent = <Fill name={ SLOT_NAME }>{ content }</Fill>;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<span ref={ this.anchorNode }>\n\t\t\t\t\t\t\t{ content }\n\t\t\t\t\t\t\t{ isMobile && expandOnMobile && <ScrollLock /> }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t</Consumer>\n\t\t);\n\t}\n}\n\nPopover.defaultProps = {\n\tfocusOnMount: 'firstElement',\n\tnoArrow: false,\n};\n\nconst PopoverContainer = Popover;\n\nPopoverContainer.Slot = () => <Slot bubblesVirtually name={ SLOT_NAME } />;\n\nexport default PopoverContainer;\n","\n/**\n * Module constants\n */\nconst HEIGHT_OFFSET = 10; // used by the arrow and a bit of empty space\nconst isMobileViewport = () => window.innerWidth < 782;\n\n/**\n * Utility used to compute the popover position over the xAxis\n *\n * @param {Object} anchorRect Anchor Rect.\n * @param {Object} contentSize Content Size.\n * @param {string} xAxis Desired xAxis.\n * @param {string} chosenYAxis yAxis to be used.\n * @param {boolean} expandOnMobile Whether to expand the popover on mobile or not.\n *\n * @return {Object} Popover xAxis position and constraints.\n */\nexport function computePopoverXAxisPosition( anchorRect, contentSize, xAxis, chosenYAxis ) {\n\tconst { width } = contentSize;\n\n\t// x axis alignment choices\n\tconst anchorMidPoint = Math.round( anchorRect.left + ( anchorRect.width / 2 ) );\n\tconst centerAlignment = {\n\t\tpopoverLeft: anchorMidPoint,\n\t\tcontentWidth: (\n\t\t\t( anchorMidPoint - ( width / 2 ) > 0 ? ( width / 2 ) : anchorMidPoint ) +\n\t\t\t( anchorMidPoint + ( width / 2 ) > window.innerWidth ? window.innerWidth - anchorMidPoint : ( width / 2 ) )\n\t\t),\n\t};\n\tconst leftAlignmentX = chosenYAxis === 'middle' ? anchorRect.left : anchorMidPoint;\n\tconst leftAlignment = {\n\t\tpopoverLeft: leftAlignmentX,\n\t\tcontentWidth: leftAlignmentX - width > 0 ? width : leftAlignmentX,\n\t};\n\tconst rightAlignmentX = chosenYAxis === 'middle' ? anchorRect.right : anchorMidPoint;\n\tconst rightAlignment = {\n\t\tpopoverLeft: rightAlignmentX,\n\t\tcontentWidth: rightAlignmentX + width > window.innerWidth ? window.innerWidth - rightAlignmentX : width,\n\t};\n\n\t// Choosing the x axis\n\tlet chosenXAxis;\n\tlet contentWidth = null;\n\tif ( xAxis === 'center' && centerAlignment.contentWidth === width ) {\n\t\tchosenXAxis = 'center';\n\t} else if ( xAxis === 'left' && leftAlignment.contentWidth === width ) {\n\t\tchosenXAxis = 'left';\n\t} else if ( xAxis === 'right' && rightAlignment.contentWidth === width ) {\n\t\tchosenXAxis = 'right';\n\t} else {\n\t\tchosenXAxis = leftAlignment.contentWidth > rightAlignment.contentWidth ? 'left' : 'right';\n\t\tconst chosenWidth = chosenXAxis === 'left' ? leftAlignment.contentWidth : rightAlignment.contentWidth;\n\t\tcontentWidth = chosenWidth !== width ? chosenWidth : null;\n\t}\n\n\tlet popoverLeft;\n\tif ( chosenXAxis === 'center' ) {\n\t\tpopoverLeft = centerAlignment.popoverLeft;\n\t} else if ( chosenXAxis === 'left' ) {\n\t\tpopoverLeft = leftAlignment.popoverLeft;\n\t} else {\n\t\tpopoverLeft = rightAlignment.popoverLeft;\n\t}\n\n\treturn {\n\t\txAxis: chosenXAxis,\n\t\tpopoverLeft,\n\t\tcontentWidth,\n\t};\n}\n\n/**\n * Utility used to compute the popover position over the yAxis\n *\n * @param {Object} anchorRect Anchor Rect.\n * @param {Object} contentSize Content Size.\n * @param {string} yAxis Desired yAxis.\n * @param {boolean} expandOnMobile Whether to expand the popover on mobile or not.\n *\n * @return {Object} Popover xAxis position and constraints.\n */\nexport function computePopoverYAxisPosition( anchorRect, contentSize, yAxis ) {\n\tconst { height } = contentSize;\n\n\t// y axis alignment choices\n\tconst anchorMidPoint = anchorRect.top + ( anchorRect.height / 2 );\n\tconst middleAlignment = {\n\t\tpopoverTop: anchorMidPoint,\n\t\tcontentHeight: (\n\t\t\t( anchorMidPoint - ( height / 2 ) > 0 ? ( height / 2 ) : anchorMidPoint ) +\n\t\t\t( anchorMidPoint + ( height / 2 ) > window.innerHeight ? window.innerHeight - anchorMidPoint : ( height / 2 ) )\n\t\t),\n\t};\n\tconst topAlignment = {\n\t\tpopoverTop: anchorRect.top,\n\t\tcontentHeight: anchorRect.top - HEIGHT_OFFSET - height > 0 ? height : anchorRect.top - HEIGHT_OFFSET,\n\t};\n\tconst bottomAlignment = {\n\t\tpopoverTop: anchorRect.bottom,\n\t\tcontentHeight: anchorRect.bottom + HEIGHT_OFFSET + height > window.innerHeight ? window.innerHeight - HEIGHT_OFFSET - anchorRect.bottom : height,\n\t};\n\n\t// Choosing the y axis\n\tlet chosenYAxis;\n\tlet contentHeight = null;\n\tif ( yAxis === 'middle' && middleAlignment.contentHeight === height ) {\n\t\tchosenYAxis = 'middle';\n\t} else if ( yAxis === 'top' && topAlignment.contentHeight === height ) {\n\t\tchosenYAxis = 'top';\n\t} else if ( yAxis === 'bottom' && bottomAlignment.contentHeight === height ) {\n\t\tchosenYAxis = 'bottom';\n\t} else {\n\t\tchosenYAxis = topAlignment.contentHeight > bottomAlignment.contentHeight ? 'top' : 'bottom';\n\t\tconst chosenHeight = chosenYAxis === 'top' ? topAlignment.contentHeight : bottomAlignment.contentHeight;\n\t\tcontentHeight = chosenHeight !== height ? chosenHeight : null;\n\t}\n\n\tlet popoverTop;\n\tif ( chosenYAxis === 'middle' ) {\n\t\tpopoverTop = middleAlignment.popoverTop;\n\t} else if ( chosenYAxis === 'top' ) {\n\t\tpopoverTop = topAlignment.popoverTop;\n\t} else {\n\t\tpopoverTop = bottomAlignment.popoverTop;\n\t}\n\n\treturn {\n\t\tyAxis: chosenYAxis,\n\t\tpopoverTop,\n\t\tcontentHeight,\n\t};\n}\n\n/**\n * Utility used to compute the popover position and the content max width/height for a popover\n * given its anchor rect and its content size.\n *\n * @param {Object} anchorRect Anchor Rect.\n * @param {Object} contentSize Content Size.\n * @param {string} position Position.\n * @param {boolean} expandOnMobile Whether to expand the popover on mobile or not.\n *\n * @return {Object} Popover position and constraints.\n */\nexport function computePopoverPosition( anchorRect, contentSize, position = 'top', expandOnMobile = false ) {\n\tconst [ yAxis, xAxis = 'center' ] = position.split( ' ' );\n\n\tconst yAxisPosition = computePopoverYAxisPosition( anchorRect, contentSize, yAxis );\n\tconst xAxisPosition = computePopoverXAxisPosition( anchorRect, contentSize, xAxis, yAxisPosition.yAxis );\n\n\treturn {\n\t\tisMobile: isMobileViewport() && expandOnMobile,\n\t\t...xAxisPosition,\n\t\t...yAxisPosition,\n\t};\n}\n","export * from './svg';\n","/**\n * External dependencies\n */\nimport { createElement } from '@wordpress/element';\n\nexport const Circle = ( props ) => createElement( 'circle', props );\nexport const G = ( props ) => createElement( 'g', props );\nexport const Path = ( props ) => createElement( 'path', props );\nexport const Polygon = ( props ) => createElement( 'polygon', props );\nexport const Rect = ( props ) => createElement( 'rect', props );\n\nexport const SVG = ( props ) => {\n\tconst appliedProps = {\n\t\t...props,\n\t\trole: 'img',\n\t\t'aria-hidden': 'true',\n\t\tfocusable: 'false',\n\t};\n\n\t// Disable reason: We need to have a way to render HTML tag for web.\n\t// eslint-disable-next-line react/forbid-elements\n\treturn <svg { ...appliedProps } />;\n};\n","/**\n * Internal dependencies\n */\nimport { buildTermsTree } from './terms';\nimport TreeSelect from '../tree-select';\n\nexport default function CategorySelect( { label, noOptionLabel, categoriesList, selectedCategoryId, onChange } ) {\n\tconst termsTree = buildTermsTree( categoriesList );\n\treturn (\n\t\t<TreeSelect\n\t\t\t{ ...{ label, noOptionLabel, onChange } }\n\t\t\ttree={ termsTree }\n\t\t\tselectedId={ selectedCategoryId }\n\t\t/>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { RangeControl, SelectControl } from '../';\nimport CategorySelect from './category-select';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 100;\n\nexport default function QueryControls( {\n\tcategoriesList,\n\tselectedCategoryId,\n\tnumberOfItems,\n\torder,\n\torderBy,\n\tmaxItems = DEFAULT_MAX_ITEMS,\n\tminItems = DEFAULT_MIN_ITEMS,\n\tonCategoryChange,\n\tonNumberOfItemsChange,\n\tonOrderChange,\n\tonOrderByChange,\n} ) {\n\treturn [\n\t\t( onOrderChange && onOrderByChange ) && (\n\t\t\t<SelectControl\n\t\t\t\tkey=\"query-controls-order-select\"\n\t\t\t\tlabel={ __( 'Order by' ) }\n\t\t\t\tvalue={ `${ orderBy }/${ order }` }\n\t\t\t\toptions={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Newest to Oldest' ),\n\t\t\t\t\t\tvalue: 'date/desc',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Oldest to Newest' ),\n\t\t\t\t\t\tvalue: 'date/asc',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t/* translators: label for ordering posts by title in ascending order */\n\t\t\t\t\t\tlabel: __( 'A → Z' ),\n\t\t\t\t\t\tvalue: 'title/asc',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t/* translators: label for ordering posts by title in descending order */\n\t\t\t\t\t\tlabel: __( 'Z → A' ),\n\t\t\t\t\t\tvalue: 'title/desc',\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\t\tif ( newOrder !== order ) {\n\t\t\t\t\t\tonOrderChange( newOrder );\n\t\t\t\t\t}\n\t\t\t\t\tif ( newOrderBy !== orderBy ) {\n\t\t\t\t\t\tonOrderByChange( newOrderBy );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t),\n\t\tonCategoryChange && (\n\t\t\t<CategorySelect\n\t\t\t\tkey=\"query-controls-category-select\"\n\t\t\t\tcategoriesList={ categoriesList }\n\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\tnoOptionLabel={ __( 'All' ) }\n\t\t\t\tselectedCategoryId={ selectedCategoryId }\n\t\t\t\tonChange={ onCategoryChange }\n\t\t\t/> ),\n\t\tonNumberOfItemsChange && (\n\t\t\t<RangeControl\n\t\t\t\tkey=\"query-controls-range-control\"\n\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\tvalue={ numberOfItems }\n\t\t\t\tonChange={ onNumberOfItemsChange }\n\t\t\t\tmin={ minItems }\n\t\t\t\tmax={ maxItems }\n\t\t\t/>\n\t\t),\n\t];\n}\n","/**\n * External dependencies\n */\nimport { groupBy } from 'lodash';\n\n/**\n * Returns terms in a tree form.\n *\n * @param {Array} flatTerms Array of terms in flat format.\n *\n * @return {Array} Array of terms in tree format.\n */\nexport function buildTermsTree( flatTerms ) {\n\tconst termsByParent = groupBy( flatTerms, 'parent' );\n\tconst fillWithChildren = ( terms ) => {\n\t\treturn terms.map( ( term ) => {\n\t\t\tconst children = termsByParent[ term.id ];\n\t\t\treturn {\n\t\t\t\t...term,\n\t\t\t\tchildren: children && children.length ?\n\t\t\t\t\tfillWithChildren( children ) :\n\t\t\t\t\t[],\n\t\t\t};\n\t\t} );\n\t};\n\n\treturn fillWithChildren( termsByParent[ '0' ] || [] );\n}\n","/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\n\nfunction RadioControl( { label, className, selected, help, instanceId, onChange, options = [] } ) {\n\tconst id = `inspector-radio-control-${ instanceId }`;\n\tconst onChangeValue = ( event ) => onChange( event.target.value );\n\n\treturn ! isEmpty( options ) && (\n\t\t<BaseControl label={ label } id={ id } help={ help } className={ classnames( className, 'components-radio-control' ) }>\n\t\t\t{ options.map( ( option, index ) =>\n\t\t\t\t<div\n\t\t\t\t\tkey={ `${ id }-${ index }` }\n\t\t\t\t\tclassName=\"components-radio-control__option\"\n\t\t\t\t>\n\t\t\t\t\t<input\n\t\t\t\t\t\tid={ `${ id }-${ index }` }\n\t\t\t\t\t\tclassName=\"components-radio-control__input\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tname={ id }\n\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t\tonChange={ onChangeValue }\n\t\t\t\t\t\tchecked={ option.value === selected }\n\t\t\t\t\t\taria-describedby={ !! help ? `${ id }__help` : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<label htmlFor={ `${ id }-${ index }` }>\n\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( RadioControl );\n","/**\n * External dependencies\n */\nimport { isFinite } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { BaseControl, Button, Dashicon } from '../';\n\nfunction RangeControl( {\n\tclassName,\n\tlabel,\n\tvalue,\n\tinstanceId,\n\tonChange,\n\tbeforeIcon,\n\tafterIcon,\n\thelp,\n\tallowReset,\n\tinitialPosition,\n\t...props\n} ) {\n\tconst id = `inspector-range-control-${ instanceId }`;\n\tconst resetValue = () => onChange();\n\tconst onChangeValue = ( event ) => {\n\t\tconst newValue = event.target.value;\n\t\tif ( newValue === '' ) {\n\t\t\tresetValue();\n\t\t\treturn;\n\t\t}\n\t\tonChange( Number( newValue ) );\n\t};\n\tconst initialSliderValue = isFinite( value ) ? value : initialPosition || '';\n\n\treturn (\n\t\t<BaseControl\n\t\t\tlabel={ label }\n\t\t\tid={ id }\n\t\t\thelp={ help }\n\t\t\tclassName={ classnames( 'components-range-control', className ) }\n\t\t>\n\t\t\t{ beforeIcon && <Dashicon icon={ beforeIcon } /> }\n\t\t\t<input\n\t\t\t\tclassName=\"components-range-control__slider\"\n\t\t\t\tid={ id }\n\t\t\t\ttype=\"range\"\n\t\t\t\tvalue={ initialSliderValue }\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\taria-describedby={ !! help ? id + '__help' : undefined }\n\t\t\t\t{ ...props } />\n\t\t\t{ afterIcon && <Dashicon icon={ afterIcon } /> }\n\t\t\t<input\n\t\t\t\tclassName=\"components-range-control__number\"\n\t\t\t\ttype=\"number\"\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\taria-label={ label }\n\t\t\t\tvalue={ value }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t\t{ allowReset &&\n\t\t\t\t<Button onClick={ resetValue } disabled={ value === undefined }>\n\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( RangeControl );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport ReResizableBox from 're-resizable';\n\nfunction ResizableBox( { className, ...props } ) {\n\t// Removes the inline styles in the drag handles.\n\tconst handleStylesOverrides = {\n\t\twidth: null,\n\t\theight: null,\n\t\ttop: null,\n\t\tright: null,\n\t\tbottom: null,\n\t\tleft: null,\n\t};\n\n\tconst handleClassName = 'components-resizable-box__handle';\n\n\treturn (\n\t\t<ReResizableBox\n\t\t\tclassName={ classnames(\n\t\t\t\t'components-resizable-box__container',\n\t\t\t\tclassName,\n\t\t\t) }\n\t\t\thandleClasses={ {\n\t\t\t\ttop: classnames(\n\t\t\t\t\thandleClassName,\n\t\t\t\t\t'components-resizable-box__handle-top',\n\t\t\t\t),\n\t\t\t\tright: classnames(\n\t\t\t\t\thandleClassName,\n\t\t\t\t\t'components-resizable-box__handle-right',\n\t\t\t\t),\n\t\t\t\tbottom: classnames(\n\t\t\t\t\thandleClassName,\n\t\t\t\t\t'components-resizable-box__handle-bottom',\n\t\t\t\t),\n\t\t\t\tleft: classnames(\n\t\t\t\t\thandleClassName,\n\t\t\t\t\t'components-resizable-box__handle-left',\n\t\t\t\t),\n\t\t\t} }\n\t\t\thandleStyles={ {\n\t\t\t\ttop: handleStylesOverrides,\n\t\t\t\tright: handleStylesOverrides,\n\t\t\t\tbottom: handleStylesOverrides,\n\t\t\t\tleft: handleStylesOverrides,\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nexport default ResizableBox;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress Dependencies\n */\nimport { cloneElement, Children } from '@wordpress/element';\n\nfunction ResponsiveWrapper( { naturalWidth, naturalHeight, children } ) {\n\tif ( Children.count( children ) !== 1 ) {\n\t\treturn null;\n\t}\n\tconst imageStyle = {\n\t\tpaddingBottom: ( naturalHeight / naturalWidth * 100 ) + '%',\n\t};\n\treturn (\n\t\t<div className=\"components-responsive-wrapper\">\n\t\t\t<div style={ imageStyle } />\n\t\t\t{ cloneElement( children, {\n\t\t\t\tclassName: classnames( 'components-responsive-wrapper__content', children.props.className ),\n\t\t\t} ) }\n\t\t</div>\n\t);\n}\n\nexport default ResponsiveWrapper;\n","/**\n * WordPress dependencies\n */\nimport { Component, renderToString, createRef } from '@wordpress/element';\nimport { withGlobalEvents } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport FocusableIframe from '../focusable-iframe';\n\nclass Sandbox extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.trySandbox = this.trySandbox.bind( this );\n\t\tthis.checkMessageForResize = this.checkMessageForResize.bind( this );\n\n\t\tthis.iframe = createRef();\n\n\t\tthis.state = {\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.trySandbox();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.trySandbox();\n\t}\n\n\tisFrameAccessible() {\n\t\ttry {\n\t\t\treturn !! this.iframe.current.contentDocument.body;\n\t\t} catch ( e ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tcheckMessageForResize( event ) {\n\t\tconst iframe = this.iframe.current;\n\n\t\t// Attempt to parse the message data as JSON if passed as string\n\t\tlet data = event.data || {};\n\t\tif ( 'string' === typeof data ) {\n\t\t\ttry {\n\t\t\t\tdata = JSON.parse( data );\n\t\t\t} catch ( e ) {} // eslint-disable-line no-empty\n\t\t}\n\n\t\t// Verify that the mounted element is the source of the message\n\t\tif ( ! iframe || iframe.contentWindow !== event.source ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Update the state only if the message is formatted as we expect, i.e.\n\t\t// as an object with a 'resize' action, width, and height\n\t\tconst { action, width, height } = data;\n\t\tconst { width: oldWidth, height: oldHeight } = this.state;\n\n\t\tif ( 'resize' === action && ( oldWidth !== width || oldHeight !== height ) ) {\n\t\t\tthis.setState( { width, height } );\n\t\t}\n\t}\n\n\ttrySandbox() {\n\t\tif ( ! this.isFrameAccessible() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst body = this.iframe.current.contentDocument.body;\n\t\tif ( null !== body.getAttribute( 'data-resizable-iframe-connected' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst observeAndResizeJS = `\n\t\t\t( function() {\n\t\t\t\tvar observer;\n\n\t\t\t\tif ( ! window.MutationObserver || ! document.body || ! window.parent ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tfunction sendResize() {\n\t\t\t\t\tvar clientBoundingRect = document.body.getBoundingClientRect();\n\n\t\t\t\t\twindow.parent.postMessage( {\n\t\t\t\t\t\taction: 'resize',\n\t\t\t\t\t\twidth: clientBoundingRect.width,\n\t\t\t\t\t\theight: clientBoundingRect.height,\n\t\t\t\t\t}, '*' );\n\t\t\t\t}\n\n\t\t\t\tobserver = new MutationObserver( sendResize );\n\t\t\t\tobserver.observe( document.body, {\n\t\t\t\t\tattributes: true,\n\t\t\t\t\tattributeOldValue: false,\n\t\t\t\t\tcharacterData: true,\n\t\t\t\t\tcharacterDataOldValue: false,\n\t\t\t\t\tchildList: true,\n\t\t\t\t\tsubtree: true\n\t\t\t\t} );\n\n\t\t\t\twindow.addEventListener( 'load', sendResize, true );\n\n\t\t\t\t// Hack: Remove viewport unit styles, as these are relative\n\t\t\t\t// the iframe root and interfere with our mechanism for\n\t\t\t\t// determining the unconstrained page bounds.\n\t\t\t\tfunction removeViewportStyles( ruleOrNode ) {\n\t\t\t\t\t[ 'width', 'height', 'minHeight', 'maxHeight' ].forEach( function( style ) {\n\t\t\t\t\t\tif ( /^\\\\d+(vmin|vmax|vh|vw)$/.test( ruleOrNode.style[ style ] ) ) {\n\t\t\t\t\t\t\truleOrNode.style[ style ] = '';\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\tArray.prototype.forEach.call( document.querySelectorAll( '[style]' ), removeViewportStyles );\n\t\t\t\tArray.prototype.forEach.call( document.styleSheets, function( stylesheet ) {\n\t\t\t\t\tArray.prototype.forEach.call( stylesheet.cssRules || stylesheet.rules, removeViewportStyles );\n\t\t\t\t} );\n\n\t\t\t\tdocument.body.style.position = 'absolute';\n\t\t\t\tdocument.body.style.width = '100%';\n\t\t\t\tdocument.body.setAttribute( 'data-resizable-iframe-connected', '' );\n\n\t\t\t\tsendResize();\n\n\t\t\t\t// Resize events can change the width of elements with 100% width, but we don't\n\t\t\t\t// get an DOM mutations for that, so do the resize when the window is resized, too.\n\t\t\t\twindow.addEventListener( 'resize', sendResize, true );\n\t\t} )();`;\n\n\t\tconst style = `\n\t\t\tbody {\n\t\t\t\tmargin: 0;\n\t\t\t}\n\t\t\thtml,\n\t\t\tbody,\n\t\t\tbody > div,\n\t\t\tbody > div > iframe {\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t\thtml.wp-has-aspect-ratio,\n\t\t\tbody.wp-has-aspect-ratio,\n\t\t\tbody.wp-has-aspect-ratio > div,\n\t\t\tbody.wp-has-aspect-ratio > div > iframe {\n\t\t\t\theight: 100%;\n\t\t\t\toverflow: hidden; /* If it has an aspect ratio, it shouldn't scroll. */\n\t\t\t}\n\t\t\tbody > div > * {\n\t\t\t\tmargin-top: 0 !important; /* Has to have !important to override inline styles. */\n\t\t\t\tmargin-bottom: 0 !important;\n\t\t\t}\n\t\t`;\n\n\t\t// put the html snippet into a html document, and then write it to the iframe's document\n\t\t// we can use this in the future to inject custom styles or scripts.\n\t\t// Scripts go into the body rather than the head, to support embedded content such as Instagram\n\t\t// that expect the scripts to be part of the body.\n\t\tconst htmlDoc = (\n\t\t\t<html lang={ document.documentElement.lang } className={ this.props.type }>\n\t\t\t\t<head>\n\t\t\t\t\t<title>{ this.props.title }</title>\n\t\t\t\t\t<style dangerouslySetInnerHTML={ { __html: style } } />\n\t\t\t\t</head>\n\t\t\t\t<body data-resizable-iframe-connected=\"data-resizable-iframe-connected\" className={ this.props.type }>\n\t\t\t\t\t<div dangerouslySetInnerHTML={ { __html: this.props.html } } />\n\t\t\t\t\t<script type=\"text/javascript\" dangerouslySetInnerHTML={ { __html: observeAndResizeJS } } />\n\t\t\t\t\t{ ( this.props.scripts && this.props.scripts.map(\n\t\t\t\t\t\t( src ) => <script key={ src } src={ src } />\n\t\t\t\t\t) ) }\n\t\t\t\t</body>\n\t\t\t</html>\n\t\t);\n\n\t\t// writing the document like this makes it act in the same way as if it was\n\t\t// loaded over the network, so DOM creation and mutation, script execution, etc.\n\t\t// all work as expected\n\t\tconst iframeDocument = this.iframe.current.contentWindow.document;\n\t\tiframeDocument.open();\n\t\tiframeDocument.write( '<!DOCTYPE html>' + renderToString( htmlDoc ) );\n\t\tiframeDocument.close();\n\t}\n\n\tstatic get defaultProps() {\n\t\treturn {\n\t\t\thtml: '',\n\t\t\ttitle: '',\n\t\t};\n\t}\n\n\trender() {\n\t\tconst { title } = this.props;\n\n\t\treturn (\n\t\t\t<FocusableIframe\n\t\t\t\tiframeRef={ this.iframe }\n\t\t\t\ttitle={ title }\n\t\t\t\tclassName=\"components-sandbox\"\n\t\t\t\tsandbox=\"allow-scripts allow-same-origin allow-presentation\"\n\t\t\t\tonLoad={ this.trySandbox }\n\t\t\t\twidth={ Math.ceil( this.state.width ) }\n\t\t\t\theight={ Math.ceil( this.state.height ) } />\n\t\t);\n\t}\n}\n\nSandbox = withGlobalEvents( {\n\tmessage: 'checkMessageForResize',\n} )( Sandbox );\n\nexport default Sandbox;\n","/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\n\n/**\n * Creates a ScrollLock component bound to the specified document.\n *\n * This function creates a ScrollLock component for the specified document\n * and is exposed so we can create an isolated component for unit testing.\n *\n * @param {Object} args Keyword args.\n * @param {HTMLDocument} args.htmlDocument The document to lock the scroll for.\n * @param {string} args.className The name of the class used to lock scrolling.\n * @return {Component} The bound ScrollLock component.\n */\nexport function createScrollLockComponent( {\n\thtmlDocument = document,\n\tclassName = 'lockscroll',\n} = {} ) {\n\tlet lockCounter = 0;\n\n\t/*\n\t * Setting `overflow: hidden` on html and body elements resets body scroll in iOS.\n\t * Save scroll top so we can restore it after locking scroll.\n\t *\n\t * NOTE: It would be cleaner and possibly safer to find a localized solution such\n\t * as preventing default on certain touchmove events.\n\t */\n\tlet previousScrollTop = 0;\n\n\t/**\n\t * Locks and unlocks scroll depending on the boolean argument.\n\t *\n\t * @param {boolean} locked Whether or not scroll should be locked.\n\t */\n\tfunction setLocked( locked ) {\n\t\tconst scrollingElement = htmlDocument.scrollingElement || htmlDocument.body;\n\n\t\tif ( locked ) {\n\t\t\tpreviousScrollTop = scrollingElement.scrollTop;\n\t\t}\n\n\t\tconst methodName = locked ? 'add' : 'remove';\n\t\tscrollingElement.classList[ methodName ]( className );\n\n\t\t// Adding the class to the document element seems to be necessary in iOS.\n\t\thtmlDocument.documentElement.classList[ methodName ]( className );\n\n\t\tif ( ! locked ) {\n\t\t\tscrollingElement.scrollTop = previousScrollTop;\n\t\t}\n\t}\n\n\t/**\n\t * Requests scroll lock.\n\t *\n\t * This function tracks requests for scroll lock. It locks scroll on the first\n\t * request and counts each request so `releaseLock` can unlock scroll when\n\t * all requests have been released.\n\t */\n\tfunction requestLock() {\n\t\tif ( lockCounter === 0 ) {\n\t\t\tsetLocked( true );\n\t\t}\n\n\t\t++lockCounter;\n\t}\n\n\t/**\n\t * Releases a request for scroll lock.\n\t *\n\t * This function tracks released requests for scroll lock. When all requests\n\t * have been released, it unlocks scroll.\n\t */\n\tfunction releaseLock() {\n\t\tif ( lockCounter === 1 ) {\n\t\t\tsetLocked( false );\n\t\t}\n\n\t\t--lockCounter;\n\t}\n\n\treturn class ScrollLock extends Component {\n\t\t/**\n\t\t * Requests scroll lock on mount.\n\t\t */\n\t\tcomponentDidMount() {\n\t\t\trequestLock();\n\t\t}\n\t\t/**\n\t\t * Releases scroll lock before unmount.\n\t\t */\n\t\tcomponentWillUnmount() {\n\t\t\treleaseLock();\n\t\t}\n\n\t\t/**\n\t\t * Render nothing as this component is merely a way to declare scroll lock.\n\t\t *\n\t\t * @return {null} Render nothing by returning `null`.\n\t\t */\n\t\trender() {\n\t\t\treturn null;\n\t\t}\n\t};\n}\n\nexport default createScrollLockComponent();\n","/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\n\nfunction SelectControl( {\n\thelp,\n\tinstanceId,\n\tlabel,\n\tmultiple = false,\n\tonChange,\n\toptions = [],\n\tclassName,\n\t...props\n} ) {\n\tconst id = `inspector-select-control-${ instanceId }`;\n\tconst onChangeValue = ( event ) => {\n\t\tif ( multiple ) {\n\t\t\tconst selectedOptions = [ ...event.target.options ].filter( ( { selected } ) => selected );\n\t\t\tconst newValues = selectedOptions.map( ( { value } ) => value );\n\t\t\tonChange( newValues );\n\t\t\treturn;\n\t\t}\n\t\tonChange( event.target.value );\n\t};\n\n\t// Disable reason: A select with an onchange throws a warning\n\n\t/* eslint-disable jsx-a11y/no-onchange */\n\treturn ! isEmpty( options ) && (\n\t\t<BaseControl label={ label } id={ id } help={ help } className={ className }>\n\t\t\t<select\n\t\t\t\tid={ id }\n\t\t\t\tclassName=\"components-select-control__input\"\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\taria-describedby={ !! help ? `${ id }__help` : undefined }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ options.map( ( option, index ) =>\n\t\t\t\t\t<option\n\t\t\t\t\t\tkey={ `${ option.label }-${ option.value }-${ index }` }\n\t\t\t\t\t\tvalue={ option.value }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ option.label }\n\t\t\t\t\t</option>\n\t\t\t\t) }\n\t\t\t</select>\n\t\t</BaseControl>\n\t);\n\t/* eslint-enable jsx-a11y/no-onchange */\n}\n\nexport default withInstanceId( SelectControl );\n","/**\n * External dependencies.\n */\nimport { isEqual } from 'lodash';\n\n/**\n * WordPress dependencies.\n */\nimport {\n\tComponent,\n\tRawHTML,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies.\n */\nimport Placeholder from '../placeholder';\nimport Spinner from '../spinner';\n\nexport function rendererPath( block, attributes = null, urlQueryArgs = {} ) {\n\treturn addQueryArgs( `/wp/v2/block-renderer/${ block }`, {\n\t\tcontext: 'edit',\n\t\t...( null !== attributes ? { attributes } : {} ),\n\t\t...urlQueryArgs,\n\t} );\n}\n\nexport class ServerSideRender extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.state = {\n\t\t\tresponse: null,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.isStillMounted = true;\n\t\tthis.fetch( this.props );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isStillMounted = false;\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( ! isEqual( prevProps, this.props ) ) {\n\t\t\tthis.fetch( this.props );\n\t\t}\n\t}\n\n\tfetch( props ) {\n\t\tif ( null !== this.state.response ) {\n\t\t\tthis.setState( { response: null } );\n\t\t}\n\t\tconst { block, attributes = null, urlQueryArgs = {} } = props;\n\n\t\tconst path = rendererPath( block, attributes, urlQueryArgs );\n\n\t\treturn apiFetch( { path } )\n\t\t\t.then( ( response ) => {\n\t\t\t\tif ( this.isStillMounted && response && response.rendered ) {\n\t\t\t\t\tthis.setState( { response: response.rendered } );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tif ( this.isStillMounted ) {\n\t\t\t\t\tthis.setState( { response: {\n\t\t\t\t\t\terror: true,\n\t\t\t\t\t\terrorMsg: error.message,\n\t\t\t\t\t} } );\n\t\t\t\t}\n\t\t\t} );\n\t}\n\n\trender() {\n\t\tconst response = this.state.response;\n\t\tif ( ! response ) {\n\t\t\treturn (\n\t\t\t\t<Placeholder><Spinner /></Placeholder>\n\t\t\t);\n\t\t} else if ( response.error ) {\n\t\t\t// translators: %s: error message describing the problem\n\t\t\tconst errorMessage = sprintf( __( 'Error loading block: %s' ), response.errorMsg );\n\t\t\treturn (\n\t\t\t\t<Placeholder>{ errorMessage }</Placeholder>\n\t\t\t);\n\t\t} else if ( ! response.length ) {\n\t\t\treturn (\n\t\t\t\t<Placeholder>{ __( 'No results found.' ) }</Placeholder>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<RawHTML key=\"html\">{ response }</RawHTML>\n\t\t);\n\t}\n}\n\nexport default ServerSideRender;\n","/**\n * External dependencies\n */\nimport { isString, isObject } from 'lodash';\n\nfunction Shortcut( { shortcut, className } ) {\n\tif ( ! shortcut ) {\n\t\treturn null;\n\t}\n\n\tlet displayText;\n\tlet ariaLabel;\n\n\tif ( isString( shortcut ) ) {\n\t\tdisplayText = shortcut;\n\t}\n\n\tif ( isObject( shortcut ) ) {\n\t\tdisplayText = shortcut.display;\n\t\tariaLabel = shortcut.ariaLabel;\n\t}\n\n\treturn (\n\t\t<span className={ className } aria-label={ ariaLabel }>\n\t\t\t{ displayText }\n\t\t</span>\n\t);\n}\n\nexport default Shortcut;\n","/**\n * External dependencies\n */\nimport { sortBy, forEach, without } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createContext } from '@wordpress/element';\n\nconst { Provider, Consumer } = createContext( {\n\tregisterSlot: () => {},\n\tunregisterSlot: () => {},\n\tregisterFill: () => {},\n\tunregisterFill: () => {},\n\tgetSlot: () => {},\n\tgetFills: () => {},\n} );\n\nclass SlotFillProvider extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.registerSlot = this.registerSlot.bind( this );\n\t\tthis.registerFill = this.registerFill.bind( this );\n\t\tthis.unregisterSlot = this.unregisterSlot.bind( this );\n\t\tthis.unregisterFill = this.unregisterFill.bind( this );\n\t\tthis.getSlot = this.getSlot.bind( this );\n\t\tthis.getFills = this.getFills.bind( this );\n\n\t\tthis.slots = {};\n\t\tthis.fills = {};\n\t\tthis.state = {\n\t\t\tregisterSlot: this.registerSlot,\n\t\t\tunregisterSlot: this.unregisterSlot,\n\t\t\tregisterFill: this.registerFill,\n\t\t\tunregisterFill: this.unregisterFill,\n\t\t\tgetSlot: this.getSlot,\n\t\t\tgetFills: this.getFills,\n\t\t};\n\t}\n\n\tregisterSlot( name, slot ) {\n\t\tthis.slots[ name ] = slot;\n\t\tthis.forceUpdateFills( name );\n\n\t\t// Sometimes the fills are registered after the initial render of slot\n\t\t// But before the registerSlot call, we need to rerender the slot\n\t\tthis.forceUpdateSlot( name );\n\t}\n\n\tregisterFill( name, instance ) {\n\t\tthis.fills[ name ] = [\n\t\t\t...( this.fills[ name ] || [] ),\n\t\t\tinstance,\n\t\t];\n\t\tthis.forceUpdateSlot( name );\n\t}\n\n\tunregisterSlot( name ) {\n\t\tdelete this.slots[ name ];\n\t\tthis.forceUpdateFills( name );\n\t}\n\n\tunregisterFill( name, instance ) {\n\t\tthis.fills[ name ] = without(\n\t\t\tthis.fills[ name ],\n\t\t\tinstance\n\t\t);\n\t\tthis.resetFillOccurrence( name );\n\t\tthis.forceUpdateSlot( name );\n\t}\n\n\tgetSlot( name ) {\n\t\treturn this.slots[ name ];\n\t}\n\n\tgetFills( name ) {\n\t\treturn sortBy( this.fills[ name ], 'occurrence' );\n\t}\n\n\tresetFillOccurrence( name ) {\n\t\tforEach( this.fills[ name ], ( instance ) => {\n\t\t\tinstance.resetOccurrence();\n\t\t} );\n\t}\n\n\tforceUpdateFills( name ) {\n\t\tforEach( this.fills[ name ], ( instance ) => {\n\t\t\tinstance.forceUpdate();\n\t\t} );\n\t}\n\n\tforceUpdateSlot( name ) {\n\t\tconst slot = this.getSlot( name );\n\n\t\tif ( slot ) {\n\t\t\tslot.forceUpdate();\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<Provider value={ this.state }>\n\t\t\t\t{ this.props.children }\n\t\t\t</Provider>\n\t\t);\n\t}\n}\n\nexport default SlotFillProvider;\nexport { Consumer };\n","/**\n * External dependencies\n */\nimport { isFunction } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component, createPortal } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { Consumer } from './context';\n\nlet occurrences = 0;\n\nclass FillComponent extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.occurrence = ++occurrences;\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { registerFill } = this.props;\n\n\t\tregisterFill( this.props.name, this );\n\t}\n\n\tcomponentWillUpdate() {\n\t\tif ( ! this.occurrence ) {\n\t\t\tthis.occurrence = ++occurrences;\n\t\t}\n\t\tconst { getSlot } = this.props;\n\t\tconst slot = getSlot( this.props.name );\n\t\tif ( slot && ! slot.props.bubblesVirtually ) {\n\t\t\tslot.forceUpdate();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tconst { unregisterFill } = this.props;\n\n\t\tunregisterFill( this.props.name, this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { name, unregisterFill, registerFill } = this.props;\n\n\t\tif ( prevProps.name !== name ) {\n\t\t\tunregisterFill( prevProps.name, this );\n\t\t\tregisterFill( name, this );\n\t\t}\n\t}\n\n\tresetOccurrence() {\n\t\tthis.occurrence = null;\n\t}\n\n\trender() {\n\t\tconst { name, getSlot } = this.props;\n\t\tlet { children } = this.props;\n\t\tconst slot = getSlot( name );\n\n\t\tif ( ! slot || ! slot.props.bubblesVirtually ) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// If a function is passed as a child, provide it with the fillProps.\n\t\tif ( isFunction( children ) ) {\n\t\t\tchildren = children( slot.props.fillProps );\n\t\t}\n\n\t\treturn createPortal( children, slot.node );\n\t}\n}\n\nconst Fill = ( props ) => (\n\t<Consumer>\n\t\t{ ( { getSlot, registerFill, unregisterFill } ) => (\n\t\t\t<FillComponent\n\t\t\t\t{ ...props }\n\t\t\t\tgetSlot={ getSlot }\n\t\t\t\tregisterFill={ registerFill }\n\t\t\t\tunregisterFill={ unregisterFill }\n\t\t\t/>\n\t\t) }\n\t</Consumer>\n);\n\nexport default Fill;\n","/**\n * Internal dependencies\n */\nimport Slot from './slot';\nimport Fill from './fill';\nimport Provider, { Consumer } from './context';\n\nexport { Slot };\nexport { Fill };\nexport { Provider, Consumer };\n\nexport function createSlotFill( name ) {\n\tconst FillComponent = ( props ) => <Fill name={ name } { ...props } />;\n\tFillComponent.displayName = name + 'Fill';\n\n\tconst SlotComponent = ( props ) => <Slot name={ name } { ...props } />;\n\tSlotComponent.displayName = name + 'Slot';\n\n\treturn {\n\t\tFill: FillComponent,\n\t\tSlot: SlotComponent,\n\t};\n}\n","/**\n * External dependencies\n */\nimport {\n\tisFunction,\n\tisString,\n\tmap,\n\tnegate,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tChildren,\n\tComponent,\n\tcloneElement,\n\tFragment,\n\tisEmptyElement,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { Consumer } from './context';\n\nclass SlotComponent extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.bindNode = this.bindNode.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { registerSlot } = this.props;\n\n\t\tregisterSlot( this.props.name, this );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tconst { unregisterSlot } = this.props;\n\n\t\tunregisterSlot( this.props.name, this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { name, unregisterSlot, registerSlot } = this.props;\n\n\t\tif ( prevProps.name !== name ) {\n\t\t\tunregisterSlot( prevProps.name );\n\t\t\tregisterSlot( name, this );\n\t\t}\n\t}\n\n\tbindNode( node ) {\n\t\tthis.node = node;\n\t}\n\n\trender() {\n\t\tconst { children, name, bubblesVirtually = false, fillProps = {}, getFills } = this.props;\n\n\t\tif ( bubblesVirtually ) {\n\t\t\treturn <div ref={ this.bindNode } />;\n\t\t}\n\n\t\tconst fills = map( getFills( name ), ( fill ) => {\n\t\t\tconst fillKey = fill.occurrence;\n\t\t\tconst fillChildren = isFunction( fill.props.children ) ? fill.props.children( fillProps ) : fill.props.children;\n\n\t\t\treturn Children.map( fillChildren, ( child, childIndex ) => {\n\t\t\t\tif ( ! child || isString( child ) ) {\n\t\t\t\t\treturn child;\n\t\t\t\t}\n\n\t\t\t\tconst childKey = `${ fillKey }---${ child.key || childIndex }`;\n\t\t\t\treturn cloneElement( child, { key: childKey } );\n\t\t\t} );\n\t\t} ).filter(\n\t\t\t// In some cases fills are rendered only when some conditions apply.\n\t\t\t// This ensures that we only use non-empty fills when rendering, i.e.,\n\t\t\t// it allows us to render wrappers only when the fills are actually present.\n\t\t\tnegate( isEmptyElement )\n\t\t);\n\n\t\treturn (\n\t\t\t<Fragment>\n\t\t\t\t{ isFunction( children ) ? children( fills ) : fills }\n\t\t\t</Fragment>\n\t\t);\n\t}\n}\n\nconst Slot = ( props ) => (\n\t<Consumer>\n\t\t{ ( { registerSlot, unregisterSlot, getFills } ) => (\n\t\t\t<SlotComponent\n\t\t\t\t{ ...props }\n\t\t\t\tregisterSlot={ registerSlot }\n\t\t\t\tunregisterSlot={ unregisterSlot }\n\t\t\t\tgetFills={ getFills }\n\t\t\t/>\n\t\t) }\n\t</Consumer>\n);\n\nexport default Slot;\n","export default function Spinner() {\n\treturn <span className=\"components-spinner\" />;\n}\n","/**\n * External dependencies\n */\nimport { partial, noop, find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { NavigableMenu } from '../navigable-container';\n\nconst TabButton = ( { tabId, onClick, children, selected, ...rest } ) => (\n\t<button role=\"tab\"\n\t\ttabIndex={ selected ? null : -1 }\n\t\taria-selected={ selected }\n\t\tid={ tabId }\n\t\tonClick={ onClick }\n\t\t{ ...rest }\n\t>\n\t\t{ children }\n\t</button>\n);\n\nclass TabPanel extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tconst { tabs, initialTabName } = this.props;\n\n\t\tthis.handleClick = this.handleClick.bind( this );\n\t\tthis.onNavigate = this.onNavigate.bind( this );\n\n\t\tthis.state = {\n\t\t\tselected: initialTabName || ( tabs.length > 0 ? tabs[ 0 ].name : null ),\n\t\t};\n\t}\n\n\thandleClick( tabKey ) {\n\t\tconst { onSelect = noop } = this.props;\n\t\tthis.setState( {\n\t\t\tselected: tabKey,\n\t\t} );\n\t\tonSelect( tabKey );\n\t}\n\n\tonNavigate( childIndex, child ) {\n\t\tchild.click();\n\t}\n\n\trender() {\n\t\tconst { selected } = this.state;\n\t\tconst {\n\t\t\tactiveClass = 'is-active',\n\t\t\tclassName,\n\t\t\tinstanceId,\n\t\t\torientation = 'horizontal',\n\t\t\ttabs,\n\t\t} = this.props;\n\n\t\tconst selectedTab = find( tabs, { name: selected } );\n\t\tconst selectedId = instanceId + '-' + selectedTab.name;\n\n\t\treturn (\n\t\t\t<div className={ className }>\n\t\t\t\t<NavigableMenu\n\t\t\t\t\trole=\"tablist\"\n\t\t\t\t\torientation={ orientation }\n\t\t\t\t\tonNavigate={ this.onNavigate }\n\t\t\t\t\tclassName=\"components-tab-panel__tabs\"\n\t\t\t\t>\n\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t<TabButton className={ `${ tab.className } ${ tab.name === selected ? activeClass : '' }` }\n\t\t\t\t\t\t\ttabId={ instanceId + '-' + tab.name }\n\t\t\t\t\t\t\taria-controls={ instanceId + '-' + tab.name + '-view' }\n\t\t\t\t\t\t\tselected={ tab.name === selected }\n\t\t\t\t\t\t\tkey={ tab.name }\n\t\t\t\t\t\t\tonClick={ partial( this.handleClick, tab.name ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t</TabButton>\n\t\t\t\t\t) ) }\n\t\t\t\t</NavigableMenu>\n\t\t\t\t{ selectedTab && (\n\t\t\t\t\t<div aria-labelledby={ selectedId }\n\t\t\t\t\t\trole=\"tabpanel\"\n\t\t\t\t\t\tid={ selectedId + '-view' }\n\t\t\t\t\t\tclassName=\"components-tab-panel__tab-content\"\n\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.props.children( selectedTab ) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default withInstanceId( TabPanel );\n","/**\n * WordPress dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\n\nfunction TextControl( { label, value, help, className, instanceId, onChange, type = 'text', ...props } ) {\n\tconst id = `inspector-text-control-${ instanceId }`;\n\tconst onChangeValue = ( event ) => onChange( event.target.value );\n\n\treturn (\n\t\t<BaseControl label={ label } id={ id } help={ help } className={ className }>\n\t\t\t<input className=\"components-text-control__input\"\n\t\t\t\ttype={ type }\n\t\t\t\tid={ id }\n\t\t\t\tvalue={ value }\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\taria-describedby={ !! help ? id + '__help' : undefined }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( TextControl );\n","/**\n * WordPress dependencies\n */\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BaseControl from '../base-control';\n\nfunction TextareaControl( { label, value, help, instanceId, onChange, rows = 4, className, ...props } ) {\n\tconst id = `inspector-textarea-control-${ instanceId }`;\n\tconst onChangeValue = ( event ) => onChange( event.target.value );\n\n\treturn (\n\t\t<BaseControl label={ label } id={ id } help={ help } className={ className }>\n\t\t\t<textarea\n\t\t\t\tclassName=\"components-textarea-control__input\"\n\t\t\t\tid={ id }\n\t\t\t\trows={ rows }\n\t\t\t\tonChange={ onChangeValue }\n\t\t\t\taria-describedby={ !! help ? id + '__help' : undefined }\n\t\t\t\tvalue={ value }\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nexport default withInstanceId( TextareaControl );\n","/**\n * External dependencies\n */\nimport { isFunction } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { withInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport FormToggle from '../form-toggle';\nimport BaseControl from '../base-control';\n\nclass ToggleControl extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onChange = this.onChange.bind( this );\n\t}\n\n\tonChange( event ) {\n\t\tif ( this.props.onChange ) {\n\t\t\tthis.props.onChange( event.target.checked );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { label, checked, help, instanceId } = this.props;\n\t\tconst id = `inspector-toggle-control-${ instanceId }`;\n\n\t\tlet describedBy, helpLabel;\n\t\tif ( help ) {\n\t\t\tdescribedBy = id + '__help';\n\t\t\thelpLabel = isFunction( help ) ? help( checked ) : help;\n\t\t}\n\n\t\treturn (\n\t\t\t<BaseControl\n\t\t\t\tid={ id }\n\t\t\t\thelp={ helpLabel }\n\t\t\t\tclassName=\"components-toggle-control\"\n\t\t\t>\n\t\t\t\t<FormToggle\n\t\t\t\t\tid={ id }\n\t\t\t\t\tchecked={ checked }\n\t\t\t\t\tonChange={ this.onChange }\n\t\t\t\t\taria-describedby={ describedBy }\n\t\t\t\t/>\n\t\t\t\t<label\n\t\t\t\t\thtmlFor={ id }\n\t\t\t\t\tclassName=\"components-toggle-control__label\"\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</label>\n\t\t\t</BaseControl>\n\t\t);\n\t}\n}\n\nexport default withInstanceId( ToggleControl );\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport IconButton from '../icon-button';\nimport ToolbarButtonContainer from './toolbar-button-container';\n\nfunction ToolbarButton( {\n\tcontainerClassName,\n\ticon,\n\ttitle,\n\tshortcut,\n\tsubscript,\n\tonClick,\n\tclassName,\n\tisActive,\n\tisDisabled,\n\textraProps,\n\tchildren,\n} ) {\n\treturn (\n\t\t<ToolbarButtonContainer className={ containerClassName }>\n\t\t\t<IconButton\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ title }\n\t\t\t\tshortcut={ shortcut }\n\t\t\t\tdata-subscript={ subscript }\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\tonClick();\n\t\t\t\t} }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'components-toolbar__control',\n\t\t\t\t\tclassName,\n\t\t\t\t\t{ 'is-active': isActive }\n\t\t\t\t) }\n\t\t\t\taria-pressed={ isActive }\n\t\t\t\tdisabled={ isDisabled }\n\t\t\t\t{ ...extraProps }\n\t\t\t/>\n\t\t\t{ children }\n\t\t</ToolbarButtonContainer>\n\t);\n}\n\nexport default ToolbarButton;\n","const ToolbarButtonContainer = ( props ) => (\n\t<div\n\t\tclassName={ props.className }\n\t>\n\t\t{ props.children }\n\t</div>\n);\nexport default ToolbarButtonContainer;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { flatMap } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport ToolbarButton from '../toolbar-button';\nimport DropdownMenu from '../dropdown-menu';\nimport ToolbarContainer from './toolbar-container';\n\n/**\n * Renders a toolbar with controls.\n *\n * The `controls` prop accepts an array of sets. A set is an array of controls.\n * Controls have the following shape:\n *\n * ```\n * {\n * icon: string,\n * title: string,\n * subscript: string,\n * onClick: Function,\n * isActive: boolean,\n * isDisabled: boolean\n * }\n * ```\n *\n * For convenience it is also possible to pass only an array of controls. It is\n * then assumed this is the only set.\n *\n * Either `controls` or `children` is required, otherwise this components\n * renders nothing.\n *\n * @param {?Array} controls The controls to render in this toolbar.\n * @param {?ReactElement} children Any other things to render inside the\n * toolbar besides the controls.\n * @param {?string} className Class to set on the container div.\n *\n * @return {ReactElement} The rendered toolbar.\n */\nfunction Toolbar( { controls = [], children, className, isCollapsed, icon, label } ) {\n\tif (\n\t\t( ! controls || ! controls.length ) &&\n\t\t! children\n\t) {\n\t\treturn null;\n\t}\n\n\t// Normalize controls to nested array of objects (sets of controls)\n\tlet controlSets = controls;\n\tif ( ! Array.isArray( controlSets[ 0 ] ) ) {\n\t\tcontrolSets = [ controlSets ];\n\t}\n\n\tif ( isCollapsed ) {\n\t\treturn (\n\t\t\t<DropdownMenu\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ label }\n\t\t\t\tcontrols={ controlSets }\n\t\t\t\tclassName={ classnames( 'components-toolbar', className ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ToolbarContainer className={ classnames( 'components-toolbar', className ) }>\n\t\t\t{ flatMap( controlSets, ( controlSet, indexOfSet ) => (\n\t\t\t\tcontrolSet.map( ( control, indexOfControl ) => (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tkey={ [ indexOfSet, indexOfControl ].join() }\n\t\t\t\t\t\tcontainerClassName={ indexOfSet > 0 && indexOfControl === 0 ? 'has-left-divider' : null }\n\t\t\t\t\t\t{ ...control }\n\t\t\t\t\t/>\n\t\t\t\t) )\n\t\t\t) ) }\n\t\t\t{ children }\n\t\t</ToolbarContainer>\n\t);\n}\n\nexport default Toolbar;\n","/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nconst ToolbarContainer = ( props ) => (\n\t<div className={ classnames( 'components-toolbar', props.className ) }>\n\t\t{ props.children }\n\t</div>\n);\nexport default ToolbarContainer;\n","/**\n * External dependencies\n */\nimport { debounce, includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tComponent,\n\tChildren,\n\tcloneElement,\n\tconcatChildren,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Popover from '../popover';\nimport Shortcut from '../shortcut';\n\n/**\n * Time over children to wait before showing tooltip\n *\n * @type {Number}\n */\nconst TOOLTIP_DELAY = 700;\n\nclass Tooltip extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.delayedSetIsOver = debounce(\n\t\t\t( isOver ) => this.setState( { isOver } ),\n\t\t\tTOOLTIP_DELAY\n\t\t);\n\n\t\tthis.state = {\n\t\t\tisOver: false,\n\t\t};\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.delayedSetIsOver.cancel();\n\t}\n\n\temitToChild( eventName, event ) {\n\t\tconst { children } = this.props;\n\t\tif ( Children.count( children ) !== 1 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst child = Children.only( children );\n\t\tif ( typeof child.props[ eventName ] === 'function' ) {\n\t\t\tchild.props[ eventName ]( event );\n\t\t}\n\t}\n\n\tcreateToggleIsOver( eventName, isDelayed ) {\n\t\treturn ( event ) => {\n\t\t\t// Preserve original child callback behavior\n\t\t\tthis.emitToChild( eventName, event );\n\n\t\t\t// Mouse events behave unreliably in React for disabled elements,\n\t\t\t// firing on mouseenter but not mouseleave. Further, the default\n\t\t\t// behavior for disabled elements in some browsers is to ignore\n\t\t\t// mouse events. Don't bother trying to to handle them.\n\t\t\t//\n\t\t\t// See: https://github.com/facebook/react/issues/4251\n\t\t\tif ( event.currentTarget.disabled ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Needed in case unsetting is over while delayed set pending, i.e.\n\t\t\t// quickly blur/mouseleave before delayedSetIsOver is called\n\t\t\tthis.delayedSetIsOver.cancel();\n\n\t\t\tconst isOver = includes( [ 'focus', 'mouseenter' ], event.type );\n\t\t\tif ( isOver === this.state.isOver ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( isDelayed ) {\n\t\t\t\tthis.delayedSetIsOver( isOver );\n\t\t\t} else {\n\t\t\t\tthis.setState( { isOver } );\n\t\t\t}\n\t\t};\n\t}\n\n\trender() {\n\t\tconst { children, position, text, shortcut } = this.props;\n\t\tif ( Children.count( children ) !== 1 ) {\n\t\t\tif ( 'development' === process.env.NODE_ENV ) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.error( 'Tooltip should be called with only a single child element.' );\n\t\t\t}\n\n\t\t\treturn children;\n\t\t}\n\n\t\tconst child = Children.only( children );\n\t\tconst { isOver } = this.state;\n\t\treturn cloneElement( child, {\n\t\t\tonMouseEnter: this.createToggleIsOver( 'onMouseEnter', true ),\n\t\t\tonMouseLeave: this.createToggleIsOver( 'onMouseLeave' ),\n\t\t\tonClick: this.createToggleIsOver( 'onClick' ),\n\t\t\tonFocus: this.createToggleIsOver( 'onFocus' ),\n\t\t\tonBlur: this.createToggleIsOver( 'onBlur' ),\n\t\t\tchildren: concatChildren(\n\t\t\t\tchild.props.children,\n\t\t\t\tisOver && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tfocusOnMount={ false }\n\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\tclassName=\"components-tooltip\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ text }\n\t\t\t\t\t\t<Shortcut className=\"components-tooltip__shortcut\" shortcut={ shortcut } />\n\t\t\t\t\t</Popover>\n\t\t\t\t),\n\t\t\t),\n\t\t} );\n\t}\n}\n\nexport default Tooltip;\n","/**\n * External dependencies\n */\nimport { unescape as unescapeString, repeat, flatMap, compact } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport { SelectControl } from '../';\n\nfunction getSelectOptions( tree, level = 0 ) {\n\treturn flatMap( tree, ( treeNode ) => [\n\t\t{\n\t\t\tvalue: treeNode.id,\n\t\t\tlabel: repeat( '\\u00A0', level * 3 ) + unescapeString( treeNode.name ),\n\t\t},\n\t\t...getSelectOptions( treeNode.children || [], level + 1 ),\n\t] );\n}\n\nexport default function TreeSelect( {\n\tlabel,\n\tnoOptionLabel,\n\tonChange,\n\tselectedId,\n\ttree,\n\t...props\n} ) {\n\tconst options = compact( [\n\t\tnoOptionLabel && { value: '', label: noOptionLabel },\n\t\t...getSelectOptions( tree ),\n\t] );\n\treturn (\n\t\t<SelectControl\n\t\t\t{ ...{ label, options, onChange } }\n\t\t\tvalue={ selectedId }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n","import wrapValidator from './helpers/wrapValidator';\n\nexport default function andValidator(validators, name = 'and') {\n if (!Array.isArray(validators)) {\n throw new TypeError('and: 2 or more validators are required');\n }\n if (validators.length <= 1) {\n throw new RangeError('and: 2 or more validators are required');\n }\n\n const validator = function and(...args) {\n let firstError = null;\n validators.some((validatorFn) => {\n firstError = validatorFn(...args);\n return firstError != null;\n });\n return firstError == null ? null : firstError;\n };\n\n validator.isRequired = function andIsRequired(...args) {\n let firstError = null;\n validators.some((validatorFn) => {\n firstError = validatorFn.isRequired(...args);\n return firstError != null;\n });\n return firstError == null ? null : firstError;\n };\n\n return wrapValidator(validator, name, validators);\n}\n","import entries from 'object.entries';\n\nimport shape from './shape';\nimport valuesOf from './valuesOf';\nimport wrapValidator from './helpers/wrapValidator';\n\nfunction number(props, propName, componentName) {\n const value = props[propName];\n if (typeof value === 'number' && !isNaN(value)) {\n return null;\n }\n\n return new TypeError(`${componentName}: ${propName} must be a non-NaN number.`);\n}\n\nfunction numberOrPropsFunc(props, propName) {\n const value = props[propName];\n\n if (typeof value === 'function') {\n return null;\n }\n\n if (typeof value === 'number' && !isNaN(value)) {\n return null;\n }\n\n return new TypeError(`${propName}: a function, or a non-NaN number is required`);\n}\n\nfunction lowerCompare(value, { gt, gte }) {\n if (typeof gt === 'number') {\n return value > gt;\n }\n if (typeof gte === 'number') {\n return value >= gte;\n }\n return true;\n}\n\nfunction upperCompare(value, { lt, lte }) {\n if (typeof lt === 'number') {\n return value < lt;\n }\n if (typeof lte === 'number') {\n return value <= lte;\n }\n return true;\n}\n\nfunction greaterThanError({ gt, gte }) {\n if (typeof gt === 'number') {\n return `greater than ${gt}`;\n }\n if (typeof gte === 'number') {\n return `greater than or equal to ${gte}`;\n }\n return '';\n}\n\nfunction lessThanError({ lt, lte }) {\n if (typeof lt === 'number') {\n return `less than ${lt}`;\n }\n if (typeof lte === 'number') {\n return `less than or equal to ${lte}`;\n }\n return '';\n}\n\nfunction errorMessage(componentName, propName, opts) {\n const errors = [greaterThanError(opts), lessThanError(opts)].filter(Boolean).join(' and ');\n return `${componentName}: ${propName} must be ${errors}`;\n}\n\nfunction propsThunkify(opts) {\n return entries(opts).reduce((acc, [key, value]) => {\n const numberThunk = typeof value === 'number' ? () => value : value;\n return { ...acc, [key]: numberThunk };\n }, {});\n}\n\nfunction invokeWithProps(optsThunks, props) {\n return entries(optsThunks).reduce((acc, [key, thunk]) => {\n const value = thunk(props);\n return { ...acc, [key]: value };\n }, {});\n}\n\nconst argValidators = [\n shape({ lt: numberOrPropsFunc, gt: numberOrPropsFunc }).isRequired,\n shape({ lte: numberOrPropsFunc, gt: numberOrPropsFunc }).isRequired,\n shape({ lt: numberOrPropsFunc, gte: numberOrPropsFunc }).isRequired,\n shape({ lte: numberOrPropsFunc, gte: numberOrPropsFunc }).isRequired,\n shape({ lt: numberOrPropsFunc }).isRequired,\n shape({ lte: numberOrPropsFunc }).isRequired,\n shape({ gt: numberOrPropsFunc }).isRequired,\n shape({ gte: numberOrPropsFunc }).isRequired,\n];\nfunction argValidator(props, propName) {\n return argValidators.every(validator => !!validator(props, propName));\n}\n\nconst thunkValueValidator = valuesOf(number).isRequired;\n\nexport default function betweenValidator(options) {\n const argError = argValidator({ options }, 'options');\n if (argError) {\n throw new TypeError('between: only one of the pairs of `lt`/`lte`, and `gt`/`gte`, may be supplied, and at least one pair must be provided.');\n }\n\n const optsThunks = propsThunkify(options);\n\n const validator = function between(props, propName, componentName, ...rest) {\n const { [propName]: propValue } = props;\n if (propValue == null) {\n return null;\n }\n\n if (typeof propValue !== 'number') {\n return new RangeError(`${componentName}: ${propName} must be a number, got \"${typeof propValue}\"`);\n }\n\n const opts = invokeWithProps(optsThunks, props);\n const thunkValuesError = thunkValueValidator(\n { [propName]: opts },\n propName,\n componentName,\n ...rest,\n );\n if (thunkValuesError) {\n return thunkValuesError;\n }\n\n if (!lowerCompare(propValue, opts) || !upperCompare(propValue, opts)) {\n return new RangeError(errorMessage(componentName, propName, opts));\n }\n\n return null;\n };\n validator.isRequired = function betweenRequired(props, propName, componentName, ...rest) {\n const { [propName]: propValue } = props;\n if (typeof propValue !== 'number') {\n return new RangeError(`${componentName}: ${propName} must be a number, got \"${typeof propValue}\"`);\n }\n\n const opts = invokeWithProps(optsThunks, props);\n const thunkValuesError = thunkValueValidator(\n { [propName]: opts },\n propName,\n componentName,\n ...rest,\n );\n if (thunkValuesError) {\n return thunkValuesError;\n }\n\n if (!lowerCompare(propValue, opts) || !upperCompare(propValue, opts)) {\n return new RangeError(errorMessage(componentName, propName, opts));\n }\n\n return null;\n };\n\n return wrapValidator(validator, 'between', options);\n}\n","import { bool } from 'prop-types';\nimport wrapValidator from './helpers/wrapValidator';\n\nexport default function booleanSomeValidator(...notAllPropsFalse) {\n if (notAllPropsFalse.length < 1) {\n throw new TypeError('at least one prop (one of which must be `true`) is required');\n }\n if (!notAllPropsFalse.every(x => typeof x === 'string')) {\n throw new TypeError('all booleanSome props must be strings');\n }\n\n const propsList = notAllPropsFalse.join(', or ');\n\n const validator = function booleanSome(props, propName, componentName, ...rest) {\n const countFalse = (count, prop) => (count + (props[prop] === false ? 1 : 0));\n\n const falsePropCount = notAllPropsFalse.reduce(countFalse, 0);\n if (falsePropCount === notAllPropsFalse.length) {\n return new Error(`A ${componentName} must have at least one of these boolean props be \\`true\\`: ${propsList}`);\n }\n return bool(props, propName, componentName, ...rest);\n };\n\n validator.isRequired = function booleanSomeRequired(\n props,\n propName,\n componentName,\n ...rest\n ) {\n const countFalse = (count, prop) => (count + (props[prop] === false ? 1 : 0));\n\n const falsePropCount = notAllPropsFalse.reduce(countFalse, 0);\n if (falsePropCount === notAllPropsFalse.length) {\n return new Error(`A ${componentName} must have at least one of these boolean props be \\`true\\`: ${propsList}`);\n }\n return bool.isRequired(props, propName, componentName, ...rest);\n };\n\n return wrapValidator(validator, `booleanSome: ${propsList}`, notAllPropsFalse);\n}\n","import React from 'react';\nimport wrapValidator from './helpers/wrapValidator';\n\nexport default function childrenHavePropXorChildren(prop) {\n if (typeof prop !== 'string' && typeof prop !== 'symbol') {\n throw new TypeError('invalid prop: must be string or symbol');\n }\n\n const validator = function childrenHavePropXorChildrenWithProp({ children }, _, componentName) {\n let truthyChildrenCount = 0;\n let propCount = 0;\n let grandchildrenCount = 0;\n\n React.Children.forEach(children, (child) => {\n if (!child) {\n return;\n }\n\n truthyChildrenCount += 1;\n\n if (child.props[prop]) {\n propCount += 1;\n }\n\n if (React.Children.count(child.props.children)) {\n grandchildrenCount += 1;\n }\n });\n\n if (\n (propCount === truthyChildrenCount && grandchildrenCount === 0)\n || (propCount === 0 && grandchildrenCount === truthyChildrenCount)\n || (propCount === 0 && grandchildrenCount === 0)\n ) {\n return null;\n }\n\n return new TypeError(`\\`${componentName}\\` requires children to all have prop “${prop}”, all have children, or all have neither.`);\n };\n validator.isRequired = validator;\n\n return wrapValidator(validator, `childrenHavePropXorChildrenWithProp:${prop}`, prop);\n}\n","import renderableChildren from './helpers/renderableChildren';\nimport wrapValidator from './helpers/wrapValidator';\n\nfunction validateChildren(propType, children, props, ...rest) {\n let error;\n children.some((child) => {\n error = propType({ ...props, children: child }, 'children', ...rest);\n return error;\n });\n\n return error || null;\n}\n\nexport default function childrenOf(propType) {\n function childrenOfPropType(props, propName, componentName, ...rest) {\n if (propName !== 'children') {\n return new TypeError(`${componentName} is using the childrenOf validator on non-children prop \"${propName}\"`);\n }\n\n const { [propName]: propValue } = props;\n\n if (propValue == null) {\n return null;\n }\n const children = renderableChildren(propValue);\n if (children.length === 0) {\n return null;\n }\n\n return validateChildren(propType, children, props, componentName, ...rest);\n }\n\n childrenOfPropType.isRequired = (props, propName, componentName, ...rest) => {\n if (propName !== 'children') {\n return new TypeError(`${componentName} is using the childrenOf validator on non-children prop \"${propName}\"`);\n }\n\n const children = renderableChildren(props[propName]);\n if (children.length === 0) {\n return new TypeError(`\\`${componentName}\\` requires at least one node of type ${propType.typeName || propType.name}`);\n }\n\n return validateChildren(propType, children, props, componentName, ...rest);\n };\n\n return wrapValidator(childrenOfPropType, 'childrenOf', propType);\n}\n","import find from 'array.prototype.find';\n\nimport getComponentName from './helpers/getComponentName';\nimport renderableChildren from './helpers/renderableChildren';\nimport wrapValidator from './helpers/wrapValidator';\n\nfunction onlyTypes(types, children, componentName) {\n if (!children.every(child => child && find(types, Type => Type === '*' || child.type === Type))) {\n const typeNames = types.map(getComponentName).join(', or ');\n return new TypeError(\n `\\`${componentName}\\` only accepts children of type ${typeNames}`,\n );\n }\n return null;\n}\n\nfunction isRequired(types, children, componentName) {\n if (children.length === 0) {\n const typeNames = types.map(getComponentName).join(', or ');\n return new TypeError(`\\`${componentName}\\` requires at least one node of type ${typeNames}`);\n }\n return null;\n}\n\nfunction childrenOfType(...types) {\n if (types.length < 1) {\n throw new TypeError('childrenOfType: at least 1 type is required');\n }\n\n function validator(props, propName, componentName) {\n return onlyTypes(types, renderableChildren(props[propName]), componentName);\n }\n\n validator.isRequired = (props, propName, componentName) => {\n const children = renderableChildren(props[propName]);\n return isRequired(types, children, componentName) || onlyTypes(types, children, componentName);\n };\n\n return wrapValidator(validator, 'childrenOfType', types);\n}\n\nexport default childrenOfType;\n","import sequenceOf from './sequenceOf';\nimport renderableChildren from './helpers/renderableChildren';\nimport wrapValidator from './helpers/wrapValidator';\n\nexport default function childrenSequenceOfValidator(...specifiers) {\n const seq = sequenceOf(...specifiers);\n\n const validator = function childrenSequenceOf(props, propName, componentName, ...rest) {\n if (propName !== 'children') {\n return new TypeError(`${componentName} is using the childrenSequenceOf validator on non-children prop \"${propName}\"`);\n }\n\n const { [propName]: propValue } = props;\n const children = renderableChildren(propValue);\n if (children.length === 0) {\n return null;\n }\n return seq({ ...props, children }, propName, componentName, ...rest);\n };\n\n validator.isRequired = function childrenSequenceOfRequired(\n props,\n propName,\n componentName,\n ...rest\n ) {\n if (propName !== 'children') {\n return new TypeError(`${componentName} is using the childrenSequenceOf validator on non-children prop \"${propName}\"`);\n }\n\n const { [propName]: propValue } = props;\n const children = renderableChildren(propValue);\n if (children.length === 0) {\n return new TypeError(`${componentName}: renderable children are required.`);\n }\n return seq.isRequired({ ...props, children }, propName, componentName, ...rest);\n };\n\n return wrapValidator(validator, 'childrenSequenceOf', specifiers);\n}\n","import React from 'react';\nimport isRegex from 'is-regex';\nimport find from 'array.prototype.find';\n\nimport getComponentName from './helpers/getComponentName';\nimport wrapValidator from './helpers/wrapValidator';\n\nfunction stripHOCs(fullName, namesOfHOCsToStrip) {\n let innerName = fullName;\n while ((/\\([^()]*\\)/g).test(innerName)) {\n let HOC = innerName;\n let previousHOC;\n do {\n previousHOC = HOC;\n HOC = previousHOC.replace(/\\([^()]*\\)/g, '');\n } while (previousHOC !== HOC);\n\n if (namesOfHOCsToStrip.indexOf(HOC) === -1) {\n return innerName;\n }\n innerName = innerName.replace(RegExp(`^${HOC}\\\\(|\\\\)$`, 'g'), '');\n }\n return innerName;\n}\n\nfunction hasName(name, namesOfHOCsToStrip, propValue, propName, componentName, ...rest) {\n if (Array.isArray(propValue)) {\n return find(\n propValue.map(item => hasName(\n name,\n namesOfHOCsToStrip,\n item,\n propName,\n componentName,\n ...rest,\n )),\n Boolean,\n ) || null;\n }\n\n if (!React.isValidElement(propValue)) {\n return new TypeError(\n `${componentName}.${propName} is not a valid React element`,\n );\n }\n\n const { type } = propValue;\n const componentNameFromType = getComponentName(type);\n const innerComponentName = namesOfHOCsToStrip.length > 0\n ? stripHOCs(componentNameFromType, namesOfHOCsToStrip)\n : componentNameFromType;\n\n if (isRegex(name) && !name.test(innerComponentName)) {\n return new TypeError(\n `\\`${componentName}.${propName}\\` only accepts components matching the regular expression ${name}`,\n );\n }\n\n if (!isRegex(name) && innerComponentName !== name) {\n return new TypeError(\n `\\`${componentName}.${propName}\\` only accepts components named ${name}, got ${innerComponentName}`,\n );\n }\n\n return null;\n}\n\nexport default function componentWithName(\n name,\n options = {},\n) {\n if (typeof name !== 'string' && !isRegex(name)) {\n throw new TypeError('name must be a string or a regex');\n }\n\n const passedOptions = Object.keys(options);\n if (passedOptions.length > 1 || (passedOptions.length === 1 && passedOptions[0] !== 'stripHOCs')) {\n throw new TypeError(`The only options supported are: “stripHOCs”, got: “${passedOptions.join('”, “')}”`);\n }\n const { stripHOCs: namesOfHOCsToStrip = [] } = options;\n\n const allHOCNamesAreValid = namesOfHOCsToStrip.every((x) => {\n if (typeof x !== 'string' || /[()]/g.test(x)) {\n return false;\n }\n return /^(?:[a-z][a-zA-Z0-9]+|[A-Z][a-z][a-zA-Z0-9]+)$/.test(x);\n });\n if (!allHOCNamesAreValid) {\n throw new TypeError('every provided HOC name must be a string with no parens, and in camelCase');\n }\n\n function componentWithNameValidator(props, propName, componentName, ...rest) {\n const { [propName]: propValue } = props;\n if (props[propName] == null) {\n return null;\n }\n return hasName(name, namesOfHOCsToStrip, propValue, propName, componentName, ...rest);\n }\n\n componentWithNameValidator.isRequired = function componentWithNameRequired(\n props,\n propName,\n componentName,\n ...rest\n ) {\n const { [propName]: propValue } = props;\n if (propValue == null) {\n return new TypeError(`\\`${componentName}.${propName}\\` requires at least one component named ${name}`);\n }\n return hasName(name, namesOfHOCsToStrip, propValue, propName, componentName, ...rest);\n };\n\n return wrapValidator(componentWithNameValidator, `componentWithName:${name}`, name);\n}\n","import wrapValidator from './helpers/wrapValidator';\n\nexport default function disallowedIf(propType, otherPropName, otherPropType) {\n if (typeof propType !== 'function' || typeof propType.isRequired !== 'function') {\n throw new TypeError('a propType validator is required; propType validators must also provide `.isRequired`');\n }\n\n if (typeof otherPropName !== 'string') {\n throw new TypeError('other prop name must be a string');\n }\n\n if (typeof otherPropType !== 'function') {\n throw new TypeError('other prop type validator is required');\n }\n\n function disallowedIfRequired(props, propName, componentName, ...rest) {\n const error = propType.isRequired(props, propName, componentName, ...rest);\n if (error) {\n return error;\n }\n\n if (props[otherPropName] == null) {\n return null;\n }\n\n const otherError = otherPropType(props, otherPropName, componentName, ...rest);\n if (otherError) {\n return null;\n }\n return new Error(`prop “${propName}” is disallowed when “${otherPropName}” matches the provided validator`);\n }\n\n const validator = function disallowedIfPropType(props, propName, ...rest) {\n if (props[propName] == null) {\n return null;\n }\n return disallowedIfRequired(props, propName, ...rest);\n };\n\n validator.isRequired = disallowedIfRequired;\n\n return wrapValidator(validator, 'disallowedIf', { propType, otherPropName, otherPropType });\n}\n","import { element } from 'prop-types';\nimport and from './and';\nimport getComponentName from './helpers/getComponentName';\nimport wrapValidator from './helpers/wrapValidator';\n\nfunction getTypeName(Type) {\n if (typeof Type === 'string') {\n return Type;\n }\n const type = getComponentName(Type);\n\n /* istanbul ignore next */ // in environments where functions do not have names\n return type || 'Anonymous Component';\n}\n\nfunction validateElementType(Type, props, propName, componentName) {\n const { type } = props[propName];\n\n if (type === Type) {\n return null;\n }\n\n return new TypeError(`${componentName}.${propName} must be a React element of type ${getTypeName(Type)}`);\n}\n\nexport default function elementTypeValidator(Type) {\n if (Type === '*') {\n return wrapValidator(element, 'elementType(*)', Type);\n }\n\n if (typeof Type !== 'string' && typeof Type !== 'function') {\n throw new TypeError(`Type must be a React Component, an HTML element tag name, or \"*\". Got an ${typeof Type}`);\n }\n\n function elementType(props, propName, componentName, ...rest) {\n if (props[propName] == null) {\n return null;\n }\n return validateElementType(Type, props, propName, componentName, ...rest);\n }\n elementType.isRequired = elementType; // covered by and + element\n\n const typeName = getTypeName(Type);\n const validatorName = `elementType(${typeName})`;\n return wrapValidator(and([element, elementType], validatorName), validatorName, Type);\n}\n","import wrapValidator from './helpers/wrapValidator';\n\nfunction explicitNull(props, propName, componentName) {\n if (props[propName] == null) {\n return null;\n }\n return new TypeError(`${componentName}: prop “${propName}” must be null or undefined; received ${typeof props[propName]}`);\n}\nexplicitNull.isRequired = function explicitNullRequired(props, propName, componentName) {\n if (props[propName] === null) {\n return null;\n }\n return new TypeError(`${componentName}: prop “${propName}” must be null; received ${typeof props[propName]}`);\n};\n\nexport default () => wrapValidator(explicitNull, 'explicitNull');\n","import getFunctionName from 'function.prototype.name';\n\nexport default function getComponentName(Component) {\n if (typeof Component === 'string') {\n return Component;\n }\n if (typeof Component === 'function') {\n return Component.displayName || getFunctionName(Component);\n }\n return null;\n}\n","const { floor } = Math;\nconst finite = isFinite;\n\nexport default Number.isInteger || /* istanbul ignore next */ (x => (typeof x === 'number' && finite(x) && floor(x) === x));\n","export default function isPlainObject(x) {\n return x && typeof x === 'object' && !Array.isArray(x);\n}\n","export default function isPrimitive(x) {\n return !x || (typeof x !== 'object' && typeof x !== 'function');\n}\n","import React from 'react';\n\nexport default function renderableChildren(childrenProp) {\n return React.Children.toArray(childrenProp).filter(child => child === 0 || child);\n}\n","import React from 'react';\n\nexport default function typeOf(child) {\n if (child === null) {\n return 'null';\n }\n if (Array.isArray(child)) {\n return 'array';\n }\n if (typeof child !== 'object') {\n return typeof child;\n }\n if (React.isValidElement(child)) {\n return child.type;\n }\n return child;\n}\n","export default function wrapValidator(validator, typeName, typeChecker = null) {\n return Object.assign(validator.bind(), {\n typeName,\n typeChecker,\n isRequired: Object.assign(validator.isRequired.bind(), {\n typeName,\n typeChecker,\n typeRequired: true,\n }),\n });\n}\n","import has from 'has';\n\nimport isPlainObject from './helpers/isPlainObject';\n\nconst zeroWidthSpace = '\\u200b';\nconst specialProperty = `prop-types-exact: ${zeroWidthSpace}`;\nconst semaphore = typeof Symbol === 'function' && typeof Symbol['for'] === 'function' ? Symbol['for'](specialProperty) : /* istanbul ignore next */ specialProperty;\n\nfunction brand(fn) {\n return Object.assign(fn, { [specialProperty]: semaphore });\n}\n\nfunction isBranded(value) {\n return value && value[specialProperty] === semaphore;\n}\n\nexport default function forbidExtraProps(propTypes) {\n if (!isPlainObject(propTypes)) {\n throw new TypeError('given propTypes must be an object');\n }\n if (has(propTypes, specialProperty) && !isBranded(propTypes[specialProperty])) {\n throw new TypeError('Against all odds, you created a propType for a prop that uses both the zero-width space and our custom string - which, sadly, conflicts with `prop-types-exact`');\n }\n\n return {\n ...propTypes,\n // eslint-disable-next-line prefer-arrow-callback\n [specialProperty]: brand(function forbidUnknownProps(props, _, componentName) {\n const unknownProps = Object.keys(props).filter(prop => !has(propTypes, prop));\n if (unknownProps.length > 0) {\n return new TypeError(`${componentName}: unknown props found: ${unknownProps.join(', ')}`);\n }\n return null;\n }),\n };\n}\n","import isInteger from './helpers/isInteger';\nimport wrapValidator from './helpers/wrapValidator';\n\nfunction requiredInteger(props, propName, componentName) {\n const { [propName]: propValue } = props;\n if (propValue == null || !isInteger(propValue)) {\n return new RangeError(`${propName} in ${componentName} must be an integer`);\n }\n return null;\n}\n\nconst validator = function integer(props, propName, ...rest) {\n const { [propName]: propValue } = props;\n\n if (propValue == null) {\n return null;\n }\n\n return requiredInteger(props, propName, ...rest);\n};\n\nvalidator.isRequired = requiredInteger;\n\nexport default () => wrapValidator(validator, 'integer');\n","import isPrimitive from './helpers/isPrimitive';\nimport wrapValidator from './helpers/wrapValidator';\n\nexport default function keysOfValidator(propType, name = 'keysOf') {\n if (typeof propType !== 'function') {\n throw new TypeError('argument to keysOf must be a valid PropType function');\n }\n\n const validator = function keysOf(\n props,\n propName,\n componentName,\n location,\n propFullName,\n ...rest\n ) {\n const { [propName]: propValue } = props;\n\n if (propValue == null || isPrimitive(propValue)) {\n return null;\n }\n\n let firstError = null;\n Object.keys(propValue).some((key) => {\n firstError = propType(\n { [key]: key },\n key,\n componentName,\n location,\n `(${propFullName}).${key}`,\n ...rest,\n );\n return firstError != null;\n });\n return firstError || null;\n };\n\n validator.isRequired = function keyedByRequired(props, propName, componentName, ...rest) {\n const { [propName]: propValue } = props;\n\n if (propValue == null) {\n return new TypeError(`${componentName}: ${propName} is required, but value is ${propValue}`);\n }\n\n return validator(props, propName, componentName, ...rest);\n };\n\n return wrapValidator(validator, name, propType);\n}\n","import wrapValidator from './helpers/wrapValidator';\n\nexport default function mutuallyExclusiveOfType(propType, ...exclusiveProps) {\n if (typeof propType !== 'function') {\n throw new TypeError('a propType is required');\n }\n\n if (exclusiveProps.length < 1) {\n throw new TypeError('at least one prop that is mutually exclusive with this propType is required');\n }\n\n const propList = exclusiveProps.join(', or ');\n\n const map = exclusiveProps.reduce((acc, prop) => ({ ...acc, [prop]: true }), {});\n const countProps = (count, prop) => (count + (map[prop] ? 1 : 0));\n\n const validator = function mutuallyExclusiveProps(props, propName, componentName, ...rest) {\n const exclusivePropCount = Object.keys(props)\n .filter(prop => props[prop] != null)\n .reduce(countProps, 0);\n if (exclusivePropCount > 1) {\n return new Error(`A ${componentName} cannot have more than one of these props: ${propList}`);\n }\n return propType(props, propName, componentName, ...rest);\n };\n\n validator.isRequired = function mutuallyExclusivePropsRequired(\n props,\n propName,\n componentName,\n ...rest\n ) {\n const exclusivePropCount = Object.keys(props)\n .filter(prop => prop === propName || props[prop] != null)\n .reduce(countProps, 0);\n if (exclusivePropCount > 1) {\n return new Error(`A ${componentName} cannot have more than one of these props: ${propList}`);\n }\n return propType(props, propName, componentName, ...rest);\n };\n\n return wrapValidator(validator, `mutuallyExclusiveProps:${propList}`, exclusiveProps);\n}\n","import { bool } from 'prop-types';\nimport wrapValidator from './helpers/wrapValidator';\n\nexport default function mutuallyExclusiveTrue(...exclusiveProps) {\n if (exclusiveProps.length < 1) {\n throw new TypeError('at least one prop that is mutually exclusive is required');\n }\n if (!exclusiveProps.every(x => typeof x === 'string')) {\n throw new TypeError('all exclusive true props must be strings');\n }\n\n const propsList = exclusiveProps.join(', or ');\n\n const validator = function mutuallyExclusiveTrueProps(props, propName, componentName, ...rest) {\n const countProps = (count, prop) => (count + (props[prop] ? 1 : 0));\n\n const exclusivePropCount = exclusiveProps.reduce(countProps, 0);\n if (exclusivePropCount > 1) {\n return new Error(`A ${componentName} cannot have more than one of these boolean props be true: ${propsList}`);\n }\n return bool(props, propName, componentName, ...rest);\n };\n\n validator.isRequired = function mutuallyExclusiveTruePropsRequired(\n props,\n propName,\n componentName,\n ...rest\n ) {\n const countProps = (count, prop) => (count + (props[prop] ? 1 : 0));\n\n const exclusivePropCount = exclusiveProps.reduce(countProps, 0);\n if (exclusivePropCount > 1) {\n return new Error(`A ${componentName} cannot have more than one of these boolean props be true: ${propsList}`);\n }\n return bool.isRequired(props, propName, componentName, ...rest);\n };\n\n return wrapValidator(validator, `mutuallyExclusiveTrueProps: ${propsList}`, exclusiveProps);\n}\n","import React from 'react';\nimport { node } from 'prop-types';\nimport wrapValidator from './helpers/wrapValidator';\n\nexport default function nChildren(n, propType = node) {\n if (typeof n !== 'number' || isNaN(n) || n < 0) {\n throw new TypeError('a non-negative number is required');\n }\n\n const validator = function nChildrenValidator(props, propName, componentName, ...rest) {\n if (propName !== 'children') {\n return new TypeError(`${componentName} is using the nChildren validator on a non-children prop`);\n }\n\n const { children } = props;\n const childrenCount = React.Children.count(children);\n\n if (childrenCount !== n) {\n return new RangeError(\n `${componentName} expects to receive ${n} children, but received ${childrenCount} children.`,\n );\n }\n return propType(props, propName, componentName, ...rest);\n };\n validator.isRequired = validator;\n\n return wrapValidator(validator, `nChildren:${n}`, n);\n}\n","import and from './and';\nimport integer from './integer';\nimport nonNegativeNumber from './nonNegativeNumber';\n\nexport default and([integer(), nonNegativeNumber()], 'nonNegativeInteger');\n","import is from 'object-is';\nimport wrapValidator from './helpers/wrapValidator';\n\nfunction isNonNegative(x) {\n return typeof x === 'number' && isFinite(x) && x >= 0 && !is(x, -0);\n}\n\nfunction nonNegativeNumber(props, propName, componentName) {\n const value = props[propName];\n\n if (value == null || isNonNegative(value)) {\n return null;\n }\n\n return new RangeError(`${propName} in ${componentName} must be a non-negative number`);\n}\n\nfunction requiredNonNegativeNumber(props, propName, componentName) {\n const value = props[propName];\n\n if (isNonNegative(value)) {\n return null;\n }\n\n return new RangeError(`${propName} in ${componentName} must be a non-negative number`);\n}\n\nnonNegativeNumber.isRequired = requiredNonNegativeNumber;\n\nexport default () => wrapValidator(nonNegativeNumber, 'nonNegativeNumber');\n","import { string } from 'prop-types';\nimport wrapValidator from './helpers/wrapValidator';\n\nconst validNumericChars = /^[-+]?(?:[1-9][0-9]*(?:\\.[0-9]+)?|0|0\\.[0-9]+)$/;\n\nconst validator = function numericString(props, propName, componentName, ...rest) {\n if (props[propName] == null) {\n return null;\n }\n\n const stringError = string(props, propName, componentName, ...rest);\n if (stringError) {\n return stringError;\n }\n\n const value = props[propName];\n\n const passesRegex = validNumericChars.test(value);\n if (passesRegex) {\n return null;\n }\n\n return new TypeError(`${componentName}: prop \"${propName}\" (value \"${value}\") must be a numeric string:\n - starting with an optional + or -\n - that does not have a leading zero\n - with an optional decimal part (that contains only one decimal point, if present)\n - that otherwise only contains digits (0-9)\n - not +-NaN, or +-Infinity\n `);\n};\n\nvalidator.isRequired = function numericStringRequired(props, propName, componentName, ...rest) {\n if (props[propName] == null) {\n return new TypeError(`${componentName}: ${propName} is required`);\n }\n return validator(props, propName, componentName, ...rest);\n};\n\nexport default () => wrapValidator(validator, 'numericString');\n","import isPlainObject from './helpers/isPlainObject';\nimport typeOf from './helpers/typeOf';\nimport wrapValidator from './helpers/wrapValidator';\n\n/*\n code adapted from https://github.com/facebook/react/blob/14156e56b9cf18ac86963185c5af4abddf3ff811/src/isomorphic/classic/types/ReactPropTypes.js#L202-L206\n so that it can be called outside of React's normal PropType flow\n*/\n\nconst ReactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context',\n};\n\nfunction object(props, propName, componentName, location, propFullName) {\n const { [propName]: propValue } = props;\n if (propValue == null) {\n return null;\n }\n\n if (isPlainObject(propValue)) {\n return null;\n }\n const locationName = ReactPropTypeLocationNames[location] || location;\n return new TypeError(`Invalid ${locationName} \\`${propFullName}\\` of type \\`${typeOf(propValue)}\\` supplied to \\`${componentName}\\`, expected \\`object\\`.`);\n}\nobject.isRequired = function objectRequired(\n props,\n propName,\n componentName,\n location,\n propFullName,\n ...rest\n) {\n const { [propName]: propValue } = props;\n if (propValue == null) {\n const locationName = ReactPropTypeLocationNames[location] || location;\n return new TypeError(`The ${locationName} \\`${propFullName}\\` is marked as required in \\`${componentName}\\`, but its value is \\`${propValue}\\`.`);\n }\n return object(props, propName, componentName, location, propFullName, ...rest);\n};\n\nexport default () => wrapValidator(object, 'object');\n","import { arrayOf } from 'prop-types';\nimport wrapValidator from './helpers/wrapValidator';\n\nfunction oneOfTypeValidator(validators) {\n const validator = function oneOfType(props, propName, componentName, ...rest) {\n const { [propName]: propValue } = props;\n if (typeof propValue === 'undefined') {\n return null;\n }\n\n const errors = validators\n .map(v => v(props, propName, componentName, ...rest))\n .filter(Boolean);\n\n if (errors.length < validators.length) {\n return null;\n }\n return new TypeError(`${componentName}: invalid value supplied to ${propName}.`);\n };\n validator.isRequired = function oneOfTypeRequired(props, propName, componentName, ...rest) {\n const { [propName]: propValue } = props;\n if (typeof propValue === 'undefined') {\n return new TypeError(`${componentName}: missing value for required ${propName}.`);\n }\n\n const errors = validators\n .map(v => v(props, propName, componentName, ...rest))\n .filter(Boolean);\n\n if (errors.length === validators.length) {\n return new TypeError(`${componentName}: invalid value ${errors} supplied to required ${propName}.`);\n }\n return null;\n };\n return wrapValidator(validator, 'oneOfType', validators);\n}\n\nexport default function or(validators, name = 'or') {\n if (!Array.isArray(validators)) {\n throw new TypeError('or: 2 or more validators are required');\n }\n if (validators.length <= 1) {\n throw new RangeError('or: 2 or more validators are required');\n }\n\n const validator = oneOfTypeValidator([\n arrayOf(oneOfTypeValidator(validators)),\n ...validators,\n ]);\n\n return wrapValidator(validator, name, validators);\n}\n","import and from './and';\nimport between from './between';\nimport integer from './integer';\nimport isInteger from './helpers/isInteger';\nimport wrapValidator from './helpers/wrapValidator';\n\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */ (2 ** 53) - 1;\n\nfunction isValidLength(x) {\n return isInteger(x) && Math.abs(x) < MAX_SAFE_INTEGER;\n}\n\nexport default function range(min, max) {\n if (!isValidLength(min) || !isValidLength(max)) {\n throw new RangeError(`\"range\" requires two integers: ${min} and ${max} given`);\n }\n if (min === max) {\n throw new RangeError('min and max must not be the same');\n }\n return wrapValidator(and([integer(), between({ gte: min, lt: max })], 'range'), 'range', { min, max });\n}\n","import is from 'object-is';\nimport wrapValidator from './helpers/wrapValidator';\n\nexport default function getRequiredBy(requiredByPropName, propType, defaultValue = null) {\n function requiredBy(props, propName, componentName, ...rest) {\n if (props[requiredByPropName]) {\n const { [propName]: propValue } = props;\n if (is(propValue, defaultValue) || typeof propValue === 'undefined') {\n return new TypeError(\n `${componentName}: when ${requiredByPropName} is true, prop “${propName}” must be present.`,\n );\n }\n }\n return propType(props, propName, componentName, ...rest);\n }\n requiredBy.isRequired = function requiredByRequired(props, propName, componentName, ...rest) {\n const { [propName]: propValue } = props;\n if (is(propValue, defaultValue)) {\n return new TypeError(`${componentName}: prop “${propName}” must be present.`);\n }\n return propType.isRequired(props, propName, componentName, ...rest);\n };\n\n return wrapValidator(\n requiredBy,\n `requiredBy “${requiredByPropName}”`,\n [requiredByPropName, defaultValue],\n );\n}\n","import wrapValidator from './helpers/wrapValidator';\n\nfunction customMessageWrapper(messsageFunction) {\n function restrictedProp(props, propName, componentName, location, ...rest) {\n if (props[propName] == null) {\n return null;\n }\n\n if (messsageFunction && typeof messsageFunction === 'function') {\n return new TypeError(messsageFunction(props, propName, componentName, location, ...rest));\n }\n return new TypeError(`The ${propName} ${location} on ${componentName} is not allowed.`);\n }\n restrictedProp.isRequired = restrictedProp;\n return restrictedProp;\n}\n\nexport default (messsageFunction = null) => wrapValidator(customMessageWrapper(messsageFunction), 'restrictedProp');\n","import { array, arrayOf } from 'prop-types';\n\nimport and from './and';\nimport between from './between';\nimport nonNegativeInteger from './nonNegativeInteger';\nimport object from './object';\nimport withShape from './withShape';\nimport typeOf from './helpers/typeOf';\nimport wrapValidator from './helpers/wrapValidator';\n\nconst minValidator = nonNegativeInteger;\nconst maxValidator = and([nonNegativeInteger, between({ gte: 1 })]);\n\nfunction validateRange(min, max) {\n if (typeof max !== 'number' || typeof min !== 'number') {\n return null; // no additional checking needed unless both are present\n }\n\n if (min <= max) {\n return null;\n }\n return new RangeError('min must be less than or equal to max');\n}\n\nconst specifierShape = {\n validator(props, propName) {\n const { [propName]: propValue } = props;\n if (typeof propValue !== 'function') {\n return new TypeError('\"validator\" must be a propType validator function');\n }\n return null;\n },\n\n min(props, propName) {\n return minValidator(props, propName) || validateRange(props.min, props.max);\n },\n\n max(props, propName) {\n return maxValidator(props, propName) || validateRange(props.min, props.max);\n },\n};\n\nfunction getMinMax({ min, max }) {\n let minimum;\n let maximum;\n if (typeof min !== 'number' && typeof max !== 'number') {\n // neither provided, default to \"1\"\n minimum = 1;\n maximum = 1;\n } else {\n minimum = typeof min === 'number' ? min : 1;\n maximum = typeof max === 'number' ? max : Infinity;\n }\n return { minimum, maximum };\n}\n\nfunction chunkByType(items) {\n let chunk = [];\n let lastType;\n return items.reduce((chunks, item) => {\n const itemType = typeOf(item);\n if (!lastType || itemType === lastType) {\n chunk.push(item);\n } else {\n chunks.push(chunk);\n chunk = [item];\n }\n lastType = itemType;\n return chunks;\n }, []).concat(chunk.length > 0 ? [chunk] : []);\n}\n\nfunction validateChunks(specifiers, props, propName, componentName, ...rest) {\n const { [propName]: items } = props;\n const chunks = chunkByType(items);\n\n for (let i = 0; i < specifiers.length; i += 1) {\n const { validator, min, max } = specifiers[i];\n\n const { minimum, maximum } = getMinMax({ min, max });\n\n if (chunks.length === 0 && minimum === 0) {\n // no chunks left, but this specifier does not require any items\n continue; // eslint-disable-line no-continue\n }\n\n const arrayOfValidator = arrayOf(validator).isRequired;\n\n const chunk = chunks.shift(); // extract the next chunk to test\n\n const chunkError = arrayOfValidator(\n { ...props, [propName]: chunk },\n propName,\n componentName,\n ...rest,\n );\n\n if (chunkError) { // this chunk is invalid\n if (minimum === 0) { // but, specifier has a min of 0 and can be skipped\n chunks.unshift(chunk); // put the chunk back, for the next iteration\n continue; // eslint-disable-line no-continue\n }\n return chunkError;\n }\n\n // chunk is valid!\n\n if (chunk.length < minimum) {\n return new RangeError(`${componentName}: specifier index ${i} requires a minimum of ${min} items, but only has ${chunk.length}.`);\n }\n\n if (chunk.length > maximum) {\n return new RangeError(`${componentName}: specifier index ${i} requires a maximum of ${max} items, but has ${chunk.length}.`);\n }\n }\n\n if (chunks.length > 0) {\n return new TypeError(`${componentName}: after all ${specifiers.length} specifiers matched, ${chunks.length} types of items were remaining.`);\n }\n\n return null;\n}\n\nconst specifierValidator = withShape(object(), specifierShape).isRequired;\n\nexport default function sequenceOfValidator(...specifiers) {\n if (specifiers.length === 0) {\n throw new RangeError('sequenceOf: at least one specifier is required');\n }\n\n const errors = specifiers.map((specifier, i) => specifierValidator(\n { specifier },\n 'specifier',\n 'sequenceOf specifier',\n `suequenceOf specifier, index ${i}`,\n `specifier, index ${i}`,\n ));\n if (errors.some(Boolean)) {\n throw new TypeError(`\n sequenceOf: all specifiers must match the appropriate shape.\n\n Errors:\n ${errors.map((e, i) => ` - Argument index ${i}: ${e.message}`).join(',\\n ')}\n `);\n }\n\n const validator = function sequenceOf(props, propName, ...rest) {\n const { [propName]: propValue } = props;\n\n if (propValue == null) {\n return null;\n }\n\n const error = array(props, propName, ...rest);\n if (error) {\n return error;\n }\n\n return validateChunks(specifiers, props, propName, ...rest);\n };\n\n validator.isRequired = function sequenceOfRequired(props, propName, componentName, ...rest) {\n const error = array.isRequired(props, propName, componentName, ...rest);\n if (error) {\n return error;\n }\n\n return validateChunks(specifiers, props, propName, componentName, ...rest);\n };\n\n return wrapValidator(validator, 'sequenceOf', specifiers);\n}\n","import isPlainObject from './helpers/isPlainObject';\nimport wrapValidator from './helpers/wrapValidator';\n\nexport default function shapeValidator(shapeTypes) {\n if (!isPlainObject(shapeTypes)) {\n throw new TypeError('shape must be a normal object');\n }\n\n function shape(props, propName, componentName, location, ...rest) {\n const { [propName]: propValue } = props;\n if (propValue == null) {\n return null;\n }\n // code adapted from PropTypes.shape: https://github.com/facebook/react/blob/14156e56b9cf18ac86963185c5af4abddf3ff811/src/isomorphic/classic/types/ReactPropTypes.js#L381\n // eslint-disable-next-line guard-for-in, no-restricted-syntax\n for (const key in shapeTypes) {\n const checker = shapeTypes[key];\n if (checker) {\n const error = checker(\n propValue,\n key,\n componentName,\n location,\n ...rest,\n );\n if (error) {\n return error;\n }\n }\n }\n return null;\n }\n\n shape.isRequired = function shapeRequired(props, propName, componentName, ...rest) {\n const { [propName]: propValue } = props;\n if (propValue == null) {\n return new TypeError(`${componentName}: ${propName} is required.`);\n }\n return shape(props, propName, componentName, ...rest);\n };\n\n return wrapValidator(shape, 'shape', shapeTypes);\n}\n","import { string } from 'prop-types';\nimport wrapValidator from './helpers/wrapValidator';\n\nexport default function stringStartsWithValidator(start) {\n if (typeof start !== 'string' || start.length === 0) {\n throw new TypeError('a non-empty string is required');\n }\n\n const validator = function stringStartsWith(props, propName, componentName, ...rest) {\n const { [propName]: propValue } = props;\n\n if (propValue == null) {\n return null;\n }\n\n const stringError = string(props, propName, componentName, ...rest);\n if (stringError) {\n return stringError;\n }\n\n if (!propValue.startsWith(start) || propValue.length <= start.length) {\n return new TypeError(`${componentName}: ${propName} does not start with \"${start}\"`);\n }\n return null;\n };\n\n validator.isRequired = function requiredStringStartsWith(...args) {\n const stringError = string.isRequired(...args);\n if (stringError) {\n return stringError;\n }\n return validator(...args);\n };\n\n return wrapValidator(validator, `stringStartsWith: ${start}`);\n}\n","import { array } from 'prop-types';\nimport wrapValidator from './helpers/wrapValidator';\n\nfunction uniqueCountWithSet(arr) { return new Set(arr).size; }\n/* istanbul ignore next */\nfunction uniqueCountLegacy(arr) {\n const seen = [];\n arr.forEach((item) => {\n if (seen.indexOf(item) === -1) {\n seen.push(item);\n }\n });\n return seen.length;\n}\n\nconst getUniqueCount = typeof Set === 'function' ? uniqueCountWithSet : /* istanbul ignore next */ uniqueCountLegacy;\n\nfunction requiredUniqueArray(props, propName, componentName, ...rest) {\n const result = array.isRequired(props, propName, componentName, ...rest);\n if (result != null) {\n return result;\n }\n\n const { [propName]: propValue } = props;\n const uniqueCount = getUniqueCount(propValue);\n if (uniqueCount !== propValue.length) {\n return new RangeError(`${componentName}: values must be unique. ${propValue.length - uniqueCount} duplicate values found.`);\n }\n return null;\n}\n\nfunction uniqueArray(props, propName, ...rest) {\n const { [propName]: propValue } = props;\n if (propValue == null) {\n return null;\n }\n\n return requiredUniqueArray(props, propName, ...rest);\n}\nuniqueArray.isRequired = requiredUniqueArray;\n\nexport default () => wrapValidator(uniqueArray, 'uniqueArray');\n","import { arrayOf, array } from 'prop-types';\nimport and from './and';\nimport uniqueArray from './uniqueArray';\n\nconst unique = uniqueArray();\n\nexport default function uniqueArrayOfTypeValidator(type, ...rest) {\n if (typeof type !== 'function') {\n throw new TypeError('type must be a validator function');\n }\n\n let mapper = null;\n let name = 'uniqueArrayOfType';\n\n if (rest.length === 1) {\n if (typeof rest[0] === 'function') {\n ([mapper] = rest);\n } else if (typeof rest[0] === 'string') {\n ([name] = rest);\n } else {\n throw new TypeError('single input must either be string or function');\n }\n } else if (rest.length === 2) {\n if (typeof rest[0] === 'function' && typeof rest[1] === 'string') {\n ([mapper, name] = rest);\n } else {\n throw new TypeError('multiple inputs must be in [function, string] order');\n }\n } else if (rest.length > 2) {\n throw new TypeError('only [], [name], [mapper], and [mapper, name] are valid inputs');\n }\n\n function uniqueArrayOfMapped(props, propName, ...args) {\n const { [propName]: propValue } = props;\n if (propValue == null) {\n return null;\n }\n\n const values = propValue.map(mapper);\n return unique({ ...props, [propName]: values }, propName, ...args);\n }\n\n uniqueArrayOfMapped.isRequired = function isRequired(props, propName, ...args) {\n const { [propName]: propValue } = props;\n if (propValue == null) {\n return array.isRequired(props, propName, ...args);\n }\n return uniqueArrayOfMapped(props, propName, ...args);\n };\n\n const arrayValidator = arrayOf(type);\n\n const uniqueValidator = mapper ? uniqueArrayOfMapped : unique;\n\n const validator = and([arrayValidator, uniqueValidator], name);\n validator.isRequired = and([\n uniqueValidator.isRequired,\n arrayValidator.isRequired,\n ], `${name}.isRequired`);\n\n return validator;\n}\n","import isPrimitive from './helpers/isPrimitive';\nimport wrapValidator from './helpers/wrapValidator';\n\n// code adapted from https://github.com/facebook/react/blob/14156e56b9cf18ac86963185c5af4abddf3ff811/src/isomorphic/classic/types/ReactPropTypes.js#L307-L340\n\nexport default function valuesOfValidator(propType) {\n if (typeof propType !== 'function') {\n throw new TypeError('objectOf: propType must be a function');\n }\n\n const validator = function valuesOf(\n props,\n propName,\n componentName,\n location,\n propFullName,\n ...rest\n ) {\n const { [propName]: propValue } = props;\n if (propValue == null || isPrimitive(propValue)) {\n return null;\n }\n\n let firstError;\n Object.keys(propValue).some((key) => {\n firstError = propType(\n propValue,\n key,\n componentName,\n location,\n `${propFullName}.${key}`,\n ...rest,\n );\n return firstError;\n });\n return firstError || null;\n };\n validator.isRequired = function valuesOfRequired(props, propName, componentName, ...rest) {\n const { [propName]: propValue } = props;\n if (propValue == null) {\n return new TypeError(`${componentName}: ${propName} is required.`);\n }\n return validator(props, propName, componentName, ...rest);\n };\n\n return wrapValidator(validator, 'valuesOf', propType);\n}\n","import and from './and';\nimport shape from './shape';\n\nexport default function withShape(type, shapeTypes) {\n if (typeof type !== 'function') {\n throw new TypeError('type must be a valid PropType');\n }\n const shapeValidator = shape(shapeTypes);\n return and([type, shapeValidator], 'withShape');\n}\n","module.exports = process.env.NODE_ENV === 'production' ? require('./build/mocks') : require('./build');\n\n//# sourceMappingURL=index.js.map","'use strict';\n\nvar ES = require('es-abstract/es6');\n\nmodule.exports = function find(predicate) {\n\tvar list = ES.ToObject(this);\n\tvar length = ES.ToInteger(ES.ToLength(list.length));\n\tif (!ES.IsCallable(predicate)) {\n\t\tthrow new TypeError('Array#find: predicate must be a function');\n\t}\n\tif (length === 0) {\n\t\treturn undefined;\n\t}\n\tvar thisArg = arguments[1];\n\tfor (var i = 0, value; i < length; i++) {\n\t\tvalue = list[i];\n\t\tif (ES.Call(predicate, thisArg, [value, i, list])) {\n\t\t\treturn value;\n\t\t}\n\t}\n\treturn undefined;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar ES = require('es-abstract/es6');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar slice = Array.prototype.slice;\n\nvar polyfill = getPolyfill();\n\nvar boundFindShim = function find(array, predicate) { // eslint-disable-line no-unused-vars\n\tES.RequireObjectCoercible(array);\n\tvar args = slice.call(arguments, 1);\n\treturn polyfill.apply(array, args);\n};\n\ndefine(boundFindShim, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = boundFindShim;\n","'use strict';\n\nmodule.exports = function getPolyfill() {\n\t// Detect if an implementation exists\n\t// Detect early implementations which skipped holes in sparse arrays\n // eslint-disable-next-line no-sparse-arrays\n\tvar implemented = Array.prototype.find && [, 1].find(function () {\n\t\treturn true;\n\t}) !== 1;\n\n // eslint-disable-next-line global-require\n\treturn implemented ? Array.prototype.find : require('./implementation');\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimArrayPrototypeFind() {\n\tvar polyfill = getPolyfill();\n\n\tdefine(Array.prototype, { find: polyfill }, {\n\t\tfind: function () {\n\t\t\treturn Array.prototype.find !== polyfill;\n\t\t}\n\t});\n\n\treturn polyfill;\n};\n","'use strict';\n\nvar ES = require('es-abstract/es2017');\n\nvar MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || (Math.pow(2, 53) - 1);\n\n// eslint-disable-next-line max-params, max-statements\nvar FlattenIntoArray = function FlattenIntoArray(target, source, sourceLen, start, depth) {\n\tvar targetIndex = start;\n\tvar sourceIndex = 0;\n\n\t/*\n\tvar mapperFunction;\n\tif (arguments.length > 5) {\n\t\tmapperFunction = arguments[5];\n\t}\n\t*/\n\n\twhile (sourceIndex < sourceLen) {\n\t\tvar P = ES.ToString(sourceIndex);\n\t\tvar exists = ES.HasProperty(source, P);\n\t\tif (exists) {\n\t\t\tvar element = ES.Get(source, P);\n\t\t\t/*\n\t\t\tif (typeof mapperFunction !== 'undefined') {\n\t\t\t\tif (arguments.length <= 6) {\n\t\t\t\t\tthrow new TypeError('Assertion failed: thisArg is required when mapperFunction is provided');\n\t\t\t\t}\n\t\t\t\telement = ES.Call(mapperFunction, arguments[6], [element, sourceIndex, source]);\n\t\t\t}\n\t\t\t*/\n\t\t\tvar shouldFlatten = false;\n\t\t\tif (depth > 0) {\n\t\t\t\tshouldFlatten = ES.IsArray(element);\n\t\t\t}\n\t\t\tif (shouldFlatten) {\n\t\t\t\tvar elementLen = ES.ToLength(ES.Get(element, 'length'));\n\t\t\t\ttargetIndex = FlattenIntoArray(target, element, elementLen, targetIndex, depth - 1);\n\t\t\t} else {\n\t\t\t\tif (targetIndex >= MAX_SAFE_INTEGER) {\n\t\t\t\t\tthrow new TypeError('index too large');\n\t\t\t\t}\n\t\t\t\tES.CreateDataPropertyOrThrow(target, ES.ToString(targetIndex), element);\n\t\t\t\ttargetIndex += 1;\n\t\t\t}\n\t\t}\n\t\tsourceIndex += 1;\n\t}\n\n\treturn targetIndex;\n};\n\nmodule.exports = function flat() {\n\tvar O = ES.ToObject(this);\n\tvar sourceLen = ES.ToLength(ES.Get(O, 'length'));\n\n\tvar depthNum = 1;\n\tif (arguments.length > 0 && typeof arguments[0] !== 'undefined') {\n\t\tdepthNum = ES.ToInteger(arguments[0]);\n\t}\n\n\tvar A = ES.ArraySpeciesCreate(O, 0);\n\tFlattenIntoArray(A, O, sourceLen, 0, depthNum);\n\treturn A;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar bind = require('function-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar polyfill = getPolyfill();\nvar shim = require('./shim');\n\nvar boundFlat = bind.call(Function.call, polyfill);\n\ndefine(boundFlat, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = boundFlat;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn Array.prototype.flat || implementation;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimFlat() {\n\tvar polyfill = getPolyfill();\n\tdefine(\n\t\tArray.prototype,\n\t\t{ flat: polyfill },\n\t\t{ flat: function () { return Array.prototype.flat !== polyfill; } }\n\t);\n\treturn polyfill;\n};\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/*!\n * clipboard.js v2.0.3\n * https://zenorocha.github.io/clipboard.js\n * \n * Licensed MIT © Zeno Rocha\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ClipboardJS\"] = factory();\n\telse\n\t\troot[\"ClipboardJS\"] = factory();\n})(window, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _clipboardAction = __webpack_require__(1);\n\nvar _clipboardAction2 = _interopRequireDefault(_clipboardAction);\n\nvar _tinyEmitter = __webpack_require__(3);\n\nvar _tinyEmitter2 = _interopRequireDefault(_tinyEmitter);\n\nvar _goodListener = __webpack_require__(4);\n\nvar _goodListener2 = _interopRequireDefault(_goodListener);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * Base class which takes one or more elements, adds event listeners to them,\n * and instantiates a new `ClipboardAction` on each click.\n */\nvar Clipboard = function (_Emitter) {\n _inherits(Clipboard, _Emitter);\n\n /**\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n * @param {Object} options\n */\n function Clipboard(trigger, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this));\n\n _this.resolveOptions(options);\n _this.listenClick(trigger);\n return _this;\n }\n\n /**\n * Defines if attributes would be resolved using internal setter functions\n * or custom functions that were passed in the constructor.\n * @param {Object} options\n */\n\n\n _createClass(Clipboard, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = typeof options.action === 'function' ? options.action : this.defaultAction;\n this.target = typeof options.target === 'function' ? options.target : this.defaultTarget;\n this.text = typeof options.text === 'function' ? options.text : this.defaultText;\n this.container = _typeof(options.container) === 'object' ? options.container : document.body;\n }\n\n /**\n * Adds a click event listener to the passed trigger.\n * @param {String|HTMLElement|HTMLCollection|NodeList} trigger\n */\n\n }, {\n key: 'listenClick',\n value: function listenClick(trigger) {\n var _this2 = this;\n\n this.listener = (0, _goodListener2.default)(trigger, 'click', function (e) {\n return _this2.onClick(e);\n });\n }\n\n /**\n * Defines a new `ClipboardAction` on each click event.\n * @param {Event} e\n */\n\n }, {\n key: 'onClick',\n value: function onClick(e) {\n var trigger = e.delegateTarget || e.currentTarget;\n\n if (this.clipboardAction) {\n this.clipboardAction = null;\n }\n\n this.clipboardAction = new _clipboardAction2.default({\n action: this.action(trigger),\n target: this.target(trigger),\n text: this.text(trigger),\n container: this.container,\n trigger: trigger,\n emitter: this\n });\n }\n\n /**\n * Default `action` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultAction',\n value: function defaultAction(trigger) {\n return getAttributeValue('action', trigger);\n }\n\n /**\n * Default `target` lookup function.\n * @param {Element} trigger\n */\n\n }, {\n key: 'defaultTarget',\n value: function defaultTarget(trigger) {\n var selector = getAttributeValue('target', trigger);\n\n if (selector) {\n return document.querySelector(selector);\n }\n }\n\n /**\n * Returns the support of the given action, or all actions if no action is\n * given.\n * @param {String} [action]\n */\n\n }, {\n key: 'defaultText',\n\n\n /**\n * Default `text` lookup function.\n * @param {Element} trigger\n */\n value: function defaultText(trigger) {\n return getAttributeValue('text', trigger);\n }\n\n /**\n * Destroy lifecycle.\n */\n\n }, {\n key: 'destroy',\n value: function destroy() {\n this.listener.destroy();\n\n if (this.clipboardAction) {\n this.clipboardAction.destroy();\n this.clipboardAction = null;\n }\n }\n }], [{\n key: 'isSupported',\n value: function isSupported() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ['copy', 'cut'];\n\n var actions = typeof action === 'string' ? [action] : action;\n var support = !!document.queryCommandSupported;\n\n actions.forEach(function (action) {\n support = support && !!document.queryCommandSupported(action);\n });\n\n return support;\n }\n }]);\n\n return Clipboard;\n}(_tinyEmitter2.default);\n\n/**\n * Helper function to retrieve attribute value.\n * @param {String} suffix\n * @param {Element} element\n */\n\n\nfunction getAttributeValue(suffix, element) {\n var attribute = 'data-clipboard-' + suffix;\n\n if (!element.hasAttribute(attribute)) {\n return;\n }\n\n return element.getAttribute(attribute);\n}\n\nmodule.exports = Clipboard;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _select = __webpack_require__(2);\n\nvar _select2 = _interopRequireDefault(_select);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * Inner class which performs selection from either `text` or `target`\n * properties and then executes copy or cut operations.\n */\nvar ClipboardAction = function () {\n /**\n * @param {Object} options\n */\n function ClipboardAction(options) {\n _classCallCheck(this, ClipboardAction);\n\n this.resolveOptions(options);\n this.initSelection();\n }\n\n /**\n * Defines base properties passed from constructor.\n * @param {Object} options\n */\n\n\n _createClass(ClipboardAction, [{\n key: 'resolveOptions',\n value: function resolveOptions() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.action = options.action;\n this.container = options.container;\n this.emitter = options.emitter;\n this.target = options.target;\n this.text = options.text;\n this.trigger = options.trigger;\n\n this.selectedText = '';\n }\n\n /**\n * Decides which selection strategy is going to be applied based\n * on the existence of `text` and `target` properties.\n */\n\n }, {\n key: 'initSelection',\n value: function initSelection() {\n if (this.text) {\n this.selectFake();\n } else if (this.target) {\n this.selectTarget();\n }\n }\n\n /**\n * Creates a fake textarea element, sets its value from `text` property,\n * and makes a selection on it.\n */\n\n }, {\n key: 'selectFake',\n value: function selectFake() {\n var _this = this;\n\n var isRTL = document.documentElement.getAttribute('dir') == 'rtl';\n\n this.removeFake();\n\n this.fakeHandlerCallback = function () {\n return _this.removeFake();\n };\n this.fakeHandler = this.container.addEventListener('click', this.fakeHandlerCallback) || true;\n\n this.fakeElem = document.createElement('textarea');\n // Prevent zooming on iOS\n this.fakeElem.style.fontSize = '12pt';\n // Reset box model\n this.fakeElem.style.border = '0';\n this.fakeElem.style.padding = '0';\n this.fakeElem.style.margin = '0';\n // Move element out of screen horizontally\n this.fakeElem.style.position = 'absolute';\n this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';\n // Move element to the same position vertically\n var yPosition = window.pageYOffset || document.documentElement.scrollTop;\n this.fakeElem.style.top = yPosition + 'px';\n\n this.fakeElem.setAttribute('readonly', '');\n this.fakeElem.value = this.text;\n\n this.container.appendChild(this.fakeElem);\n\n this.selectedText = (0, _select2.default)(this.fakeElem);\n this.copyText();\n }\n\n /**\n * Only removes the fake element after another click event, that way\n * a user can hit `Ctrl+C` to copy because selection still exists.\n */\n\n }, {\n key: 'removeFake',\n value: function removeFake() {\n if (this.fakeHandler) {\n this.container.removeEventListener('click', this.fakeHandlerCallback);\n this.fakeHandler = null;\n this.fakeHandlerCallback = null;\n }\n\n if (this.fakeElem) {\n this.container.removeChild(this.fakeElem);\n this.fakeElem = null;\n }\n }\n\n /**\n * Selects the content from element passed on `target` property.\n */\n\n }, {\n key: 'selectTarget',\n value: function selectTarget() {\n this.selectedText = (0, _select2.default)(this.target);\n this.copyText();\n }\n\n /**\n * Executes the copy operation based on the current selection.\n */\n\n }, {\n key: 'copyText',\n value: function copyText() {\n var succeeded = void 0;\n\n try {\n succeeded = document.execCommand(this.action);\n } catch (err) {\n succeeded = false;\n }\n\n this.handleResult(succeeded);\n }\n\n /**\n * Fires an event based on the copy operation result.\n * @param {Boolean} succeeded\n */\n\n }, {\n key: 'handleResult',\n value: function handleResult(succeeded) {\n this.emitter.emit(succeeded ? 'success' : 'error', {\n action: this.action,\n text: this.selectedText,\n trigger: this.trigger,\n clearSelection: this.clearSelection.bind(this)\n });\n }\n\n /**\n * Moves focus away from `target` and back to the trigger, removes current selection.\n */\n\n }, {\n key: 'clearSelection',\n value: function clearSelection() {\n if (this.trigger) {\n this.trigger.focus();\n }\n\n window.getSelection().removeAllRanges();\n }\n\n /**\n * Sets the `action` to be performed which can be either 'copy' or 'cut'.\n * @param {String} action\n */\n\n }, {\n key: 'destroy',\n\n\n /**\n * Destroy lifecycle.\n */\n value: function destroy() {\n this.removeFake();\n }\n }, {\n key: 'action',\n set: function set() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'copy';\n\n this._action = action;\n\n if (this._action !== 'copy' && this._action !== 'cut') {\n throw new Error('Invalid \"action\" value, use either \"copy\" or \"cut\"');\n }\n }\n\n /**\n * Gets the `action` property.\n * @return {String}\n */\n ,\n get: function get() {\n return this._action;\n }\n\n /**\n * Sets the `target` property using an element\n * that will be have its content copied.\n * @param {Element} target\n */\n\n }, {\n key: 'target',\n set: function set(target) {\n if (target !== undefined) {\n if (target && (typeof target === 'undefined' ? 'undefined' : _typeof(target)) === 'object' && target.nodeType === 1) {\n if (this.action === 'copy' && target.hasAttribute('disabled')) {\n throw new Error('Invalid \"target\" attribute. Please use \"readonly\" instead of \"disabled\" attribute');\n }\n\n if (this.action === 'cut' && (target.hasAttribute('readonly') || target.hasAttribute('disabled'))) {\n throw new Error('Invalid \"target\" attribute. You can\\'t cut text from elements with \"readonly\" or \"disabled\" attributes');\n }\n\n this._target = target;\n } else {\n throw new Error('Invalid \"target\" value, use a valid Element');\n }\n }\n }\n\n /**\n * Gets the `target` property.\n * @return {String|HTMLElement}\n */\n ,\n get: function get() {\n return this._target;\n }\n }]);\n\n return ClipboardAction;\n}();\n\nmodule.exports = ClipboardAction;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nfunction select(element) {\n var selectedText;\n\n if (element.nodeName === 'SELECT') {\n element.focus();\n\n selectedText = element.value;\n }\n else if (element.nodeName === 'INPUT' || element.nodeName === 'TEXTAREA') {\n var isReadOnly = element.hasAttribute('readonly');\n\n if (!isReadOnly) {\n element.setAttribute('readonly', '');\n }\n\n element.select();\n element.setSelectionRange(0, element.value.length);\n\n if (!isReadOnly) {\n element.removeAttribute('readonly');\n }\n\n selectedText = element.value;\n }\n else {\n if (element.hasAttribute('contenteditable')) {\n element.focus();\n }\n\n var selection = window.getSelection();\n var range = document.createRange();\n\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n\n selectedText = selection.toString();\n }\n\n return selectedText;\n}\n\nmodule.exports = select;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\nfunction E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\n };\n\n listener._ = callback\n return this.on(name, listener, ctx);\n },\n\n emit: function (name) {\n var data = [].slice.call(arguments, 1);\n var evtArr = ((this.e || (this.e = {}))[name] || []).slice();\n var i = 0;\n var len = evtArr.length;\n\n for (i; i < len; i++) {\n evtArr[i].fn.apply(evtArr[i].ctx, data);\n }\n\n return this;\n },\n\n off: function (name, callback) {\n var e = this.e || (this.e = {});\n var evts = e[name];\n var liveEvents = [];\n\n if (evts && callback) {\n for (var i = 0, len = evts.length; i < len; i++) {\n if (evts[i].fn !== callback && evts[i].fn._ !== callback)\n liveEvents.push(evts[i]);\n }\n }\n\n // Remove event from queue to prevent memory leak\n // Suggested by https://github.com/lazd\n // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910\n\n (liveEvents.length)\n ? e[name] = liveEvents\n : delete e[name];\n\n return this;\n }\n};\n\nmodule.exports = E;\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar is = __webpack_require__(5);\nvar delegate = __webpack_require__(6);\n\n/**\n * Validates all params and calls the right\n * listener function based on its target type.\n *\n * @param {String|HTMLElement|HTMLCollection|NodeList} target\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listen(target, type, callback) {\n if (!target && !type && !callback) {\n throw new Error('Missing required arguments');\n }\n\n if (!is.string(type)) {\n throw new TypeError('Second argument must be a String');\n }\n\n if (!is.fn(callback)) {\n throw new TypeError('Third argument must be a Function');\n }\n\n if (is.node(target)) {\n return listenNode(target, type, callback);\n }\n else if (is.nodeList(target)) {\n return listenNodeList(target, type, callback);\n }\n else if (is.string(target)) {\n return listenSelector(target, type, callback);\n }\n else {\n throw new TypeError('First argument must be a String, HTMLElement, HTMLCollection, or NodeList');\n }\n}\n\n/**\n * Adds an event listener to a HTML element\n * and returns a remove listener function.\n *\n * @param {HTMLElement} node\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNode(node, type, callback) {\n node.addEventListener(type, callback);\n\n return {\n destroy: function() {\n node.removeEventListener(type, callback);\n }\n }\n}\n\n/**\n * Add an event listener to a list of HTML elements\n * and returns a remove listener function.\n *\n * @param {NodeList|HTMLCollection} nodeList\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenNodeList(nodeList, type, callback) {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.addEventListener(type, callback);\n });\n\n return {\n destroy: function() {\n Array.prototype.forEach.call(nodeList, function(node) {\n node.removeEventListener(type, callback);\n });\n }\n }\n}\n\n/**\n * Add an event listener to a selector\n * and returns a remove listener function.\n *\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Object}\n */\nfunction listenSelector(selector, type, callback) {\n return delegate(document.body, selector, type, callback);\n}\n\nmodule.exports = listen;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports) {\n\n/**\n * Check if argument is a HTML element.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.node = function(value) {\n return value !== undefined\n && value instanceof HTMLElement\n && value.nodeType === 1;\n};\n\n/**\n * Check if argument is a list of HTML elements.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.nodeList = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return value !== undefined\n && (type === '[object NodeList]' || type === '[object HTMLCollection]')\n && ('length' in value)\n && (value.length === 0 || exports.node(value[0]));\n};\n\n/**\n * Check if argument is a string.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.string = function(value) {\n return typeof value === 'string'\n || value instanceof String;\n};\n\n/**\n * Check if argument is a function.\n *\n * @param {Object} value\n * @return {Boolean}\n */\nexports.fn = function(value) {\n var type = Object.prototype.toString.call(value);\n\n return type === '[object Function]';\n};\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar closest = __webpack_require__(7);\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction _delegate(element, selector, type, callback, useCapture) {\n var listenerFn = listener.apply(this, arguments);\n\n element.addEventListener(type, listenerFn, useCapture);\n\n return {\n destroy: function() {\n element.removeEventListener(type, listenerFn, useCapture);\n }\n }\n}\n\n/**\n * Delegates event to a selector.\n *\n * @param {Element|String|Array} [elements]\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @param {Boolean} useCapture\n * @return {Object}\n */\nfunction delegate(elements, selector, type, callback, useCapture) {\n // Handle the regular Element usage\n if (typeof elements.addEventListener === 'function') {\n return _delegate.apply(null, arguments);\n }\n\n // Handle Element-less usage, it defaults to global delegation\n if (typeof type === 'function') {\n // Use `document` as the first parameter, then apply arguments\n // This is a short way to .unshift `arguments` without running into deoptimizations\n return _delegate.bind(null, document).apply(null, arguments);\n }\n\n // Handle Selector-based usage\n if (typeof elements === 'string') {\n elements = document.querySelectorAll(elements);\n }\n\n // Handle Array-like based usage\n return Array.prototype.map.call(elements, function (element) {\n return _delegate(element, selector, type, callback, useCapture);\n });\n}\n\n/**\n * Finds closest match and invokes callback.\n *\n * @param {Element} element\n * @param {String} selector\n * @param {String} type\n * @param {Function} callback\n * @return {Function}\n */\nfunction listener(element, selector, type, callback) {\n return function(e) {\n e.delegateTarget = closest(e.target, selector);\n\n if (e.delegateTarget) {\n callback.call(element, e);\n }\n }\n}\n\nmodule.exports = delegate;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nvar DOCUMENT_NODE_TYPE = 9;\n\n/**\n * A polyfill for Element.matches()\n */\nif (typeof Element !== 'undefined' && !Element.prototype.matches) {\n var proto = Element.prototype;\n\n proto.matches = proto.matchesSelector ||\n proto.mozMatchesSelector ||\n proto.msMatchesSelector ||\n proto.oMatchesSelector ||\n proto.webkitMatchesSelector;\n}\n\n/**\n * Finds the closest parent that matches a selector.\n *\n * @param {Element} element\n * @param {String} selector\n * @return {Function}\n */\nfunction closest (element, selector) {\n while (element && element.nodeType !== DOCUMENT_NODE_TYPE) {\n if (typeof element.matches === 'function' &&\n element.matches(selector)) {\n return element;\n }\n element = element.parentNode;\n }\n}\n\nmodule.exports = closest;\n\n\n/***/ })\n/******/ ]);\n});","var CAN_USE_DOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n// Adapted from Modernizr\n// https://github.com/Modernizr/Modernizr/blob/acb3f0d9/feature-detects/dom/passiveeventlisteners.js#L26-L37\nfunction testPassiveEventListeners() {\n if (!CAN_USE_DOM) {\n return false;\n }\n\n if (!window.addEventListener || !window.removeEventListener || !Object.defineProperty) {\n return false;\n }\n\n var supportsPassiveOption = false;\n try {\n var opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line getter-return\n get: function () {\n function get() {\n supportsPassiveOption = true;\n }\n\n return get;\n }()\n });\n var noop = function noop() {};\n window.addEventListener('testPassiveEventSupport', noop, opts);\n window.removeEventListener('testPassiveEventSupport', noop, opts);\n } catch (e) {\n // do nothing\n }\n\n return supportsPassiveOption;\n}\n\nvar memoized = void 0;\n\nfunction canUsePassiveEventListeners() {\n if (memoized === undefined) {\n memoized = testPassiveEventListeners();\n }\n return memoized;\n}\n\nfunction normalizeEventOptions(eventOptions) {\n if (!eventOptions) {\n return undefined;\n }\n\n if (!canUsePassiveEventListeners()) {\n // If the browser does not support the passive option, then it is expecting\n // a boolean for the options argument to specify whether it should use\n // capture or not. In more modern browsers, this is passed via the `capture`\n // option, so let's just hoist that value up.\n return !!eventOptions.capture;\n }\n\n return eventOptions;\n}\n\n/* eslint-disable no-bitwise */\n\n/**\n * Generate a unique key for any set of event options\n */\nfunction eventOptionsKey(normalizedEventOptions) {\n if (!normalizedEventOptions) {\n return 0;\n }\n\n // If the browser does not support passive event listeners, the normalized\n // event options will be a boolean.\n if (normalizedEventOptions === true) {\n return 100;\n }\n\n // At this point, the browser supports passive event listeners, so we expect\n // the event options to be an object with possible properties of capture,\n // passive, and once.\n //\n // We want to consistently return the same value, regardless of the order of\n // these properties, so let's use binary maths to assign each property to a\n // bit, and then add those together (with an offset to account for the\n // booleans at the beginning of this function).\n var capture = normalizedEventOptions.capture << 0;\n var passive = normalizedEventOptions.passive << 1;\n var once = normalizedEventOptions.once << 2;\n return capture + passive + once;\n}\n\nfunction ensureCanMutateNextEventHandlers(eventHandlers) {\n if (eventHandlers.handlers === eventHandlers.nextHandlers) {\n // eslint-disable-next-line no-param-reassign\n eventHandlers.nextHandlers = eventHandlers.handlers.slice();\n }\n}\n\nfunction TargetEventHandlers(target) {\n this.target = target;\n this.events = {};\n}\n\nTargetEventHandlers.prototype.getEventHandlers = function () {\n function getEventHandlers(eventName, options) {\n var key = String(eventName) + ' ' + String(eventOptionsKey(options));\n\n if (!this.events[key]) {\n this.events[key] = {\n handlers: [],\n handleEvent: undefined\n };\n this.events[key].nextHandlers = this.events[key].handlers;\n }\n\n return this.events[key];\n }\n\n return getEventHandlers;\n}();\n\nTargetEventHandlers.prototype.handleEvent = function () {\n function handleEvent(eventName, options, event) {\n var eventHandlers = this.getEventHandlers(eventName, options);\n eventHandlers.handlers = eventHandlers.nextHandlers;\n eventHandlers.handlers.forEach(function (handler) {\n if (handler) {\n // We need to check for presence here because a handler function may\n // cause later handlers to get removed. This can happen if you for\n // instance have a waypoint that unmounts another waypoint as part of an\n // onEnter/onLeave handler.\n handler(event);\n }\n });\n }\n\n return handleEvent;\n}();\n\nTargetEventHandlers.prototype.add = function () {\n function add(eventName, listener, options) {\n var _this = this;\n\n // options has already been normalized at this point.\n var eventHandlers = this.getEventHandlers(eventName, options);\n\n ensureCanMutateNextEventHandlers(eventHandlers);\n\n if (eventHandlers.nextHandlers.length === 0) {\n eventHandlers.handleEvent = this.handleEvent.bind(this, eventName, options);\n\n this.target.addEventListener(eventName, eventHandlers.handleEvent, options);\n }\n\n eventHandlers.nextHandlers.push(listener);\n\n var isSubscribed = true;\n var unsubscribe = function () {\n function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextEventHandlers(eventHandlers);\n var index = eventHandlers.nextHandlers.indexOf(listener);\n eventHandlers.nextHandlers.splice(index, 1);\n\n if (eventHandlers.nextHandlers.length === 0) {\n // All event handlers have been removed, so we want to remove the event\n // listener from the target node.\n\n if (_this.target) {\n // There can be a race condition where the target may no longer exist\n // when this function is called, e.g. when a React component is\n // unmounting. Guarding against this prevents the following error:\n //\n // Cannot read property 'removeEventListener' of undefined\n _this.target.removeEventListener(eventName, eventHandlers.handleEvent, options);\n }\n\n eventHandlers.handleEvent = undefined;\n }\n }\n\n return unsubscribe;\n }();\n return unsubscribe;\n }\n\n return add;\n}();\n\nvar EVENT_HANDLERS_KEY = '__consolidated_events_handlers__';\n\n// eslint-disable-next-line import/prefer-default-export\nfunction addEventListener(target, eventName, listener, options) {\n if (!target[EVENT_HANDLERS_KEY]) {\n // eslint-disable-next-line no-param-reassign\n target[EVENT_HANDLERS_KEY] = new TargetEventHandlers(target);\n }\n var normalizedEventOptions = normalizeEventOptions(options);\n return target[EVENT_HANDLERS_KEY].add(eventName, listener, normalizedEventOptions);\n}\n\nexport { addEventListener };\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n return Array.isArray(val) ? [] : {}\n}\n\nfunction cloneIfNecessary(value, optionsArgument) {\n var clone = optionsArgument && optionsArgument.clone === true;\n return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value\n}\n\nfunction defaultArrayMerge(target, source, optionsArgument) {\n var destination = target.slice();\n source.forEach(function(e, i) {\n if (typeof destination[i] === 'undefined') {\n destination[i] = cloneIfNecessary(e, optionsArgument);\n } else if (isMergeableObject(e)) {\n destination[i] = deepmerge(target[i], e, optionsArgument);\n } else if (target.indexOf(e) === -1) {\n destination.push(cloneIfNecessary(e, optionsArgument));\n }\n });\n return destination\n}\n\nfunction mergeObject(target, source, optionsArgument) {\n var destination = {};\n if (isMergeableObject(target)) {\n Object.keys(target).forEach(function(key) {\n destination[key] = cloneIfNecessary(target[key], optionsArgument);\n });\n }\n Object.keys(source).forEach(function(key) {\n if (!isMergeableObject(source[key]) || !target[key]) {\n destination[key] = cloneIfNecessary(source[key], optionsArgument);\n } else {\n destination[key] = deepmerge(target[key], source[key], optionsArgument);\n }\n });\n return destination\n}\n\nfunction deepmerge(target, source, optionsArgument) {\n var sourceIsArray = Array.isArray(source);\n var targetIsArray = Array.isArray(target);\n var options = optionsArgument || { arrayMerge: defaultArrayMerge };\n var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n if (!sourceAndTargetTypesMatch) {\n return cloneIfNecessary(source, optionsArgument)\n } else if (sourceIsArray) {\n var arrayMerge = options.arrayMerge || defaultArrayMerge;\n return arrayMerge(target, source, optionsArgument)\n } else {\n return mergeObject(target, source, optionsArgument)\n }\n}\n\ndeepmerge.all = function deepmergeAll(array, optionsArgument) {\n if (!Array.isArray(array) || array.length < 2) {\n throw new Error('first argument should be an array with at least two elements')\n }\n\n // we are sure there are at least 2 values, so it is safe to have no initial value\n return array.reduce(function(prev, next) {\n return deepmerge(prev, next, optionsArgument)\n })\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar arePropertyDescriptorsSupported = function () {\n\tvar obj = {};\n\ttry {\n\t\torigDefineProperty(obj, 'x', { enumerable: false, value: obj });\n\t\t// eslint-disable-next-line no-unused-vars, no-restricted-syntax\n\t\tfor (var _ in obj) { // jscs:ignore disallowUnusedVariables\n\t\t\treturn false;\n\t\t}\n\t\treturn obj.x === obj;\n\t} catch (e) { /* this is IE 8. */\n\t\treturn false;\n\t}\n};\nvar supportsDescriptors = origDefineProperty && arePropertyDescriptorsSupported();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value;\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar util = require('./util');\n\nfunction scrollIntoView(elem, container, config) {\n config = config || {};\n // document 归一化到 window\n if (container.nodeType === 9) {\n container = util.getWindow(container);\n }\n\n var allowHorizontalScroll = config.allowHorizontalScroll;\n var onlyScrollIfNeeded = config.onlyScrollIfNeeded;\n var alignWithTop = config.alignWithTop;\n var alignWithLeft = config.alignWithLeft;\n var offsetTop = config.offsetTop || 0;\n var offsetLeft = config.offsetLeft || 0;\n var offsetBottom = config.offsetBottom || 0;\n var offsetRight = config.offsetRight || 0;\n\n allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;\n\n var isWin = util.isWindow(container);\n var elemOffset = util.offset(elem);\n var eh = util.outerHeight(elem);\n var ew = util.outerWidth(elem);\n var containerOffset = undefined;\n var ch = undefined;\n var cw = undefined;\n var containerScroll = undefined;\n var diffTop = undefined;\n var diffBottom = undefined;\n var win = undefined;\n var winScroll = undefined;\n var ww = undefined;\n var wh = undefined;\n\n if (isWin) {\n win = container;\n wh = util.height(win);\n ww = util.width(win);\n winScroll = {\n left: util.scrollLeft(win),\n top: util.scrollTop(win)\n };\n // elem 相对 container 可视视窗的距离\n diffTop = {\n left: elemOffset.left - winScroll.left - offsetLeft,\n top: elemOffset.top - winScroll.top - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,\n top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom\n };\n containerScroll = winScroll;\n } else {\n containerOffset = util.offset(container);\n ch = container.clientHeight;\n cw = container.clientWidth;\n containerScroll = {\n left: container.scrollLeft,\n top: container.scrollTop\n };\n // elem 相对 container 可视视窗的距离\n // 注意边框, offset 是边框到根节点\n diffTop = {\n left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,\n top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop\n };\n diffBottom = {\n left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,\n top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom\n };\n }\n\n if (diffTop.top < 0 || diffBottom.top > 0) {\n // 强制向上\n if (alignWithTop === true) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else if (alignWithTop === false) {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n } else {\n // 自动调整\n if (diffTop.top < 0) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;\n if (alignWithTop) {\n util.scrollTop(container, containerScroll.top + diffTop.top);\n } else {\n util.scrollTop(container, containerScroll.top + diffBottom.top);\n }\n }\n }\n\n if (allowHorizontalScroll) {\n if (diffTop.left < 0 || diffBottom.left > 0) {\n // 强制向上\n if (alignWithLeft === true) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else if (alignWithLeft === false) {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n } else {\n // 自动调整\n if (diffTop.left < 0) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n } else {\n if (!onlyScrollIfNeeded) {\n alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;\n if (alignWithLeft) {\n util.scrollLeft(container, containerScroll.left + diffTop.left);\n } else {\n util.scrollLeft(container, containerScroll.left + diffBottom.left);\n }\n }\n }\n }\n}\n\nmodule.exports = scrollIntoView;","'use strict';\n\nmodule.exports = require('./dom-scroll-into-view');","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj; };\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\n\nfunction getClientPosition(elem) {\n var box = undefined;\n var x = undefined;\n var y = undefined;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = box.left;\n y = box.top;\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n\n return {\n left: x,\n top: y\n };\n}\n\nfunction getScroll(w, top) {\n var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];\n var method = 'scroll' + (top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\n\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\n\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\n\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\nfunction _getComputedStyle(elem, name, computedStyle_) {\n var val = '';\n var d = elem.ownerDocument;\n var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n\n return val;\n}\n\nvar _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\n\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\n\nvar getComputedStyleX = undefined;\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\n\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\n\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\n\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\n\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name = undefined;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\n\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop = undefined;\n var j = undefined;\n var i = undefined;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = undefined;\n if (prop === 'border') {\n cssProp = prop + which[i] + 'Width';\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj != null && obj == obj.window;\n}\n\nvar domUtils = {};\n\neach(['Width', 'Height'], function (name) {\n domUtils['doc' + name] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement['scroll' + name],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body['scroll' + name], domUtils['viewport' + name](d));\n };\n\n domUtils['viewport' + name] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = 'client' + name;\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, extra) {\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem, computedStyle);\n var cssBoxValue = 0;\n if (borderBoxValue == null || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue == null || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = parseFloat(cssBoxValue) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which, computedStyle);\n }\n return cssBoxValue;\n }\n if (borderBoxValueOrIsBorderBox) {\n var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which, computedStyle) : getPBMWidth(elem, ['margin'], which, computedStyle);\n return val + (extra === BORDER_INDEX ? 0 : padding);\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which, computedStyle);\n}\n\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay(elem) {\n var val = undefined;\n var args = arguments;\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\n\nfunction css(el, name, v) {\n var value = v;\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value += 'px';\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\n\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils['outer' + first] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n\n domUtils[name] = function (elem, val) {\n if (val !== undefined) {\n if (elem) {\n var computedStyle = getComputedStyleX(elem);\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which, computedStyle);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setOffset(elem, offset) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n\n var old = getOffset(elem);\n var ret = {};\n var current = undefined;\n var key = undefined;\n\n for (key in offset) {\n if (offset.hasOwnProperty(key)) {\n current = parseFloat(css(elem, key)) || 0;\n ret[key] = current + offset[key] - old[key];\n }\n }\n css(elem, ret);\n}\n\nmodule.exports = _extends({\n getWindow: function getWindow(node) {\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n offset: function offset(el, value) {\n if (typeof value !== 'undefined') {\n setOffset(el, value);\n } else {\n return getOffset(el);\n }\n },\n\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var ret = {};\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (var i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n scrollLeft: function scrollLeft(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollLeft(w);\n }\n window.scrollTo(v, getScrollTop(w));\n } else {\n if (v === undefined) {\n return w.scrollLeft;\n }\n w.scrollLeft = v;\n }\n },\n scrollTop: function scrollTop(w, v) {\n if (isWindow(w)) {\n if (v === undefined) {\n return getScrollTop(w);\n }\n window.scrollTo(getScrollLeft(w), v);\n } else {\n if (v === undefined) {\n return w.scrollTop;\n }\n w.scrollTop = v;\n }\n },\n\n viewportWidth: 0,\n viewportHeight: 0\n}, domUtils);","'use strict';\n\n/* globals\n\tSet,\n\tMap,\n\tWeakSet,\n\tWeakMap,\n\n\tPromise,\n\n\tSymbol,\n\tProxy,\n\n\tAtomics,\n\tSharedArrayBuffer,\n\n\tArrayBuffer,\n\tDataView,\n\tUint8Array,\n\tFloat32Array,\n\tFloat64Array,\n\tInt8Array,\n\tInt16Array,\n\tInt32Array,\n\tUint8ClampedArray,\n\tUint16Array,\n\tUint32Array,\n*/\n\nvar undefined; // eslint-disable-line no-shadow-restricted-names\n\nvar ThrowTypeError = Object.getOwnPropertyDescriptor\n\t? (function () { return Object.getOwnPropertyDescriptor(arguments, 'callee').get; }())\n\t: function () { throw new TypeError(); };\n\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar generator; // = function * () {};\nvar generatorFunction = generator ? getProto(generator) : undefined;\nvar asyncFn; // async function() {};\nvar asyncFunction = asyncFn ? asyncFn.constructor : undefined;\nvar asyncGen; // async function * () {};\nvar asyncGenFunction = asyncGen ? getProto(asyncGen) : undefined;\nvar asyncGenIterator = asyncGen ? asyncGen() : undefined;\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'$ %Array%': Array,\n\t'$ %ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'$ %ArrayBufferPrototype%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer.prototype,\n\t'$ %ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'$ %ArrayPrototype%': Array.prototype,\n\t'$ %ArrayProto_entries%': Array.prototype.entries,\n\t'$ %ArrayProto_forEach%': Array.prototype.forEach,\n\t'$ %ArrayProto_keys%': Array.prototype.keys,\n\t'$ %ArrayProto_values%': Array.prototype.values,\n\t'$ %AsyncFromSyncIteratorPrototype%': undefined,\n\t'$ %AsyncFunction%': asyncFunction,\n\t'$ %AsyncFunctionPrototype%': asyncFunction ? asyncFunction.prototype : undefined,\n\t'$ %AsyncGenerator%': asyncGen ? getProto(asyncGenIterator) : undefined,\n\t'$ %AsyncGeneratorFunction%': asyncGenFunction,\n\t'$ %AsyncGeneratorPrototype%': asyncGenFunction ? asyncGenFunction.prototype : undefined,\n\t'$ %AsyncIteratorPrototype%': asyncGenIterator && hasSymbols && Symbol.asyncIterator ? asyncGenIterator[Symbol.asyncIterator]() : undefined,\n\t'$ %Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'$ %Boolean%': Boolean,\n\t'$ %BooleanPrototype%': Boolean.prototype,\n\t'$ %DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'$ %DataViewPrototype%': typeof DataView === 'undefined' ? undefined : DataView.prototype,\n\t'$ %Date%': Date,\n\t'$ %DatePrototype%': Date.prototype,\n\t'$ %decodeURI%': decodeURI,\n\t'$ %decodeURIComponent%': decodeURIComponent,\n\t'$ %encodeURI%': encodeURI,\n\t'$ %encodeURIComponent%': encodeURIComponent,\n\t'$ %Error%': Error,\n\t'$ %ErrorPrototype%': Error.prototype,\n\t'$ %eval%': eval, // eslint-disable-line no-eval\n\t'$ %EvalError%': EvalError,\n\t'$ %EvalErrorPrototype%': EvalError.prototype,\n\t'$ %Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'$ %Float32ArrayPrototype%': typeof Float32Array === 'undefined' ? undefined : Float32Array.prototype,\n\t'$ %Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'$ %Float64ArrayPrototype%': typeof Float64Array === 'undefined' ? undefined : Float64Array.prototype,\n\t'$ %Function%': Function,\n\t'$ %FunctionPrototype%': Function.prototype,\n\t'$ %Generator%': generator ? getProto(generator()) : undefined,\n\t'$ %GeneratorFunction%': generatorFunction,\n\t'$ %GeneratorPrototype%': generatorFunction ? generatorFunction.prototype : undefined,\n\t'$ %Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'$ %Int8ArrayPrototype%': typeof Int8Array === 'undefined' ? undefined : Int8Array.prototype,\n\t'$ %Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'$ %Int16ArrayPrototype%': typeof Int16Array === 'undefined' ? undefined : Int8Array.prototype,\n\t'$ %Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'$ %Int32ArrayPrototype%': typeof Int32Array === 'undefined' ? undefined : Int32Array.prototype,\n\t'$ %isFinite%': isFinite,\n\t'$ %isNaN%': isNaN,\n\t'$ %IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'$ %JSON%': JSON,\n\t'$ %JSONParse%': JSON.parse,\n\t'$ %Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'$ %MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'$ %MapPrototype%': typeof Map === 'undefined' ? undefined : Map.prototype,\n\t'$ %Math%': Math,\n\t'$ %Number%': Number,\n\t'$ %NumberPrototype%': Number.prototype,\n\t'$ %Object%': Object,\n\t'$ %ObjectPrototype%': Object.prototype,\n\t'$ %ObjProto_toString%': Object.prototype.toString,\n\t'$ %ObjProto_valueOf%': Object.prototype.valueOf,\n\t'$ %parseFloat%': parseFloat,\n\t'$ %parseInt%': parseInt,\n\t'$ %Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'$ %PromisePrototype%': typeof Promise === 'undefined' ? undefined : Promise.prototype,\n\t'$ %PromiseProto_then%': typeof Promise === 'undefined' ? undefined : Promise.prototype.then,\n\t'$ %Promise_all%': typeof Promise === 'undefined' ? undefined : Promise.all,\n\t'$ %Promise_reject%': typeof Promise === 'undefined' ? undefined : Promise.reject,\n\t'$ %Promise_resolve%': typeof Promise === 'undefined' ? undefined : Promise.resolve,\n\t'$ %Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'$ %RangeError%': RangeError,\n\t'$ %RangeErrorPrototype%': RangeError.prototype,\n\t'$ %ReferenceError%': ReferenceError,\n\t'$ %ReferenceErrorPrototype%': ReferenceError.prototype,\n\t'$ %Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'$ %RegExp%': RegExp,\n\t'$ %RegExpPrototype%': RegExp.prototype,\n\t'$ %Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'$ %SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'$ %SetPrototype%': typeof Set === 'undefined' ? undefined : Set.prototype,\n\t'$ %SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'$ %SharedArrayBufferPrototype%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer.prototype,\n\t'$ %String%': String,\n\t'$ %StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'$ %StringPrototype%': String.prototype,\n\t'$ %Symbol%': hasSymbols ? Symbol : undefined,\n\t'$ %SymbolPrototype%': hasSymbols ? Symbol.prototype : undefined,\n\t'$ %SyntaxError%': SyntaxError,\n\t'$ %SyntaxErrorPrototype%': SyntaxError.prototype,\n\t'$ %ThrowTypeError%': ThrowTypeError,\n\t'$ %TypedArray%': TypedArray,\n\t'$ %TypedArrayPrototype%': TypedArray ? TypedArray.prototype : undefined,\n\t'$ %TypeError%': TypeError,\n\t'$ %TypeErrorPrototype%': TypeError.prototype,\n\t'$ %Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'$ %Uint8ArrayPrototype%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array.prototype,\n\t'$ %Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'$ %Uint8ClampedArrayPrototype%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray.prototype,\n\t'$ %Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'$ %Uint16ArrayPrototype%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array.prototype,\n\t'$ %Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'$ %Uint32ArrayPrototype%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array.prototype,\n\t'$ %URIError%': URIError,\n\t'$ %URIErrorPrototype%': URIError.prototype,\n\t'$ %WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'$ %WeakMapPrototype%': typeof WeakMap === 'undefined' ? undefined : WeakMap.prototype,\n\t'$ %WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\t'$ %WeakSetPrototype%': typeof WeakSet === 'undefined' ? undefined : WeakSet.prototype\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tvar key = '$ ' + name;\n\tif (!(key in INTRINSICS)) {\n\t\tthrow new SyntaxError('intrinsic ' + name + ' does not exist!');\n\t}\n\n\t// istanbul ignore if // hopefully this is impossible to test :-)\n\tif (typeof INTRINSICS[key] === 'undefined' && !allowMissing) {\n\t\tthrow new TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t}\n\treturn INTRINSICS[key];\n};\n","'use strict';\n\nvar has = require('has');\nvar toPrimitive = require('es-to-primitive/es6');\n\nvar GetIntrinsic = require('./GetIntrinsic');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $SyntaxError = GetIntrinsic('%SyntaxError%');\nvar $Array = GetIntrinsic('%Array%');\nvar $String = GetIntrinsic('%String%');\nvar $Object = GetIntrinsic('%Object%');\nvar $Number = GetIntrinsic('%Number%');\nvar $Symbol = GetIntrinsic('%Symbol%', true);\nvar $RegExp = GetIntrinsic('%RegExp%');\n\nvar hasSymbols = !!$Symbol;\n\nvar $isNaN = require('./helpers/isNaN');\nvar $isFinite = require('./helpers/isFinite');\nvar MAX_SAFE_INTEGER = $Number.MAX_SAFE_INTEGER || Math.pow(2, 53) - 1;\n\nvar assign = require('./helpers/assign');\nvar sign = require('./helpers/sign');\nvar mod = require('./helpers/mod');\nvar isPrimitive = require('./helpers/isPrimitive');\nvar parseInteger = parseInt;\nvar bind = require('function-bind');\nvar arraySlice = bind.call(Function.call, $Array.prototype.slice);\nvar strSlice = bind.call(Function.call, $String.prototype.slice);\nvar isBinary = bind.call(Function.call, $RegExp.prototype.test, /^0b[01]+$/i);\nvar isOctal = bind.call(Function.call, $RegExp.prototype.test, /^0o[0-7]+$/i);\nvar regexExec = bind.call(Function.call, $RegExp.prototype.exec);\nvar nonWS = ['\\u0085', '\\u200b', '\\ufffe'].join('');\nvar nonWSregex = new $RegExp('[' + nonWS + ']', 'g');\nvar hasNonWS = bind.call(Function.call, $RegExp.prototype.test, nonWSregex);\nvar invalidHexLiteral = /^[-+]0x[0-9a-f]+$/i;\nvar isInvalidHexLiteral = bind.call(Function.call, $RegExp.prototype.test, invalidHexLiteral);\nvar $charCodeAt = bind.call(Function.call, $String.prototype.charCodeAt);\n\nvar toStr = bind.call(Function.call, Object.prototype.toString);\n\nvar $floor = Math.floor;\nvar $abs = Math.abs;\n\nvar $ObjectCreate = Object.create;\nvar $gOPD = $Object.getOwnPropertyDescriptor;\n\nvar $isExtensible = $Object.isExtensible;\n\n// whitespace from: http://es5.github.io/#x15.5.4.20\n// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324\nvar ws = [\n\t'\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003',\n\t'\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028',\n\t'\\u2029\\uFEFF'\n].join('');\nvar trimRegex = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');\nvar replace = bind.call(Function.call, $String.prototype.replace);\nvar trim = function (value) {\n\treturn replace(value, trimRegex, '');\n};\n\nvar ES5 = require('./es5');\n\nvar hasRegExpMatcher = require('is-regex');\n\n// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-abstract-operations\nvar ES6 = assign(assign({}, ES5), {\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-call-f-v-args\n\tCall: function Call(F, V) {\n\t\tvar args = arguments.length > 2 ? arguments[2] : [];\n\t\tif (!this.IsCallable(F)) {\n\t\t\tthrow new $TypeError(F + ' is not a function');\n\t\t}\n\t\treturn F.apply(V, args);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toprimitive\n\tToPrimitive: toPrimitive,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toboolean\n\t// ToBoolean: ES5.ToBoolean,\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-tonumber\n\tToNumber: function ToNumber(argument) {\n\t\tvar value = isPrimitive(argument) ? argument : toPrimitive(argument, $Number);\n\t\tif (typeof value === 'symbol') {\n\t\t\tthrow new $TypeError('Cannot convert a Symbol value to a number');\n\t\t}\n\t\tif (typeof value === 'string') {\n\t\t\tif (isBinary(value)) {\n\t\t\t\treturn this.ToNumber(parseInteger(strSlice(value, 2), 2));\n\t\t\t} else if (isOctal(value)) {\n\t\t\t\treturn this.ToNumber(parseInteger(strSlice(value, 2), 8));\n\t\t\t} else if (hasNonWS(value) || isInvalidHexLiteral(value)) {\n\t\t\t\treturn NaN;\n\t\t\t} else {\n\t\t\t\tvar trimmed = trim(value);\n\t\t\t\tif (trimmed !== value) {\n\t\t\t\t\treturn this.ToNumber(trimmed);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn $Number(value);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tointeger\n\t// ToInteger: ES5.ToNumber,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint32\n\t// ToInt32: ES5.ToInt32,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint32\n\t// ToUint32: ES5.ToUint32,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint16\n\tToInt16: function ToInt16(argument) {\n\t\tvar int16bit = this.ToUint16(argument);\n\t\treturn int16bit >= 0x8000 ? int16bit - 0x10000 : int16bit;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint16\n\t// ToUint16: ES5.ToUint16,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toint8\n\tToInt8: function ToInt8(argument) {\n\t\tvar int8bit = this.ToUint8(argument);\n\t\treturn int8bit >= 0x80 ? int8bit - 0x100 : int8bit;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8\n\tToUint8: function ToUint8(argument) {\n\t\tvar number = this.ToNumber(argument);\n\t\tif ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }\n\t\tvar posInt = sign(number) * $floor($abs(number));\n\t\treturn mod(posInt, 0x100);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-touint8clamp\n\tToUint8Clamp: function ToUint8Clamp(argument) {\n\t\tvar number = this.ToNumber(argument);\n\t\tif ($isNaN(number) || number <= 0) { return 0; }\n\t\tif (number >= 0xFF) { return 0xFF; }\n\t\tvar f = $floor(argument);\n\t\tif (f + 0.5 < number) { return f + 1; }\n\t\tif (number < f + 0.5) { return f; }\n\t\tif (f % 2 !== 0) { return f + 1; }\n\t\treturn f;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tostring\n\tToString: function ToString(argument) {\n\t\tif (typeof argument === 'symbol') {\n\t\t\tthrow new $TypeError('Cannot convert a Symbol value to a string');\n\t\t}\n\t\treturn $String(argument);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-toobject\n\tToObject: function ToObject(value) {\n\t\tthis.RequireObjectCoercible(value);\n\t\treturn $Object(value);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-topropertykey\n\tToPropertyKey: function ToPropertyKey(argument) {\n\t\tvar key = this.ToPrimitive(argument, $String);\n\t\treturn typeof key === 'symbol' ? key : this.ToString(key);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n\tToLength: function ToLength(argument) {\n\t\tvar len = this.ToInteger(argument);\n\t\tif (len <= 0) { return 0; } // includes converting -0 to +0\n\t\tif (len > MAX_SAFE_INTEGER) { return MAX_SAFE_INTEGER; }\n\t\treturn len;\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-canonicalnumericindexstring\n\tCanonicalNumericIndexString: function CanonicalNumericIndexString(argument) {\n\t\tif (toStr(argument) !== '[object String]') {\n\t\t\tthrow new $TypeError('must be a string');\n\t\t}\n\t\tif (argument === '-0') { return -0; }\n\t\tvar n = this.ToNumber(argument);\n\t\tif (this.SameValue(this.ToString(n), argument)) { return n; }\n\t\treturn void 0;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-requireobjectcoercible\n\tRequireObjectCoercible: ES5.CheckObjectCoercible,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isarray\n\tIsArray: $Array.isArray || function IsArray(argument) {\n\t\treturn toStr(argument) === '[object Array]';\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-iscallable\n\t// IsCallable: ES5.IsCallable,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isconstructor\n\tIsConstructor: function IsConstructor(argument) {\n\t\treturn typeof argument === 'function' && !!argument.prototype; // unfortunately there's no way to truly check this without try/catch `new argument`\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isextensible-o\n\tIsExtensible: Object.preventExtensions\n\t\t? function IsExtensible(obj) {\n\t\t\tif (isPrimitive(obj)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn $isExtensible(obj);\n\t\t}\n\t\t: function isExtensible(obj) { return true; }, // eslint-disable-line no-unused-vars\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-isinteger\n\tIsInteger: function IsInteger(argument) {\n\t\tif (typeof argument !== 'number' || $isNaN(argument) || !$isFinite(argument)) {\n\t\t\treturn false;\n\t\t}\n\t\tvar abs = $abs(argument);\n\t\treturn $floor(abs) === abs;\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ispropertykey\n\tIsPropertyKey: function IsPropertyKey(argument) {\n\t\treturn typeof argument === 'string' || typeof argument === 'symbol';\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-isregexp\n\tIsRegExp: function IsRegExp(argument) {\n\t\tif (!argument || typeof argument !== 'object') {\n\t\t\treturn false;\n\t\t}\n\t\tif (hasSymbols) {\n\t\t\tvar isRegExp = argument[$Symbol.match];\n\t\t\tif (typeof isRegExp !== 'undefined') {\n\t\t\t\treturn ES5.ToBoolean(isRegExp);\n\t\t\t}\n\t\t}\n\t\treturn hasRegExpMatcher(argument);\n\t},\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevalue\n\t// SameValue: ES5.SameValue,\n\n\t// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-samevaluezero\n\tSameValueZero: function SameValueZero(x, y) {\n\t\treturn (x === y) || ($isNaN(x) && $isNaN(y));\n\t},\n\n\t/**\n\t * 7.3.2 GetV (V, P)\n\t * 1. Assert: IsPropertyKey(P) is true.\n\t * 2. Let O be ToObject(V).\n\t * 3. ReturnIfAbrupt(O).\n\t * 4. Return O.[[Get]](P, V).\n\t */\n\tGetV: function GetV(V, P) {\n\t\t// 7.3.2.1\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\n\t\t// 7.3.2.2-3\n\t\tvar O = this.ToObject(V);\n\n\t\t// 7.3.2.4\n\t\treturn O[P];\n\t},\n\n\t/**\n\t * 7.3.9 - https://ecma-international.org/ecma-262/6.0/#sec-getmethod\n\t * 1. Assert: IsPropertyKey(P) is true.\n\t * 2. Let func be GetV(O, P).\n\t * 3. ReturnIfAbrupt(func).\n\t * 4. If func is either undefined or null, return undefined.\n\t * 5. If IsCallable(func) is false, throw a TypeError exception.\n\t * 6. Return func.\n\t */\n\tGetMethod: function GetMethod(O, P) {\n\t\t// 7.3.9.1\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\n\t\t// 7.3.9.2\n\t\tvar func = this.GetV(O, P);\n\n\t\t// 7.3.9.4\n\t\tif (func == null) {\n\t\t\treturn void 0;\n\t\t}\n\n\t\t// 7.3.9.5\n\t\tif (!this.IsCallable(func)) {\n\t\t\tthrow new $TypeError(P + 'is not a function');\n\t\t}\n\n\t\t// 7.3.9.6\n\t\treturn func;\n\t},\n\n\t/**\n\t * 7.3.1 Get (O, P) - https://ecma-international.org/ecma-262/6.0/#sec-get-o-p\n\t * 1. Assert: Type(O) is Object.\n\t * 2. Assert: IsPropertyKey(P) is true.\n\t * 3. Return O.[[Get]](P, O).\n\t */\n\tGet: function Get(O, P) {\n\t\t// 7.3.1.1\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\t\t// 7.3.1.2\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\t\t// 7.3.1.3\n\t\treturn O[P];\n\t},\n\n\tType: function Type(x) {\n\t\tif (typeof x === 'symbol') {\n\t\t\treturn 'Symbol';\n\t\t}\n\t\treturn ES5.Type(x);\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-speciesconstructor\n\tSpeciesConstructor: function SpeciesConstructor(O, defaultConstructor) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\t\tvar C = O.constructor;\n\t\tif (typeof C === 'undefined') {\n\t\t\treturn defaultConstructor;\n\t\t}\n\t\tif (this.Type(C) !== 'Object') {\n\t\t\tthrow new $TypeError('O.constructor is not an Object');\n\t\t}\n\t\tvar S = hasSymbols && $Symbol.species ? C[$Symbol.species] : void 0;\n\t\tif (S == null) {\n\t\t\treturn defaultConstructor;\n\t\t}\n\t\tif (this.IsConstructor(S)) {\n\t\t\treturn S;\n\t\t}\n\t\tthrow new $TypeError('no constructor found');\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-completepropertydescriptor\n\tCompletePropertyDescriptor: function CompletePropertyDescriptor(Desc) {\n\t\tif (!this.IsPropertyDescriptor(Desc)) {\n\t\t\tthrow new $TypeError('Desc must be a Property Descriptor');\n\t\t}\n\n\t\tif (this.IsGenericDescriptor(Desc) || this.IsDataDescriptor(Desc)) {\n\t\t\tif (!has(Desc, '[[Value]]')) {\n\t\t\t\tDesc['[[Value]]'] = void 0;\n\t\t\t}\n\t\t\tif (!has(Desc, '[[Writable]]')) {\n\t\t\t\tDesc['[[Writable]]'] = false;\n\t\t\t}\n\t\t} else {\n\t\t\tif (!has(Desc, '[[Get]]')) {\n\t\t\t\tDesc['[[Get]]'] = void 0;\n\t\t\t}\n\t\t\tif (!has(Desc, '[[Set]]')) {\n\t\t\t\tDesc['[[Set]]'] = void 0;\n\t\t\t}\n\t\t}\n\t\tif (!has(Desc, '[[Enumerable]]')) {\n\t\t\tDesc['[[Enumerable]]'] = false;\n\t\t}\n\t\tif (!has(Desc, '[[Configurable]]')) {\n\t\t\tDesc['[[Configurable]]'] = false;\n\t\t}\n\t\treturn Desc;\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-set-o-p-v-throw\n\tSet: function Set(O, P, V, Throw) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('O must be an Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('P must be a Property Key');\n\t\t}\n\t\tif (this.Type(Throw) !== 'Boolean') {\n\t\t\tthrow new $TypeError('Throw must be a Boolean');\n\t\t}\n\t\tif (Throw) {\n\t\t\tO[P] = V;\n\t\t\treturn true;\n\t\t} else {\n\t\t\ttry {\n\t\t\t\tO[P] = V;\n\t\t\t} catch (e) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-hasownproperty\n\tHasOwnProperty: function HasOwnProperty(O, P) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('O must be an Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('P must be a Property Key');\n\t\t}\n\t\treturn has(O, P);\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-hasproperty\n\tHasProperty: function HasProperty(O, P) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('O must be an Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('P must be a Property Key');\n\t\t}\n\t\treturn P in O;\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-isconcatspreadable\n\tIsConcatSpreadable: function IsConcatSpreadable(O) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\tif (hasSymbols && typeof $Symbol.isConcatSpreadable === 'symbol') {\n\t\t\tvar spreadable = this.Get(O, Symbol.isConcatSpreadable);\n\t\t\tif (typeof spreadable !== 'undefined') {\n\t\t\t\treturn this.ToBoolean(spreadable);\n\t\t\t}\n\t\t}\n\t\treturn this.IsArray(O);\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-invoke\n\tInvoke: function Invoke(O, P) {\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('P must be a Property Key');\n\t\t}\n\t\tvar argumentsList = arraySlice(arguments, 2);\n\t\tvar func = this.GetV(O, P);\n\t\treturn this.Call(func, O, argumentsList);\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-getiterator\n\tGetIterator: function GetIterator(obj, method) {\n\t\tif (!hasSymbols) {\n\t\t\tthrow new SyntaxError('ES.GetIterator depends on native iterator support.');\n\t\t}\n\n\t\tvar actualMethod = method;\n\t\tif (arguments.length < 2) {\n\t\t\tactualMethod = this.GetMethod(obj, $Symbol.iterator);\n\t\t}\n\t\tvar iterator = this.Call(actualMethod, obj);\n\t\tif (this.Type(iterator) !== 'Object') {\n\t\t\tthrow new $TypeError('iterator must return an object');\n\t\t}\n\n\t\treturn iterator;\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-iteratornext\n\tIteratorNext: function IteratorNext(iterator, value) {\n\t\tvar result = this.Invoke(iterator, 'next', arguments.length < 2 ? [] : [value]);\n\t\tif (this.Type(result) !== 'Object') {\n\t\t\tthrow new $TypeError('iterator next must return an object');\n\t\t}\n\t\treturn result;\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-iteratorcomplete\n\tIteratorComplete: function IteratorComplete(iterResult) {\n\t\tif (this.Type(iterResult) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(iterResult) is not Object');\n\t\t}\n\t\treturn this.ToBoolean(this.Get(iterResult, 'done'));\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-iteratorvalue\n\tIteratorValue: function IteratorValue(iterResult) {\n\t\tif (this.Type(iterResult) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(iterResult) is not Object');\n\t\t}\n\t\treturn this.Get(iterResult, 'value');\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-iteratorstep\n\tIteratorStep: function IteratorStep(iterator) {\n\t\tvar result = this.IteratorNext(iterator);\n\t\tvar done = this.IteratorComplete(result);\n\t\treturn done === true ? false : result;\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-iteratorclose\n\tIteratorClose: function IteratorClose(iterator, completion) {\n\t\tif (this.Type(iterator) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(iterator) is not Object');\n\t\t}\n\t\tif (!this.IsCallable(completion)) {\n\t\t\tthrow new $TypeError('Assertion failed: completion is not a thunk for a Completion Record');\n\t\t}\n\t\tvar completionThunk = completion;\n\n\t\tvar iteratorReturn = this.GetMethod(iterator, 'return');\n\n\t\tif (typeof iteratorReturn === 'undefined') {\n\t\t\treturn completionThunk();\n\t\t}\n\n\t\tvar completionRecord;\n\t\ttry {\n\t\t\tvar innerResult = this.Call(iteratorReturn, iterator, []);\n\t\t} catch (e) {\n\t\t\t// if we hit here, then \"e\" is the innerResult completion that needs re-throwing\n\n\t\t\t// if the completion is of type \"throw\", this will throw.\n\t\t\tcompletionRecord = completionThunk();\n\t\t\tcompletionThunk = null; // ensure it's not called twice.\n\n\t\t\t// if not, then return the innerResult completion\n\t\t\tthrow e;\n\t\t}\n\t\tcompletionRecord = completionThunk(); // if innerResult worked, then throw if the completion does\n\t\tcompletionThunk = null; // ensure it's not called twice.\n\n\t\tif (this.Type(innerResult) !== 'Object') {\n\t\t\tthrow new $TypeError('iterator .return must return an object');\n\t\t}\n\n\t\treturn completionRecord;\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-createiterresultobject\n\tCreateIterResultObject: function CreateIterResultObject(value, done) {\n\t\tif (this.Type(done) !== 'Boolean') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(done) is not Boolean');\n\t\t}\n\t\treturn {\n\t\t\tvalue: value,\n\t\t\tdone: done\n\t\t};\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-regexpexec\n\tRegExpExec: function RegExpExec(R, S) {\n\t\tif (this.Type(R) !== 'Object') {\n\t\t\tthrow new $TypeError('R must be an Object');\n\t\t}\n\t\tif (this.Type(S) !== 'String') {\n\t\t\tthrow new $TypeError('S must be a String');\n\t\t}\n\t\tvar exec = this.Get(R, 'exec');\n\t\tif (this.IsCallable(exec)) {\n\t\t\tvar result = this.Call(exec, R, [S]);\n\t\t\tif (result === null || this.Type(result) === 'Object') {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\tthrow new $TypeError('\"exec\" method must return `null` or an Object');\n\t\t}\n\t\treturn regexExec(R, S);\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-arrayspeciescreate\n\tArraySpeciesCreate: function ArraySpeciesCreate(originalArray, length) {\n\t\tif (!this.IsInteger(length) || length < 0) {\n\t\t\tthrow new $TypeError('Assertion failed: length must be an integer >= 0');\n\t\t}\n\t\tvar len = length === 0 ? 0 : length;\n\t\tvar C;\n\t\tvar isArray = this.IsArray(originalArray);\n\t\tif (isArray) {\n\t\t\tC = this.Get(originalArray, 'constructor');\n\t\t\t// TODO: figure out how to make a cross-realm normal Array, a same-realm Array\n\t\t\t// if (this.IsConstructor(C)) {\n\t\t\t// \tif C is another realm's Array, C = undefined\n\t\t\t// \tObject.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(Array))) === null ?\n\t\t\t// }\n\t\t\tif (this.Type(C) === 'Object' && hasSymbols && $Symbol.species) {\n\t\t\t\tC = this.Get(C, $Symbol.species);\n\t\t\t\tif (C === null) {\n\t\t\t\t\tC = void 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif (typeof C === 'undefined') {\n\t\t\treturn $Array(len);\n\t\t}\n\t\tif (!this.IsConstructor(C)) {\n\t\t\tthrow new $TypeError('C must be a constructor');\n\t\t}\n\t\treturn new C(len); // this.Construct(C, len);\n\t},\n\n\tCreateDataProperty: function CreateDataProperty(O, P, V) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\t\tvar oldDesc = $gOPD(O, P);\n\t\tvar extensible = oldDesc || (typeof $isExtensible !== 'function' || $isExtensible(O));\n\t\tvar immutable = oldDesc && (!oldDesc.writable || !oldDesc.configurable);\n\t\tif (immutable || !extensible) {\n\t\t\treturn false;\n\t\t}\n\t\tvar newDesc = {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: true,\n\t\t\tvalue: V,\n\t\t\twritable: true\n\t\t};\n\t\tObject.defineProperty(O, P, newDesc);\n\t\treturn true;\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-createdatapropertyorthrow\n\tCreateDataPropertyOrThrow: function CreateDataPropertyOrThrow(O, P, V) {\n\t\tif (this.Type(O) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t\t}\n\t\tif (!this.IsPropertyKey(P)) {\n\t\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t\t}\n\t\tvar success = this.CreateDataProperty(O, P, V);\n\t\tif (!success) {\n\t\t\tthrow new $TypeError('unable to create data property');\n\t\t}\n\t\treturn success;\n\t},\n\n\t// https://www.ecma-international.org/ecma-262/6.0/#sec-objectcreate\n\tObjectCreate: function ObjectCreate(proto, internalSlotsList) {\n\t\tif (proto !== null && this.Type(proto) !== 'Object') {\n\t\t\tthrow new $TypeError('Assertion failed: proto must be null or an object');\n\t\t}\n\t\tvar slots = arguments.length < 2 ? [] : internalSlotsList;\n\t\tif (slots.length > 0) {\n\t\t\tthrow new $SyntaxError('es-abstract does not yet support internal slots');\n\t\t}\n\n\t\tif (proto === null && !$ObjectCreate) {\n\t\t\tthrow new $SyntaxError('native Object.create support is required to create null objects');\n\t\t}\n\n\t\treturn $ObjectCreate(proto);\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-advancestringindex\n\tAdvanceStringIndex: function AdvanceStringIndex(S, index, unicode) {\n\t\tif (this.Type(S) !== 'String') {\n\t\t\tthrow new $TypeError('S must be a String');\n\t\t}\n\t\tif (!this.IsInteger(index) || index < 0 || index > MAX_SAFE_INTEGER) {\n\t\t\tthrow new $TypeError('Assertion failed: length must be an integer >= 0 and <= 2**53');\n\t\t}\n\t\tif (this.Type(unicode) !== 'Boolean') {\n\t\t\tthrow new $TypeError('Assertion failed: unicode must be a Boolean');\n\t\t}\n\t\tif (!unicode) {\n\t\t\treturn index + 1;\n\t\t}\n\t\tvar length = S.length;\n\t\tif ((index + 1) >= length) {\n\t\t\treturn index + 1;\n\t\t}\n\n\t\tvar first = $charCodeAt(S, index);\n\t\tif (first < 0xD800 || first > 0xDBFF) {\n\t\t\treturn index + 1;\n\t\t}\n\n\t\tvar second = $charCodeAt(S, index + 1);\n\t\tif (second < 0xDC00 || second > 0xDFFF) {\n\t\t\treturn index + 1;\n\t\t}\n\n\t\treturn index + 2;\n\t}\n});\n\ndelete ES6.CheckObjectCoercible; // renamed in ES6 to RequireObjectCoercible\n\nmodule.exports = ES6;\n","'use strict';\n\nvar ES2015 = require('./es2015');\nvar assign = require('./helpers/assign');\n\nvar ES2016 = assign(assign({}, ES2015), {\n\t// https://github.com/tc39/ecma262/pull/60\n\tSameValueNonNumber: function SameValueNonNumber(x, y) {\n\t\tif (typeof x === 'number' || typeof x !== typeof y) {\n\t\t\tthrow new TypeError('SameValueNonNumber requires two non-number values of the same type.');\n\t\t}\n\t\treturn this.SameValue(x, y);\n\t}\n});\n\nmodule.exports = ES2016;\n","'use strict';\n\nvar ES2016 = require('./es2016');\nvar assign = require('./helpers/assign');\n\nvar ES2017 = assign(assign({}, ES2016), {\n\tToIndex: function ToIndex(value) {\n\t\tif (typeof value === 'undefined') {\n\t\t\treturn 0;\n\t\t}\n\t\tvar integerIndex = this.ToInteger(value);\n\t\tif (integerIndex < 0) {\n\t\t\tthrow new RangeError('index must be >= 0');\n\t\t}\n\t\tvar index = this.ToLength(integerIndex);\n\t\tif (!this.SameValueZero(integerIndex, index)) {\n\t\t\tthrow new RangeError('index must be >= 0 and < 2 ** 53 - 1');\n\t\t}\n\t\treturn index;\n\t}\n});\n\ndelete ES2017.EnumerableOwnNames; // replaced with EnumerableOwnProperties\n\nmodule.exports = ES2017;\n","'use strict';\n\nvar GetIntrinsic = require('./GetIntrinsic');\n\nvar $Object = GetIntrinsic('%Object%');\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $String = GetIntrinsic('%String%');\n\nvar $isNaN = require('./helpers/isNaN');\nvar $isFinite = require('./helpers/isFinite');\n\nvar sign = require('./helpers/sign');\nvar mod = require('./helpers/mod');\n\nvar IsCallable = require('is-callable');\nvar toPrimitive = require('es-to-primitive/es5');\n\nvar has = require('has');\n\n// https://es5.github.io/#x9\nvar ES5 = {\n\tToPrimitive: toPrimitive,\n\n\tToBoolean: function ToBoolean(value) {\n\t\treturn !!value;\n\t},\n\tToNumber: function ToNumber(value) {\n\t\treturn +value; // eslint-disable-line no-implicit-coercion\n\t},\n\tToInteger: function ToInteger(value) {\n\t\tvar number = this.ToNumber(value);\n\t\tif ($isNaN(number)) { return 0; }\n\t\tif (number === 0 || !$isFinite(number)) { return number; }\n\t\treturn sign(number) * Math.floor(Math.abs(number));\n\t},\n\tToInt32: function ToInt32(x) {\n\t\treturn this.ToNumber(x) >> 0;\n\t},\n\tToUint32: function ToUint32(x) {\n\t\treturn this.ToNumber(x) >>> 0;\n\t},\n\tToUint16: function ToUint16(value) {\n\t\tvar number = this.ToNumber(value);\n\t\tif ($isNaN(number) || number === 0 || !$isFinite(number)) { return 0; }\n\t\tvar posInt = sign(number) * Math.floor(Math.abs(number));\n\t\treturn mod(posInt, 0x10000);\n\t},\n\tToString: function ToString(value) {\n\t\treturn $String(value);\n\t},\n\tToObject: function ToObject(value) {\n\t\tthis.CheckObjectCoercible(value);\n\t\treturn $Object(value);\n\t},\n\tCheckObjectCoercible: function CheckObjectCoercible(value, optMessage) {\n\t\t/* jshint eqnull:true */\n\t\tif (value == null) {\n\t\t\tthrow new $TypeError(optMessage || 'Cannot call method on ' + value);\n\t\t}\n\t\treturn value;\n\t},\n\tIsCallable: IsCallable,\n\tSameValue: function SameValue(x, y) {\n\t\tif (x === y) { // 0 === -0, but they are not identical.\n\t\t\tif (x === 0) { return 1 / x === 1 / y; }\n\t\t\treturn true;\n\t\t}\n\t\treturn $isNaN(x) && $isNaN(y);\n\t},\n\n\t// https://www.ecma-international.org/ecma-262/5.1/#sec-8\n\tType: function Type(x) {\n\t\tif (x === null) {\n\t\t\treturn 'Null';\n\t\t}\n\t\tif (typeof x === 'undefined') {\n\t\t\treturn 'Undefined';\n\t\t}\n\t\tif (typeof x === 'function' || typeof x === 'object') {\n\t\t\treturn 'Object';\n\t\t}\n\t\tif (typeof x === 'number') {\n\t\t\treturn 'Number';\n\t\t}\n\t\tif (typeof x === 'boolean') {\n\t\t\treturn 'Boolean';\n\t\t}\n\t\tif (typeof x === 'string') {\n\t\t\treturn 'String';\n\t\t}\n\t},\n\n\t// https://ecma-international.org/ecma-262/6.0/#sec-property-descriptor-specification-type\n\tIsPropertyDescriptor: function IsPropertyDescriptor(Desc) {\n\t\tif (this.Type(Desc) !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\tvar allowed = {\n\t\t\t'[[Configurable]]': true,\n\t\t\t'[[Enumerable]]': true,\n\t\t\t'[[Get]]': true,\n\t\t\t'[[Set]]': true,\n\t\t\t'[[Value]]': true,\n\t\t\t'[[Writable]]': true\n\t\t};\n\t\t// jscs:disable\n\t\tfor (var key in Desc) { // eslint-disable-line\n\t\t\tif (has(Desc, key) && !allowed[key]) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\t// jscs:enable\n\t\tvar isData = has(Desc, '[[Value]]');\n\t\tvar IsAccessor = has(Desc, '[[Get]]') || has(Desc, '[[Set]]');\n\t\tif (isData && IsAccessor) {\n\t\t\tthrow new $TypeError('Property Descriptors may not be both accessor and data descriptors');\n\t\t}\n\t\treturn true;\n\t},\n\n\t// https://ecma-international.org/ecma-262/5.1/#sec-8.10.1\n\tIsAccessorDescriptor: function IsAccessorDescriptor(Desc) {\n\t\tif (typeof Desc === 'undefined') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!this.IsPropertyDescriptor(Desc)) {\n\t\t\tthrow new $TypeError('Desc must be a Property Descriptor');\n\t\t}\n\n\t\tif (!has(Desc, '[[Get]]') && !has(Desc, '[[Set]]')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t// https://ecma-international.org/ecma-262/5.1/#sec-8.10.2\n\tIsDataDescriptor: function IsDataDescriptor(Desc) {\n\t\tif (typeof Desc === 'undefined') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!this.IsPropertyDescriptor(Desc)) {\n\t\t\tthrow new $TypeError('Desc must be a Property Descriptor');\n\t\t}\n\n\t\tif (!has(Desc, '[[Value]]') && !has(Desc, '[[Writable]]')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t},\n\n\t// https://ecma-international.org/ecma-262/5.1/#sec-8.10.3\n\tIsGenericDescriptor: function IsGenericDescriptor(Desc) {\n\t\tif (typeof Desc === 'undefined') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!this.IsPropertyDescriptor(Desc)) {\n\t\t\tthrow new $TypeError('Desc must be a Property Descriptor');\n\t\t}\n\n\t\tif (!this.IsAccessorDescriptor(Desc) && !this.IsDataDescriptor(Desc)) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t},\n\n\t// https://ecma-international.org/ecma-262/5.1/#sec-8.10.4\n\tFromPropertyDescriptor: function FromPropertyDescriptor(Desc) {\n\t\tif (typeof Desc === 'undefined') {\n\t\t\treturn Desc;\n\t\t}\n\n\t\tif (!this.IsPropertyDescriptor(Desc)) {\n\t\t\tthrow new $TypeError('Desc must be a Property Descriptor');\n\t\t}\n\n\t\tif (this.IsDataDescriptor(Desc)) {\n\t\t\treturn {\n\t\t\t\tvalue: Desc['[[Value]]'],\n\t\t\t\twritable: !!Desc['[[Writable]]'],\n\t\t\t\tenumerable: !!Desc['[[Enumerable]]'],\n\t\t\t\tconfigurable: !!Desc['[[Configurable]]']\n\t\t\t};\n\t\t} else if (this.IsAccessorDescriptor(Desc)) {\n\t\t\treturn {\n\t\t\t\tget: Desc['[[Get]]'],\n\t\t\t\tset: Desc['[[Set]]'],\n\t\t\t\tenumerable: !!Desc['[[Enumerable]]'],\n\t\t\t\tconfigurable: !!Desc['[[Configurable]]']\n\t\t\t};\n\t\t} else {\n\t\t\tthrow new $TypeError('FromPropertyDescriptor must be called with a fully populated Property Descriptor');\n\t\t}\n\t},\n\n\t// https://ecma-international.org/ecma-262/5.1/#sec-8.10.5\n\tToPropertyDescriptor: function ToPropertyDescriptor(Obj) {\n\t\tif (this.Type(Obj) !== 'Object') {\n\t\t\tthrow new $TypeError('ToPropertyDescriptor requires an object');\n\t\t}\n\n\t\tvar desc = {};\n\t\tif (has(Obj, 'enumerable')) {\n\t\t\tdesc['[[Enumerable]]'] = this.ToBoolean(Obj.enumerable);\n\t\t}\n\t\tif (has(Obj, 'configurable')) {\n\t\t\tdesc['[[Configurable]]'] = this.ToBoolean(Obj.configurable);\n\t\t}\n\t\tif (has(Obj, 'value')) {\n\t\t\tdesc['[[Value]]'] = Obj.value;\n\t\t}\n\t\tif (has(Obj, 'writable')) {\n\t\t\tdesc['[[Writable]]'] = this.ToBoolean(Obj.writable);\n\t\t}\n\t\tif (has(Obj, 'get')) {\n\t\t\tvar getter = Obj.get;\n\t\t\tif (typeof getter !== 'undefined' && !this.IsCallable(getter)) {\n\t\t\t\tthrow new TypeError('getter must be a function');\n\t\t\t}\n\t\t\tdesc['[[Get]]'] = getter;\n\t\t}\n\t\tif (has(Obj, 'set')) {\n\t\t\tvar setter = Obj.set;\n\t\t\tif (typeof setter !== 'undefined' && !this.IsCallable(setter)) {\n\t\t\t\tthrow new $TypeError('setter must be a function');\n\t\t\t}\n\t\t\tdesc['[[Set]]'] = setter;\n\t\t}\n\n\t\tif ((has(desc, '[[Get]]') || has(desc, '[[Set]]')) && (has(desc, '[[Value]]') || has(desc, '[[Writable]]'))) {\n\t\t\tthrow new $TypeError('Invalid property descriptor. Cannot both specify accessors and a value or writable attribute');\n\t\t}\n\t\treturn desc;\n\t}\n};\n\nmodule.exports = ES5;\n","'use strict';\n\nmodule.exports = require('./es2015');\n","'use strict';\n\nmodule.exports = require('./es2016');\n","var bind = require('function-bind');\nvar has = bind.call(Function.call, Object.prototype.hasOwnProperty);\n\nvar $assign = Object.assign;\n\nmodule.exports = function assign(target, source) {\n\tif ($assign) {\n\t\treturn $assign(target, source);\n\t}\n\n\tfor (var key in source) {\n\t\tif (has(source, key)) {\n\t\t\ttarget[key] = source[key];\n\t\t}\n\t}\n\treturn target;\n};\n","var $isNaN = Number.isNaN || function (a) { return a !== a; };\n\nmodule.exports = Number.isFinite || function (x) { return typeof x === 'number' && !$isNaN(x) && x !== Infinity && x !== -Infinity; };\n","module.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","module.exports = function isPrimitive(value) {\n\treturn value === null || (typeof value !== 'function' && typeof value !== 'object');\n};\n","module.exports = function mod(number, modulo) {\n\tvar remain = number % modulo;\n\treturn Math.floor(remain >= 0 ? remain : remain + modulo);\n};\n","module.exports = function sign(number) {\n\treturn number >= 0 ? 1 : -1;\n};\n","'use strict';\n\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol';\n\nvar isPrimitive = require('./helpers/isPrimitive');\nvar isCallable = require('is-callable');\nvar isDate = require('is-date-object');\nvar isSymbol = require('is-symbol');\n\nvar ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) {\n\tif (typeof O === 'undefined' || O === null) {\n\t\tthrow new TypeError('Cannot call method on ' + O);\n\t}\n\tif (typeof hint !== 'string' || (hint !== 'number' && hint !== 'string')) {\n\t\tthrow new TypeError('hint must be \"string\" or \"number\"');\n\t}\n\tvar methodNames = hint === 'string' ? ['toString', 'valueOf'] : ['valueOf', 'toString'];\n\tvar method, result, i;\n\tfor (i = 0; i < methodNames.length; ++i) {\n\t\tmethod = O[methodNames[i]];\n\t\tif (isCallable(method)) {\n\t\t\tresult = method.call(O);\n\t\t\tif (isPrimitive(result)) {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t}\n\tthrow new TypeError('No default value');\n};\n\nvar GetMethod = function GetMethod(O, P) {\n\tvar func = O[P];\n\tif (func !== null && typeof func !== 'undefined') {\n\t\tif (!isCallable(func)) {\n\t\t\tthrow new TypeError(func + ' returned for property ' + P + ' of object ' + O + ' is not a function');\n\t\t}\n\t\treturn func;\n\t}\n\treturn void 0;\n};\n\n// http://www.ecma-international.org/ecma-262/6.0/#sec-toprimitive\nmodule.exports = function ToPrimitive(input) {\n\tif (isPrimitive(input)) {\n\t\treturn input;\n\t}\n\tvar hint = 'default';\n\tif (arguments.length > 1) {\n\t\tif (arguments[1] === String) {\n\t\t\thint = 'string';\n\t\t} else if (arguments[1] === Number) {\n\t\t\thint = 'number';\n\t\t}\n\t}\n\n\tvar exoticToPrim;\n\tif (hasSymbols) {\n\t\tif (Symbol.toPrimitive) {\n\t\t\texoticToPrim = GetMethod(input, Symbol.toPrimitive);\n\t\t} else if (isSymbol(input)) {\n\t\t\texoticToPrim = Symbol.prototype.valueOf;\n\t\t}\n\t}\n\tif (typeof exoticToPrim !== 'undefined') {\n\t\tvar result = exoticToPrim.call(input, hint);\n\t\tif (isPrimitive(result)) {\n\t\t\treturn result;\n\t\t}\n\t\tthrow new TypeError('unable to convert exotic object to primitive');\n\t}\n\tif (hint === 'default' && (isDate(input) || isSymbol(input))) {\n\t\thint = 'string';\n\t}\n\treturn ordinaryToPrimitive(input, hint === 'default' ? 'number' : hint);\n};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nvar isPrimitive = require('./helpers/isPrimitive');\n\nvar isCallable = require('is-callable');\n\n// http://ecma-international.org/ecma-262/5.1/#sec-8.12.8\nvar ES5internalSlots = {\n\t'[[DefaultValue]]': function (O) {\n\t\tvar actualHint;\n\t\tif (arguments.length > 1) {\n\t\t\tactualHint = arguments[1];\n\t\t} else {\n\t\t\tactualHint = toStr.call(O) === '[object Date]' ? String : Number;\n\t\t}\n\n\t\tif (actualHint === String || actualHint === Number) {\n\t\t\tvar methods = actualHint === String ? ['toString', 'valueOf'] : ['valueOf', 'toString'];\n\t\t\tvar value, i;\n\t\t\tfor (i = 0; i < methods.length; ++i) {\n\t\t\t\tif (isCallable(O[methods[i]])) {\n\t\t\t\t\tvalue = O[methods[i]]();\n\t\t\t\t\tif (isPrimitive(value)) {\n\t\t\t\t\t\treturn value;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow new TypeError('No default value');\n\t\t}\n\t\tthrow new TypeError('invalid [[DefaultValue]] hint supplied');\n\t}\n};\n\n// http://ecma-international.org/ecma-262/5.1/#sec-9.1\nmodule.exports = function ToPrimitive(input) {\n\tif (isPrimitive(input)) {\n\t\treturn input;\n\t}\n\tif (arguments.length > 1) {\n\t\treturn ES5internalSlots['[[DefaultValue]]'](input, arguments[1]);\n\t}\n\treturn ES5internalSlots['[[DefaultValue]]'](input);\n};\n","'use strict';\n\nmodule.exports = require('./es2015');\n","module.exports = function isPrimitive(value) {\n\treturn value === null || (typeof value !== 'function' && typeof value !== 'object');\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\n/*eslint-disable no-self-compare */\n\n'use strict';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqual;","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","module.exports = typeof function foo() {}.name === 'string'; // when function names are minified, checking for \"foo\" would break\n","'use strict';\n\nvar isCallable = require('is-callable');\nvar functionsHaveNames = require('./helpers/functionsHaveNames');\nvar bind = require('function-bind');\nvar functionToString = bind.call(Function.call, Function.prototype.toString);\nvar stringMatch = bind.call(Function.call, String.prototype.match);\n\nvar classRegex = /^class /;\n\nvar isClass = function isClassConstructor(fn) {\n\tif (isCallable(fn)) {\n\t\treturn false;\n\t}\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\ttry {\n\t\tvar match = stringMatch(functionToString(fn), classRegex);\n\t\treturn !!match;\n\t} catch (e) {}\n\treturn false;\n};\n\nvar regex = /\\s*function\\s+([^(\\s]*)\\s*/;\n\nvar functionProto = Function.prototype;\n\nmodule.exports = function getName() {\n\tif (!isClass(this) && !isCallable(this)) {\n\t\tthrow new TypeError('Function.prototype.name sham getter called on non-function');\n\t}\n\tif (functionsHaveNames) {\n\t\treturn this.name;\n\t}\n\tif (this === functionProto) {\n\t\treturn '';\n\t}\n\tvar str = functionToString(this);\n\tvar match = stringMatch(str, regex);\n\tvar name = match && match[1];\n\treturn name;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar bind = require('function-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar bound = bind.call(Function.call, implementation);\n\ndefine(bound, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = bound;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn implementation;\n};\n","'use strict';\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\nvar functionsHaveNames = require('./helpers/functionsHaveNames');\nvar getPolyfill = require('./polyfill');\nvar defineProperty = Object.defineProperty;\nvar TypeErr = TypeError;\n\nmodule.exports = function shimName() {\n\tvar polyfill = getPolyfill();\n\tif (functionsHaveNames) {\n\t\treturn polyfill;\n\t}\n\tif (!supportsDescriptors) {\n\t\tthrow new TypeErr('Shimming Function.prototype.name support requires ES5 property descriptor support.');\n\t}\n\tvar functionProto = Function.prototype;\n\tdefineProperty(functionProto, 'name', {\n\t\tconfigurable: true,\n\t\tenumerable: false,\n\t\tget: function () {\n\t\t\tvar name = polyfill.call(this);\n\t\t\tif (this !== functionProto) {\n\t\t\t\tdefineProperty(this, 'name', {\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\tenumerable: false,\n\t\t\t\t\tvalue: name,\n\t\t\t\t\twritable: false\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn name;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar isSymbol = require('is-symbol');\n\nvar globalKey = '__ global cache key __';\n/* istanbul ignore else */\n// eslint-disable-next-line no-restricted-properties\nif (typeof Symbol === 'function' && isSymbol(Symbol('foo')) && typeof Symbol['for'] === 'function') {\n\t// eslint-disable-next-line no-restricted-properties\n\tglobalKey = Symbol['for'](globalKey);\n}\n\nvar trueThunk = function () {\n\treturn true;\n};\n\nvar ensureCache = function ensureCache() {\n\tif (!global[globalKey]) {\n\t\tvar properties = {};\n\t\tproperties[globalKey] = {};\n\t\tvar predicates = {};\n\t\tpredicates[globalKey] = trueThunk;\n\t\tdefine(global, properties, predicates);\n\t}\n\treturn global[globalKey];\n};\n\nvar cache = ensureCache();\n\nvar isPrimitive = function isPrimitive(val) {\n\treturn val === null || (typeof val !== 'object' && typeof val !== 'function');\n};\n\nvar getPrimitiveKey = function getPrimitiveKey(val) {\n\tif (isSymbol(val)) {\n\t\treturn Symbol.prototype.valueOf.call(val);\n\t}\n\treturn typeof val + ' | ' + String(val);\n};\n\nvar requirePrimitiveKey = function requirePrimitiveKey(val) {\n\tif (!isPrimitive(val)) {\n\t\tthrow new TypeError('key must not be an object');\n\t}\n};\n\nvar globalCache = {\n\tclear: function clear() {\n\t\tdelete global[globalKey];\n\t\tcache = ensureCache();\n\t},\n\n\t'delete': function deleteKey(key) {\n\t\trequirePrimitiveKey(key);\n\t\tdelete cache[getPrimitiveKey(key)];\n\t\treturn !globalCache.has(key);\n\t},\n\n\tget: function get(key) {\n\t\trequirePrimitiveKey(key);\n\t\treturn cache[getPrimitiveKey(key)];\n\t},\n\n\thas: function has(key) {\n\t\trequirePrimitiveKey(key);\n\t\treturn getPrimitiveKey(key) in cache;\n\t},\n\n\tset: function set(key, value) {\n\t\trequirePrimitiveKey(key);\n\t\tvar primitiveKey = getPrimitiveKey(key);\n\t\tvar props = {};\n\t\tprops[primitiveKey] = value;\n\t\tvar predicates = {};\n\t\tpredicates[primitiveKey] = trueThunk;\n\t\tdefine(cache, props, predicates);\n\t\treturn globalCache.has(key);\n\t},\n\n\tsetIfMissingThenGet: function setIfMissingThenGet(key, valueThunk) {\n\t\tif (globalCache.has(key)) {\n\t\t\treturn globalCache.get(key);\n\t\t}\n\t\tvar item = valueThunk();\n\t\tglobalCache.set(key, item);\n\t\treturn item;\n\t}\n};\n\nmodule.exports = globalCache;\n","'use strict';\n\nvar origSymbol = global.Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 17], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try { // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\nmodule.exports = function isCallable(value) {\n\tif (!value) { return false; }\n\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\tif (typeof value === 'function' && !value.prototype) { return true; }\n\tif (hasToStringTag) { return tryFunctionObject(value); }\n\tif (isES6ClassFn(value)) { return false; }\n\tvar strClass = toStr.call(value);\n\treturn strClass === fnClass || strClass === genClass;\n};\n","'use strict';\n\nvar getDay = Date.prototype.getDay;\nvar tryDateObject = function tryDateObject(value) {\n\ttry {\n\t\tgetDay.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar toStr = Object.prototype.toString;\nvar dateClass = '[object Date]';\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\nmodule.exports = function isDateObject(value) {\n\tif (typeof value !== 'object' || value === null) { return false; }\n\treturn hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;\n};\n","'use strict';\n\nvar has = require('has');\nvar regexExec = RegExp.prototype.exec;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar tryRegexExecCall = function tryRegexExec(value) {\n\ttry {\n\t\tvar lastIndex = value.lastIndex;\n\t\tvalue.lastIndex = 0;\n\n\t\tregexExec.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t} finally {\n\t\tvalue.lastIndex = lastIndex;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar regexClass = '[object RegExp]';\nvar hasToStringTag = typeof Symbol === 'function' && typeof Symbol.toStringTag === 'symbol';\n\nmodule.exports = function isRegex(value) {\n\tif (!value || typeof value !== 'object') {\n\t\treturn false;\n\t}\n\tif (!hasToStringTag) {\n\t\treturn toStr.call(value) === regexClass;\n\t}\n\n\tvar descriptor = gOPD(value, 'lastIndex');\n\tvar hasLastIndexDataProperty = descriptor && has(descriptor, 'value');\n\tif (!hasLastIndexDataProperty) {\n\t\treturn false;\n\t}\n\n\treturn tryRegexExecCall(value);\n};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar hasSymbols = require('has-symbols')();\n\nif (hasSymbols) {\n\tvar symToStr = Symbol.prototype.toString;\n\tvar symStringRegex = /^Symbol\\(.*\\)$/;\n\tvar isSymbolObject = function isRealSymbolObject(value) {\n\t\tif (typeof value.valueOf() !== 'symbol') {\n\t\t\treturn false;\n\t\t}\n\t\treturn symStringRegex.test(symToStr.call(value));\n\t};\n\n\tmodule.exports = function isSymbol(value) {\n\t\tif (typeof value === 'symbol') {\n\t\t\treturn true;\n\t\t}\n\t\tif (toStr.call(value) !== '[object Symbol]') {\n\t\t\treturn false;\n\t\t}\n\t\ttry {\n\t\t\treturn isSymbolObject(value);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n} else {\n\n\tmodule.exports = function isSymbol(value) {\n\t\t// this environment does not support Symbols.\n\t\treturn false && value;\n\t};\n}\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = isTouchDevice;\nfunction isTouchDevice() {\n return !!(typeof window !== 'undefined' && ('ontouchstart' in window || window.DocumentTouch && typeof document !== 'undefined' && document instanceof window.DocumentTouch)) || !!(typeof navigator !== 'undefined' && (navigator.maxTouchPoints || navigator.msMaxTouchPoints));\n}\nmodule.exports = exports['default'];","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","/*global define:false */\n/**\n * Copyright 2012-2017 Craig Campbell\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * Mousetrap is a simple keyboard shortcut library for Javascript with\n * no external dependencies\n *\n * @version 1.6.2\n * @url craig.is/killing/mice\n */\n(function(window, document, undefined) {\n\n // Check if mousetrap is used inside browser, if not, return\n if (!window) {\n return;\n }\n\n /**\n * mapping of special keycodes to their corresponding keys\n *\n * everything in this dictionary cannot use keypress events\n * so it has to be here to map to the correct keycodes for\n * keyup/keydown events\n *\n * @type {Object}\n */\n var _MAP = {\n 8: 'backspace',\n 9: 'tab',\n 13: 'enter',\n 16: 'shift',\n 17: 'ctrl',\n 18: 'alt',\n 20: 'capslock',\n 27: 'esc',\n 32: 'space',\n 33: 'pageup',\n 34: 'pagedown',\n 35: 'end',\n 36: 'home',\n 37: 'left',\n 38: 'up',\n 39: 'right',\n 40: 'down',\n 45: 'ins',\n 46: 'del',\n 91: 'meta',\n 93: 'meta',\n 224: 'meta'\n };\n\n /**\n * mapping for special characters so they can support\n *\n * this dictionary is only used incase you want to bind a\n * keyup or keydown event to one of these keys\n *\n * @type {Object}\n */\n var _KEYCODE_MAP = {\n 106: '*',\n 107: '+',\n 109: '-',\n 110: '.',\n 111 : '/',\n 186: ';',\n 187: '=',\n 188: ',',\n 189: '-',\n 190: '.',\n 191: '/',\n 192: '`',\n 219: '[',\n 220: '\\\\',\n 221: ']',\n 222: '\\''\n };\n\n /**\n * this is a mapping of keys that require shift on a US keypad\n * back to the non shift equivelents\n *\n * this is so you can use keyup events with these keys\n *\n * note that this will only work reliably on US keyboards\n *\n * @type {Object}\n */\n var _SHIFT_MAP = {\n '~': '`',\n '!': '1',\n '@': '2',\n '#': '3',\n '$': '4',\n '%': '5',\n '^': '6',\n '&': '7',\n '*': '8',\n '(': '9',\n ')': '0',\n '_': '-',\n '+': '=',\n ':': ';',\n '\\\"': '\\'',\n '<': ',',\n '>': '.',\n '?': '/',\n '|': '\\\\'\n };\n\n /**\n * this is a list of special strings you can use to map\n * to modifier keys when you specify your keyboard shortcuts\n *\n * @type {Object}\n */\n var _SPECIAL_ALIASES = {\n 'option': 'alt',\n 'command': 'meta',\n 'return': 'enter',\n 'escape': 'esc',\n 'plus': '+',\n 'mod': /Mac|iPod|iPhone|iPad/.test(navigator.platform) ? 'meta' : 'ctrl'\n };\n\n /**\n * variable to store the flipped version of _MAP from above\n * needed to check if we should use keypress or not when no action\n * is specified\n *\n * @type {Object|undefined}\n */\n var _REVERSE_MAP;\n\n /**\n * loop through the f keys, f1 to f19 and add them to the map\n * programatically\n */\n for (var i = 1; i < 20; ++i) {\n _MAP[111 + i] = 'f' + i;\n }\n\n /**\n * loop through to map numbers on the numeric keypad\n */\n for (i = 0; i <= 9; ++i) {\n\n // This needs to use a string cause otherwise since 0 is falsey\n // mousetrap will never fire for numpad 0 pressed as part of a keydown\n // event.\n //\n // @see https://github.com/ccampbell/mousetrap/pull/258\n _MAP[i + 96] = i.toString();\n }\n\n /**\n * cross browser add event method\n *\n * @param {Element|HTMLDocument} object\n * @param {string} type\n * @param {Function} callback\n * @returns void\n */\n function _addEvent(object, type, callback) {\n if (object.addEventListener) {\n object.addEventListener(type, callback, false);\n return;\n }\n\n object.attachEvent('on' + type, callback);\n }\n\n /**\n * takes the event and returns the key character\n *\n * @param {Event} e\n * @return {string}\n */\n function _characterFromEvent(e) {\n\n // for keypress events we should return the character as is\n if (e.type == 'keypress') {\n var character = String.fromCharCode(e.which);\n\n // if the shift key is not pressed then it is safe to assume\n // that we want the character to be lowercase. this means if\n // you accidentally have caps lock on then your key bindings\n // will continue to work\n //\n // the only side effect that might not be desired is if you\n // bind something like 'A' cause you want to trigger an\n // event when capital A is pressed caps lock will no longer\n // trigger the event. shift+a will though.\n if (!e.shiftKey) {\n character = character.toLowerCase();\n }\n\n return character;\n }\n\n // for non keypress events the special maps are needed\n if (_MAP[e.which]) {\n return _MAP[e.which];\n }\n\n if (_KEYCODE_MAP[e.which]) {\n return _KEYCODE_MAP[e.which];\n }\n\n // if it is not in the special map\n\n // with keydown and keyup events the character seems to always\n // come in as an uppercase character whether you are pressing shift\n // or not. we should make sure it is always lowercase for comparisons\n return String.fromCharCode(e.which).toLowerCase();\n }\n\n /**\n * checks if two arrays are equal\n *\n * @param {Array} modifiers1\n * @param {Array} modifiers2\n * @returns {boolean}\n */\n function _modifiersMatch(modifiers1, modifiers2) {\n return modifiers1.sort().join(',') === modifiers2.sort().join(',');\n }\n\n /**\n * takes a key event and figures out what the modifiers are\n *\n * @param {Event} e\n * @returns {Array}\n */\n function _eventModifiers(e) {\n var modifiers = [];\n\n if (e.shiftKey) {\n modifiers.push('shift');\n }\n\n if (e.altKey) {\n modifiers.push('alt');\n }\n\n if (e.ctrlKey) {\n modifiers.push('ctrl');\n }\n\n if (e.metaKey) {\n modifiers.push('meta');\n }\n\n return modifiers;\n }\n\n /**\n * prevents default for this event\n *\n * @param {Event} e\n * @returns void\n */\n function _preventDefault(e) {\n if (e.preventDefault) {\n e.preventDefault();\n return;\n }\n\n e.returnValue = false;\n }\n\n /**\n * stops propogation for this event\n *\n * @param {Event} e\n * @returns void\n */\n function _stopPropagation(e) {\n if (e.stopPropagation) {\n e.stopPropagation();\n return;\n }\n\n e.cancelBubble = true;\n }\n\n /**\n * determines if the keycode specified is a modifier key or not\n *\n * @param {string} key\n * @returns {boolean}\n */\n function _isModifier(key) {\n return key == 'shift' || key == 'ctrl' || key == 'alt' || key == 'meta';\n }\n\n /**\n * reverses the map lookup so that we can look for specific keys\n * to see what can and can't use keypress\n *\n * @return {Object}\n */\n function _getReverseMap() {\n if (!_REVERSE_MAP) {\n _REVERSE_MAP = {};\n for (var key in _MAP) {\n\n // pull out the numeric keypad from here cause keypress should\n // be able to detect the keys from the character\n if (key > 95 && key < 112) {\n continue;\n }\n\n if (_MAP.hasOwnProperty(key)) {\n _REVERSE_MAP[_MAP[key]] = key;\n }\n }\n }\n return _REVERSE_MAP;\n }\n\n /**\n * picks the best action based on the key combination\n *\n * @param {string} key - character for key\n * @param {Array} modifiers\n * @param {string=} action passed in\n */\n function _pickBestAction(key, modifiers, action) {\n\n // if no action was picked in we should try to pick the one\n // that we think would work best for this key\n if (!action) {\n action = _getReverseMap()[key] ? 'keydown' : 'keypress';\n }\n\n // modifier keys don't work as expected with keypress,\n // switch to keydown\n if (action == 'keypress' && modifiers.length) {\n action = 'keydown';\n }\n\n return action;\n }\n\n /**\n * Converts from a string key combination to an array\n *\n * @param {string} combination like \"command+shift+l\"\n * @return {Array}\n */\n function _keysFromString(combination) {\n if (combination === '+') {\n return ['+'];\n }\n\n combination = combination.replace(/\\+{2}/g, '+plus');\n return combination.split('+');\n }\n\n /**\n * Gets info for a specific key combination\n *\n * @param {string} combination key combination (\"command+s\" or \"a\" or \"*\")\n * @param {string=} action\n * @returns {Object}\n */\n function _getKeyInfo(combination, action) {\n var keys;\n var key;\n var i;\n var modifiers = [];\n\n // take the keys from this pattern and figure out what the actual\n // pattern is all about\n keys = _keysFromString(combination);\n\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n\n // normalize key names\n if (_SPECIAL_ALIASES[key]) {\n key = _SPECIAL_ALIASES[key];\n }\n\n // if this is not a keypress event then we should\n // be smart about using shift keys\n // this will only work for US keyboards however\n if (action && action != 'keypress' && _SHIFT_MAP[key]) {\n key = _SHIFT_MAP[key];\n modifiers.push('shift');\n }\n\n // if this key is a modifier then add it to the list of modifiers\n if (_isModifier(key)) {\n modifiers.push(key);\n }\n }\n\n // depending on what the key combination is\n // we will try to pick the best event for it\n action = _pickBestAction(key, modifiers, action);\n\n return {\n key: key,\n modifiers: modifiers,\n action: action\n };\n }\n\n function _belongsTo(element, ancestor) {\n if (element === null || element === document) {\n return false;\n }\n\n if (element === ancestor) {\n return true;\n }\n\n return _belongsTo(element.parentNode, ancestor);\n }\n\n function Mousetrap(targetElement) {\n var self = this;\n\n targetElement = targetElement || document;\n\n if (!(self instanceof Mousetrap)) {\n return new Mousetrap(targetElement);\n }\n\n /**\n * element to attach key events to\n *\n * @type {Element}\n */\n self.target = targetElement;\n\n /**\n * a list of all the callbacks setup via Mousetrap.bind()\n *\n * @type {Object}\n */\n self._callbacks = {};\n\n /**\n * direct map of string combinations to callbacks used for trigger()\n *\n * @type {Object}\n */\n self._directMap = {};\n\n /**\n * keeps track of what level each sequence is at since multiple\n * sequences can start out with the same sequence\n *\n * @type {Object}\n */\n var _sequenceLevels = {};\n\n /**\n * variable to store the setTimeout call\n *\n * @type {null|number}\n */\n var _resetTimer;\n\n /**\n * temporary state where we will ignore the next keyup\n *\n * @type {boolean|string}\n */\n var _ignoreNextKeyup = false;\n\n /**\n * temporary state where we will ignore the next keypress\n *\n * @type {boolean}\n */\n var _ignoreNextKeypress = false;\n\n /**\n * are we currently inside of a sequence?\n * type of action (\"keyup\" or \"keydown\" or \"keypress\") or false\n *\n * @type {boolean|string}\n */\n var _nextExpectedAction = false;\n\n /**\n * resets all sequence counters except for the ones passed in\n *\n * @param {Object} doNotReset\n * @returns void\n */\n function _resetSequences(doNotReset) {\n doNotReset = doNotReset || {};\n\n var activeSequences = false,\n key;\n\n for (key in _sequenceLevels) {\n if (doNotReset[key]) {\n activeSequences = true;\n continue;\n }\n _sequenceLevels[key] = 0;\n }\n\n if (!activeSequences) {\n _nextExpectedAction = false;\n }\n }\n\n /**\n * finds all callbacks that match based on the keycode, modifiers,\n * and action\n *\n * @param {string} character\n * @param {Array} modifiers\n * @param {Event|Object} e\n * @param {string=} sequenceName - name of the sequence we are looking for\n * @param {string=} combination\n * @param {number=} level\n * @returns {Array}\n */\n function _getMatches(character, modifiers, e, sequenceName, combination, level) {\n var i;\n var callback;\n var matches = [];\n var action = e.type;\n\n // if there are no events related to this keycode\n if (!self._callbacks[character]) {\n return [];\n }\n\n // if a modifier key is coming up on its own we should allow it\n if (action == 'keyup' && _isModifier(character)) {\n modifiers = [character];\n }\n\n // loop through all callbacks for the key that was pressed\n // and see if any of them match\n for (i = 0; i < self._callbacks[character].length; ++i) {\n callback = self._callbacks[character][i];\n\n // if a sequence name is not specified, but this is a sequence at\n // the wrong level then move onto the next match\n if (!sequenceName && callback.seq && _sequenceLevels[callback.seq] != callback.level) {\n continue;\n }\n\n // if the action we are looking for doesn't match the action we got\n // then we should keep going\n if (action != callback.action) {\n continue;\n }\n\n // if this is a keypress event and the meta key and control key\n // are not pressed that means that we need to only look at the\n // character, otherwise check the modifiers as well\n //\n // chrome will not fire a keypress if meta or control is down\n // safari will fire a keypress if meta or meta+shift is down\n // firefox will fire a keypress if meta or control is down\n if ((action == 'keypress' && !e.metaKey && !e.ctrlKey) || _modifiersMatch(modifiers, callback.modifiers)) {\n\n // when you bind a combination or sequence a second time it\n // should overwrite the first one. if a sequenceName or\n // combination is specified in this call it does just that\n //\n // @todo make deleting its own method?\n var deleteCombo = !sequenceName && callback.combo == combination;\n var deleteSequence = sequenceName && callback.seq == sequenceName && callback.level == level;\n if (deleteCombo || deleteSequence) {\n self._callbacks[character].splice(i, 1);\n }\n\n matches.push(callback);\n }\n }\n\n return matches;\n }\n\n /**\n * actually calls the callback function\n *\n * if your callback function returns false this will use the jquery\n * convention - prevent default and stop propogation on the event\n *\n * @param {Function} callback\n * @param {Event} e\n * @returns void\n */\n function _fireCallback(callback, e, combo, sequence) {\n\n // if this event should not happen stop here\n if (self.stopCallback(e, e.target || e.srcElement, combo, sequence)) {\n return;\n }\n\n if (callback(e, combo) === false) {\n _preventDefault(e);\n _stopPropagation(e);\n }\n }\n\n /**\n * handles a character key event\n *\n * @param {string} character\n * @param {Array} modifiers\n * @param {Event} e\n * @returns void\n */\n self._handleKey = function(character, modifiers, e) {\n var callbacks = _getMatches(character, modifiers, e);\n var i;\n var doNotReset = {};\n var maxLevel = 0;\n var processedSequenceCallback = false;\n\n // Calculate the maxLevel for sequences so we can only execute the longest callback sequence\n for (i = 0; i < callbacks.length; ++i) {\n if (callbacks[i].seq) {\n maxLevel = Math.max(maxLevel, callbacks[i].level);\n }\n }\n\n // loop through matching callbacks for this key event\n for (i = 0; i < callbacks.length; ++i) {\n\n // fire for all sequence callbacks\n // this is because if for example you have multiple sequences\n // bound such as \"g i\" and \"g t\" they both need to fire the\n // callback for matching g cause otherwise you can only ever\n // match the first one\n if (callbacks[i].seq) {\n\n // only fire callbacks for the maxLevel to prevent\n // subsequences from also firing\n //\n // for example 'a option b' should not cause 'option b' to fire\n // even though 'option b' is part of the other sequence\n //\n // any sequences that do not match here will be discarded\n // below by the _resetSequences call\n if (callbacks[i].level != maxLevel) {\n continue;\n }\n\n processedSequenceCallback = true;\n\n // keep a list of which sequences were matches for later\n doNotReset[callbacks[i].seq] = 1;\n _fireCallback(callbacks[i].callback, e, callbacks[i].combo, callbacks[i].seq);\n continue;\n }\n\n // if there were no sequence matches but we are still here\n // that means this is a regular match so we should fire that\n if (!processedSequenceCallback) {\n _fireCallback(callbacks[i].callback, e, callbacks[i].combo);\n }\n }\n\n // if the key you pressed matches the type of sequence without\n // being a modifier (ie \"keyup\" or \"keypress\") then we should\n // reset all sequences that were not matched by this event\n //\n // this is so, for example, if you have the sequence \"h a t\" and you\n // type \"h e a r t\" it does not match. in this case the \"e\" will\n // cause the sequence to reset\n //\n // modifier keys are ignored because you can have a sequence\n // that contains modifiers such as \"enter ctrl+space\" and in most\n // cases the modifier key will be pressed before the next key\n //\n // also if you have a sequence such as \"ctrl+b a\" then pressing the\n // \"b\" key will trigger a \"keypress\" and a \"keydown\"\n //\n // the \"keydown\" is expected when there is a modifier, but the\n // \"keypress\" ends up matching the _nextExpectedAction since it occurs\n // after and that causes the sequence to reset\n //\n // we ignore keypresses in a sequence that directly follow a keydown\n // for the same character\n var ignoreThisKeypress = e.type == 'keypress' && _ignoreNextKeypress;\n if (e.type == _nextExpectedAction && !_isModifier(character) && !ignoreThisKeypress) {\n _resetSequences(doNotReset);\n }\n\n _ignoreNextKeypress = processedSequenceCallback && e.type == 'keydown';\n };\n\n /**\n * handles a keydown event\n *\n * @param {Event} e\n * @returns void\n */\n function _handleKeyEvent(e) {\n\n // normalize e.which for key events\n // @see http://stackoverflow.com/questions/4285627/javascript-keycode-vs-charcode-utter-confusion\n if (typeof e.which !== 'number') {\n e.which = e.keyCode;\n }\n\n var character = _characterFromEvent(e);\n\n // no character found then stop\n if (!character) {\n return;\n }\n\n // need to use === for the character check because the character can be 0\n if (e.type == 'keyup' && _ignoreNextKeyup === character) {\n _ignoreNextKeyup = false;\n return;\n }\n\n self.handleKey(character, _eventModifiers(e), e);\n }\n\n /**\n * called to set a 1 second timeout on the specified sequence\n *\n * this is so after each key press in the sequence you have 1 second\n * to press the next key before you have to start over\n *\n * @returns void\n */\n function _resetSequenceTimer() {\n clearTimeout(_resetTimer);\n _resetTimer = setTimeout(_resetSequences, 1000);\n }\n\n /**\n * binds a key sequence to an event\n *\n * @param {string} combo - combo specified in bind call\n * @param {Array} keys\n * @param {Function} callback\n * @param {string=} action\n * @returns void\n */\n function _bindSequence(combo, keys, callback, action) {\n\n // start off by adding a sequence level record for this combination\n // and setting the level to 0\n _sequenceLevels[combo] = 0;\n\n /**\n * callback to increase the sequence level for this sequence and reset\n * all other sequences that were active\n *\n * @param {string} nextAction\n * @returns {Function}\n */\n function _increaseSequence(nextAction) {\n return function() {\n _nextExpectedAction = nextAction;\n ++_sequenceLevels[combo];\n _resetSequenceTimer();\n };\n }\n\n /**\n * wraps the specified callback inside of another function in order\n * to reset all sequence counters as soon as this sequence is done\n *\n * @param {Event} e\n * @returns void\n */\n function _callbackAndReset(e) {\n _fireCallback(callback, e, combo);\n\n // we should ignore the next key up if the action is key down\n // or keypress. this is so if you finish a sequence and\n // release the key the final key will not trigger a keyup\n if (action !== 'keyup') {\n _ignoreNextKeyup = _characterFromEvent(e);\n }\n\n // weird race condition if a sequence ends with the key\n // another sequence begins with\n setTimeout(_resetSequences, 10);\n }\n\n // loop through keys one at a time and bind the appropriate callback\n // function. for any key leading up to the final one it should\n // increase the sequence. after the final, it should reset all sequences\n //\n // if an action is specified in the original bind call then that will\n // be used throughout. otherwise we will pass the action that the\n // next key in the sequence should match. this allows a sequence\n // to mix and match keypress and keydown events depending on which\n // ones are better suited to the key provided\n for (var i = 0; i < keys.length; ++i) {\n var isFinal = i + 1 === keys.length;\n var wrappedCallback = isFinal ? _callbackAndReset : _increaseSequence(action || _getKeyInfo(keys[i + 1]).action);\n _bindSingle(keys[i], wrappedCallback, action, combo, i);\n }\n }\n\n /**\n * binds a single keyboard combination\n *\n * @param {string} combination\n * @param {Function} callback\n * @param {string=} action\n * @param {string=} sequenceName - name of sequence if part of sequence\n * @param {number=} level - what part of the sequence the command is\n * @returns void\n */\n function _bindSingle(combination, callback, action, sequenceName, level) {\n\n // store a direct mapped reference for use with Mousetrap.trigger\n self._directMap[combination + ':' + action] = callback;\n\n // make sure multiple spaces in a row become a single space\n combination = combination.replace(/\\s+/g, ' ');\n\n var sequence = combination.split(' ');\n var info;\n\n // if this pattern is a sequence of keys then run through this method\n // to reprocess each pattern one key at a time\n if (sequence.length > 1) {\n _bindSequence(combination, sequence, callback, action);\n return;\n }\n\n info = _getKeyInfo(combination, action);\n\n // make sure to initialize array if this is the first time\n // a callback is added for this key\n self._callbacks[info.key] = self._callbacks[info.key] || [];\n\n // remove an existing match if there is one\n _getMatches(info.key, info.modifiers, {type: info.action}, sequenceName, combination, level);\n\n // add this call back to the array\n // if it is a sequence put it at the beginning\n // if not put it at the end\n //\n // this is important because the way these are processed expects\n // the sequence ones to come first\n self._callbacks[info.key][sequenceName ? 'unshift' : 'push']({\n callback: callback,\n modifiers: info.modifiers,\n action: info.action,\n seq: sequenceName,\n level: level,\n combo: combination\n });\n }\n\n /**\n * binds multiple combinations to the same callback\n *\n * @param {Array} combinations\n * @param {Function} callback\n * @param {string|undefined} action\n * @returns void\n */\n self._bindMultiple = function(combinations, callback, action) {\n for (var i = 0; i < combinations.length; ++i) {\n _bindSingle(combinations[i], callback, action);\n }\n };\n\n // start!\n _addEvent(targetElement, 'keypress', _handleKeyEvent);\n _addEvent(targetElement, 'keydown', _handleKeyEvent);\n _addEvent(targetElement, 'keyup', _handleKeyEvent);\n }\n\n /**\n * binds an event to mousetrap\n *\n * can be a single key, a combination of keys separated with +,\n * an array of keys, or a sequence of keys separated by spaces\n *\n * be sure to list the modifier keys first to make sure that the\n * correct key ends up getting bound (the last key in the pattern)\n *\n * @param {string|Array} keys\n * @param {Function} callback\n * @param {string=} action - 'keypress', 'keydown', or 'keyup'\n * @returns void\n */\n Mousetrap.prototype.bind = function(keys, callback, action) {\n var self = this;\n keys = keys instanceof Array ? keys : [keys];\n self._bindMultiple.call(self, keys, callback, action);\n return self;\n };\n\n /**\n * unbinds an event to mousetrap\n *\n * the unbinding sets the callback function of the specified key combo\n * to an empty function and deletes the corresponding key in the\n * _directMap dict.\n *\n * TODO: actually remove this from the _callbacks dictionary instead\n * of binding an empty function\n *\n * the keycombo+action has to be exactly the same as\n * it was defined in the bind method\n *\n * @param {string|Array} keys\n * @param {string} action\n * @returns void\n */\n Mousetrap.prototype.unbind = function(keys, action) {\n var self = this;\n return self.bind.call(self, keys, function() {}, action);\n };\n\n /**\n * triggers an event that has already been bound\n *\n * @param {string} keys\n * @param {string=} action\n * @returns void\n */\n Mousetrap.prototype.trigger = function(keys, action) {\n var self = this;\n if (self._directMap[keys + ':' + action]) {\n self._directMap[keys + ':' + action]({}, keys);\n }\n return self;\n };\n\n /**\n * resets the library back to its initial state. this is useful\n * if you want to clear out the current keyboard shortcuts and bind\n * new ones - for example if you switch to another page\n *\n * @returns void\n */\n Mousetrap.prototype.reset = function() {\n var self = this;\n self._callbacks = {};\n self._directMap = {};\n return self;\n };\n\n /**\n * should we stop this event before firing off callbacks\n *\n * @param {Event} e\n * @param {Element} element\n * @return {boolean}\n */\n Mousetrap.prototype.stopCallback = function(e, element) {\n var self = this;\n\n // if the element has the class \"mousetrap\" then no need to stop\n if ((' ' + element.className + ' ').indexOf(' mousetrap ') > -1) {\n return false;\n }\n\n if (_belongsTo(element, self.target)) {\n return false;\n }\n\n // stop for input, select, and textarea\n return element.tagName == 'INPUT' || element.tagName == 'SELECT' || element.tagName == 'TEXTAREA' || element.isContentEditable;\n };\n\n /**\n * exposes _handleKey publicly so it can be overwritten by extensions\n */\n Mousetrap.prototype.handleKey = function() {\n var self = this;\n return self._handleKey.apply(self, arguments);\n };\n\n /**\n * allow custom key mappings\n */\n Mousetrap.addKeycodes = function(object) {\n for (var key in object) {\n if (object.hasOwnProperty(key)) {\n _MAP[key] = object[key];\n }\n }\n _REVERSE_MAP = null;\n };\n\n /**\n * Init the global mousetrap functions\n *\n * This method is needed to allow the global mousetrap functions to work\n * now that mousetrap is a constructor function.\n */\n Mousetrap.init = function() {\n var documentMousetrap = Mousetrap(document);\n for (var method in documentMousetrap) {\n if (method.charAt(0) !== '_') {\n Mousetrap[method] = (function(method) {\n return function() {\n return documentMousetrap[method].apply(documentMousetrap, arguments);\n };\n } (method));\n }\n }\n };\n\n Mousetrap.init();\n\n // expose mousetrap to the global object\n window.Mousetrap = Mousetrap;\n\n // expose as a common js module\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = Mousetrap;\n }\n\n // expose mousetrap as an AMD module\n if (typeof define === 'function' && define.amd) {\n define(function() {\n return Mousetrap;\n });\n }\n}) (typeof window !== 'undefined' ? window : null, typeof window !== 'undefined' ? document : null);\n","/**\n * adds a bindGlobal method to Mousetrap that allows you to\n * bind specific keyboard shortcuts that will still work\n * inside a text input field\n *\n * usage:\n * Mousetrap.bindGlobal('ctrl+s', _saveChanges);\n */\n/* global Mousetrap:true */\n(function(Mousetrap) {\n var _globalCallbacks = {};\n var _originalStopCallback = Mousetrap.prototype.stopCallback;\n\n Mousetrap.prototype.stopCallback = function(e, element, combo, sequence) {\n var self = this;\n\n if (self.paused) {\n return true;\n }\n\n if (_globalCallbacks[combo] || _globalCallbacks[sequence]) {\n return false;\n }\n\n return _originalStopCallback.call(self, e, element, combo);\n };\n\n Mousetrap.prototype.bindGlobal = function(keys, callback, action) {\n var self = this;\n self.bind(keys, callback, action);\n\n if (keys instanceof Array) {\n for (var i = 0; i < keys.length; i++) {\n _globalCallbacks[keys[i]] = true;\n }\n return;\n }\n\n _globalCallbacks[keys] = true;\n };\n\n Mousetrap.init();\n}) (Mousetrap);\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","\"use strict\";\n\n/* https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.is */\n\nvar NumberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t} else if (a === b) {\n\t\treturn true;\n\t} else if (NumberIsNaN(a) && NumberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\n// modified from https://github.com/es-shims/es5-shim\nvar has = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\nvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\nvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\nvar dontEnums = [\n\t'toString',\n\t'toLocaleString',\n\t'valueOf',\n\t'hasOwnProperty',\n\t'isPrototypeOf',\n\t'propertyIsEnumerable',\n\t'constructor'\n];\nvar equalsConstructorPrototype = function (o) {\n\tvar ctor = o.constructor;\n\treturn ctor && ctor.prototype === o;\n};\nvar excludedKeys = {\n\t$applicationCache: true,\n\t$console: true,\n\t$external: true,\n\t$frame: true,\n\t$frameElement: true,\n\t$frames: true,\n\t$innerHeight: true,\n\t$innerWidth: true,\n\t$outerHeight: true,\n\t$outerWidth: true,\n\t$pageXOffset: true,\n\t$pageYOffset: true,\n\t$parent: true,\n\t$scrollLeft: true,\n\t$scrollTop: true,\n\t$scrollX: true,\n\t$scrollY: true,\n\t$self: true,\n\t$webkitIndexedDB: true,\n\t$webkitStorageInfo: true,\n\t$window: true\n};\nvar hasAutomationEqualityBug = (function () {\n\t/* global window */\n\tif (typeof window === 'undefined') { return false; }\n\tfor (var k in window) {\n\t\ttry {\n\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\ttry {\n\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} catch (e) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}());\nvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t/* global window */\n\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\treturn equalsConstructorPrototype(o);\n\t}\n\ttry {\n\t\treturn equalsConstructorPrototype(o);\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar keysShim = function keys(object) {\n\tvar isObject = object !== null && typeof object === 'object';\n\tvar isFunction = toStr.call(object) === '[object Function]';\n\tvar isArguments = isArgs(object);\n\tvar isString = isObject && toStr.call(object) === '[object String]';\n\tvar theKeys = [];\n\n\tif (!isObject && !isFunction && !isArguments) {\n\t\tthrow new TypeError('Object.keys called on a non-object');\n\t}\n\n\tvar skipProto = hasProtoEnumBug && isFunction;\n\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\ttheKeys.push(String(i));\n\t\t}\n\t}\n\n\tif (isArguments && object.length > 0) {\n\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\ttheKeys.push(String(j));\n\t\t}\n\t} else {\n\t\tfor (var name in object) {\n\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\ttheKeys.push(String(name));\n\t\t\t}\n\t\t}\n\t}\n\n\tif (hasDontEnumBug) {\n\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t}\n\t\t}\n\t}\n\treturn theKeys;\n};\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\treturn (Object.keys(arguments) || '').length === 2;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tvar originalKeys = Object.keys;\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t} else {\n\t\t\t\t\treturn originalKeys(object);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\n// modified from https://github.com/es-shims/es6-shim\nvar keys = require('object-keys');\nvar bind = require('function-bind');\nvar canBeObject = function (obj) {\n\treturn typeof obj !== 'undefined' && obj !== null;\n};\nvar hasSymbols = require('has-symbols/shams')();\nvar toObject = Object;\nvar push = bind.call(Function.call, Array.prototype.push);\nvar propIsEnumerable = bind.call(Function.call, Object.prototype.propertyIsEnumerable);\nvar originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null;\n\nmodule.exports = function assign(target, source1) {\n\tif (!canBeObject(target)) { throw new TypeError('target must be an object'); }\n\tvar objTarget = toObject(target);\n\tvar s, source, i, props, syms, value, key;\n\tfor (s = 1; s < arguments.length; ++s) {\n\t\tsource = toObject(arguments[s]);\n\t\tprops = keys(source);\n\t\tvar getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols);\n\t\tif (getSymbols) {\n\t\t\tsyms = getSymbols(source);\n\t\t\tfor (i = 0; i < syms.length; ++i) {\n\t\t\t\tkey = syms[i];\n\t\t\t\tif (propIsEnumerable(source, key)) {\n\t\t\t\t\tpush(props, key);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tfor (i = 0; i < props.length; ++i) {\n\t\t\tkey = props[i];\n\t\t\tvalue = source[key];\n\t\t\tif (propIsEnumerable(source, key)) {\n\t\t\t\tobjTarget[key] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn objTarget;\n};\n","'use strict';\n\nvar defineProperties = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = getPolyfill();\n\ndefineProperties(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar lacksProperEnumerationOrder = function () {\n\tif (!Object.assign) {\n\t\treturn false;\n\t}\n\t// v8, specifically in node 4.x, has a bug with incorrect property enumeration order\n\t// note: this does not detect the bug unless there's 20 characters\n\tvar str = 'abcdefghijklmnopqrst';\n\tvar letters = str.split('');\n\tvar map = {};\n\tfor (var i = 0; i < letters.length; ++i) {\n\t\tmap[letters[i]] = letters[i];\n\t}\n\tvar obj = Object.assign({}, map);\n\tvar actual = '';\n\tfor (var k in obj) {\n\t\tactual += k;\n\t}\n\treturn str !== actual;\n};\n\nvar assignHasPendingExceptions = function () {\n\tif (!Object.assign || !Object.preventExtensions) {\n\t\treturn false;\n\t}\n\t// Firefox 37 still has \"pending exception\" logic in its Object.assign implementation,\n\t// which is 72% slower than our shim, and Firefox 40's native implementation.\n\tvar thrower = Object.preventExtensions({ 1: 2 });\n\ttry {\n\t\tObject.assign(thrower, 'xy');\n\t} catch (e) {\n\t\treturn thrower[1] === 'y';\n\t}\n\treturn false;\n};\n\nmodule.exports = function getPolyfill() {\n\tif (!Object.assign) {\n\t\treturn implementation;\n\t}\n\tif (lacksProperEnumerationOrder()) {\n\t\treturn implementation;\n\t}\n\tif (assignHasPendingExceptions()) {\n\t\treturn implementation;\n\t}\n\treturn Object.assign;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimAssign() {\n\tvar polyfill = getPolyfill();\n\tdefine(\n\t\tObject,\n\t\t{ assign: polyfill },\n\t\t{ assign: function () { return Object.assign !== polyfill; } }\n\t);\n\treturn polyfill;\n};\n","'use strict';\n\nvar ES = require('es-abstract/es7');\nvar has = require('has');\nvar bind = require('function-bind');\nvar isEnumerable = bind.call(Function.call, Object.prototype.propertyIsEnumerable);\n\nmodule.exports = function entries(O) {\n\tvar obj = ES.RequireObjectCoercible(O);\n\tvar entrys = [];\n\tfor (var key in obj) {\n\t\tif (has(obj, key) && isEnumerable(obj, key)) {\n\t\t\tentrys.push([key, obj[key]]);\n\t\t}\n\t}\n\treturn entrys;\n};\n","'use strict';\n\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = getPolyfill();\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.entries === 'function' ? Object.entries : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimEntries() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { entries: polyfill }, {\n\t\tentries: function testEntries() {\n\t\t\treturn Object.entries !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar ES = require('es-abstract/es7');\nvar has = require('has');\nvar bind = require('function-bind');\nvar isEnumerable = bind.call(Function.call, Object.prototype.propertyIsEnumerable);\n\nmodule.exports = function values(O) {\n\tvar obj = ES.RequireObjectCoercible(O);\n\tvar vals = [];\n\tfor (var key in obj) {\n\t\tif (has(obj, key) && isEnumerable(obj, key)) {\n\t\t\tvals.push(obj[key]);\n\t\t}\n\t}\n\treturn vals;\n};\n","'use strict';\n\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = getPolyfill();\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.values === 'function' ? Object.values : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimValues() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { values: polyfill }, {\n\t\tvalues: function testValues() {\n\t\t\treturn Object.values !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n )\n\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message) {\n this.message = message;\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOf, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (propValue.hasOwnProperty(key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {\n return null;\n }\n }\n\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (!checker) {\n continue;\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from\n // props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","import { createElement, Component } from 'react';\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar styles = {\n base: {\n position: 'absolute',\n userSelect: 'none',\n MsUserSelect: 'none'\n },\n top: {\n width: '100%',\n height: '10px',\n top: '-5px',\n left: '0px',\n cursor: 'row-resize'\n },\n right: {\n width: '10px',\n height: '100%',\n top: '0px',\n right: '-5px',\n cursor: 'col-resize'\n },\n bottom: {\n width: '100%',\n height: '10px',\n bottom: '-5px',\n left: '0px',\n cursor: 'row-resize'\n },\n left: {\n width: '10px',\n height: '100%',\n top: '0px',\n left: '-5px',\n cursor: 'col-resize'\n },\n topRight: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n right: '-10px',\n top: '-10px',\n cursor: 'ne-resize'\n },\n bottomRight: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n right: '-10px',\n bottom: '-10px',\n cursor: 'se-resize'\n },\n bottomLeft: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n left: '-10px',\n bottom: '-10px',\n cursor: 'sw-resize'\n },\n topLeft: {\n width: '20px',\n height: '20px',\n position: 'absolute',\n left: '-10px',\n top: '-10px',\n cursor: 'nw-resize'\n }\n};\n\nvar Resizer = (function (props) {\n return createElement(\n 'div',\n {\n className: props.className,\n style: _extends({}, styles.base, styles[props.direction], props.replaceStyles || {}),\n onMouseDown: function onMouseDown(e) {\n props.onResizeStart(e, props.direction);\n },\n onTouchStart: function onTouchStart(e) {\n props.onResizeStart(e, props.direction);\n }\n },\n props.children\n );\n});\n\nvar userSelectNone = {\n userSelect: 'none',\n MozUserSelect: 'none',\n WebkitUserSelect: 'none',\n MsUserSelect: 'none'\n};\n\nvar userSelectAuto = {\n userSelect: 'auto',\n MozUserSelect: 'auto',\n WebkitUserSelect: 'auto',\n MsUserSelect: 'auto'\n};\n\nvar clamp = function clamp(n, min, max) {\n return Math.max(Math.min(n, max), min);\n};\nvar snap = function snap(n, size) {\n return Math.round(n / size) * size;\n};\n\nvar findClosestSnap = function findClosestSnap(n, snapArray) {\n return snapArray.reduce(function (prev, curr) {\n return Math.abs(curr - n) < Math.abs(prev - n) ? curr : prev;\n });\n};\n\nvar endsWith = function endsWith(str, searchStr) {\n return str.substr(str.length - searchStr.length, searchStr.length) === searchStr;\n};\n\nvar getStringSize = function getStringSize(n) {\n if (n.toString() === 'auto') return n.toString();\n if (endsWith(n.toString(), 'px')) return n.toString();\n if (endsWith(n.toString(), '%')) return n.toString();\n if (endsWith(n.toString(), 'vh')) return n.toString();\n if (endsWith(n.toString(), 'vw')) return n.toString();\n if (endsWith(n.toString(), 'vmax')) return n.toString();\n if (endsWith(n.toString(), 'vmin')) return n.toString();\n return n + 'px';\n};\n\nvar definedProps = ['style', 'className', 'grid', 'snap', 'bounds', 'size', 'defaultSize', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight', 'lockAspectRatio', 'lockAspectRatioExtraWidth', 'lockAspectRatioExtraHeight', 'enable', 'handleStyles', 'handleClasses', 'handleWrapperStyle', 'handleWrapperClass', 'children', 'onResizeStart', 'onResize', 'onResizeStop', 'handleComponent'];\n\nvar baseClassName = '__resizable_base__';\n\nvar Resizable = function (_React$Component) {\n inherits(Resizable, _React$Component);\n\n function Resizable(props) {\n classCallCheck(this, Resizable);\n\n var _this = possibleConstructorReturn(this, (Resizable.__proto__ || Object.getPrototypeOf(Resizable)).call(this, props));\n\n _this.state = {\n isResizing: false,\n resizeCursor: 'auto',\n width: typeof (_this.propsSize && _this.propsSize.width) === 'undefined' ? 'auto' : _this.propsSize && _this.propsSize.width,\n height: typeof (_this.propsSize && _this.propsSize.height) === 'undefined' ? 'auto' : _this.propsSize && _this.propsSize.height,\n direction: 'right',\n original: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n }\n };\n\n _this.updateExtendsProps(props);\n _this.onResizeStart = _this.onResizeStart.bind(_this);\n _this.onMouseMove = _this.onMouseMove.bind(_this);\n _this.onMouseUp = _this.onMouseUp.bind(_this);\n\n if (typeof window !== 'undefined') {\n window.addEventListener('mouseup', _this.onMouseUp);\n window.addEventListener('mousemove', _this.onMouseMove);\n window.addEventListener('mouseleave', _this.onMouseUp);\n window.addEventListener('touchmove', _this.onMouseMove);\n window.addEventListener('touchend', _this.onMouseUp);\n }\n return _this;\n }\n\n createClass(Resizable, [{\n key: 'updateExtendsProps',\n value: function updateExtendsProps(props) {\n this.extendsProps = Object.keys(props).reduce(function (acc, key) {\n if (definedProps.indexOf(key) !== -1) return acc;\n acc[key] = props[key];\n return acc;\n }, {});\n }\n }, {\n key: 'getParentSize',\n value: function getParentSize() {\n var base = this.base;\n\n if (!base) return { width: window.innerWidth, height: window.innerHeight };\n // INFO: To calculate parent width with flex layout\n var wrapChanged = false;\n var wrap = this.parentNode.style.flexWrap;\n var minWidth = base.style.minWidth;\n if (wrap !== 'wrap') {\n wrapChanged = true;\n this.parentNode.style.flexWrap = 'wrap';\n // HACK: Use relative to get parent padding size\n }\n base.style.position = 'relative';\n base.style.minWidth = '100%';\n var size = {\n width: base.offsetWidth,\n height: base.offsetHeight\n };\n base.style.position = 'absolute';\n if (wrapChanged) this.parentNode.style.flexWrap = wrap;\n base.style.minWidth = minWidth;\n return size;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n var size = this.size;\n\n this.setState({\n width: this.state.width || size.width,\n height: this.state.height || size.height\n });\n var parent = this.parentNode;\n if (!(parent instanceof HTMLElement)) return;\n if (this.base) return;\n var element = document.createElement('div');\n element.style.width = '100%';\n element.style.height = '100%';\n element.style.position = 'absolute';\n element.style.transform = 'scale(0, 0)';\n element.style.left = '0';\n element.style.flex = '0';\n if (element.classList) {\n element.classList.add(baseClassName);\n } else {\n element.className += baseClassName;\n }\n parent.appendChild(element);\n }\n }, {\n key: 'componentWillReceiveProps',\n value: function componentWillReceiveProps(next) {\n this.updateExtendsProps(next);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window !== 'undefined') {\n window.removeEventListener('mouseup', this.onMouseUp);\n window.removeEventListener('mousemove', this.onMouseMove);\n window.removeEventListener('mouseleave', this.onMouseUp);\n window.removeEventListener('touchmove', this.onMouseMove);\n window.removeEventListener('touchend', this.onMouseUp);\n var parent = this.parentNode;\n var base = this.base;\n\n if (!base || !parent) return;\n if (!(parent instanceof HTMLElement) || !(base instanceof Node)) return;\n parent.removeChild(base);\n }\n }\n }, {\n key: 'calculateNewSize',\n value: function calculateNewSize(newSize, kind) {\n var propsSize = this.propsSize && this.propsSize[kind];\n return this.state[kind] === 'auto' && this.state.original[kind] === newSize && (typeof propsSize === 'undefined' || propsSize === 'auto') ? 'auto' : newSize;\n }\n }, {\n key: 'onResizeStart',\n value: function onResizeStart(event, direction) {\n var clientX = 0;\n var clientY = 0;\n if (event.nativeEvent instanceof MouseEvent) {\n clientX = event.nativeEvent.clientX;\n clientY = event.nativeEvent.clientY;\n\n // When user click with right button the resize is stuck in resizing mode\n // until users clicks again, dont continue if right click is used.\n // HACK: MouseEvent does not have `which` from flow-bin v0.68.\n if (event.nativeEvent.which === 3) {\n return;\n }\n } else if (event.nativeEvent instanceof TouchEvent) {\n clientX = event.nativeEvent.touches[0].clientX;\n clientY = event.nativeEvent.touches[0].clientY;\n }\n if (this.props.onResizeStart) {\n this.props.onResizeStart(event, direction, this.resizable);\n }\n\n // Fix #168\n if (this.props.size) {\n if (typeof this.props.size.height !== 'undefined' && this.props.size.height !== this.state.height) {\n this.setState({ height: this.props.size.height });\n }\n if (typeof this.props.size.width !== 'undefined' && this.props.size.width !== this.state.width) {\n this.setState({ width: this.props.size.width });\n }\n }\n\n this.setState({\n original: {\n x: clientX,\n y: clientY,\n width: this.size.width,\n height: this.size.height\n },\n isResizing: true,\n resizeCursor: window.getComputedStyle(event.target).cursor,\n direction: direction\n });\n }\n }, {\n key: 'onMouseMove',\n value: function onMouseMove(event) {\n if (!this.state.isResizing) return;\n var clientX = event instanceof MouseEvent ? event.clientX : event.touches[0].clientX;\n var clientY = event instanceof MouseEvent ? event.clientY : event.touches[0].clientY;\n var _state = this.state,\n direction = _state.direction,\n original = _state.original,\n width = _state.width,\n height = _state.height;\n var _props = this.props,\n lockAspectRatio = _props.lockAspectRatio,\n lockAspectRatioExtraHeight = _props.lockAspectRatioExtraHeight,\n lockAspectRatioExtraWidth = _props.lockAspectRatioExtraWidth;\n var _props2 = this.props,\n maxWidth = _props2.maxWidth,\n maxHeight = _props2.maxHeight,\n minWidth = _props2.minWidth,\n minHeight = _props2.minHeight;\n\n // TODO: refactor\n\n var parentSize = this.getParentSize();\n if (maxWidth && typeof maxWidth === 'string' && endsWith(maxWidth, '%')) {\n var _ratio = Number(maxWidth.replace('%', '')) / 100;\n maxWidth = parentSize.width * _ratio;\n }\n if (maxHeight && typeof maxHeight === 'string' && endsWith(maxHeight, '%')) {\n var _ratio2 = Number(maxHeight.replace('%', '')) / 100;\n maxHeight = parentSize.height * _ratio2;\n }\n if (minWidth && typeof minWidth === 'string' && endsWith(minWidth, '%')) {\n var _ratio3 = Number(minWidth.replace('%', '')) / 100;\n minWidth = parentSize.width * _ratio3;\n }\n if (minHeight && typeof minHeight === 'string' && endsWith(minHeight, '%')) {\n var _ratio4 = Number(minHeight.replace('%', '')) / 100;\n minHeight = parentSize.height * _ratio4;\n }\n maxWidth = typeof maxWidth === 'undefined' ? undefined : Number(maxWidth);\n maxHeight = typeof maxHeight === 'undefined' ? undefined : Number(maxHeight);\n minWidth = typeof minWidth === 'undefined' ? undefined : Number(minWidth);\n minHeight = typeof minHeight === 'undefined' ? undefined : Number(minHeight);\n\n var ratio = typeof lockAspectRatio === 'number' ? lockAspectRatio : original.width / original.height;\n var newWidth = original.width;\n var newHeight = original.height;\n if (/right/i.test(direction)) {\n newWidth = original.width + (clientX - original.x);\n if (lockAspectRatio) newHeight = (newWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n }\n if (/left/i.test(direction)) {\n newWidth = original.width - (clientX - original.x);\n if (lockAspectRatio) newHeight = (newWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n }\n if (/bottom/i.test(direction)) {\n newHeight = original.height + (clientY - original.y);\n if (lockAspectRatio) newWidth = (newHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n }\n if (/top/i.test(direction)) {\n newHeight = original.height - (clientY - original.y);\n if (lockAspectRatio) newWidth = (newHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n }\n\n if (this.props.bounds === 'parent') {\n var parent = this.parentNode;\n if (parent instanceof HTMLElement) {\n var parentRect = parent.getBoundingClientRect();\n var parentLeft = parentRect.left;\n var parentTop = parentRect.top;\n\n var _resizable$getBoundin = this.resizable.getBoundingClientRect(),\n _left = _resizable$getBoundin.left,\n _top = _resizable$getBoundin.top;\n\n var boundWidth = parent.offsetWidth + (parentLeft - _left);\n var boundHeight = parent.offsetHeight + (parentTop - _top);\n maxWidth = maxWidth && maxWidth < boundWidth ? maxWidth : boundWidth;\n maxHeight = maxHeight && maxHeight < boundHeight ? maxHeight : boundHeight;\n }\n } else if (this.props.bounds === 'window') {\n if (typeof window !== 'undefined') {\n var _resizable$getBoundin2 = this.resizable.getBoundingClientRect(),\n _left2 = _resizable$getBoundin2.left,\n _top2 = _resizable$getBoundin2.top;\n\n var _boundWidth = window.innerWidth - _left2;\n var _boundHeight = window.innerHeight - _top2;\n maxWidth = maxWidth && maxWidth < _boundWidth ? maxWidth : _boundWidth;\n maxHeight = maxHeight && maxHeight < _boundHeight ? maxHeight : _boundHeight;\n }\n } else if (this.props.bounds instanceof HTMLElement) {\n var targetRect = this.props.bounds.getBoundingClientRect();\n var targetLeft = targetRect.left;\n var targetTop = targetRect.top;\n\n var _resizable$getBoundin3 = this.resizable.getBoundingClientRect(),\n _left3 = _resizable$getBoundin3.left,\n _top3 = _resizable$getBoundin3.top;\n\n if (!(this.props.bounds instanceof HTMLElement)) return;\n var _boundWidth2 = this.props.bounds.offsetWidth + (targetLeft - _left3);\n var _boundHeight2 = this.props.bounds.offsetHeight + (targetTop - _top3);\n maxWidth = maxWidth && maxWidth < _boundWidth2 ? maxWidth : _boundWidth2;\n maxHeight = maxHeight && maxHeight < _boundHeight2 ? maxHeight : _boundHeight2;\n }\n\n var computedMinWidth = typeof minWidth === 'undefined' ? 10 : minWidth;\n var computedMaxWidth = typeof maxWidth === 'undefined' || maxWidth < 0 ? newWidth : maxWidth;\n var computedMinHeight = typeof minHeight === 'undefined' ? 10 : minHeight;\n var computedMaxHeight = typeof maxHeight === 'undefined' || maxHeight < 0 ? newHeight : maxHeight;\n\n if (lockAspectRatio) {\n var extraMinWidth = (computedMinHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n var extraMaxWidth = (computedMaxHeight - lockAspectRatioExtraHeight) * ratio + lockAspectRatioExtraWidth;\n var extraMinHeight = (computedMinWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n var extraMaxHeight = (computedMaxWidth - lockAspectRatioExtraWidth) / ratio + lockAspectRatioExtraHeight;\n var lockedMinWidth = Math.max(computedMinWidth, extraMinWidth);\n var lockedMaxWidth = Math.min(computedMaxWidth, extraMaxWidth);\n var lockedMinHeight = Math.max(computedMinHeight, extraMinHeight);\n var lockedMaxHeight = Math.min(computedMaxHeight, extraMaxHeight);\n newWidth = clamp(newWidth, lockedMinWidth, lockedMaxWidth);\n newHeight = clamp(newHeight, lockedMinHeight, lockedMaxHeight);\n } else {\n newWidth = clamp(newWidth, computedMinWidth, computedMaxWidth);\n newHeight = clamp(newHeight, computedMinHeight, computedMaxHeight);\n }\n if (this.props.grid) {\n newWidth = snap(newWidth, this.props.grid[0]);\n }\n if (this.props.grid) {\n newHeight = snap(newHeight, this.props.grid[1]);\n }\n\n if (this.props.snap && this.props.snap.x) {\n newWidth = findClosestSnap(newWidth, this.props.snap.x);\n }\n if (this.props.snap && this.props.snap.y) {\n newHeight = findClosestSnap(newHeight, this.props.snap.y);\n }\n\n var delta = {\n width: newWidth - original.width,\n height: newHeight - original.height\n };\n\n if (width && typeof width === 'string' && endsWith(width, '%')) {\n var percent = newWidth / parentSize.width * 100;\n newWidth = percent + '%';\n }\n\n if (height && typeof height === 'string' && endsWith(height, '%')) {\n var _percent = newHeight / parentSize.height * 100;\n newHeight = _percent + '%';\n }\n\n this.setState({\n width: this.calculateNewSize(newWidth, 'width'),\n height: this.calculateNewSize(newHeight, 'height')\n });\n\n if (this.props.onResize) {\n this.props.onResize(event, direction, this.resizable, delta);\n }\n }\n }, {\n key: 'onMouseUp',\n value: function onMouseUp(event) {\n var _state2 = this.state,\n isResizing = _state2.isResizing,\n direction = _state2.direction,\n original = _state2.original;\n\n if (!isResizing) return;\n var delta = {\n width: this.size.width - original.width,\n height: this.size.height - original.height\n };\n if (this.props.onResizeStop) {\n this.props.onResizeStop(event, direction, this.resizable, delta);\n }\n if (this.props.size) {\n this.setState(this.props.size);\n }\n this.setState({ isResizing: false, resizeCursor: 'auto' });\n }\n }, {\n key: 'updateSize',\n value: function updateSize(size) {\n this.setState({ width: size.width, height: size.height });\n }\n }, {\n key: 'renderResizer',\n value: function renderResizer() {\n var _this2 = this;\n\n var _props3 = this.props,\n enable = _props3.enable,\n handleStyles = _props3.handleStyles,\n handleClasses = _props3.handleClasses,\n handleWrapperStyle = _props3.handleWrapperStyle,\n handleWrapperClass = _props3.handleWrapperClass,\n handleComponent = _props3.handleComponent;\n\n if (!enable) return null;\n var resizers = Object.keys(enable).map(function (dir) {\n if (enable[dir] !== false) {\n return createElement(\n Resizer,\n {\n key: dir,\n direction: dir,\n onResizeStart: _this2.onResizeStart,\n replaceStyles: handleStyles && handleStyles[dir],\n className: handleClasses && handleClasses[dir]\n },\n handleComponent && handleComponent[dir] ? createElement(handleComponent[dir]) : null\n );\n }\n return null;\n });\n // #93 Wrap the resize box in span (will not break 100% width/height)\n return createElement(\n 'span',\n { className: handleWrapperClass, style: handleWrapperStyle },\n resizers\n );\n }\n }, {\n key: 'render',\n value: function render() {\n var _this3 = this;\n\n var userSelect = this.state.isResizing ? userSelectNone : userSelectAuto;\n return createElement(\n 'div',\n _extends({\n ref: function ref(c) {\n if (c) {\n _this3.resizable = c;\n }\n },\n style: _extends({\n position: 'relative'\n }, userSelect, this.props.style, this.sizeStyle, {\n maxWidth: this.props.maxWidth,\n maxHeight: this.props.maxHeight,\n minWidth: this.props.minWidth,\n minHeight: this.props.minHeight,\n boxSizing: 'border-box'\n }),\n className: this.props.className\n }, this.extendsProps),\n this.state.isResizing && createElement('div', {\n style: {\n height: '100%',\n width: '100%',\n backgroundColor: 'rgba(0,0,0,0)',\n cursor: '' + (this.state.resizeCursor || 'auto'),\n opacity: '0',\n position: 'fixed',\n zIndex: '9999',\n top: '0',\n left: '0',\n bottom: '0',\n right: '0'\n }\n }),\n this.props.children,\n this.renderResizer()\n );\n }\n }, {\n key: 'parentNode',\n get: function get$$1() {\n return this.resizable.parentNode;\n }\n }, {\n key: 'propsSize',\n get: function get$$1() {\n return this.props.size || this.props.defaultSize;\n }\n }, {\n key: 'base',\n get: function get$$1() {\n var parent = this.parentNode;\n if (!parent) return undefined;\n var children = [].slice.call(parent.children);\n for (var i = 0; i < children.length; i += 1) {\n var n = children[i];\n if (n instanceof HTMLElement) {\n if (n.classList.contains(baseClassName)) {\n return n;\n }\n }\n }\n return undefined;\n }\n }, {\n key: 'size',\n get: function get$$1() {\n var width = 0;\n var height = 0;\n if (typeof window !== 'undefined') {\n var orgWidth = this.resizable.offsetWidth;\n var orgHeight = this.resizable.offsetHeight;\n // HACK: Set position `relative` to get parent size.\n // This is because when re-resizable set `absolute`, I can not get base width correctly.\n var orgPosition = this.resizable.style.position;\n if (orgPosition !== 'relative') {\n this.resizable.style.position = 'relative';\n }\n // INFO: Use original width or height if set auto.\n width = this.resizable.style.width !== 'auto' ? this.resizable.offsetWidth : orgWidth;\n height = this.resizable.style.height !== 'auto' ? this.resizable.offsetHeight : orgHeight;\n // Restore original position\n this.resizable.style.position = orgPosition;\n }\n return { width: width, height: height };\n }\n }, {\n key: 'sizeStyle',\n get: function get$$1() {\n var _this4 = this;\n\n var size = this.props.size;\n\n var getSize = function getSize(key) {\n if (typeof _this4.state[key] === 'undefined' || _this4.state[key] === 'auto') return 'auto';\n if (_this4.propsSize && _this4.propsSize[key] && endsWith(_this4.propsSize[key].toString(), '%')) {\n if (endsWith(_this4.state[key].toString(), '%')) return _this4.state[key].toString();\n var parentSize = _this4.getParentSize();\n var value = Number(_this4.state[key].toString().replace('px', ''));\n var percent = value / parentSize[key] * 100;\n return percent + '%';\n }\n return getStringSize(_this4.state[key]);\n };\n var width = size && typeof size.width !== 'undefined' && !this.state.isResizing ? getStringSize(size.width) : getSize('width');\n var height = size && typeof size.height !== 'undefined' && !this.state.isResizing ? getStringSize(size.height) : getSize('height');\n return { width: width, height: height };\n }\n }]);\n return Resizable;\n}(Component);\n\nResizable.defaultProps = {\n onResizeStart: function onResizeStart() {},\n onResize: function onResize() {},\n onResizeStop: function onResizeStop() {},\n enable: {\n top: true,\n right: true,\n bottom: true,\n left: true,\n topRight: true,\n bottomRight: true,\n bottomLeft: true,\n topLeft: true\n },\n style: {},\n grid: [1, 1],\n lockAspectRatio: false,\n lockAspectRatioExtraWidth: 0,\n lockAspectRatioExtraHeight: 0\n};\n\nexport default Resizable;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @providesModule shallowCompare\n */\n\n'use strict';\n\nvar shallowEqual = require('fbjs/lib/shallowEqual');\n\n/**\n * Does a shallow comparison for props and state.\n * See ReactComponentWithPureRenderMixin\n * See also https://facebook.github.io/react/docs/shallow-compare.html\n */\nfunction shallowCompare(instance, nextProps, nextState) {\n return (\n !shallowEqual(instance.props, nextProps) ||\n !shallowEqual(instance.state, nextState)\n );\n}\n\nmodule.exports = shallowCompare;\n","'use strict';\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar hoistNonReactStatic = require('hoist-non-react-statics');\nvar React = require('react');\nvar ReactDOM = require('react-dom');\n\nmodule.exports = function enhanceWithClickOutside(WrappedComponent) {\n var componentName = WrappedComponent.displayName || WrappedComponent.name;\n\n var EnhancedComponent = function (_React$Component) {\n _inherits(EnhancedComponent, _React$Component);\n\n function EnhancedComponent(props) {\n _classCallCheck(this, EnhancedComponent);\n\n var _this = _possibleConstructorReturn(this, (EnhancedComponent.__proto__ || Object.getPrototypeOf(EnhancedComponent)).call(this, props));\n\n _this.handleClickOutside = _this.handleClickOutside.bind(_this);\n return _this;\n }\n\n _createClass(EnhancedComponent, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n document.addEventListener('click', this.handleClickOutside, true);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n document.removeEventListener('click', this.handleClickOutside, true);\n }\n }, {\n key: 'handleClickOutside',\n value: function handleClickOutside(e) {\n var domNode = this.__domNode;\n if ((!domNode || !domNode.contains(e.target)) && this.__wrappedInstance && typeof this.__wrappedInstance.handleClickOutside === 'function') {\n this.__wrappedInstance.handleClickOutside(e);\n }\n }\n }, {\n key: 'render',\n value: function render() {\n var _this2 = this;\n\n var _props = this.props,\n wrappedRef = _props.wrappedRef,\n rest = _objectWithoutProperties(_props, ['wrappedRef']);\n\n return React.createElement(WrappedComponent, _extends({}, rest, {\n ref: function ref(c) {\n _this2.__wrappedInstance = c;\n _this2.__domNode = ReactDOM.findDOMNode(c);\n wrappedRef && wrappedRef(c);\n }\n }));\n }\n }]);\n\n return EnhancedComponent;\n }(React.Component);\n\n EnhancedComponent.displayName = 'clickOutside(' + componentName + ')';\n\n return hoistNonReactStatic(EnhancedComponent, WrappedComponent);\n};","// eslint-disable-next-line import/no-unresolved\nmodule.exports = require('./lib');\n","// eslint-disable-next-line import/no-unresolved\nrequire('./lib/initialize');\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PureCalendarDay = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _object = require('object.assign');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactAddonsShallowCompare = require('react-addons-shallow-compare');\n\nvar _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);\n\nvar _reactMomentProptypes = require('react-moment-proptypes');\n\nvar _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _reactWithStyles = require('react-with-styles');\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _defaultPhrases = require('../defaultPhrases');\n\nvar _getPhrasePropTypes = require('../utils/getPhrasePropTypes');\n\nvar _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);\n\nvar _getCalendarDaySettings = require('../utils/getCalendarDaySettings');\n\nvar _getCalendarDaySettings2 = _interopRequireDefault(_getCalendarDaySettings);\n\nvar _ModifiersShape = require('../shapes/ModifiersShape');\n\nvar _ModifiersShape2 = _interopRequireDefault(_ModifiersShape);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {\n day: _reactMomentProptypes2['default'].momentObj,\n daySize: _airbnbPropTypes.nonNegativeInteger,\n isOutsideDay: _propTypes2['default'].bool,\n modifiers: _ModifiersShape2['default'],\n isFocused: _propTypes2['default'].bool,\n tabIndex: _propTypes2['default'].oneOf([0, -1]),\n onDayClick: _propTypes2['default'].func,\n onDayMouseEnter: _propTypes2['default'].func,\n onDayMouseLeave: _propTypes2['default'].func,\n renderDayContents: _propTypes2['default'].func,\n ariaLabelFormat: _propTypes2['default'].string,\n\n // internationalization\n phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.CalendarDayPhrases))\n}));\n\nvar defaultProps = {\n day: (0, _moment2['default'])(),\n daySize: _constants.DAY_SIZE,\n isOutsideDay: false,\n modifiers: new Set(),\n isFocused: false,\n tabIndex: -1,\n onDayClick: function () {\n function onDayClick() {}\n\n return onDayClick;\n }(),\n onDayMouseEnter: function () {\n function onDayMouseEnter() {}\n\n return onDayMouseEnter;\n }(),\n onDayMouseLeave: function () {\n function onDayMouseLeave() {}\n\n return onDayMouseLeave;\n }(),\n\n renderDayContents: null,\n ariaLabelFormat: 'dddd, LL',\n\n // internationalization\n phrases: _defaultPhrases.CalendarDayPhrases\n};\n\nvar CalendarDay = function (_React$Component) {\n _inherits(CalendarDay, _React$Component);\n\n function CalendarDay() {\n var _ref;\n\n _classCallCheck(this, CalendarDay);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _this = _possibleConstructorReturn(this, (_ref = CalendarDay.__proto__ || Object.getPrototypeOf(CalendarDay)).call.apply(_ref, [this].concat(args)));\n\n _this.setButtonRef = _this.setButtonRef.bind(_this);\n return _this;\n }\n\n _createClass(CalendarDay, [{\n key: 'shouldComponentUpdate',\n value: function () {\n function shouldComponentUpdate(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);\n }\n\n return shouldComponentUpdate;\n }()\n }, {\n key: 'componentDidUpdate',\n value: function () {\n function componentDidUpdate(prevProps) {\n var _props = this.props,\n isFocused = _props.isFocused,\n tabIndex = _props.tabIndex;\n\n if (tabIndex === 0) {\n if (isFocused || tabIndex !== prevProps.tabIndex) {\n this.buttonRef.focus();\n }\n }\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: 'onDayClick',\n value: function () {\n function onDayClick(day, e) {\n var onDayClick = this.props.onDayClick;\n\n onDayClick(day, e);\n }\n\n return onDayClick;\n }()\n }, {\n key: 'onDayMouseEnter',\n value: function () {\n function onDayMouseEnter(day, e) {\n var onDayMouseEnter = this.props.onDayMouseEnter;\n\n onDayMouseEnter(day, e);\n }\n\n return onDayMouseEnter;\n }()\n }, {\n key: 'onDayMouseLeave',\n value: function () {\n function onDayMouseLeave(day, e) {\n var onDayMouseLeave = this.props.onDayMouseLeave;\n\n onDayMouseLeave(day, e);\n }\n\n return onDayMouseLeave;\n }()\n }, {\n key: 'onKeyDown',\n value: function () {\n function onKeyDown(day, e) {\n var onDayClick = this.props.onDayClick;\n var key = e.key;\n\n if (key === 'Enter' || key === ' ') {\n onDayClick(day, e);\n }\n }\n\n return onKeyDown;\n }()\n }, {\n key: 'setButtonRef',\n value: function () {\n function setButtonRef(ref) {\n this.buttonRef = ref;\n }\n\n return setButtonRef;\n }()\n }, {\n key: 'render',\n value: function () {\n function render() {\n var _this2 = this;\n\n var _props2 = this.props,\n day = _props2.day,\n ariaLabelFormat = _props2.ariaLabelFormat,\n daySize = _props2.daySize,\n isOutsideDay = _props2.isOutsideDay,\n modifiers = _props2.modifiers,\n renderDayContents = _props2.renderDayContents,\n tabIndex = _props2.tabIndex,\n styles = _props2.styles,\n phrases = _props2.phrases;\n\n\n if (!day) return _react2['default'].createElement('td', null);\n\n var _getCalendarDaySettin = (0, _getCalendarDaySettings2['default'])(day, ariaLabelFormat, daySize, modifiers, phrases),\n daySizeStyles = _getCalendarDaySettin.daySizeStyles,\n useDefaultCursor = _getCalendarDaySettin.useDefaultCursor,\n selected = _getCalendarDaySettin.selected,\n hoveredSpan = _getCalendarDaySettin.hoveredSpan,\n isOutsideRange = _getCalendarDaySettin.isOutsideRange,\n ariaLabel = _getCalendarDaySettin.ariaLabel;\n\n return _react2['default'].createElement(\n 'td',\n _extends({}, (0, _reactWithStyles.css)(styles.CalendarDay, useDefaultCursor && styles.CalendarDay__defaultCursor, styles.CalendarDay__default, isOutsideDay && styles.CalendarDay__outside, modifiers.has('today') && styles.CalendarDay__today, modifiers.has('first-day-of-week') && styles.CalendarDay__firstDayOfWeek, modifiers.has('last-day-of-week') && styles.CalendarDay__lastDayOfWeek, modifiers.has('hovered-offset') && styles.CalendarDay__hovered_offset, modifiers.has('highlighted-calendar') && styles.CalendarDay__highlighted_calendar, modifiers.has('blocked-minimum-nights') && styles.CalendarDay__blocked_minimum_nights, modifiers.has('blocked-calendar') && styles.CalendarDay__blocked_calendar, hoveredSpan && styles.CalendarDay__hovered_span, modifiers.has('selected-span') && styles.CalendarDay__selected_span, modifiers.has('last-in-range') && styles.CalendarDay__last_in_range, modifiers.has('selected-start') && styles.CalendarDay__selected_start, modifiers.has('selected-end') && styles.CalendarDay__selected_end, selected && styles.CalendarDay__selected, isOutsideRange && styles.CalendarDay__blocked_out_of_range, daySizeStyles), {\n role: 'button' // eslint-disable-line jsx-a11y/no-noninteractive-element-to-interactive-role\n , ref: this.setButtonRef,\n 'aria-label': ariaLabel,\n onMouseEnter: function () {\n function onMouseEnter(e) {\n _this2.onDayMouseEnter(day, e);\n }\n\n return onMouseEnter;\n }(),\n onMouseLeave: function () {\n function onMouseLeave(e) {\n _this2.onDayMouseLeave(day, e);\n }\n\n return onMouseLeave;\n }(),\n onMouseUp: function () {\n function onMouseUp(e) {\n e.currentTarget.blur();\n }\n\n return onMouseUp;\n }(),\n onClick: function () {\n function onClick(e) {\n _this2.onDayClick(day, e);\n }\n\n return onClick;\n }(),\n onKeyDown: function () {\n function onKeyDown(e) {\n _this2.onKeyDown(day, e);\n }\n\n return onKeyDown;\n }(),\n tabIndex: tabIndex\n }),\n renderDayContents ? renderDayContents(day, modifiers) : day.format('D')\n );\n }\n\n return render;\n }()\n }]);\n\n return CalendarDay;\n}(_react2['default'].Component);\n\nCalendarDay.propTypes = propTypes;\nCalendarDay.defaultProps = defaultProps;\n\nexports.PureCalendarDay = CalendarDay;\nexports['default'] = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var _ref2$reactDates = _ref2.reactDates,\n color = _ref2$reactDates.color,\n font = _ref2$reactDates.font;\n return {\n CalendarDay: {\n boxSizing: 'border-box',\n cursor: 'pointer',\n fontSize: font.size,\n textAlign: 'center',\n\n ':active': {\n outline: 0\n }\n },\n\n CalendarDay__defaultCursor: {\n cursor: 'default'\n },\n\n CalendarDay__default: {\n border: '1px solid ' + String(color.core.borderLight),\n color: color.text,\n background: color.background,\n\n ':hover': {\n background: color.core.borderLight,\n border: '1px double ' + String(color.core.borderLight),\n color: 'inherit'\n }\n },\n\n CalendarDay__hovered_offset: {\n background: color.core.borderBright,\n border: '1px double ' + String(color.core.borderLight),\n color: 'inherit'\n },\n\n CalendarDay__outside: {\n border: 0,\n background: color.outside.backgroundColor,\n color: color.outside.color,\n\n ':hover': {\n border: 0\n }\n },\n\n CalendarDay__blocked_minimum_nights: {\n background: color.minimumNights.backgroundColor,\n border: '1px solid ' + String(color.minimumNights.borderColor),\n color: color.minimumNights.color,\n\n ':hover': {\n background: color.minimumNights.backgroundColor_hover,\n color: color.minimumNights.color_active\n },\n\n ':active': {\n background: color.minimumNights.backgroundColor_active,\n color: color.minimumNights.color_active\n }\n },\n\n CalendarDay__highlighted_calendar: {\n background: color.highlighted.backgroundColor,\n color: color.highlighted.color,\n\n ':hover': {\n background: color.highlighted.backgroundColor_hover,\n color: color.highlighted.color_active\n },\n\n ':active': {\n background: color.highlighted.backgroundColor_active,\n color: color.highlighted.color_active\n }\n },\n\n CalendarDay__selected_span: {\n background: color.selectedSpan.backgroundColor,\n border: '1px solid ' + String(color.selectedSpan.borderColor),\n color: color.selectedSpan.color,\n\n ':hover': {\n background: color.selectedSpan.backgroundColor_hover,\n border: '1px solid ' + String(color.selectedSpan.borderColor),\n color: color.selectedSpan.color_active\n },\n\n ':active': {\n background: color.selectedSpan.backgroundColor_active,\n border: '1px solid ' + String(color.selectedSpan.borderColor),\n color: color.selectedSpan.color_active\n }\n },\n\n CalendarDay__last_in_range: {\n borderRight: color.core.primary\n },\n\n CalendarDay__selected: {\n background: color.selected.backgroundColor,\n border: '1px solid ' + String(color.selected.borderColor),\n color: color.selected.color,\n\n ':hover': {\n background: color.selected.backgroundColor_hover,\n border: '1px solid ' + String(color.selected.borderColor),\n color: color.selected.color_active\n },\n\n ':active': {\n background: color.selected.backgroundColor_active,\n border: '1px solid ' + String(color.selected.borderColor),\n color: color.selected.color_active\n }\n },\n\n CalendarDay__hovered_span: {\n background: color.hoveredSpan.backgroundColor,\n border: '1px solid ' + String(color.hoveredSpan.borderColor),\n color: color.hoveredSpan.color,\n\n ':hover': {\n background: color.hoveredSpan.backgroundColor_hover,\n border: '1px solid ' + String(color.hoveredSpan.borderColor),\n color: color.hoveredSpan.color_active\n },\n\n ':active': {\n background: color.hoveredSpan.backgroundColor_active,\n border: '1px solid ' + String(color.hoveredSpan.borderColor),\n color: color.hoveredSpan.color_active\n }\n },\n\n CalendarDay__blocked_calendar: {\n background: color.blocked_calendar.backgroundColor,\n border: '1px solid ' + String(color.blocked_calendar.borderColor),\n color: color.blocked_calendar.color,\n\n ':hover': {\n background: color.blocked_calendar.backgroundColor_hover,\n border: '1px solid ' + String(color.blocked_calendar.borderColor),\n color: color.blocked_calendar.color_active\n },\n\n ':active': {\n background: color.blocked_calendar.backgroundColor_active,\n border: '1px solid ' + String(color.blocked_calendar.borderColor),\n color: color.blocked_calendar.color_active\n }\n },\n\n CalendarDay__blocked_out_of_range: {\n background: color.blocked_out_of_range.backgroundColor,\n border: '1px solid ' + String(color.blocked_out_of_range.borderColor),\n color: color.blocked_out_of_range.color,\n\n ':hover': {\n background: color.blocked_out_of_range.backgroundColor_hover,\n border: '1px solid ' + String(color.blocked_out_of_range.borderColor),\n color: color.blocked_out_of_range.color_active\n },\n\n ':active': {\n background: color.blocked_out_of_range.backgroundColor_active,\n border: '1px solid ' + String(color.blocked_out_of_range.borderColor),\n color: color.blocked_out_of_range.color_active\n }\n },\n\n CalendarDay__selected_start: {},\n CalendarDay__selected_end: {},\n CalendarDay__today: {},\n CalendarDay__firstDayOfWeek: {},\n CalendarDay__lastDayOfWeek: {}\n };\n})(CalendarDay);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar CalendarIcon = function () {\n function CalendarIcon(props) {\n return _react2['default'].createElement(\n 'svg',\n props,\n _react2['default'].createElement('path', {\n d: 'M107.2 1392.9h241.1v-241.1H107.2v241.1zm294.7 0h267.9v-241.1H401.9v241.1zm-294.7-294.7h241.1V830.4H107.2v267.8zm294.7 0h267.9V830.4H401.9v267.8zM107.2 776.8h241.1V535.7H107.2v241.1zm616.2 616.1h267.9v-241.1H723.4v241.1zM401.9 776.8h267.9V535.7H401.9v241.1zm642.9 616.1H1286v-241.1h-241.1v241.1zm-321.4-294.7h267.9V830.4H723.4v267.8zM428.7 375V133.9c0-7.3-2.7-13.5-8-18.8-5.3-5.3-11.6-8-18.8-8h-53.6c-7.3 0-13.5 2.7-18.8 8-5.3 5.3-8 11.6-8 18.8V375c0 7.3 2.7 13.5 8 18.8 5.3 5.3 11.6 8 18.8 8h53.6c7.3 0 13.5-2.7 18.8-8 5.3-5.3 8-11.5 8-18.8zm616.1 723.2H1286V830.4h-241.1v267.8zM723.4 776.8h267.9V535.7H723.4v241.1zm321.4 0H1286V535.7h-241.1v241.1zm26.8-401.8V133.9c0-7.3-2.7-13.5-8-18.8-5.3-5.3-11.6-8-18.8-8h-53.6c-7.3 0-13.5 2.7-18.8 8-5.3 5.3-8 11.6-8 18.8V375c0 7.3 2.7 13.5 8 18.8 5.3 5.3 11.6 8 18.8 8h53.6c7.3 0 13.5-2.7 18.8-8 5.4-5.3 8-11.5 8-18.8zm321.5-53.6v1071.4c0 29-10.6 54.1-31.8 75.3-21.2 21.2-46.3 31.8-75.3 31.8H107.2c-29 0-54.1-10.6-75.3-31.8C10.6 1447 0 1421.9 0 1392.9V321.4c0-29 10.6-54.1 31.8-75.3s46.3-31.8 75.3-31.8h107.2v-80.4c0-36.8 13.1-68.4 39.3-94.6S311.4 0 348.3 0h53.6c36.8 0 68.4 13.1 94.6 39.3 26.2 26.2 39.3 57.8 39.3 94.6v80.4h321.5v-80.4c0-36.8 13.1-68.4 39.3-94.6C922.9 13.1 954.4 0 991.3 0h53.6c36.8 0 68.4 13.1 94.6 39.3s39.3 57.8 39.3 94.6v80.4H1286c29 0 54.1 10.6 75.3 31.8 21.2 21.2 31.8 46.3 31.8 75.3z'\n })\n );\n }\n\n return CalendarIcon;\n}();\n\nCalendarIcon.defaultProps = {\n viewBox: '0 0 1393.1 1500'\n};\nexports['default'] = CalendarIcon;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _object = require('object.assign');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactAddonsShallowCompare = require('react-addons-shallow-compare');\n\nvar _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);\n\nvar _reactMomentProptypes = require('react-moment-proptypes');\n\nvar _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _reactWithStyles = require('react-with-styles');\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _defaultPhrases = require('../defaultPhrases');\n\nvar _getPhrasePropTypes = require('../utils/getPhrasePropTypes');\n\nvar _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);\n\nvar _CalendarWeek = require('./CalendarWeek');\n\nvar _CalendarWeek2 = _interopRequireDefault(_CalendarWeek);\n\nvar _CalendarDay = require('./CalendarDay');\n\nvar _CalendarDay2 = _interopRequireDefault(_CalendarDay);\n\nvar _calculateDimension = require('../utils/calculateDimension');\n\nvar _calculateDimension2 = _interopRequireDefault(_calculateDimension);\n\nvar _getCalendarMonthWeeks = require('../utils/getCalendarMonthWeeks');\n\nvar _getCalendarMonthWeeks2 = _interopRequireDefault(_getCalendarMonthWeeks);\n\nvar _isSameDay = require('../utils/isSameDay');\n\nvar _isSameDay2 = _interopRequireDefault(_isSameDay);\n\nvar _toISODateString = require('../utils/toISODateString');\n\nvar _toISODateString2 = _interopRequireDefault(_toISODateString);\n\nvar _ModifiersShape = require('../shapes/ModifiersShape');\n\nvar _ModifiersShape2 = _interopRequireDefault(_ModifiersShape);\n\nvar _ScrollableOrientationShape = require('../shapes/ScrollableOrientationShape');\n\nvar _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);\n\nvar _DayOfWeekShape = require('../shapes/DayOfWeekShape');\n\nvar _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint react/no-array-index-key: 0 */\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {\n month: _reactMomentProptypes2['default'].momentObj,\n horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,\n isVisible: _propTypes2['default'].bool,\n enableOutsideDays: _propTypes2['default'].bool,\n modifiers: _propTypes2['default'].objectOf(_ModifiersShape2['default']),\n orientation: _ScrollableOrientationShape2['default'],\n daySize: _airbnbPropTypes.nonNegativeInteger,\n onDayClick: _propTypes2['default'].func,\n onDayMouseEnter: _propTypes2['default'].func,\n onDayMouseLeave: _propTypes2['default'].func,\n onMonthSelect: _propTypes2['default'].func,\n onYearSelect: _propTypes2['default'].func,\n renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),\n renderCalendarDay: _propTypes2['default'].func,\n renderDayContents: _propTypes2['default'].func,\n renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),\n firstDayOfWeek: _DayOfWeekShape2['default'],\n setMonthTitleHeight: _propTypes2['default'].func,\n verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger,\n\n focusedDate: _reactMomentProptypes2['default'].momentObj, // indicates focusable day\n isFocused: _propTypes2['default'].bool, // indicates whether or not to move focus to focusable day\n\n // i18n\n monthFormat: _propTypes2['default'].string,\n phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.CalendarDayPhrases)),\n dayAriaLabelFormat: _propTypes2['default'].string\n}));\n\nvar defaultProps = {\n month: (0, _moment2['default'])(),\n horizontalMonthPadding: 13,\n isVisible: true,\n enableOutsideDays: false,\n modifiers: {},\n orientation: _constants.HORIZONTAL_ORIENTATION,\n daySize: _constants.DAY_SIZE,\n onDayClick: function () {\n function onDayClick() {}\n\n return onDayClick;\n }(),\n onDayMouseEnter: function () {\n function onDayMouseEnter() {}\n\n return onDayMouseEnter;\n }(),\n onDayMouseLeave: function () {\n function onDayMouseLeave() {}\n\n return onDayMouseLeave;\n }(),\n onMonthSelect: function () {\n function onMonthSelect() {}\n\n return onMonthSelect;\n }(),\n onYearSelect: function () {\n function onYearSelect() {}\n\n return onYearSelect;\n }(),\n\n renderMonthText: null,\n renderCalendarDay: function () {\n function renderCalendarDay(props) {\n return _react2['default'].createElement(_CalendarDay2['default'], props);\n }\n\n return renderCalendarDay;\n }(),\n renderDayContents: null,\n renderMonthElement: null,\n firstDayOfWeek: null,\n setMonthTitleHeight: null,\n\n focusedDate: null,\n isFocused: false,\n\n // i18n\n monthFormat: 'MMMM YYYY', // english locale\n phrases: _defaultPhrases.CalendarDayPhrases,\n dayAriaLabelFormat: undefined,\n verticalBorderSpacing: undefined\n};\n\nvar CalendarMonth = function (_React$Component) {\n _inherits(CalendarMonth, _React$Component);\n\n function CalendarMonth(props) {\n _classCallCheck(this, CalendarMonth);\n\n var _this = _possibleConstructorReturn(this, (CalendarMonth.__proto__ || Object.getPrototypeOf(CalendarMonth)).call(this, props));\n\n _this.state = {\n weeks: (0, _getCalendarMonthWeeks2['default'])(props.month, props.enableOutsideDays, props.firstDayOfWeek == null ? _moment2['default'].localeData().firstDayOfWeek() : props.firstDayOfWeek)\n };\n\n _this.setCaptionRef = _this.setCaptionRef.bind(_this);\n _this.setMonthTitleHeight = _this.setMonthTitleHeight.bind(_this);\n return _this;\n }\n\n _createClass(CalendarMonth, [{\n key: 'componentDidMount',\n value: function () {\n function componentDidMount() {\n this.setMonthTitleHeightTimeout = setTimeout(this.setMonthTitleHeight, 0);\n }\n\n return componentDidMount;\n }()\n }, {\n key: 'componentWillReceiveProps',\n value: function () {\n function componentWillReceiveProps(nextProps) {\n var month = nextProps.month,\n enableOutsideDays = nextProps.enableOutsideDays,\n firstDayOfWeek = nextProps.firstDayOfWeek;\n var _props = this.props,\n prevMonth = _props.month,\n prevEnableOutsideDays = _props.enableOutsideDays,\n prevFirstDayOfWeek = _props.firstDayOfWeek;\n\n if (!month.isSame(prevMonth) || enableOutsideDays !== prevEnableOutsideDays || firstDayOfWeek !== prevFirstDayOfWeek) {\n this.setState({\n weeks: (0, _getCalendarMonthWeeks2['default'])(month, enableOutsideDays, firstDayOfWeek == null ? _moment2['default'].localeData().firstDayOfWeek() : firstDayOfWeek)\n });\n }\n }\n\n return componentWillReceiveProps;\n }()\n }, {\n key: 'shouldComponentUpdate',\n value: function () {\n function shouldComponentUpdate(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);\n }\n\n return shouldComponentUpdate;\n }()\n }, {\n key: 'componentWillUnmount',\n value: function () {\n function componentWillUnmount() {\n if (this.setMonthTitleHeightTimeout) {\n clearTimeout(this.setMonthTitleHeightTimeout);\n }\n }\n\n return componentWillUnmount;\n }()\n }, {\n key: 'setMonthTitleHeight',\n value: function () {\n function setMonthTitleHeight() {\n var setMonthTitleHeight = this.props.setMonthTitleHeight;\n\n if (setMonthTitleHeight) {\n var captionHeight = (0, _calculateDimension2['default'])(this.captionRef, 'height', true, true);\n setMonthTitleHeight(captionHeight);\n }\n }\n\n return setMonthTitleHeight;\n }()\n }, {\n key: 'setCaptionRef',\n value: function () {\n function setCaptionRef(ref) {\n this.captionRef = ref;\n }\n\n return setCaptionRef;\n }()\n }, {\n key: 'render',\n value: function () {\n function render() {\n var _props2 = this.props,\n dayAriaLabelFormat = _props2.dayAriaLabelFormat,\n daySize = _props2.daySize,\n focusedDate = _props2.focusedDate,\n horizontalMonthPadding = _props2.horizontalMonthPadding,\n isFocused = _props2.isFocused,\n isVisible = _props2.isVisible,\n modifiers = _props2.modifiers,\n month = _props2.month,\n monthFormat = _props2.monthFormat,\n onDayClick = _props2.onDayClick,\n onDayMouseEnter = _props2.onDayMouseEnter,\n onDayMouseLeave = _props2.onDayMouseLeave,\n onMonthSelect = _props2.onMonthSelect,\n onYearSelect = _props2.onYearSelect,\n orientation = _props2.orientation,\n phrases = _props2.phrases,\n renderCalendarDay = _props2.renderCalendarDay,\n renderDayContents = _props2.renderDayContents,\n renderMonthElement = _props2.renderMonthElement,\n renderMonthText = _props2.renderMonthText,\n styles = _props2.styles,\n verticalBorderSpacing = _props2.verticalBorderSpacing;\n var weeks = this.state.weeks;\n\n var monthTitle = renderMonthText ? renderMonthText(month) : month.format(monthFormat);\n\n var verticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE;\n\n return _react2['default'].createElement(\n 'div',\n _extends({}, (0, _reactWithStyles.css)(styles.CalendarMonth, { padding: '0 ' + String(horizontalMonthPadding) + 'px' }), {\n 'data-visible': isVisible\n }),\n _react2['default'].createElement(\n 'div',\n _extends({\n ref: this.setCaptionRef\n }, (0, _reactWithStyles.css)(styles.CalendarMonth_caption, verticalScrollable && styles.CalendarMonth_caption__verticalScrollable)),\n renderMonthElement ? renderMonthElement({ month: month, onMonthSelect: onMonthSelect, onYearSelect: onYearSelect }) : _react2['default'].createElement(\n 'strong',\n null,\n monthTitle\n )\n ),\n _react2['default'].createElement(\n 'table',\n _extends({}, (0, _reactWithStyles.css)(!verticalBorderSpacing && styles.CalendarMonth_table, verticalBorderSpacing && styles.CalendarMonth_verticalSpacing, verticalBorderSpacing && { borderSpacing: '0px ' + String(verticalBorderSpacing) + 'px' }), {\n role: 'presentation'\n }),\n _react2['default'].createElement(\n 'tbody',\n null,\n weeks.map(function (week, i) {\n return _react2['default'].createElement(\n _CalendarWeek2['default'],\n { key: i },\n week.map(function (day, dayOfWeek) {\n return renderCalendarDay({\n key: dayOfWeek,\n day: day,\n daySize: daySize,\n isOutsideDay: !day || day.month() !== month.month(),\n tabIndex: isVisible && (0, _isSameDay2['default'])(day, focusedDate) ? 0 : -1,\n isFocused: isFocused,\n onDayMouseEnter: onDayMouseEnter,\n onDayMouseLeave: onDayMouseLeave,\n onDayClick: onDayClick,\n renderDayContents: renderDayContents,\n phrases: phrases,\n modifiers: modifiers[(0, _toISODateString2['default'])(day)],\n ariaLabelFormat: dayAriaLabelFormat\n });\n })\n );\n })\n )\n )\n );\n }\n\n return render;\n }()\n }]);\n\n return CalendarMonth;\n}(_react2['default'].Component);\n\nCalendarMonth.propTypes = propTypes;\nCalendarMonth.defaultProps = defaultProps;\n\nexports['default'] = (0, _reactWithStyles.withStyles)(function (_ref) {\n var _ref$reactDates = _ref.reactDates,\n color = _ref$reactDates.color,\n font = _ref$reactDates.font,\n spacing = _ref$reactDates.spacing;\n return {\n CalendarMonth: {\n background: color.background,\n textAlign: 'center',\n verticalAlign: 'top',\n userSelect: 'none'\n },\n\n CalendarMonth_table: {\n borderCollapse: 'collapse',\n borderSpacing: 0\n },\n\n CalendarMonth_verticalSpacing: {\n borderCollapse: 'separate'\n },\n\n CalendarMonth_caption: {\n color: color.text,\n fontSize: font.captionSize,\n textAlign: 'center',\n paddingTop: spacing.captionPaddingTop,\n paddingBottom: spacing.captionPaddingBottom,\n captionSide: 'initial'\n },\n\n CalendarMonth_caption__verticalScrollable: {\n paddingTop: 12,\n paddingBottom: 7\n }\n };\n})(CalendarMonth);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _object = require('object.assign');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactAddonsShallowCompare = require('react-addons-shallow-compare');\n\nvar _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);\n\nvar _reactMomentProptypes = require('react-moment-proptypes');\n\nvar _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _reactWithStyles = require('react-with-styles');\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _consolidatedEvents = require('consolidated-events');\n\nvar _defaultPhrases = require('../defaultPhrases');\n\nvar _getPhrasePropTypes = require('../utils/getPhrasePropTypes');\n\nvar _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);\n\nvar _CalendarMonth = require('./CalendarMonth');\n\nvar _CalendarMonth2 = _interopRequireDefault(_CalendarMonth);\n\nvar _isTransitionEndSupported = require('../utils/isTransitionEndSupported');\n\nvar _isTransitionEndSupported2 = _interopRequireDefault(_isTransitionEndSupported);\n\nvar _getTransformStyles = require('../utils/getTransformStyles');\n\nvar _getTransformStyles2 = _interopRequireDefault(_getTransformStyles);\n\nvar _getCalendarMonthWidth = require('../utils/getCalendarMonthWidth');\n\nvar _getCalendarMonthWidth2 = _interopRequireDefault(_getCalendarMonthWidth);\n\nvar _toISOMonthString = require('../utils/toISOMonthString');\n\nvar _toISOMonthString2 = _interopRequireDefault(_toISOMonthString);\n\nvar _isPrevMonth = require('../utils/isPrevMonth');\n\nvar _isPrevMonth2 = _interopRequireDefault(_isPrevMonth);\n\nvar _isNextMonth = require('../utils/isNextMonth');\n\nvar _isNextMonth2 = _interopRequireDefault(_isNextMonth);\n\nvar _ModifiersShape = require('../shapes/ModifiersShape');\n\nvar _ModifiersShape2 = _interopRequireDefault(_ModifiersShape);\n\nvar _ScrollableOrientationShape = require('../shapes/ScrollableOrientationShape');\n\nvar _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);\n\nvar _DayOfWeekShape = require('../shapes/DayOfWeekShape');\n\nvar _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {\n enableOutsideDays: _propTypes2['default'].bool,\n firstVisibleMonthIndex: _propTypes2['default'].number,\n horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,\n initialMonth: _reactMomentProptypes2['default'].momentObj,\n isAnimating: _propTypes2['default'].bool,\n numberOfMonths: _propTypes2['default'].number,\n modifiers: _propTypes2['default'].objectOf(_propTypes2['default'].objectOf(_ModifiersShape2['default'])),\n orientation: _ScrollableOrientationShape2['default'],\n onDayClick: _propTypes2['default'].func,\n onDayMouseEnter: _propTypes2['default'].func,\n onDayMouseLeave: _propTypes2['default'].func,\n onMonthTransitionEnd: _propTypes2['default'].func,\n onMonthChange: _propTypes2['default'].func,\n onYearChange: _propTypes2['default'].func,\n renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),\n renderCalendarDay: _propTypes2['default'].func,\n renderDayContents: _propTypes2['default'].func,\n translationValue: _propTypes2['default'].number,\n renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),\n daySize: _airbnbPropTypes.nonNegativeInteger,\n focusedDate: _reactMomentProptypes2['default'].momentObj, // indicates focusable day\n isFocused: _propTypes2['default'].bool, // indicates whether or not to move focus to focusable day\n firstDayOfWeek: _DayOfWeekShape2['default'],\n setMonthTitleHeight: _propTypes2['default'].func,\n isRTL: _propTypes2['default'].bool,\n transitionDuration: _airbnbPropTypes.nonNegativeInteger,\n verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger,\n\n // i18n\n monthFormat: _propTypes2['default'].string,\n phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.CalendarDayPhrases)),\n dayAriaLabelFormat: _propTypes2['default'].string\n}));\n\nvar defaultProps = {\n enableOutsideDays: false,\n firstVisibleMonthIndex: 0,\n horizontalMonthPadding: 13,\n initialMonth: (0, _moment2['default'])(),\n isAnimating: false,\n numberOfMonths: 1,\n modifiers: {},\n orientation: _constants.HORIZONTAL_ORIENTATION,\n onDayClick: function () {\n function onDayClick() {}\n\n return onDayClick;\n }(),\n onDayMouseEnter: function () {\n function onDayMouseEnter() {}\n\n return onDayMouseEnter;\n }(),\n onDayMouseLeave: function () {\n function onDayMouseLeave() {}\n\n return onDayMouseLeave;\n }(),\n onMonthChange: function () {\n function onMonthChange() {}\n\n return onMonthChange;\n }(),\n onYearChange: function () {\n function onYearChange() {}\n\n return onYearChange;\n }(),\n onMonthTransitionEnd: function () {\n function onMonthTransitionEnd() {}\n\n return onMonthTransitionEnd;\n }(),\n\n renderMonthText: null,\n renderCalendarDay: undefined,\n renderDayContents: null,\n translationValue: null,\n renderMonthElement: null,\n daySize: _constants.DAY_SIZE,\n focusedDate: null,\n isFocused: false,\n firstDayOfWeek: null,\n setMonthTitleHeight: null,\n isRTL: false,\n transitionDuration: 200,\n verticalBorderSpacing: undefined,\n\n // i18n\n monthFormat: 'MMMM YYYY', // english locale\n phrases: _defaultPhrases.CalendarDayPhrases,\n dayAriaLabelFormat: undefined\n};\n\nfunction getMonths(initialMonth, numberOfMonths, withoutTransitionMonths) {\n var month = initialMonth.clone();\n if (!withoutTransitionMonths) month = month.subtract(1, 'month');\n\n var months = [];\n for (var i = 0; i < (withoutTransitionMonths ? numberOfMonths : numberOfMonths + 2); i += 1) {\n months.push(month);\n month = month.clone().add(1, 'month');\n }\n\n return months;\n}\n\nvar CalendarMonthGrid = function (_React$Component) {\n _inherits(CalendarMonthGrid, _React$Component);\n\n function CalendarMonthGrid(props) {\n _classCallCheck(this, CalendarMonthGrid);\n\n var _this = _possibleConstructorReturn(this, (CalendarMonthGrid.__proto__ || Object.getPrototypeOf(CalendarMonthGrid)).call(this, props));\n\n var withoutTransitionMonths = props.orientation === _constants.VERTICAL_SCROLLABLE;\n _this.state = {\n months: getMonths(props.initialMonth, props.numberOfMonths, withoutTransitionMonths)\n };\n\n _this.isTransitionEndSupported = (0, _isTransitionEndSupported2['default'])();\n _this.onTransitionEnd = _this.onTransitionEnd.bind(_this);\n _this.setContainerRef = _this.setContainerRef.bind(_this);\n\n _this.locale = _moment2['default'].locale();\n _this.onMonthSelect = _this.onMonthSelect.bind(_this);\n _this.onYearSelect = _this.onYearSelect.bind(_this);\n return _this;\n }\n\n _createClass(CalendarMonthGrid, [{\n key: 'componentDidMount',\n value: function () {\n function componentDidMount() {\n this.removeEventListener = (0, _consolidatedEvents.addEventListener)(this.container, 'transitionend', this.onTransitionEnd);\n }\n\n return componentDidMount;\n }()\n }, {\n key: 'componentWillReceiveProps',\n value: function () {\n function componentWillReceiveProps(nextProps) {\n var _this2 = this;\n\n var initialMonth = nextProps.initialMonth,\n numberOfMonths = nextProps.numberOfMonths,\n orientation = nextProps.orientation;\n var months = this.state.months;\n var _props = this.props,\n prevInitialMonth = _props.initialMonth,\n prevNumberOfMonths = _props.numberOfMonths;\n\n var hasMonthChanged = !prevInitialMonth.isSame(initialMonth, 'month');\n var hasNumberOfMonthsChanged = prevNumberOfMonths !== numberOfMonths;\n var newMonths = months;\n\n if (hasMonthChanged && !hasNumberOfMonthsChanged) {\n if ((0, _isNextMonth2['default'])(prevInitialMonth, initialMonth)) {\n newMonths = months.slice(1);\n newMonths.push(months[months.length - 1].clone().add(1, 'month'));\n } else if ((0, _isPrevMonth2['default'])(prevInitialMonth, initialMonth)) {\n newMonths = months.slice(0, months.length - 1);\n newMonths.unshift(months[0].clone().subtract(1, 'month'));\n } else {\n var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n newMonths = getMonths(initialMonth, numberOfMonths, withoutTransitionMonths);\n }\n }\n\n if (hasNumberOfMonthsChanged) {\n var _withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n newMonths = getMonths(initialMonth, numberOfMonths, _withoutTransitionMonths);\n }\n\n var momentLocale = _moment2['default'].locale();\n if (this.locale !== momentLocale) {\n this.locale = momentLocale;\n newMonths = newMonths.map(function (m) {\n return m.locale(_this2.locale);\n });\n }\n\n this.setState({\n months: newMonths\n });\n }\n\n return componentWillReceiveProps;\n }()\n }, {\n key: 'shouldComponentUpdate',\n value: function () {\n function shouldComponentUpdate(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);\n }\n\n return shouldComponentUpdate;\n }()\n }, {\n key: 'componentDidUpdate',\n value: function () {\n function componentDidUpdate() {\n var _props2 = this.props,\n isAnimating = _props2.isAnimating,\n transitionDuration = _props2.transitionDuration,\n onMonthTransitionEnd = _props2.onMonthTransitionEnd;\n\n // For IE9, immediately call onMonthTransitionEnd instead of\n // waiting for the animation to complete. Similarly, if transitionDuration\n // is set to 0, also immediately invoke the onMonthTransitionEnd callback\n\n if ((!this.isTransitionEndSupported || !transitionDuration) && isAnimating) {\n onMonthTransitionEnd();\n }\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: 'componentWillUnmount',\n value: function () {\n function componentWillUnmount() {\n if (this.removeEventListener) this.removeEventListener();\n }\n\n return componentWillUnmount;\n }()\n }, {\n key: 'onTransitionEnd',\n value: function () {\n function onTransitionEnd() {\n var onMonthTransitionEnd = this.props.onMonthTransitionEnd;\n\n onMonthTransitionEnd();\n }\n\n return onTransitionEnd;\n }()\n }, {\n key: 'onMonthSelect',\n value: function () {\n function onMonthSelect(currentMonth, newMonthVal) {\n var newMonth = currentMonth.clone();\n var _props3 = this.props,\n onMonthChange = _props3.onMonthChange,\n orientation = _props3.orientation;\n var months = this.state.months;\n\n var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n var initialMonthSubtraction = months.indexOf(currentMonth);\n if (!withoutTransitionMonths) {\n initialMonthSubtraction -= 1;\n }\n newMonth.set('month', newMonthVal).subtract(initialMonthSubtraction, 'months');\n onMonthChange(newMonth);\n }\n\n return onMonthSelect;\n }()\n }, {\n key: 'onYearSelect',\n value: function () {\n function onYearSelect(currentMonth, newYearVal) {\n var newMonth = currentMonth.clone();\n var _props4 = this.props,\n onYearChange = _props4.onYearChange,\n orientation = _props4.orientation;\n var months = this.state.months;\n\n var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n var initialMonthSubtraction = months.indexOf(currentMonth);\n if (!withoutTransitionMonths) {\n initialMonthSubtraction -= 1;\n }\n newMonth.set('year', newYearVal).subtract(initialMonthSubtraction, 'months');\n onYearChange(newMonth);\n }\n\n return onYearSelect;\n }()\n }, {\n key: 'setContainerRef',\n value: function () {\n function setContainerRef(ref) {\n this.container = ref;\n }\n\n return setContainerRef;\n }()\n }, {\n key: 'render',\n value: function () {\n function render() {\n var _this3 = this;\n\n var _props5 = this.props,\n enableOutsideDays = _props5.enableOutsideDays,\n firstVisibleMonthIndex = _props5.firstVisibleMonthIndex,\n horizontalMonthPadding = _props5.horizontalMonthPadding,\n isAnimating = _props5.isAnimating,\n modifiers = _props5.modifiers,\n numberOfMonths = _props5.numberOfMonths,\n monthFormat = _props5.monthFormat,\n orientation = _props5.orientation,\n translationValue = _props5.translationValue,\n daySize = _props5.daySize,\n onDayMouseEnter = _props5.onDayMouseEnter,\n onDayMouseLeave = _props5.onDayMouseLeave,\n onDayClick = _props5.onDayClick,\n renderMonthText = _props5.renderMonthText,\n renderCalendarDay = _props5.renderCalendarDay,\n renderDayContents = _props5.renderDayContents,\n renderMonthElement = _props5.renderMonthElement,\n onMonthTransitionEnd = _props5.onMonthTransitionEnd,\n firstDayOfWeek = _props5.firstDayOfWeek,\n focusedDate = _props5.focusedDate,\n isFocused = _props5.isFocused,\n isRTL = _props5.isRTL,\n styles = _props5.styles,\n phrases = _props5.phrases,\n dayAriaLabelFormat = _props5.dayAriaLabelFormat,\n transitionDuration = _props5.transitionDuration,\n verticalBorderSpacing = _props5.verticalBorderSpacing,\n setMonthTitleHeight = _props5.setMonthTitleHeight;\n var months = this.state.months;\n\n var isVertical = orientation === _constants.VERTICAL_ORIENTATION;\n var isVerticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE;\n var isHorizontal = orientation === _constants.HORIZONTAL_ORIENTATION;\n\n var calendarMonthWidth = (0, _getCalendarMonthWidth2['default'])(daySize, horizontalMonthPadding);\n\n var width = isVertical || isVerticalScrollable ? calendarMonthWidth : (numberOfMonths + 2) * calendarMonthWidth;\n\n var transformType = isVertical || isVerticalScrollable ? 'translateY' : 'translateX';\n var transformValue = transformType + '(' + String(translationValue) + 'px)';\n\n return _react2['default'].createElement(\n 'div',\n _extends({}, (0, _reactWithStyles.css)(styles.CalendarMonthGrid, isHorizontal && styles.CalendarMonthGrid__horizontal, isVertical && styles.CalendarMonthGrid__vertical, isVerticalScrollable && styles.CalendarMonthGrid__vertical_scrollable, isAnimating && styles.CalendarMonthGrid__animating, isAnimating && transitionDuration && {\n transition: 'transform ' + String(transitionDuration) + 'ms ease-in-out'\n }, (0, _object2['default'])({}, (0, _getTransformStyles2['default'])(transformValue), {\n width: width\n })), {\n ref: this.setContainerRef,\n onTransitionEnd: onMonthTransitionEnd\n }),\n months.map(function (month, i) {\n var isVisible = i >= firstVisibleMonthIndex && i < firstVisibleMonthIndex + numberOfMonths;\n var hideForAnimation = i === 0 && !isVisible;\n var showForAnimation = i === 0 && isAnimating && isVisible;\n var monthString = (0, _toISOMonthString2['default'])(month);\n return _react2['default'].createElement(\n 'div',\n _extends({\n key: monthString\n }, (0, _reactWithStyles.css)(isHorizontal && styles.CalendarMonthGrid_month__horizontal, hideForAnimation && styles.CalendarMonthGrid_month__hideForAnimation, showForAnimation && !isVertical && !isRTL && {\n position: 'absolute',\n left: -calendarMonthWidth\n }, showForAnimation && !isVertical && isRTL && {\n position: 'absolute',\n right: 0\n }, showForAnimation && isVertical && {\n position: 'absolute',\n top: -translationValue\n }, !isVisible && !isAnimating && styles.CalendarMonthGrid_month__hidden)),\n _react2['default'].createElement(_CalendarMonth2['default'], {\n month: month,\n isVisible: isVisible,\n enableOutsideDays: enableOutsideDays,\n modifiers: modifiers[monthString],\n monthFormat: monthFormat,\n orientation: orientation,\n onDayMouseEnter: onDayMouseEnter,\n onDayMouseLeave: onDayMouseLeave,\n onDayClick: onDayClick,\n onMonthSelect: _this3.onMonthSelect,\n onYearSelect: _this3.onYearSelect,\n renderMonthText: renderMonthText,\n renderCalendarDay: renderCalendarDay,\n renderDayContents: renderDayContents,\n renderMonthElement: renderMonthElement,\n firstDayOfWeek: firstDayOfWeek,\n daySize: daySize,\n focusedDate: isVisible ? focusedDate : null,\n isFocused: isFocused,\n phrases: phrases,\n setMonthTitleHeight: setMonthTitleHeight,\n dayAriaLabelFormat: dayAriaLabelFormat,\n verticalBorderSpacing: verticalBorderSpacing,\n horizontalMonthPadding: horizontalMonthPadding\n })\n );\n })\n );\n }\n\n return render;\n }()\n }]);\n\n return CalendarMonthGrid;\n}(_react2['default'].Component);\n\nCalendarMonthGrid.propTypes = propTypes;\nCalendarMonthGrid.defaultProps = defaultProps;\n\nexports['default'] = (0, _reactWithStyles.withStyles)(function (_ref) {\n var _ref$reactDates = _ref.reactDates,\n color = _ref$reactDates.color,\n noScrollBarOnVerticalScrollable = _ref$reactDates.noScrollBarOnVerticalScrollable,\n spacing = _ref$reactDates.spacing,\n zIndex = _ref$reactDates.zIndex;\n return {\n CalendarMonthGrid: {\n background: color.background,\n textAlign: 'left',\n zIndex: zIndex\n },\n\n CalendarMonthGrid__animating: {\n zIndex: zIndex + 1\n },\n\n CalendarMonthGrid__horizontal: {\n position: 'absolute',\n left: spacing.dayPickerHorizontalPadding\n },\n\n CalendarMonthGrid__vertical: {\n margin: '0 auto'\n },\n\n CalendarMonthGrid__vertical_scrollable: (0, _object2['default'])({\n margin: '0 auto',\n overflowY: 'scroll'\n }, noScrollBarOnVerticalScrollable && {\n '-webkitOverflowScrolling': 'touch',\n '::-webkit-scrollbar': {\n '-webkit-appearance': 'none',\n display: 'none'\n }\n }),\n\n CalendarMonthGrid_month__horizontal: {\n display: 'inline-block',\n verticalAlign: 'top',\n minHeight: '100%'\n },\n\n CalendarMonthGrid_month__hideForAnimation: {\n position: 'absolute',\n zIndex: zIndex - 1,\n opacity: 0,\n pointerEvents: 'none'\n },\n\n CalendarMonthGrid_month__hidden: {\n visibility: 'hidden'\n }\n };\n})(CalendarMonthGrid);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = CalendarWeek;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _CalendarDay = require('./CalendarDay');\n\nvar _CalendarDay2 = _interopRequireDefault(_CalendarDay);\n\nvar _CustomizableCalendarDay = require('./CustomizableCalendarDay');\n\nvar _CustomizableCalendarDay2 = _interopRequireDefault(_CustomizableCalendarDay);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)({\n children: (0, _airbnbPropTypes.or)([(0, _airbnbPropTypes.childrenOfType)(_CalendarDay2['default']), (0, _airbnbPropTypes.childrenOfType)(_CustomizableCalendarDay2['default'])]).isRequired\n});\n\nfunction CalendarWeek(_ref) {\n var children = _ref.children;\n\n return _react2['default'].createElement(\n 'tr',\n null,\n children\n );\n}\n\nCalendarWeek.propTypes = propTypes;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar ChevronDown = function () {\n function ChevronDown(props) {\n return _react2['default'].createElement(\n 'svg',\n props,\n _react2['default'].createElement('path', {\n d: 'M967.5 288.5L514.3 740.7c-11 11-21 11-32 0L29.1 288.5c-4-5-6-11-6-16 0-13 10-23 23-23 6 0 11 2 15 7l437.2 436.2 437.2-436.2c4-5 9-7 16-7 6 0 11 2 16 7 9 10.9 9 21 0 32z'\n })\n );\n }\n\n return ChevronDown;\n}();\n\nChevronDown.defaultProps = {\n viewBox: '0 0 1000 1000'\n};\nexports['default'] = ChevronDown;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar ChevronUp = function () {\n function ChevronUp(props) {\n return _react2['default'].createElement(\n 'svg',\n props,\n _react2['default'].createElement('path', {\n d: 'M32.1 712.6l453.2-452.2c11-11 21-11 32 0l453.2 452.2c4 5 6 10 6 16 0 13-10 23-22 23-7 0-12-2-16-7L501.3 308.5 64.1 744.7c-4 5-9 7-15 7-7 0-12-2-17-7-9-11-9-21 0-32.1z'\n })\n );\n }\n\n return ChevronUp;\n}();\n\nChevronUp.defaultProps = {\n viewBox: '0 0 1000 1000'\n};\nexports['default'] = ChevronUp;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar CloseButton = function () {\n function CloseButton(props) {\n return _react2['default'].createElement(\n 'svg',\n props,\n _react2['default'].createElement('path', {\n fillRule: 'evenodd',\n d: 'M11.53.47a.75.75 0 0 0-1.061 0l-4.47 4.47L1.529.47A.75.75 0 1 0 .468 1.531l4.47 4.47-4.47 4.47a.75.75 0 1 0 1.061 1.061l4.47-4.47 4.47 4.47a.75.75 0 1 0 1.061-1.061l-4.47-4.47 4.47-4.47a.75.75 0 0 0 0-1.061z'\n })\n );\n }\n\n return CloseButton;\n}();\n\nCloseButton.defaultProps = {\n viewBox: '0 0 12 12'\n};\nexports['default'] = CloseButton;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PureCustomizableCalendarDay = exports.selectedStyles = exports.lastInRangeStyles = exports.selectedSpanStyles = exports.hoveredSpanStyles = exports.blockedOutOfRangeStyles = exports.blockedCalendarStyles = exports.blockedMinNightsStyles = exports.highlightedCalendarStyles = exports.outsideStyles = exports.defaultStyles = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _object = require('object.assign');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactAddonsShallowCompare = require('react-addons-shallow-compare');\n\nvar _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);\n\nvar _reactMomentProptypes = require('react-moment-proptypes');\n\nvar _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _reactWithStyles = require('react-with-styles');\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _defaultPhrases = require('../defaultPhrases');\n\nvar _getPhrasePropTypes = require('../utils/getPhrasePropTypes');\n\nvar _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);\n\nvar _getCalendarDaySettings = require('../utils/getCalendarDaySettings');\n\nvar _getCalendarDaySettings2 = _interopRequireDefault(_getCalendarDaySettings);\n\nvar _constants = require('../constants');\n\nvar _DefaultTheme = require('../theme/DefaultTheme');\n\nvar _DefaultTheme2 = _interopRequireDefault(_DefaultTheme);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar color = _DefaultTheme2['default'].reactDates.color;\n\n\nfunction getStyles(stylesObj, isHovered) {\n if (!stylesObj) return null;\n\n var hover = stylesObj.hover;\n\n if (isHovered && hover) {\n return hover;\n }\n\n return stylesObj;\n}\n\nvar DayStyleShape = _propTypes2['default'].shape({\n background: _propTypes2['default'].string,\n border: (0, _airbnbPropTypes.or)([_propTypes2['default'].string, _propTypes2['default'].number]),\n color: _propTypes2['default'].string,\n\n hover: _propTypes2['default'].shape({\n background: _propTypes2['default'].string,\n border: (0, _airbnbPropTypes.or)([_propTypes2['default'].string, _propTypes2['default'].number]),\n color: _propTypes2['default'].string\n })\n});\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {\n day: _reactMomentProptypes2['default'].momentObj,\n daySize: _airbnbPropTypes.nonNegativeInteger,\n isOutsideDay: _propTypes2['default'].bool,\n modifiers: _propTypes2['default'].instanceOf(Set),\n isFocused: _propTypes2['default'].bool,\n tabIndex: _propTypes2['default'].oneOf([0, -1]),\n onDayClick: _propTypes2['default'].func,\n onDayMouseEnter: _propTypes2['default'].func,\n onDayMouseLeave: _propTypes2['default'].func,\n renderDayContents: _propTypes2['default'].func,\n ariaLabelFormat: _propTypes2['default'].string,\n\n // style overrides\n defaultStyles: DayStyleShape,\n outsideStyles: DayStyleShape,\n todayStyles: DayStyleShape,\n firstDayOfWeekStyles: DayStyleShape,\n lastDayOfWeekStyles: DayStyleShape,\n highlightedCalendarStyles: DayStyleShape,\n blockedMinNightsStyles: DayStyleShape,\n blockedCalendarStyles: DayStyleShape,\n blockedOutOfRangeStyles: DayStyleShape,\n hoveredSpanStyles: DayStyleShape,\n selectedSpanStyles: DayStyleShape,\n lastInRangeStyles: DayStyleShape,\n selectedStyles: DayStyleShape,\n selectedStartStyles: DayStyleShape,\n selectedEndStyles: DayStyleShape,\n afterHoveredStartStyles: DayStyleShape,\n\n // internationalization\n phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.CalendarDayPhrases))\n}));\n\nvar defaultStyles = exports.defaultStyles = {\n border: '1px solid ' + String(color.core.borderLight),\n color: color.text,\n background: color.background,\n\n hover: {\n background: color.core.borderLight,\n border: '1px double ' + String(color.core.borderLight),\n color: 'inherit'\n }\n};\n\nvar outsideStyles = exports.outsideStyles = {\n background: color.outside.backgroundColor,\n border: 0,\n color: color.outside.color\n};\n\nvar highlightedCalendarStyles = exports.highlightedCalendarStyles = {\n background: color.highlighted.backgroundColor,\n color: color.highlighted.color,\n\n hover: {\n background: color.highlighted.backgroundColor_hover,\n color: color.highlighted.color_active\n }\n};\n\nvar blockedMinNightsStyles = exports.blockedMinNightsStyles = {\n background: color.minimumNights.backgroundColor,\n border: '1px solid ' + String(color.minimumNights.borderColor),\n color: color.minimumNights.color,\n\n hover: {\n background: color.minimumNights.backgroundColor_hover,\n color: color.minimumNights.color_active\n }\n};\n\nvar blockedCalendarStyles = exports.blockedCalendarStyles = {\n background: color.blocked_calendar.backgroundColor,\n border: '1px solid ' + String(color.blocked_calendar.borderColor),\n color: color.blocked_calendar.color,\n\n hover: {\n background: color.blocked_calendar.backgroundColor_hover,\n border: '1px solid ' + String(color.blocked_calendar.borderColor),\n color: color.blocked_calendar.color_active\n }\n};\n\nvar blockedOutOfRangeStyles = exports.blockedOutOfRangeStyles = {\n background: color.blocked_out_of_range.backgroundColor,\n border: '1px solid ' + String(color.blocked_out_of_range.borderColor),\n color: color.blocked_out_of_range.color,\n\n hover: {\n background: color.blocked_out_of_range.backgroundColor_hover,\n border: '1px solid ' + String(color.blocked_out_of_range.borderColor),\n color: color.blocked_out_of_range.color_active\n }\n};\n\nvar hoveredSpanStyles = exports.hoveredSpanStyles = {\n background: color.hoveredSpan.backgroundColor,\n border: '1px solid ' + String(color.hoveredSpan.borderColor),\n color: color.hoveredSpan.color,\n\n hover: {\n background: color.hoveredSpan.backgroundColor_hover,\n border: '1px solid ' + String(color.hoveredSpan.borderColor),\n color: color.hoveredSpan.color_active\n }\n};\n\nvar selectedSpanStyles = exports.selectedSpanStyles = {\n background: color.selectedSpan.backgroundColor,\n border: '1px solid ' + String(color.selectedSpan.borderColor),\n color: color.selectedSpan.color,\n\n hover: {\n background: color.selectedSpan.backgroundColor_hover,\n border: '1px solid ' + String(color.selectedSpan.borderColor),\n color: color.selectedSpan.color_active\n }\n};\n\nvar lastInRangeStyles = exports.lastInRangeStyles = {\n borderRight: color.core.primary\n};\n\nvar selectedStyles = exports.selectedStyles = {\n background: color.selected.backgroundColor,\n border: '1px solid ' + String(color.selected.borderColor),\n color: color.selected.color,\n\n hover: {\n background: color.selected.backgroundColor_hover,\n border: '1px solid ' + String(color.selected.borderColor),\n color: color.selected.color_active\n }\n};\n\nvar defaultProps = {\n day: (0, _moment2['default'])(),\n daySize: _constants.DAY_SIZE,\n isOutsideDay: false,\n modifiers: new Set(),\n isFocused: false,\n tabIndex: -1,\n onDayClick: function () {\n function onDayClick() {}\n\n return onDayClick;\n }(),\n onDayMouseEnter: function () {\n function onDayMouseEnter() {}\n\n return onDayMouseEnter;\n }(),\n onDayMouseLeave: function () {\n function onDayMouseLeave() {}\n\n return onDayMouseLeave;\n }(),\n\n renderDayContents: null,\n ariaLabelFormat: 'dddd, LL',\n\n // style defaults\n defaultStyles: defaultStyles,\n outsideStyles: outsideStyles,\n todayStyles: {},\n highlightedCalendarStyles: highlightedCalendarStyles,\n blockedMinNightsStyles: blockedMinNightsStyles,\n blockedCalendarStyles: blockedCalendarStyles,\n blockedOutOfRangeStyles: blockedOutOfRangeStyles,\n hoveredSpanStyles: hoveredSpanStyles,\n selectedSpanStyles: selectedSpanStyles,\n lastInRangeStyles: lastInRangeStyles,\n selectedStyles: selectedStyles,\n selectedStartStyles: {},\n selectedEndStyles: {},\n afterHoveredStartStyles: {},\n firstDayOfWeekStyles: {},\n lastDayOfWeekStyles: {},\n\n // internationalization\n phrases: _defaultPhrases.CalendarDayPhrases\n};\n\nvar CustomizableCalendarDay = function (_React$Component) {\n _inherits(CustomizableCalendarDay, _React$Component);\n\n function CustomizableCalendarDay() {\n var _ref;\n\n _classCallCheck(this, CustomizableCalendarDay);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _this = _possibleConstructorReturn(this, (_ref = CustomizableCalendarDay.__proto__ || Object.getPrototypeOf(CustomizableCalendarDay)).call.apply(_ref, [this].concat(args)));\n\n _this.state = {\n isHovered: false\n };\n\n _this.setButtonRef = _this.setButtonRef.bind(_this);\n return _this;\n }\n\n _createClass(CustomizableCalendarDay, [{\n key: 'shouldComponentUpdate',\n value: function () {\n function shouldComponentUpdate(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);\n }\n\n return shouldComponentUpdate;\n }()\n }, {\n key: 'componentDidUpdate',\n value: function () {\n function componentDidUpdate(prevProps) {\n var _props = this.props,\n isFocused = _props.isFocused,\n tabIndex = _props.tabIndex;\n\n if (tabIndex === 0) {\n if (isFocused || tabIndex !== prevProps.tabIndex) {\n this.buttonRef.focus();\n }\n }\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: 'onDayClick',\n value: function () {\n function onDayClick(day, e) {\n var onDayClick = this.props.onDayClick;\n\n onDayClick(day, e);\n }\n\n return onDayClick;\n }()\n }, {\n key: 'onDayMouseEnter',\n value: function () {\n function onDayMouseEnter(day, e) {\n var onDayMouseEnter = this.props.onDayMouseEnter;\n\n this.setState({ isHovered: true });\n onDayMouseEnter(day, e);\n }\n\n return onDayMouseEnter;\n }()\n }, {\n key: 'onDayMouseLeave',\n value: function () {\n function onDayMouseLeave(day, e) {\n var onDayMouseLeave = this.props.onDayMouseLeave;\n\n this.setState({ isHovered: false });\n onDayMouseLeave(day, e);\n }\n\n return onDayMouseLeave;\n }()\n }, {\n key: 'onKeyDown',\n value: function () {\n function onKeyDown(day, e) {\n var onDayClick = this.props.onDayClick;\n var key = e.key;\n\n if (key === 'Enter' || key === ' ') {\n onDayClick(day, e);\n }\n }\n\n return onKeyDown;\n }()\n }, {\n key: 'setButtonRef',\n value: function () {\n function setButtonRef(ref) {\n this.buttonRef = ref;\n }\n\n return setButtonRef;\n }()\n }, {\n key: 'render',\n value: function () {\n function render() {\n var _this2 = this;\n\n var _props2 = this.props,\n day = _props2.day,\n ariaLabelFormat = _props2.ariaLabelFormat,\n daySize = _props2.daySize,\n isOutsideDay = _props2.isOutsideDay,\n modifiers = _props2.modifiers,\n tabIndex = _props2.tabIndex,\n renderDayContents = _props2.renderDayContents,\n styles = _props2.styles,\n phrases = _props2.phrases,\n defaultStylesWithHover = _props2.defaultStyles,\n outsideStylesWithHover = _props2.outsideStyles,\n todayStylesWithHover = _props2.todayStyles,\n firstDayOfWeekStylesWithHover = _props2.firstDayOfWeekStyles,\n lastDayOfWeekStylesWithHover = _props2.lastDayOfWeekStyles,\n highlightedCalendarStylesWithHover = _props2.highlightedCalendarStyles,\n blockedMinNightsStylesWithHover = _props2.blockedMinNightsStyles,\n blockedCalendarStylesWithHover = _props2.blockedCalendarStyles,\n blockedOutOfRangeStylesWithHover = _props2.blockedOutOfRangeStyles,\n hoveredSpanStylesWithHover = _props2.hoveredSpanStyles,\n selectedSpanStylesWithHover = _props2.selectedSpanStyles,\n lastInRangeStylesWithHover = _props2.lastInRangeStyles,\n selectedStylesWithHover = _props2.selectedStyles,\n selectedStartStylesWithHover = _props2.selectedStartStyles,\n selectedEndStylesWithHover = _props2.selectedEndStyles,\n afterHoveredStartStylesWithHover = _props2.afterHoveredStartStyles;\n var isHovered = this.state.isHovered;\n\n\n if (!day) return _react2['default'].createElement('td', null);\n\n var _getCalendarDaySettin = (0, _getCalendarDaySettings2['default'])(day, ariaLabelFormat, daySize, modifiers, phrases),\n daySizeStyles = _getCalendarDaySettin.daySizeStyles,\n useDefaultCursor = _getCalendarDaySettin.useDefaultCursor,\n selected = _getCalendarDaySettin.selected,\n hoveredSpan = _getCalendarDaySettin.hoveredSpan,\n isOutsideRange = _getCalendarDaySettin.isOutsideRange,\n ariaLabel = _getCalendarDaySettin.ariaLabel;\n\n return _react2['default'].createElement(\n 'td',\n _extends({}, (0, _reactWithStyles.css)(styles.CalendarDay, useDefaultCursor && styles.CalendarDay__defaultCursor, daySizeStyles, getStyles(defaultStylesWithHover, isHovered), isOutsideDay && getStyles(outsideStylesWithHover, isHovered), modifiers.has('today') && getStyles(todayStylesWithHover, isHovered), modifiers.has('first-day-of-week') && getStyles(firstDayOfWeekStylesWithHover, isHovered), modifiers.has('last-day-of-week') && getStyles(lastDayOfWeekStylesWithHover, isHovered), modifiers.has('highlighted-calendar') && getStyles(highlightedCalendarStylesWithHover, isHovered), modifiers.has('blocked-minimum-nights') && getStyles(blockedMinNightsStylesWithHover, isHovered), modifiers.has('blocked-calendar') && getStyles(blockedCalendarStylesWithHover, isHovered), hoveredSpan && getStyles(hoveredSpanStylesWithHover, isHovered), modifiers.has('after-hovered-start') && getStyles(afterHoveredStartStylesWithHover, isHovered), modifiers.has('selected-span') && getStyles(selectedSpanStylesWithHover, isHovered), modifiers.has('last-in-range') && getStyles(lastInRangeStylesWithHover, isHovered), selected && getStyles(selectedStylesWithHover, isHovered), modifiers.has('selected-start') && getStyles(selectedStartStylesWithHover, isHovered), modifiers.has('selected-end') && getStyles(selectedEndStylesWithHover, isHovered), isOutsideRange && getStyles(blockedOutOfRangeStylesWithHover, isHovered)), {\n role: 'button' // eslint-disable-line jsx-a11y/no-noninteractive-element-to-interactive-role\n , ref: this.setButtonRef,\n 'aria-label': ariaLabel,\n onMouseEnter: function () {\n function onMouseEnter(e) {\n _this2.onDayMouseEnter(day, e);\n }\n\n return onMouseEnter;\n }(),\n onMouseLeave: function () {\n function onMouseLeave(e) {\n _this2.onDayMouseLeave(day, e);\n }\n\n return onMouseLeave;\n }(),\n onMouseUp: function () {\n function onMouseUp(e) {\n e.currentTarget.blur();\n }\n\n return onMouseUp;\n }(),\n onClick: function () {\n function onClick(e) {\n _this2.onDayClick(day, e);\n }\n\n return onClick;\n }(),\n onKeyDown: function () {\n function onKeyDown(e) {\n _this2.onKeyDown(day, e);\n }\n\n return onKeyDown;\n }(),\n tabIndex: tabIndex\n }),\n renderDayContents ? renderDayContents(day, modifiers) : day.format('D')\n );\n }\n\n return render;\n }()\n }]);\n\n return CustomizableCalendarDay;\n}(_react2['default'].Component);\n\nCustomizableCalendarDay.propTypes = propTypes;\nCustomizableCalendarDay.defaultProps = defaultProps;\n\nexports.PureCustomizableCalendarDay = CustomizableCalendarDay;\nexports['default'] = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var font = _ref2.reactDates.font;\n return {\n CalendarDay: {\n boxSizing: 'border-box',\n cursor: 'pointer',\n fontSize: font.size,\n textAlign: 'center',\n\n ':active': {\n outline: 0\n }\n },\n\n CalendarDay__defaultCursor: {\n cursor: 'default'\n }\n };\n})(CustomizableCalendarDay);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _object = require('object.assign');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _reactWithStyles = require('react-with-styles');\n\nvar _throttle = require('lodash/throttle');\n\nvar _throttle2 = _interopRequireDefault(_throttle);\n\nvar _isTouchDevice = require('is-touch-device');\n\nvar _isTouchDevice2 = _interopRequireDefault(_isTouchDevice);\n\nvar _getInputHeight = require('../utils/getInputHeight');\n\nvar _getInputHeight2 = _interopRequireDefault(_getInputHeight);\n\nvar _OpenDirectionShape = require('../shapes/OpenDirectionShape');\n\nvar _OpenDirectionShape2 = _interopRequireDefault(_OpenDirectionShape);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar FANG_PATH_TOP = 'M0,' + String(_constants.FANG_HEIGHT_PX) + ' ' + String(_constants.FANG_WIDTH_PX) + ',' + String(_constants.FANG_HEIGHT_PX) + ' ' + _constants.FANG_WIDTH_PX / 2 + ',0z';\nvar FANG_STROKE_TOP = 'M0,' + String(_constants.FANG_HEIGHT_PX) + ' ' + _constants.FANG_WIDTH_PX / 2 + ',0 ' + String(_constants.FANG_WIDTH_PX) + ',' + String(_constants.FANG_HEIGHT_PX);\nvar FANG_PATH_BOTTOM = 'M0,0 ' + String(_constants.FANG_WIDTH_PX) + ',0 ' + _constants.FANG_WIDTH_PX / 2 + ',' + String(_constants.FANG_HEIGHT_PX) + 'z';\nvar FANG_STROKE_BOTTOM = 'M0,0 ' + _constants.FANG_WIDTH_PX / 2 + ',' + String(_constants.FANG_HEIGHT_PX) + ' ' + String(_constants.FANG_WIDTH_PX) + ',0';\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {\n id: _propTypes2['default'].string.isRequired,\n placeholder: _propTypes2['default'].string, // also used as label\n displayValue: _propTypes2['default'].string,\n screenReaderMessage: _propTypes2['default'].string,\n focused: _propTypes2['default'].bool,\n disabled: _propTypes2['default'].bool,\n required: _propTypes2['default'].bool,\n readOnly: _propTypes2['default'].bool,\n openDirection: _OpenDirectionShape2['default'],\n showCaret: _propTypes2['default'].bool,\n verticalSpacing: _airbnbPropTypes.nonNegativeInteger,\n small: _propTypes2['default'].bool,\n block: _propTypes2['default'].bool,\n regular: _propTypes2['default'].bool,\n\n onChange: _propTypes2['default'].func,\n onFocus: _propTypes2['default'].func,\n onKeyDownShiftTab: _propTypes2['default'].func,\n onKeyDownTab: _propTypes2['default'].func,\n\n onKeyDownArrowDown: _propTypes2['default'].func,\n onKeyDownQuestionMark: _propTypes2['default'].func,\n\n // accessibility\n isFocused: _propTypes2['default'].bool // describes actual DOM focus\n}));\n\nvar defaultProps = {\n placeholder: 'Select Date',\n displayValue: '',\n screenReaderMessage: '',\n focused: false,\n disabled: false,\n required: false,\n readOnly: null,\n openDirection: _constants.OPEN_DOWN,\n showCaret: false,\n verticalSpacing: _constants.DEFAULT_VERTICAL_SPACING,\n small: false,\n block: false,\n regular: false,\n\n onChange: function () {\n function onChange() {}\n\n return onChange;\n }(),\n onFocus: function () {\n function onFocus() {}\n\n return onFocus;\n }(),\n onKeyDownShiftTab: function () {\n function onKeyDownShiftTab() {}\n\n return onKeyDownShiftTab;\n }(),\n onKeyDownTab: function () {\n function onKeyDownTab() {}\n\n return onKeyDownTab;\n }(),\n onKeyDownArrowDown: function () {\n function onKeyDownArrowDown() {}\n\n return onKeyDownArrowDown;\n }(),\n onKeyDownQuestionMark: function () {\n function onKeyDownQuestionMark() {}\n\n return onKeyDownQuestionMark;\n }(),\n\n\n // accessibility\n isFocused: false\n};\n\nvar DateInput = function (_React$Component) {\n _inherits(DateInput, _React$Component);\n\n function DateInput(props) {\n _classCallCheck(this, DateInput);\n\n var _this = _possibleConstructorReturn(this, (DateInput.__proto__ || Object.getPrototypeOf(DateInput)).call(this, props));\n\n _this.state = {\n dateString: '',\n isTouchDevice: false\n };\n\n _this.onChange = _this.onChange.bind(_this);\n _this.onKeyDown = _this.onKeyDown.bind(_this);\n _this.setInputRef = _this.setInputRef.bind(_this);\n _this.throttledKeyDown = (0, _throttle2['default'])(_this.onFinalKeyDown, 300, { trailing: false });\n return _this;\n }\n\n _createClass(DateInput, [{\n key: 'componentDidMount',\n value: function () {\n function componentDidMount() {\n this.setState({ isTouchDevice: (0, _isTouchDevice2['default'])() });\n }\n\n return componentDidMount;\n }()\n }, {\n key: 'componentWillReceiveProps',\n value: function () {\n function componentWillReceiveProps(nextProps) {\n var dateString = this.state.dateString;\n\n if (dateString && nextProps.displayValue) {\n this.setState({\n dateString: ''\n });\n }\n }\n\n return componentWillReceiveProps;\n }()\n }, {\n key: 'componentDidUpdate',\n value: function () {\n function componentDidUpdate(prevProps) {\n var _props = this.props,\n focused = _props.focused,\n isFocused = _props.isFocused;\n\n if (prevProps.focused === focused && prevProps.isFocused === isFocused) return;\n\n if (focused && isFocused) {\n this.inputRef.focus();\n }\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: 'onChange',\n value: function () {\n function onChange(e) {\n var _props2 = this.props,\n onChange = _props2.onChange,\n onKeyDownQuestionMark = _props2.onKeyDownQuestionMark;\n\n var dateString = e.target.value;\n\n // In Safari, onKeyDown does not consistently fire ahead of onChange. As a result, we need to\n // special case the `?` key so that it always triggers the appropriate callback, instead of\n // modifying the input value\n if (dateString[dateString.length - 1] === '?') {\n onKeyDownQuestionMark(e);\n } else {\n this.setState({ dateString: dateString }, function () {\n return onChange(dateString);\n });\n }\n }\n\n return onChange;\n }()\n }, {\n key: 'onKeyDown',\n value: function () {\n function onKeyDown(e) {\n e.stopPropagation();\n if (!_constants.MODIFIER_KEY_NAMES.has(e.key)) {\n this.throttledKeyDown(e);\n }\n }\n\n return onKeyDown;\n }()\n }, {\n key: 'onFinalKeyDown',\n value: function () {\n function onFinalKeyDown(e) {\n var _props3 = this.props,\n onKeyDownShiftTab = _props3.onKeyDownShiftTab,\n onKeyDownTab = _props3.onKeyDownTab,\n onKeyDownArrowDown = _props3.onKeyDownArrowDown,\n onKeyDownQuestionMark = _props3.onKeyDownQuestionMark;\n var key = e.key;\n\n\n if (key === 'Tab') {\n if (e.shiftKey) {\n onKeyDownShiftTab(e);\n } else {\n onKeyDownTab(e);\n }\n } else if (key === 'ArrowDown') {\n onKeyDownArrowDown(e);\n } else if (key === '?') {\n e.preventDefault();\n onKeyDownQuestionMark(e);\n }\n }\n\n return onFinalKeyDown;\n }()\n }, {\n key: 'setInputRef',\n value: function () {\n function setInputRef(ref) {\n this.inputRef = ref;\n }\n\n return setInputRef;\n }()\n }, {\n key: 'render',\n value: function () {\n function render() {\n var _state = this.state,\n dateString = _state.dateString,\n isTouch = _state.isTouchDevice;\n var _props4 = this.props,\n id = _props4.id,\n placeholder = _props4.placeholder,\n displayValue = _props4.displayValue,\n screenReaderMessage = _props4.screenReaderMessage,\n focused = _props4.focused,\n showCaret = _props4.showCaret,\n onFocus = _props4.onFocus,\n disabled = _props4.disabled,\n required = _props4.required,\n readOnly = _props4.readOnly,\n openDirection = _props4.openDirection,\n verticalSpacing = _props4.verticalSpacing,\n small = _props4.small,\n regular = _props4.regular,\n block = _props4.block,\n styles = _props4.styles,\n reactDates = _props4.theme.reactDates;\n\n\n var value = dateString || displayValue || '';\n var screenReaderMessageId = 'DateInput__screen-reader-message-' + String(id);\n\n var withFang = showCaret && focused;\n\n var inputHeight = (0, _getInputHeight2['default'])(reactDates, small);\n\n return _react2['default'].createElement(\n 'div',\n (0, _reactWithStyles.css)(styles.DateInput, small && styles.DateInput__small, block && styles.DateInput__block, withFang && styles.DateInput__withFang, disabled && styles.DateInput__disabled, withFang && openDirection === _constants.OPEN_DOWN && styles.DateInput__openDown, withFang && openDirection === _constants.OPEN_UP && styles.DateInput__openUp),\n _react2['default'].createElement('input', _extends({}, (0, _reactWithStyles.css)(styles.DateInput_input, small && styles.DateInput_input__small, regular && styles.DateInput_input__regular, readOnly && styles.DateInput_input__readOnly, focused && styles.DateInput_input__focused, disabled && styles.DateInput_input__disabled), {\n 'aria-label': placeholder,\n type: 'text',\n id: id,\n name: id,\n ref: this.setInputRef,\n value: value,\n onChange: this.onChange,\n onKeyDown: this.onKeyDown,\n onFocus: onFocus,\n placeholder: placeholder,\n autoComplete: 'off',\n disabled: disabled,\n readOnly: typeof readOnly === 'boolean' ? readOnly : isTouch,\n required: required,\n 'aria-describedby': screenReaderMessage && screenReaderMessageId\n })),\n withFang && _react2['default'].createElement(\n 'svg',\n _extends({\n role: 'presentation',\n focusable: 'false'\n }, (0, _reactWithStyles.css)(styles.DateInput_fang, openDirection === _constants.OPEN_DOWN && {\n top: inputHeight + verticalSpacing - _constants.FANG_HEIGHT_PX - 1\n }, openDirection === _constants.OPEN_UP && {\n bottom: inputHeight + verticalSpacing - _constants.FANG_HEIGHT_PX - 1\n })),\n _react2['default'].createElement('path', _extends({}, (0, _reactWithStyles.css)(styles.DateInput_fangShape), {\n d: openDirection === _constants.OPEN_DOWN ? FANG_PATH_TOP : FANG_PATH_BOTTOM\n })),\n _react2['default'].createElement('path', _extends({}, (0, _reactWithStyles.css)(styles.DateInput_fangStroke), {\n d: openDirection === _constants.OPEN_DOWN ? FANG_STROKE_TOP : FANG_STROKE_BOTTOM\n }))\n ),\n screenReaderMessage && _react2['default'].createElement(\n 'p',\n _extends({}, (0, _reactWithStyles.css)(styles.DateInput_screenReaderMessage), { id: screenReaderMessageId }),\n screenReaderMessage\n )\n );\n }\n\n return render;\n }()\n }]);\n\n return DateInput;\n}(_react2['default'].Component);\n\nDateInput.propTypes = propTypes;\nDateInput.defaultProps = defaultProps;\n\nexports['default'] = (0, _reactWithStyles.withStyles)(function (_ref) {\n var _ref$reactDates = _ref.reactDates,\n border = _ref$reactDates.border,\n color = _ref$reactDates.color,\n sizing = _ref$reactDates.sizing,\n spacing = _ref$reactDates.spacing,\n font = _ref$reactDates.font,\n zIndex = _ref$reactDates.zIndex;\n return {\n DateInput: {\n margin: 0,\n padding: spacing.inputPadding,\n background: color.background,\n position: 'relative',\n display: 'inline-block',\n width: sizing.inputWidth,\n verticalAlign: 'middle'\n },\n\n DateInput__small: {\n width: sizing.inputWidth_small\n },\n\n DateInput__block: {\n width: '100%'\n },\n\n DateInput__disabled: {\n background: color.disabled,\n color: color.textDisabled\n },\n\n DateInput_input: {\n fontWeight: 200,\n fontSize: font.input.size,\n lineHeight: font.input.lineHeight,\n color: color.text,\n backgroundColor: color.background,\n width: '100%',\n padding: String(spacing.displayTextPaddingVertical) + 'px ' + String(spacing.displayTextPaddingHorizontal) + 'px',\n paddingTop: spacing.displayTextPaddingTop,\n paddingBottom: spacing.displayTextPaddingBottom,\n paddingLeft: spacing.displayTextPaddingLeft,\n paddingRight: spacing.displayTextPaddingRight,\n border: border.input.border,\n borderTop: border.input.borderTop,\n borderRight: border.input.borderRight,\n borderBottom: border.input.borderBottom,\n borderLeft: border.input.borderLeft,\n borderRadius: border.input.borderRadius\n },\n\n DateInput_input__small: {\n fontSize: font.input.size_small,\n lineHeight: font.input.lineHeight_small,\n letterSpacing: font.input.letterSpacing_small,\n padding: String(spacing.displayTextPaddingVertical_small) + 'px ' + String(spacing.displayTextPaddingHorizontal_small) + 'px',\n paddingTop: spacing.displayTextPaddingTop_small,\n paddingBottom: spacing.displayTextPaddingBottom_small,\n paddingLeft: spacing.displayTextPaddingLeft_small,\n paddingRight: spacing.displayTextPaddingRight_small\n },\n\n DateInput_input__regular: {\n fontWeight: 'auto'\n },\n\n DateInput_input__readOnly: {\n userSelect: 'none'\n },\n\n DateInput_input__focused: {\n outline: border.input.outlineFocused,\n background: color.backgroundFocused,\n border: border.input.borderFocused,\n borderTop: border.input.borderTopFocused,\n borderRight: border.input.borderRightFocused,\n borderBottom: border.input.borderBottomFocused,\n borderLeft: border.input.borderLeftFocused\n },\n\n DateInput_input__disabled: {\n background: color.disabled,\n fontStyle: font.input.styleDisabled\n },\n\n DateInput_screenReaderMessage: {\n border: 0,\n clip: 'rect(0, 0, 0, 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n width: 1\n },\n\n DateInput_fang: {\n position: 'absolute',\n width: _constants.FANG_WIDTH_PX,\n height: _constants.FANG_HEIGHT_PX,\n left: 22,\n zIndex: zIndex + 2\n },\n\n DateInput_fangShape: {\n fill: color.background\n },\n\n DateInput_fangStroke: {\n stroke: color.core.border,\n fill: 'transparent'\n }\n };\n})(DateInput);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PureDateRangePicker = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _object = require('object.assign');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactAddonsShallowCompare = require('react-addons-shallow-compare');\n\nvar _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _reactWithStyles = require('react-with-styles');\n\nvar _reactPortal = require('react-portal');\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _consolidatedEvents = require('consolidated-events');\n\nvar _isTouchDevice = require('is-touch-device');\n\nvar _isTouchDevice2 = _interopRequireDefault(_isTouchDevice);\n\nvar _reactOutsideClickHandler = require('react-outside-click-handler');\n\nvar _reactOutsideClickHandler2 = _interopRequireDefault(_reactOutsideClickHandler);\n\nvar _DateRangePickerShape = require('../shapes/DateRangePickerShape');\n\nvar _DateRangePickerShape2 = _interopRequireDefault(_DateRangePickerShape);\n\nvar _defaultPhrases = require('../defaultPhrases');\n\nvar _getResponsiveContainerStyles = require('../utils/getResponsiveContainerStyles');\n\nvar _getResponsiveContainerStyles2 = _interopRequireDefault(_getResponsiveContainerStyles);\n\nvar _getDetachedContainerStyles = require('../utils/getDetachedContainerStyles');\n\nvar _getDetachedContainerStyles2 = _interopRequireDefault(_getDetachedContainerStyles);\n\nvar _getInputHeight = require('../utils/getInputHeight');\n\nvar _getInputHeight2 = _interopRequireDefault(_getInputHeight);\n\nvar _isInclusivelyAfterDay = require('../utils/isInclusivelyAfterDay');\n\nvar _isInclusivelyAfterDay2 = _interopRequireDefault(_isInclusivelyAfterDay);\n\nvar _disableScroll2 = require('../utils/disableScroll');\n\nvar _disableScroll3 = _interopRequireDefault(_disableScroll2);\n\nvar _DateRangePickerInputController = require('./DateRangePickerInputController');\n\nvar _DateRangePickerInputController2 = _interopRequireDefault(_DateRangePickerInputController);\n\nvar _DayPickerRangeController = require('./DayPickerRangeController');\n\nvar _DayPickerRangeController2 = _interopRequireDefault(_DayPickerRangeController);\n\nvar _CloseButton = require('./CloseButton');\n\nvar _CloseButton2 = _interopRequireDefault(_CloseButton);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, _DateRangePickerShape2['default']));\n\nvar defaultProps = {\n // required props for a functional interactive DateRangePicker\n startDate: null,\n endDate: null,\n focusedInput: null,\n\n // input related props\n startDatePlaceholderText: 'Start Date',\n endDatePlaceholderText: 'End Date',\n disabled: false,\n required: false,\n readOnly: false,\n screenReaderInputMessage: '',\n showClearDates: false,\n showDefaultInputIcon: false,\n inputIconPosition: _constants.ICON_BEFORE_POSITION,\n customInputIcon: null,\n customArrowIcon: null,\n customCloseIcon: null,\n noBorder: false,\n block: false,\n small: false,\n regular: false,\n keepFocusOnInput: false,\n\n // calendar presentation and interaction related props\n renderMonthText: null,\n orientation: _constants.HORIZONTAL_ORIENTATION,\n anchorDirection: _constants.ANCHOR_LEFT,\n openDirection: _constants.OPEN_DOWN,\n horizontalMargin: 0,\n withPortal: false,\n withFullScreenPortal: false,\n appendToBody: false,\n disableScroll: false,\n initialVisibleMonth: null,\n numberOfMonths: 2,\n keepOpenOnDateSelect: false,\n reopenPickerOnClearDates: false,\n renderCalendarInfo: null,\n calendarInfoPosition: _constants.INFO_POSITION_BOTTOM,\n hideKeyboardShortcutsPanel: false,\n daySize: _constants.DAY_SIZE,\n isRTL: false,\n firstDayOfWeek: null,\n verticalHeight: null,\n transitionDuration: undefined,\n verticalSpacing: _constants.DEFAULT_VERTICAL_SPACING,\n\n // navigation related props\n navPrev: null,\n navNext: null,\n\n onPrevMonthClick: function () {\n function onPrevMonthClick() {}\n\n return onPrevMonthClick;\n }(),\n onNextMonthClick: function () {\n function onNextMonthClick() {}\n\n return onNextMonthClick;\n }(),\n onClose: function () {\n function onClose() {}\n\n return onClose;\n }(),\n\n\n // day presentation and interaction related props\n renderCalendarDay: undefined,\n renderDayContents: null,\n renderMonthElement: null,\n minimumNights: 1,\n enableOutsideDays: false,\n isDayBlocked: function () {\n function isDayBlocked() {\n return false;\n }\n\n return isDayBlocked;\n }(),\n isOutsideRange: function () {\n function isOutsideRange(day) {\n return !(0, _isInclusivelyAfterDay2['default'])(day, (0, _moment2['default'])());\n }\n\n return isOutsideRange;\n }(),\n isDayHighlighted: function () {\n function isDayHighlighted() {\n return false;\n }\n\n return isDayHighlighted;\n }(),\n\n // internationalization\n displayFormat: function () {\n function displayFormat() {\n return _moment2['default'].localeData().longDateFormat('L');\n }\n\n return displayFormat;\n }(),\n monthFormat: 'MMMM YYYY',\n weekDayFormat: 'dd',\n phrases: _defaultPhrases.DateRangePickerPhrases,\n dayAriaLabelFormat: undefined\n};\n\nvar DateRangePicker = function (_React$Component) {\n _inherits(DateRangePicker, _React$Component);\n\n function DateRangePicker(props) {\n _classCallCheck(this, DateRangePicker);\n\n var _this = _possibleConstructorReturn(this, (DateRangePicker.__proto__ || Object.getPrototypeOf(DateRangePicker)).call(this, props));\n\n _this.state = {\n dayPickerContainerStyles: {},\n isDateRangePickerInputFocused: false,\n isDayPickerFocused: false,\n showKeyboardShortcuts: false\n };\n\n _this.isTouchDevice = false;\n\n _this.onOutsideClick = _this.onOutsideClick.bind(_this);\n _this.onDateRangePickerInputFocus = _this.onDateRangePickerInputFocus.bind(_this);\n _this.onDayPickerFocus = _this.onDayPickerFocus.bind(_this);\n _this.onDayPickerBlur = _this.onDayPickerBlur.bind(_this);\n _this.showKeyboardShortcutsPanel = _this.showKeyboardShortcutsPanel.bind(_this);\n\n _this.responsivizePickerPosition = _this.responsivizePickerPosition.bind(_this);\n _this.disableScroll = _this.disableScroll.bind(_this);\n\n _this.setDayPickerContainerRef = _this.setDayPickerContainerRef.bind(_this);\n _this.setContainerRef = _this.setContainerRef.bind(_this);\n return _this;\n }\n\n _createClass(DateRangePicker, [{\n key: 'componentDidMount',\n value: function () {\n function componentDidMount() {\n this.removeEventListener = (0, _consolidatedEvents.addEventListener)(window, 'resize', this.responsivizePickerPosition, { passive: true });\n this.responsivizePickerPosition();\n this.disableScroll();\n\n var focusedInput = this.props.focusedInput;\n\n if (focusedInput) {\n this.setState({\n isDateRangePickerInputFocused: true\n });\n }\n\n this.isTouchDevice = (0, _isTouchDevice2['default'])();\n }\n\n return componentDidMount;\n }()\n }, {\n key: 'shouldComponentUpdate',\n value: function () {\n function shouldComponentUpdate(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);\n }\n\n return shouldComponentUpdate;\n }()\n }, {\n key: 'componentDidUpdate',\n value: function () {\n function componentDidUpdate(prevProps) {\n var focusedInput = this.props.focusedInput;\n\n if (!prevProps.focusedInput && focusedInput && this.isOpened()) {\n // The date picker just changed from being closed to being open.\n this.responsivizePickerPosition();\n this.disableScroll();\n } else if (prevProps.focusedInput && !focusedInput && !this.isOpened()) {\n // The date picker just changed from being open to being closed.\n if (this.enableScroll) this.enableScroll();\n }\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: 'componentWillUnmount',\n value: function () {\n function componentWillUnmount() {\n if (this.removeEventListener) this.removeEventListener();\n if (this.enableScroll) this.enableScroll();\n }\n\n return componentWillUnmount;\n }()\n }, {\n key: 'onOutsideClick',\n value: function () {\n function onOutsideClick(event) {\n var _props = this.props,\n onFocusChange = _props.onFocusChange,\n onClose = _props.onClose,\n startDate = _props.startDate,\n endDate = _props.endDate,\n appendToBody = _props.appendToBody;\n\n if (!this.isOpened()) return;\n if (appendToBody && this.dayPickerContainer.contains(event.target)) return;\n\n this.setState({\n isDateRangePickerInputFocused: false,\n isDayPickerFocused: false,\n showKeyboardShortcuts: false\n });\n\n onFocusChange(null);\n onClose({ startDate: startDate, endDate: endDate });\n }\n\n return onOutsideClick;\n }()\n }, {\n key: 'onDateRangePickerInputFocus',\n value: function () {\n function onDateRangePickerInputFocus(focusedInput) {\n var _props2 = this.props,\n onFocusChange = _props2.onFocusChange,\n readOnly = _props2.readOnly,\n withPortal = _props2.withPortal,\n withFullScreenPortal = _props2.withFullScreenPortal,\n keepFocusOnInput = _props2.keepFocusOnInput;\n\n\n if (focusedInput) {\n var withAnyPortal = withPortal || withFullScreenPortal;\n var moveFocusToDayPicker = withAnyPortal || readOnly && !keepFocusOnInput || this.isTouchDevice && !keepFocusOnInput;\n\n if (moveFocusToDayPicker) {\n this.onDayPickerFocus();\n } else {\n this.onDayPickerBlur();\n }\n }\n\n onFocusChange(focusedInput);\n }\n\n return onDateRangePickerInputFocus;\n }()\n }, {\n key: 'onDayPickerFocus',\n value: function () {\n function onDayPickerFocus() {\n var _props3 = this.props,\n focusedInput = _props3.focusedInput,\n onFocusChange = _props3.onFocusChange;\n\n if (!focusedInput) onFocusChange(_constants.START_DATE);\n\n this.setState({\n isDateRangePickerInputFocused: false,\n isDayPickerFocused: true,\n showKeyboardShortcuts: false\n });\n }\n\n return onDayPickerFocus;\n }()\n }, {\n key: 'onDayPickerBlur',\n value: function () {\n function onDayPickerBlur() {\n this.setState({\n isDateRangePickerInputFocused: true,\n isDayPickerFocused: false,\n showKeyboardShortcuts: false\n });\n }\n\n return onDayPickerBlur;\n }()\n }, {\n key: 'setDayPickerContainerRef',\n value: function () {\n function setDayPickerContainerRef(ref) {\n this.dayPickerContainer = ref;\n }\n\n return setDayPickerContainerRef;\n }()\n }, {\n key: 'setContainerRef',\n value: function () {\n function setContainerRef(ref) {\n this.container = ref;\n }\n\n return setContainerRef;\n }()\n }, {\n key: 'isOpened',\n value: function () {\n function isOpened() {\n var focusedInput = this.props.focusedInput;\n\n return focusedInput === _constants.START_DATE || focusedInput === _constants.END_DATE;\n }\n\n return isOpened;\n }()\n }, {\n key: 'disableScroll',\n value: function () {\n function disableScroll() {\n var _props4 = this.props,\n appendToBody = _props4.appendToBody,\n propDisableScroll = _props4.disableScroll;\n\n if (!appendToBody && !propDisableScroll) return;\n if (!this.isOpened()) return;\n\n // Disable scroll for every ancestor of this DateRangePicker up to the\n // document level. This ensures the input and the picker never move. Other\n // sibling elements or the picker itself can scroll.\n this.enableScroll = (0, _disableScroll3['default'])(this.container);\n }\n\n return disableScroll;\n }()\n }, {\n key: 'responsivizePickerPosition',\n value: function () {\n function responsivizePickerPosition() {\n // It's possible the portal props have been changed in response to window resizes\n // So let's ensure we reset this back to the base state each time\n this.setState({ dayPickerContainerStyles: {} });\n\n if (!this.isOpened()) {\n return;\n }\n\n var _props5 = this.props,\n openDirection = _props5.openDirection,\n anchorDirection = _props5.anchorDirection,\n horizontalMargin = _props5.horizontalMargin,\n withPortal = _props5.withPortal,\n withFullScreenPortal = _props5.withFullScreenPortal,\n appendToBody = _props5.appendToBody;\n var dayPickerContainerStyles = this.state.dayPickerContainerStyles;\n\n\n var isAnchoredLeft = anchorDirection === _constants.ANCHOR_LEFT;\n if (!withPortal && !withFullScreenPortal) {\n var containerRect = this.dayPickerContainer.getBoundingClientRect();\n var currentOffset = dayPickerContainerStyles[anchorDirection] || 0;\n var containerEdge = isAnchoredLeft ? containerRect[_constants.ANCHOR_RIGHT] : containerRect[_constants.ANCHOR_LEFT];\n\n this.setState({\n dayPickerContainerStyles: (0, _object2['default'])({}, (0, _getResponsiveContainerStyles2['default'])(anchorDirection, currentOffset, containerEdge, horizontalMargin), appendToBody && (0, _getDetachedContainerStyles2['default'])(openDirection, anchorDirection, this.container))\n });\n }\n }\n\n return responsivizePickerPosition;\n }()\n }, {\n key: 'showKeyboardShortcutsPanel',\n value: function () {\n function showKeyboardShortcutsPanel() {\n this.setState({\n isDateRangePickerInputFocused: false,\n isDayPickerFocused: true,\n showKeyboardShortcuts: true\n });\n }\n\n return showKeyboardShortcutsPanel;\n }()\n }, {\n key: 'maybeRenderDayPickerWithPortal',\n value: function () {\n function maybeRenderDayPickerWithPortal() {\n var _props6 = this.props,\n withPortal = _props6.withPortal,\n withFullScreenPortal = _props6.withFullScreenPortal,\n appendToBody = _props6.appendToBody;\n\n\n if (!this.isOpened()) {\n return null;\n }\n\n if (withPortal || withFullScreenPortal || appendToBody) {\n return _react2['default'].createElement(\n _reactPortal.Portal,\n null,\n this.renderDayPicker()\n );\n }\n\n return this.renderDayPicker();\n }\n\n return maybeRenderDayPickerWithPortal;\n }()\n }, {\n key: 'renderDayPicker',\n value: function () {\n function renderDayPicker() {\n var _props7 = this.props,\n anchorDirection = _props7.anchorDirection,\n openDirection = _props7.openDirection,\n isDayBlocked = _props7.isDayBlocked,\n isDayHighlighted = _props7.isDayHighlighted,\n isOutsideRange = _props7.isOutsideRange,\n numberOfMonths = _props7.numberOfMonths,\n orientation = _props7.orientation,\n monthFormat = _props7.monthFormat,\n renderMonthText = _props7.renderMonthText,\n navPrev = _props7.navPrev,\n navNext = _props7.navNext,\n onPrevMonthClick = _props7.onPrevMonthClick,\n onNextMonthClick = _props7.onNextMonthClick,\n onDatesChange = _props7.onDatesChange,\n onFocusChange = _props7.onFocusChange,\n withPortal = _props7.withPortal,\n withFullScreenPortal = _props7.withFullScreenPortal,\n daySize = _props7.daySize,\n enableOutsideDays = _props7.enableOutsideDays,\n focusedInput = _props7.focusedInput,\n startDate = _props7.startDate,\n endDate = _props7.endDate,\n minimumNights = _props7.minimumNights,\n keepOpenOnDateSelect = _props7.keepOpenOnDateSelect,\n renderCalendarDay = _props7.renderCalendarDay,\n renderDayContents = _props7.renderDayContents,\n renderCalendarInfo = _props7.renderCalendarInfo,\n renderMonthElement = _props7.renderMonthElement,\n calendarInfoPosition = _props7.calendarInfoPosition,\n firstDayOfWeek = _props7.firstDayOfWeek,\n initialVisibleMonth = _props7.initialVisibleMonth,\n hideKeyboardShortcutsPanel = _props7.hideKeyboardShortcutsPanel,\n customCloseIcon = _props7.customCloseIcon,\n onClose = _props7.onClose,\n phrases = _props7.phrases,\n dayAriaLabelFormat = _props7.dayAriaLabelFormat,\n isRTL = _props7.isRTL,\n weekDayFormat = _props7.weekDayFormat,\n styles = _props7.styles,\n verticalHeight = _props7.verticalHeight,\n transitionDuration = _props7.transitionDuration,\n verticalSpacing = _props7.verticalSpacing,\n small = _props7.small,\n disabled = _props7.disabled,\n reactDates = _props7.theme.reactDates;\n var _state = this.state,\n dayPickerContainerStyles = _state.dayPickerContainerStyles,\n isDayPickerFocused = _state.isDayPickerFocused,\n showKeyboardShortcuts = _state.showKeyboardShortcuts;\n\n\n var onOutsideClick = !withFullScreenPortal && withPortal ? this.onOutsideClick : undefined;\n var initialVisibleMonthThunk = initialVisibleMonth || function () {\n return startDate || endDate || (0, _moment2['default'])();\n };\n\n var closeIcon = customCloseIcon || _react2['default'].createElement(_CloseButton2['default'], (0, _reactWithStyles.css)(styles.DateRangePicker_closeButton_svg));\n\n var inputHeight = (0, _getInputHeight2['default'])(reactDates, small);\n\n var withAnyPortal = withPortal || withFullScreenPortal;\n\n return _react2['default'].createElement(\n 'div',\n _extends({ // eslint-disable-line jsx-a11y/no-static-element-interactions\n ref: this.setDayPickerContainerRef\n }, (0, _reactWithStyles.css)(styles.DateRangePicker_picker, anchorDirection === _constants.ANCHOR_LEFT && styles.DateRangePicker_picker__directionLeft, anchorDirection === _constants.ANCHOR_RIGHT && styles.DateRangePicker_picker__directionRight, orientation === _constants.HORIZONTAL_ORIENTATION && styles.DateRangePicker_picker__horizontal, orientation === _constants.VERTICAL_ORIENTATION && styles.DateRangePicker_picker__vertical, !withAnyPortal && openDirection === _constants.OPEN_DOWN && {\n top: inputHeight + verticalSpacing\n }, !withAnyPortal && openDirection === _constants.OPEN_UP && {\n bottom: inputHeight + verticalSpacing\n }, withAnyPortal && styles.DateRangePicker_picker__portal, withFullScreenPortal && styles.DateRangePicker_picker__fullScreenPortal, isRTL && styles.DateRangePicker_picker__rtl, dayPickerContainerStyles), {\n onClick: onOutsideClick\n }),\n _react2['default'].createElement(_DayPickerRangeController2['default'], {\n orientation: orientation,\n enableOutsideDays: enableOutsideDays,\n numberOfMonths: numberOfMonths,\n onPrevMonthClick: onPrevMonthClick,\n onNextMonthClick: onNextMonthClick,\n onDatesChange: onDatesChange,\n onFocusChange: onFocusChange,\n onClose: onClose,\n focusedInput: focusedInput,\n startDate: startDate,\n endDate: endDate,\n monthFormat: monthFormat,\n renderMonthText: renderMonthText,\n withPortal: withAnyPortal,\n daySize: daySize,\n initialVisibleMonth: initialVisibleMonthThunk,\n hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,\n navPrev: navPrev,\n navNext: navNext,\n minimumNights: minimumNights,\n isOutsideRange: isOutsideRange,\n isDayHighlighted: isDayHighlighted,\n isDayBlocked: isDayBlocked,\n keepOpenOnDateSelect: keepOpenOnDateSelect,\n renderCalendarDay: renderCalendarDay,\n renderDayContents: renderDayContents,\n renderCalendarInfo: renderCalendarInfo,\n renderMonthElement: renderMonthElement,\n calendarInfoPosition: calendarInfoPosition,\n isFocused: isDayPickerFocused,\n showKeyboardShortcuts: showKeyboardShortcuts,\n onBlur: this.onDayPickerBlur,\n phrases: phrases,\n dayAriaLabelFormat: dayAriaLabelFormat,\n isRTL: isRTL,\n firstDayOfWeek: firstDayOfWeek,\n weekDayFormat: weekDayFormat,\n verticalHeight: verticalHeight,\n transitionDuration: transitionDuration,\n disabled: disabled\n }),\n withFullScreenPortal && _react2['default'].createElement(\n 'button',\n _extends({}, (0, _reactWithStyles.css)(styles.DateRangePicker_closeButton), {\n type: 'button',\n onClick: this.onOutsideClick,\n 'aria-label': phrases.closeDatePicker\n }),\n closeIcon\n )\n );\n }\n\n return renderDayPicker;\n }()\n }, {\n key: 'render',\n value: function () {\n function render() {\n var _props8 = this.props,\n startDate = _props8.startDate,\n startDateId = _props8.startDateId,\n startDatePlaceholderText = _props8.startDatePlaceholderText,\n endDate = _props8.endDate,\n endDateId = _props8.endDateId,\n endDatePlaceholderText = _props8.endDatePlaceholderText,\n focusedInput = _props8.focusedInput,\n screenReaderInputMessage = _props8.screenReaderInputMessage,\n showClearDates = _props8.showClearDates,\n showDefaultInputIcon = _props8.showDefaultInputIcon,\n inputIconPosition = _props8.inputIconPosition,\n customInputIcon = _props8.customInputIcon,\n customArrowIcon = _props8.customArrowIcon,\n customCloseIcon = _props8.customCloseIcon,\n disabled = _props8.disabled,\n required = _props8.required,\n readOnly = _props8.readOnly,\n openDirection = _props8.openDirection,\n phrases = _props8.phrases,\n isOutsideRange = _props8.isOutsideRange,\n minimumNights = _props8.minimumNights,\n withPortal = _props8.withPortal,\n withFullScreenPortal = _props8.withFullScreenPortal,\n displayFormat = _props8.displayFormat,\n reopenPickerOnClearDates = _props8.reopenPickerOnClearDates,\n keepOpenOnDateSelect = _props8.keepOpenOnDateSelect,\n onDatesChange = _props8.onDatesChange,\n onClose = _props8.onClose,\n isRTL = _props8.isRTL,\n noBorder = _props8.noBorder,\n block = _props8.block,\n verticalSpacing = _props8.verticalSpacing,\n small = _props8.small,\n regular = _props8.regular,\n styles = _props8.styles;\n var isDateRangePickerInputFocused = this.state.isDateRangePickerInputFocused;\n\n\n var enableOutsideClick = !withPortal && !withFullScreenPortal;\n\n var hideFang = verticalSpacing < _constants.FANG_HEIGHT_PX;\n\n var input = _react2['default'].createElement(_DateRangePickerInputController2['default'], {\n startDate: startDate,\n startDateId: startDateId,\n startDatePlaceholderText: startDatePlaceholderText,\n isStartDateFocused: focusedInput === _constants.START_DATE,\n endDate: endDate,\n endDateId: endDateId,\n endDatePlaceholderText: endDatePlaceholderText,\n isEndDateFocused: focusedInput === _constants.END_DATE,\n displayFormat: displayFormat,\n showClearDates: showClearDates,\n showCaret: !withPortal && !withFullScreenPortal && !hideFang,\n showDefaultInputIcon: showDefaultInputIcon,\n inputIconPosition: inputIconPosition,\n customInputIcon: customInputIcon,\n customArrowIcon: customArrowIcon,\n customCloseIcon: customCloseIcon,\n disabled: disabled,\n required: required,\n readOnly: readOnly,\n openDirection: openDirection,\n reopenPickerOnClearDates: reopenPickerOnClearDates,\n keepOpenOnDateSelect: keepOpenOnDateSelect,\n isOutsideRange: isOutsideRange,\n minimumNights: minimumNights,\n withFullScreenPortal: withFullScreenPortal,\n onDatesChange: onDatesChange,\n onFocusChange: this.onDateRangePickerInputFocus,\n onKeyDownArrowDown: this.onDayPickerFocus,\n onKeyDownQuestionMark: this.showKeyboardShortcutsPanel,\n onClose: onClose,\n phrases: phrases,\n screenReaderMessage: screenReaderInputMessage,\n isFocused: isDateRangePickerInputFocused,\n isRTL: isRTL,\n noBorder: noBorder,\n block: block,\n small: small,\n regular: regular,\n verticalSpacing: verticalSpacing\n });\n\n return _react2['default'].createElement(\n 'div',\n _extends({\n ref: this.setContainerRef\n }, (0, _reactWithStyles.css)(styles.DateRangePicker, block && styles.DateRangePicker__block)),\n enableOutsideClick && _react2['default'].createElement(\n _reactOutsideClickHandler2['default'],\n { onOutsideClick: this.onOutsideClick },\n input,\n this.maybeRenderDayPickerWithPortal()\n ),\n !enableOutsideClick && input,\n !enableOutsideClick && this.maybeRenderDayPickerWithPortal()\n );\n }\n\n return render;\n }()\n }]);\n\n return DateRangePicker;\n}(_react2['default'].Component);\n\nDateRangePicker.propTypes = propTypes;\nDateRangePicker.defaultProps = defaultProps;\n\nexports.PureDateRangePicker = DateRangePicker;\nexports['default'] = (0, _reactWithStyles.withStyles)(function (_ref) {\n var _ref$reactDates = _ref.reactDates,\n color = _ref$reactDates.color,\n zIndex = _ref$reactDates.zIndex;\n return {\n DateRangePicker: {\n position: 'relative',\n display: 'inline-block'\n },\n\n DateRangePicker__block: {\n display: 'block'\n },\n\n DateRangePicker_picker: {\n zIndex: zIndex + 1,\n backgroundColor: color.background,\n position: 'absolute'\n },\n\n DateRangePicker_picker__rtl: {\n direction: 'rtl'\n },\n\n DateRangePicker_picker__directionLeft: {\n left: 0\n },\n\n DateRangePicker_picker__directionRight: {\n right: 0\n },\n\n DateRangePicker_picker__portal: {\n backgroundColor: 'rgba(0, 0, 0, 0.3)',\n position: 'fixed',\n top: 0,\n left: 0,\n height: '100%',\n width: '100%'\n },\n\n DateRangePicker_picker__fullScreenPortal: {\n backgroundColor: color.background\n },\n\n DateRangePicker_closeButton: {\n background: 'none',\n border: 0,\n color: 'inherit',\n font: 'inherit',\n lineHeight: 'normal',\n overflow: 'visible',\n cursor: 'pointer',\n\n position: 'absolute',\n top: 0,\n right: 0,\n padding: 15,\n zIndex: zIndex + 2,\n\n ':hover': {\n color: 'darken(' + String(color.core.grayLighter) + ', 10%)',\n textDecoration: 'none'\n },\n\n ':focus': {\n color: 'darken(' + String(color.core.grayLighter) + ', 10%)',\n textDecoration: 'none'\n }\n },\n\n DateRangePicker_closeButton_svg: {\n height: 15,\n width: 15,\n fill: color.core.grayLighter\n }\n };\n})(DateRangePicker);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _object = require('object.assign');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _reactWithStyles = require('react-with-styles');\n\nvar _defaultPhrases = require('../defaultPhrases');\n\nvar _getPhrasePropTypes = require('../utils/getPhrasePropTypes');\n\nvar _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);\n\nvar _OpenDirectionShape = require('../shapes/OpenDirectionShape');\n\nvar _OpenDirectionShape2 = _interopRequireDefault(_OpenDirectionShape);\n\nvar _DateInput = require('./DateInput');\n\nvar _DateInput2 = _interopRequireDefault(_DateInput);\n\nvar _IconPositionShape = require('../shapes/IconPositionShape');\n\nvar _IconPositionShape2 = _interopRequireDefault(_IconPositionShape);\n\nvar _DisabledShape = require('../shapes/DisabledShape');\n\nvar _DisabledShape2 = _interopRequireDefault(_DisabledShape);\n\nvar _RightArrow = require('./RightArrow');\n\nvar _RightArrow2 = _interopRequireDefault(_RightArrow);\n\nvar _LeftArrow = require('./LeftArrow');\n\nvar _LeftArrow2 = _interopRequireDefault(_LeftArrow);\n\nvar _CloseButton = require('./CloseButton');\n\nvar _CloseButton2 = _interopRequireDefault(_CloseButton);\n\nvar _CalendarIcon = require('./CalendarIcon');\n\nvar _CalendarIcon2 = _interopRequireDefault(_CalendarIcon);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {\n startDateId: _propTypes2['default'].string,\n startDatePlaceholderText: _propTypes2['default'].string,\n screenReaderMessage: _propTypes2['default'].string,\n\n endDateId: _propTypes2['default'].string,\n endDatePlaceholderText: _propTypes2['default'].string,\n\n onStartDateFocus: _propTypes2['default'].func,\n onEndDateFocus: _propTypes2['default'].func,\n onStartDateChange: _propTypes2['default'].func,\n onEndDateChange: _propTypes2['default'].func,\n onStartDateShiftTab: _propTypes2['default'].func,\n onEndDateTab: _propTypes2['default'].func,\n onClearDates: _propTypes2['default'].func,\n onKeyDownArrowDown: _propTypes2['default'].func,\n onKeyDownQuestionMark: _propTypes2['default'].func,\n\n startDate: _propTypes2['default'].string,\n endDate: _propTypes2['default'].string,\n\n isStartDateFocused: _propTypes2['default'].bool,\n isEndDateFocused: _propTypes2['default'].bool,\n showClearDates: _propTypes2['default'].bool,\n disabled: _DisabledShape2['default'],\n required: _propTypes2['default'].bool,\n readOnly: _propTypes2['default'].bool,\n openDirection: _OpenDirectionShape2['default'],\n showCaret: _propTypes2['default'].bool,\n showDefaultInputIcon: _propTypes2['default'].bool,\n inputIconPosition: _IconPositionShape2['default'],\n customInputIcon: _propTypes2['default'].node,\n customArrowIcon: _propTypes2['default'].node,\n customCloseIcon: _propTypes2['default'].node,\n noBorder: _propTypes2['default'].bool,\n block: _propTypes2['default'].bool,\n small: _propTypes2['default'].bool,\n regular: _propTypes2['default'].bool,\n verticalSpacing: _airbnbPropTypes.nonNegativeInteger,\n\n // accessibility\n isFocused: _propTypes2['default'].bool, // describes actual DOM focus\n\n // i18n\n phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DateRangePickerInputPhrases)),\n\n isRTL: _propTypes2['default'].bool\n}));\n\nvar defaultProps = {\n startDateId: _constants.START_DATE,\n endDateId: _constants.END_DATE,\n startDatePlaceholderText: 'Start Date',\n endDatePlaceholderText: 'End Date',\n screenReaderMessage: '',\n onStartDateFocus: function () {\n function onStartDateFocus() {}\n\n return onStartDateFocus;\n }(),\n onEndDateFocus: function () {\n function onEndDateFocus() {}\n\n return onEndDateFocus;\n }(),\n onStartDateChange: function () {\n function onStartDateChange() {}\n\n return onStartDateChange;\n }(),\n onEndDateChange: function () {\n function onEndDateChange() {}\n\n return onEndDateChange;\n }(),\n onStartDateShiftTab: function () {\n function onStartDateShiftTab() {}\n\n return onStartDateShiftTab;\n }(),\n onEndDateTab: function () {\n function onEndDateTab() {}\n\n return onEndDateTab;\n }(),\n onClearDates: function () {\n function onClearDates() {}\n\n return onClearDates;\n }(),\n onKeyDownArrowDown: function () {\n function onKeyDownArrowDown() {}\n\n return onKeyDownArrowDown;\n }(),\n onKeyDownQuestionMark: function () {\n function onKeyDownQuestionMark() {}\n\n return onKeyDownQuestionMark;\n }(),\n\n\n startDate: '',\n endDate: '',\n\n isStartDateFocused: false,\n isEndDateFocused: false,\n showClearDates: false,\n disabled: false,\n required: false,\n readOnly: false,\n openDirection: _constants.OPEN_DOWN,\n showCaret: false,\n showDefaultInputIcon: false,\n inputIconPosition: _constants.ICON_BEFORE_POSITION,\n customInputIcon: null,\n customArrowIcon: null,\n customCloseIcon: null,\n noBorder: false,\n block: false,\n small: false,\n regular: false,\n verticalSpacing: undefined,\n\n // accessibility\n isFocused: false,\n\n // i18n\n phrases: _defaultPhrases.DateRangePickerInputPhrases,\n\n isRTL: false\n};\n\nfunction DateRangePickerInput(_ref) {\n var startDate = _ref.startDate,\n startDateId = _ref.startDateId,\n startDatePlaceholderText = _ref.startDatePlaceholderText,\n screenReaderMessage = _ref.screenReaderMessage,\n isStartDateFocused = _ref.isStartDateFocused,\n onStartDateChange = _ref.onStartDateChange,\n onStartDateFocus = _ref.onStartDateFocus,\n onStartDateShiftTab = _ref.onStartDateShiftTab,\n endDate = _ref.endDate,\n endDateId = _ref.endDateId,\n endDatePlaceholderText = _ref.endDatePlaceholderText,\n isEndDateFocused = _ref.isEndDateFocused,\n onEndDateChange = _ref.onEndDateChange,\n onEndDateFocus = _ref.onEndDateFocus,\n onEndDateTab = _ref.onEndDateTab,\n onKeyDownArrowDown = _ref.onKeyDownArrowDown,\n onKeyDownQuestionMark = _ref.onKeyDownQuestionMark,\n onClearDates = _ref.onClearDates,\n showClearDates = _ref.showClearDates,\n disabled = _ref.disabled,\n required = _ref.required,\n readOnly = _ref.readOnly,\n showCaret = _ref.showCaret,\n openDirection = _ref.openDirection,\n showDefaultInputIcon = _ref.showDefaultInputIcon,\n inputIconPosition = _ref.inputIconPosition,\n customInputIcon = _ref.customInputIcon,\n customArrowIcon = _ref.customArrowIcon,\n customCloseIcon = _ref.customCloseIcon,\n isFocused = _ref.isFocused,\n phrases = _ref.phrases,\n isRTL = _ref.isRTL,\n noBorder = _ref.noBorder,\n block = _ref.block,\n verticalSpacing = _ref.verticalSpacing,\n small = _ref.small,\n regular = _ref.regular,\n styles = _ref.styles;\n\n var calendarIcon = customInputIcon || _react2['default'].createElement(_CalendarIcon2['default'], (0, _reactWithStyles.css)(styles.DateRangePickerInput_calendarIcon_svg));\n\n var arrowIcon = customArrowIcon || _react2['default'].createElement(_RightArrow2['default'], (0, _reactWithStyles.css)(styles.DateRangePickerInput_arrow_svg));\n if (isRTL) arrowIcon = _react2['default'].createElement(_LeftArrow2['default'], (0, _reactWithStyles.css)(styles.DateRangePickerInput_arrow_svg));\n if (small) arrowIcon = '-';\n\n var closeIcon = customCloseIcon || _react2['default'].createElement(_CloseButton2['default'], (0, _reactWithStyles.css)(styles.DateRangePickerInput_clearDates_svg, small && styles.DateRangePickerInput_clearDates_svg__small));\n var screenReaderText = screenReaderMessage || phrases.keyboardNavigationInstructions;\n var inputIcon = (showDefaultInputIcon || customInputIcon !== null) && _react2['default'].createElement(\n 'button',\n _extends({}, (0, _reactWithStyles.css)(styles.DateRangePickerInput_calendarIcon), {\n type: 'button',\n disabled: disabled,\n 'aria-label': phrases.focusStartDate,\n onClick: onKeyDownArrowDown\n }),\n calendarIcon\n );\n var startDateDisabled = disabled === _constants.START_DATE || disabled === true;\n var endDateDisabled = disabled === _constants.END_DATE || disabled === true;\n\n return _react2['default'].createElement(\n 'div',\n (0, _reactWithStyles.css)(styles.DateRangePickerInput, disabled && styles.DateRangePickerInput__disabled, isRTL && styles.DateRangePickerInput__rtl, !noBorder && styles.DateRangePickerInput__withBorder, block && styles.DateRangePickerInput__block, showClearDates && styles.DateRangePickerInput__showClearDates),\n inputIconPosition === _constants.ICON_BEFORE_POSITION && inputIcon,\n _react2['default'].createElement(_DateInput2['default'], {\n id: startDateId,\n placeholder: startDatePlaceholderText,\n displayValue: startDate,\n screenReaderMessage: screenReaderText,\n focused: isStartDateFocused,\n isFocused: isFocused,\n disabled: startDateDisabled,\n required: required,\n readOnly: readOnly,\n showCaret: showCaret,\n openDirection: openDirection,\n onChange: onStartDateChange,\n onFocus: onStartDateFocus,\n onKeyDownShiftTab: onStartDateShiftTab,\n onKeyDownArrowDown: onKeyDownArrowDown,\n onKeyDownQuestionMark: onKeyDownQuestionMark,\n verticalSpacing: verticalSpacing,\n small: small,\n regular: regular\n }),\n _react2['default'].createElement(\n 'div',\n _extends({}, (0, _reactWithStyles.css)(styles.DateRangePickerInput_arrow), {\n 'aria-hidden': 'true',\n role: 'presentation'\n }),\n arrowIcon\n ),\n _react2['default'].createElement(_DateInput2['default'], {\n id: endDateId,\n placeholder: endDatePlaceholderText,\n displayValue: endDate,\n screenReaderMessage: screenReaderText,\n focused: isEndDateFocused,\n isFocused: isFocused,\n disabled: endDateDisabled,\n required: required,\n readOnly: readOnly,\n showCaret: showCaret,\n openDirection: openDirection,\n onChange: onEndDateChange,\n onFocus: onEndDateFocus,\n onKeyDownTab: onEndDateTab,\n onKeyDownArrowDown: onKeyDownArrowDown,\n onKeyDownQuestionMark: onKeyDownQuestionMark,\n verticalSpacing: verticalSpacing,\n small: small,\n regular: regular\n }),\n showClearDates && _react2['default'].createElement(\n 'button',\n _extends({\n type: 'button',\n 'aria-label': phrases.clearDates\n }, (0, _reactWithStyles.css)(styles.DateRangePickerInput_clearDates, small && styles.DateRangePickerInput_clearDates__small, !customCloseIcon && styles.DateRangePickerInput_clearDates_default, !(startDate || endDate) && styles.DateRangePickerInput_clearDates__hide), {\n onClick: onClearDates,\n disabled: disabled\n }),\n closeIcon\n ),\n inputIconPosition === _constants.ICON_AFTER_POSITION && inputIcon\n );\n}\n\nDateRangePickerInput.propTypes = propTypes;\nDateRangePickerInput.defaultProps = defaultProps;\n\nexports['default'] = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var _ref2$reactDates = _ref2.reactDates,\n border = _ref2$reactDates.border,\n color = _ref2$reactDates.color,\n sizing = _ref2$reactDates.sizing;\n return {\n DateRangePickerInput: {\n backgroundColor: color.background,\n display: 'inline-block'\n },\n\n DateRangePickerInput__disabled: {\n background: color.disabled\n },\n\n DateRangePickerInput__withBorder: {\n borderColor: color.border,\n borderWidth: border.pickerInput.borderWidth,\n borderStyle: border.pickerInput.borderStyle,\n borderRadius: border.pickerInput.borderRadius\n },\n\n DateRangePickerInput__rtl: {\n direction: 'rtl'\n },\n\n DateRangePickerInput__block: {\n display: 'block'\n },\n\n DateRangePickerInput__showClearDates: {\n paddingRight: 30\n },\n\n DateRangePickerInput_arrow: {\n display: 'inline-block',\n verticalAlign: 'middle',\n color: color.text\n },\n\n DateRangePickerInput_arrow_svg: {\n verticalAlign: 'middle',\n fill: color.text,\n height: sizing.arrowWidth,\n width: sizing.arrowWidth\n },\n\n DateRangePickerInput_clearDates: {\n background: 'none',\n border: 0,\n color: 'inherit',\n font: 'inherit',\n lineHeight: 'normal',\n overflow: 'visible',\n\n cursor: 'pointer',\n padding: 10,\n margin: '0 10px 0 5px',\n position: 'absolute',\n right: 0,\n top: '50%',\n transform: 'translateY(-50%)'\n },\n\n DateRangePickerInput_clearDates__small: {\n padding: 6\n },\n\n DateRangePickerInput_clearDates_default: {\n ':focus': {\n background: color.core.border,\n borderRadius: '50%'\n },\n\n ':hover': {\n background: color.core.border,\n borderRadius: '50%'\n }\n },\n\n DateRangePickerInput_clearDates__hide: {\n visibility: 'hidden'\n },\n\n DateRangePickerInput_clearDates_svg: {\n fill: color.core.grayLight,\n height: 12,\n width: 15,\n verticalAlign: 'middle'\n },\n\n DateRangePickerInput_clearDates_svg__small: {\n height: 9\n },\n\n DateRangePickerInput_calendarIcon: {\n background: 'none',\n border: 0,\n color: 'inherit',\n font: 'inherit',\n lineHeight: 'normal',\n overflow: 'visible',\n\n cursor: 'pointer',\n display: 'inline-block',\n verticalAlign: 'middle',\n padding: 10,\n margin: '0 5px 0 10px'\n },\n\n DateRangePickerInput_calendarIcon_svg: {\n fill: color.core.grayLight,\n height: 15,\n width: 14,\n verticalAlign: 'middle'\n }\n };\n})(DateRangePickerInput);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _reactMomentProptypes = require('react-moment-proptypes');\n\nvar _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _OpenDirectionShape = require('../shapes/OpenDirectionShape');\n\nvar _OpenDirectionShape2 = _interopRequireDefault(_OpenDirectionShape);\n\nvar _defaultPhrases = require('../defaultPhrases');\n\nvar _getPhrasePropTypes = require('../utils/getPhrasePropTypes');\n\nvar _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);\n\nvar _DateRangePickerInput = require('./DateRangePickerInput');\n\nvar _DateRangePickerInput2 = _interopRequireDefault(_DateRangePickerInput);\n\nvar _IconPositionShape = require('../shapes/IconPositionShape');\n\nvar _IconPositionShape2 = _interopRequireDefault(_IconPositionShape);\n\nvar _DisabledShape = require('../shapes/DisabledShape');\n\nvar _DisabledShape2 = _interopRequireDefault(_DisabledShape);\n\nvar _toMomentObject = require('../utils/toMomentObject');\n\nvar _toMomentObject2 = _interopRequireDefault(_toMomentObject);\n\nvar _toLocalizedDateString = require('../utils/toLocalizedDateString');\n\nvar _toLocalizedDateString2 = _interopRequireDefault(_toLocalizedDateString);\n\nvar _isInclusivelyAfterDay = require('../utils/isInclusivelyAfterDay');\n\nvar _isInclusivelyAfterDay2 = _interopRequireDefault(_isInclusivelyAfterDay);\n\nvar _isBeforeDay = require('../utils/isBeforeDay');\n\nvar _isBeforeDay2 = _interopRequireDefault(_isBeforeDay);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)({\n startDate: _reactMomentProptypes2['default'].momentObj,\n startDateId: _propTypes2['default'].string,\n startDatePlaceholderText: _propTypes2['default'].string,\n isStartDateFocused: _propTypes2['default'].bool,\n\n endDate: _reactMomentProptypes2['default'].momentObj,\n endDateId: _propTypes2['default'].string,\n endDatePlaceholderText: _propTypes2['default'].string,\n isEndDateFocused: _propTypes2['default'].bool,\n\n screenReaderMessage: _propTypes2['default'].string,\n showClearDates: _propTypes2['default'].bool,\n showCaret: _propTypes2['default'].bool,\n showDefaultInputIcon: _propTypes2['default'].bool,\n inputIconPosition: _IconPositionShape2['default'],\n disabled: _DisabledShape2['default'],\n required: _propTypes2['default'].bool,\n readOnly: _propTypes2['default'].bool,\n openDirection: _OpenDirectionShape2['default'],\n noBorder: _propTypes2['default'].bool,\n block: _propTypes2['default'].bool,\n small: _propTypes2['default'].bool,\n regular: _propTypes2['default'].bool,\n verticalSpacing: _airbnbPropTypes.nonNegativeInteger,\n\n keepOpenOnDateSelect: _propTypes2['default'].bool,\n reopenPickerOnClearDates: _propTypes2['default'].bool,\n withFullScreenPortal: _propTypes2['default'].bool,\n minimumNights: _airbnbPropTypes.nonNegativeInteger,\n isOutsideRange: _propTypes2['default'].func,\n displayFormat: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].func]),\n\n onFocusChange: _propTypes2['default'].func,\n onClose: _propTypes2['default'].func,\n onDatesChange: _propTypes2['default'].func,\n onKeyDownArrowDown: _propTypes2['default'].func,\n onKeyDownQuestionMark: _propTypes2['default'].func,\n\n customInputIcon: _propTypes2['default'].node,\n customArrowIcon: _propTypes2['default'].node,\n customCloseIcon: _propTypes2['default'].node,\n\n // accessibility\n isFocused: _propTypes2['default'].bool,\n\n // i18n\n phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DateRangePickerInputPhrases)),\n\n isRTL: _propTypes2['default'].bool\n});\n\nvar defaultProps = {\n startDate: null,\n startDateId: _constants.START_DATE,\n startDatePlaceholderText: 'Start Date',\n isStartDateFocused: false,\n\n endDate: null,\n endDateId: _constants.END_DATE,\n endDatePlaceholderText: 'End Date',\n isEndDateFocused: false,\n\n screenReaderMessage: '',\n showClearDates: false,\n showCaret: false,\n showDefaultInputIcon: false,\n inputIconPosition: _constants.ICON_BEFORE_POSITION,\n disabled: false,\n required: false,\n readOnly: false,\n openDirection: _constants.OPEN_DOWN,\n noBorder: false,\n block: false,\n small: false,\n regular: false,\n verticalSpacing: undefined,\n\n keepOpenOnDateSelect: false,\n reopenPickerOnClearDates: false,\n withFullScreenPortal: false,\n minimumNights: 1,\n isOutsideRange: function () {\n function isOutsideRange(day) {\n return !(0, _isInclusivelyAfterDay2['default'])(day, (0, _moment2['default'])());\n }\n\n return isOutsideRange;\n }(),\n displayFormat: function () {\n function displayFormat() {\n return _moment2['default'].localeData().longDateFormat('L');\n }\n\n return displayFormat;\n }(),\n\n onFocusChange: function () {\n function onFocusChange() {}\n\n return onFocusChange;\n }(),\n onClose: function () {\n function onClose() {}\n\n return onClose;\n }(),\n onDatesChange: function () {\n function onDatesChange() {}\n\n return onDatesChange;\n }(),\n onKeyDownArrowDown: function () {\n function onKeyDownArrowDown() {}\n\n return onKeyDownArrowDown;\n }(),\n onKeyDownQuestionMark: function () {\n function onKeyDownQuestionMark() {}\n\n return onKeyDownQuestionMark;\n }(),\n\n\n customInputIcon: null,\n customArrowIcon: null,\n customCloseIcon: null,\n\n // accessibility\n isFocused: false,\n\n // i18n\n phrases: _defaultPhrases.DateRangePickerInputPhrases,\n\n isRTL: false\n};\n\nvar DateRangePickerInputController = function (_React$Component) {\n _inherits(DateRangePickerInputController, _React$Component);\n\n function DateRangePickerInputController(props) {\n _classCallCheck(this, DateRangePickerInputController);\n\n var _this = _possibleConstructorReturn(this, (DateRangePickerInputController.__proto__ || Object.getPrototypeOf(DateRangePickerInputController)).call(this, props));\n\n _this.onClearFocus = _this.onClearFocus.bind(_this);\n _this.onStartDateChange = _this.onStartDateChange.bind(_this);\n _this.onStartDateFocus = _this.onStartDateFocus.bind(_this);\n _this.onEndDateChange = _this.onEndDateChange.bind(_this);\n _this.onEndDateFocus = _this.onEndDateFocus.bind(_this);\n _this.clearDates = _this.clearDates.bind(_this);\n return _this;\n }\n\n _createClass(DateRangePickerInputController, [{\n key: 'onClearFocus',\n value: function () {\n function onClearFocus() {\n var _props = this.props,\n onFocusChange = _props.onFocusChange,\n onClose = _props.onClose,\n startDate = _props.startDate,\n endDate = _props.endDate;\n\n\n onFocusChange(null);\n onClose({ startDate: startDate, endDate: endDate });\n }\n\n return onClearFocus;\n }()\n }, {\n key: 'onEndDateChange',\n value: function () {\n function onEndDateChange(endDateString) {\n var _props2 = this.props,\n startDate = _props2.startDate,\n isOutsideRange = _props2.isOutsideRange,\n minimumNights = _props2.minimumNights,\n keepOpenOnDateSelect = _props2.keepOpenOnDateSelect,\n onDatesChange = _props2.onDatesChange;\n\n\n var endDate = (0, _toMomentObject2['default'])(endDateString, this.getDisplayFormat());\n\n var isEndDateValid = endDate && !isOutsideRange(endDate) && !(startDate && (0, _isBeforeDay2['default'])(endDate, startDate.clone().add(minimumNights, 'days')));\n if (isEndDateValid) {\n onDatesChange({ startDate: startDate, endDate: endDate });\n if (!keepOpenOnDateSelect) this.onClearFocus();\n } else {\n onDatesChange({\n startDate: startDate,\n endDate: null\n });\n }\n }\n\n return onEndDateChange;\n }()\n }, {\n key: 'onEndDateFocus',\n value: function () {\n function onEndDateFocus() {\n var _props3 = this.props,\n startDate = _props3.startDate,\n onFocusChange = _props3.onFocusChange,\n withFullScreenPortal = _props3.withFullScreenPortal,\n disabled = _props3.disabled;\n\n\n if (!startDate && withFullScreenPortal && (!disabled || disabled === _constants.END_DATE)) {\n // When the datepicker is full screen, we never want to focus the end date first\n // because there's no indication that that is the case once the datepicker is open and it\n // might confuse the user\n onFocusChange(_constants.START_DATE);\n } else if (!disabled || disabled === _constants.START_DATE) {\n onFocusChange(_constants.END_DATE);\n }\n }\n\n return onEndDateFocus;\n }()\n }, {\n key: 'onStartDateChange',\n value: function () {\n function onStartDateChange(startDateString) {\n var endDate = this.props.endDate;\n var _props4 = this.props,\n isOutsideRange = _props4.isOutsideRange,\n minimumNights = _props4.minimumNights,\n onDatesChange = _props4.onDatesChange,\n onFocusChange = _props4.onFocusChange,\n disabled = _props4.disabled;\n\n\n var startDate = (0, _toMomentObject2['default'])(startDateString, this.getDisplayFormat());\n var isEndDateBeforeStartDate = startDate && (0, _isBeforeDay2['default'])(endDate, startDate.clone().add(minimumNights, 'days'));\n var isStartDateValid = startDate && !isOutsideRange(startDate) && !(disabled === _constants.END_DATE && isEndDateBeforeStartDate);\n\n if (isStartDateValid) {\n if (isEndDateBeforeStartDate) {\n endDate = null;\n }\n\n onDatesChange({ startDate: startDate, endDate: endDate });\n onFocusChange(_constants.END_DATE);\n } else {\n onDatesChange({\n startDate: null,\n endDate: endDate\n });\n }\n }\n\n return onStartDateChange;\n }()\n }, {\n key: 'onStartDateFocus',\n value: function () {\n function onStartDateFocus() {\n var _props5 = this.props,\n disabled = _props5.disabled,\n onFocusChange = _props5.onFocusChange;\n\n if (!disabled || disabled === _constants.END_DATE) {\n onFocusChange(_constants.START_DATE);\n }\n }\n\n return onStartDateFocus;\n }()\n }, {\n key: 'getDisplayFormat',\n value: function () {\n function getDisplayFormat() {\n var displayFormat = this.props.displayFormat;\n\n return typeof displayFormat === 'string' ? displayFormat : displayFormat();\n }\n\n return getDisplayFormat;\n }()\n }, {\n key: 'getDateString',\n value: function () {\n function getDateString(date) {\n var displayFormat = this.getDisplayFormat();\n if (date && displayFormat) {\n return date && date.format(displayFormat);\n }\n return (0, _toLocalizedDateString2['default'])(date);\n }\n\n return getDateString;\n }()\n }, {\n key: 'clearDates',\n value: function () {\n function clearDates() {\n var _props6 = this.props,\n onDatesChange = _props6.onDatesChange,\n reopenPickerOnClearDates = _props6.reopenPickerOnClearDates,\n onFocusChange = _props6.onFocusChange;\n\n onDatesChange({ startDate: null, endDate: null });\n if (reopenPickerOnClearDates) {\n onFocusChange(_constants.START_DATE);\n }\n }\n\n return clearDates;\n }()\n }, {\n key: 'render',\n value: function () {\n function render() {\n var _props7 = this.props,\n startDate = _props7.startDate,\n startDateId = _props7.startDateId,\n startDatePlaceholderText = _props7.startDatePlaceholderText,\n isStartDateFocused = _props7.isStartDateFocused,\n endDate = _props7.endDate,\n endDateId = _props7.endDateId,\n endDatePlaceholderText = _props7.endDatePlaceholderText,\n isEndDateFocused = _props7.isEndDateFocused,\n screenReaderMessage = _props7.screenReaderMessage,\n showClearDates = _props7.showClearDates,\n showCaret = _props7.showCaret,\n showDefaultInputIcon = _props7.showDefaultInputIcon,\n inputIconPosition = _props7.inputIconPosition,\n customInputIcon = _props7.customInputIcon,\n customArrowIcon = _props7.customArrowIcon,\n customCloseIcon = _props7.customCloseIcon,\n disabled = _props7.disabled,\n required = _props7.required,\n readOnly = _props7.readOnly,\n openDirection = _props7.openDirection,\n isFocused = _props7.isFocused,\n phrases = _props7.phrases,\n onKeyDownArrowDown = _props7.onKeyDownArrowDown,\n onKeyDownQuestionMark = _props7.onKeyDownQuestionMark,\n isRTL = _props7.isRTL,\n noBorder = _props7.noBorder,\n block = _props7.block,\n small = _props7.small,\n regular = _props7.regular,\n verticalSpacing = _props7.verticalSpacing;\n\n\n var startDateString = this.getDateString(startDate);\n var endDateString = this.getDateString(endDate);\n\n return _react2['default'].createElement(_DateRangePickerInput2['default'], {\n startDate: startDateString,\n startDateId: startDateId,\n startDatePlaceholderText: startDatePlaceholderText,\n isStartDateFocused: isStartDateFocused,\n endDate: endDateString,\n endDateId: endDateId,\n endDatePlaceholderText: endDatePlaceholderText,\n isEndDateFocused: isEndDateFocused,\n isFocused: isFocused,\n disabled: disabled,\n required: required,\n readOnly: readOnly,\n openDirection: openDirection,\n showCaret: showCaret,\n showDefaultInputIcon: showDefaultInputIcon,\n inputIconPosition: inputIconPosition,\n customInputIcon: customInputIcon,\n customArrowIcon: customArrowIcon,\n customCloseIcon: customCloseIcon,\n phrases: phrases,\n onStartDateChange: this.onStartDateChange,\n onStartDateFocus: this.onStartDateFocus,\n onStartDateShiftTab: this.onClearFocus,\n onEndDateChange: this.onEndDateChange,\n onEndDateFocus: this.onEndDateFocus,\n onEndDateTab: this.onClearFocus,\n showClearDates: showClearDates,\n onClearDates: this.clearDates,\n screenReaderMessage: screenReaderMessage,\n onKeyDownArrowDown: onKeyDownArrowDown,\n onKeyDownQuestionMark: onKeyDownQuestionMark,\n isRTL: isRTL,\n noBorder: noBorder,\n block: block,\n small: small,\n regular: regular,\n verticalSpacing: verticalSpacing\n });\n }\n\n return render;\n }()\n }]);\n\n return DateRangePickerInputController;\n}(_react2['default'].Component);\n\nexports['default'] = DateRangePickerInputController;\n\n\nDateRangePickerInputController.propTypes = propTypes;\nDateRangePickerInputController.defaultProps = defaultProps;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PureDayPicker = exports.defaultProps = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _object = require('object.assign');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactAddonsShallowCompare = require('react-addons-shallow-compare');\n\nvar _reactAddonsShallowCompare2 = _interopRequireDefault(_reactAddonsShallowCompare);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _reactWithStyles = require('react-with-styles');\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _throttle = require('lodash/throttle');\n\nvar _throttle2 = _interopRequireDefault(_throttle);\n\nvar _isTouchDevice = require('is-touch-device');\n\nvar _isTouchDevice2 = _interopRequireDefault(_isTouchDevice);\n\nvar _reactOutsideClickHandler = require('react-outside-click-handler');\n\nvar _reactOutsideClickHandler2 = _interopRequireDefault(_reactOutsideClickHandler);\n\nvar _defaultPhrases = require('../defaultPhrases');\n\nvar _getPhrasePropTypes = require('../utils/getPhrasePropTypes');\n\nvar _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);\n\nvar _CalendarMonthGrid = require('./CalendarMonthGrid');\n\nvar _CalendarMonthGrid2 = _interopRequireDefault(_CalendarMonthGrid);\n\nvar _DayPickerNavigation = require('./DayPickerNavigation');\n\nvar _DayPickerNavigation2 = _interopRequireDefault(_DayPickerNavigation);\n\nvar _DayPickerKeyboardShortcuts = require('./DayPickerKeyboardShortcuts');\n\nvar _DayPickerKeyboardShortcuts2 = _interopRequireDefault(_DayPickerKeyboardShortcuts);\n\nvar _getNumberOfCalendarMonthWeeks = require('../utils/getNumberOfCalendarMonthWeeks');\n\nvar _getNumberOfCalendarMonthWeeks2 = _interopRequireDefault(_getNumberOfCalendarMonthWeeks);\n\nvar _getCalendarMonthWidth = require('../utils/getCalendarMonthWidth');\n\nvar _getCalendarMonthWidth2 = _interopRequireDefault(_getCalendarMonthWidth);\n\nvar _calculateDimension = require('../utils/calculateDimension');\n\nvar _calculateDimension2 = _interopRequireDefault(_calculateDimension);\n\nvar _getActiveElement = require('../utils/getActiveElement');\n\nvar _getActiveElement2 = _interopRequireDefault(_getActiveElement);\n\nvar _isDayVisible = require('../utils/isDayVisible');\n\nvar _isDayVisible2 = _interopRequireDefault(_isDayVisible);\n\nvar _ModifiersShape = require('../shapes/ModifiersShape');\n\nvar _ModifiersShape2 = _interopRequireDefault(_ModifiersShape);\n\nvar _ScrollableOrientationShape = require('../shapes/ScrollableOrientationShape');\n\nvar _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);\n\nvar _DayOfWeekShape = require('../shapes/DayOfWeekShape');\n\nvar _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape);\n\nvar _CalendarInfoPositionShape = require('../shapes/CalendarInfoPositionShape');\n\nvar _CalendarInfoPositionShape2 = _interopRequireDefault(_CalendarInfoPositionShape);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar MONTH_PADDING = 23;\nvar PREV_TRANSITION = 'prev';\nvar NEXT_TRANSITION = 'next';\nvar MONTH_SELECTION_TRANSITION = 'month_selection';\nvar YEAR_SELECTION_TRANSITION = 'year_selection';\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {\n\n // calendar presentation props\n enableOutsideDays: _propTypes2['default'].bool,\n numberOfMonths: _propTypes2['default'].number,\n orientation: _ScrollableOrientationShape2['default'],\n withPortal: _propTypes2['default'].bool,\n onOutsideClick: _propTypes2['default'].func,\n hidden: _propTypes2['default'].bool,\n initialVisibleMonth: _propTypes2['default'].func,\n firstDayOfWeek: _DayOfWeekShape2['default'],\n renderCalendarInfo: _propTypes2['default'].func,\n calendarInfoPosition: _CalendarInfoPositionShape2['default'],\n hideKeyboardShortcutsPanel: _propTypes2['default'].bool,\n daySize: _airbnbPropTypes.nonNegativeInteger,\n isRTL: _propTypes2['default'].bool,\n verticalHeight: _airbnbPropTypes.nonNegativeInteger,\n noBorder: _propTypes2['default'].bool,\n transitionDuration: _airbnbPropTypes.nonNegativeInteger,\n verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger,\n horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,\n\n // navigation props\n navPrev: _propTypes2['default'].node,\n navNext: _propTypes2['default'].node,\n noNavButtons: _propTypes2['default'].bool,\n onPrevMonthClick: _propTypes2['default'].func,\n onNextMonthClick: _propTypes2['default'].func,\n onMonthChange: _propTypes2['default'].func,\n onYearChange: _propTypes2['default'].func,\n onMultiplyScrollableMonths: _propTypes2['default'].func, // VERTICAL_SCROLLABLE daypickers only\n\n // month props\n renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),\n renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),\n\n // day props\n modifiers: _propTypes2['default'].objectOf(_propTypes2['default'].objectOf(_ModifiersShape2['default'])),\n renderCalendarDay: _propTypes2['default'].func,\n renderDayContents: _propTypes2['default'].func,\n onDayClick: _propTypes2['default'].func,\n onDayMouseEnter: _propTypes2['default'].func,\n onDayMouseLeave: _propTypes2['default'].func,\n\n // accessibility props\n isFocused: _propTypes2['default'].bool,\n getFirstFocusableDay: _propTypes2['default'].func,\n onBlur: _propTypes2['default'].func,\n showKeyboardShortcuts: _propTypes2['default'].bool,\n\n // internationalization\n monthFormat: _propTypes2['default'].string,\n weekDayFormat: _propTypes2['default'].string,\n phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DayPickerPhrases)),\n dayAriaLabelFormat: _propTypes2['default'].string\n}));\n\nvar defaultProps = exports.defaultProps = {\n // calendar presentation props\n enableOutsideDays: false,\n numberOfMonths: 2,\n orientation: _constants.HORIZONTAL_ORIENTATION,\n withPortal: false,\n onOutsideClick: function () {\n function onOutsideClick() {}\n\n return onOutsideClick;\n }(),\n\n hidden: false,\n initialVisibleMonth: function () {\n function initialVisibleMonth() {\n return (0, _moment2['default'])();\n }\n\n return initialVisibleMonth;\n }(),\n firstDayOfWeek: null,\n renderCalendarInfo: null,\n calendarInfoPosition: _constants.INFO_POSITION_BOTTOM,\n hideKeyboardShortcutsPanel: false,\n daySize: _constants.DAY_SIZE,\n isRTL: false,\n verticalHeight: null,\n noBorder: false,\n transitionDuration: undefined,\n verticalBorderSpacing: undefined,\n horizontalMonthPadding: 13,\n\n // navigation props\n navPrev: null,\n navNext: null,\n noNavButtons: false,\n onPrevMonthClick: function () {\n function onPrevMonthClick() {}\n\n return onPrevMonthClick;\n }(),\n onNextMonthClick: function () {\n function onNextMonthClick() {}\n\n return onNextMonthClick;\n }(),\n onMonthChange: function () {\n function onMonthChange() {}\n\n return onMonthChange;\n }(),\n onYearChange: function () {\n function onYearChange() {}\n\n return onYearChange;\n }(),\n onMultiplyScrollableMonths: function () {\n function onMultiplyScrollableMonths() {}\n\n return onMultiplyScrollableMonths;\n }(),\n\n\n // month props\n renderMonthText: null,\n renderMonthElement: null,\n\n // day props\n modifiers: {},\n renderCalendarDay: undefined,\n renderDayContents: null,\n onDayClick: function () {\n function onDayClick() {}\n\n return onDayClick;\n }(),\n onDayMouseEnter: function () {\n function onDayMouseEnter() {}\n\n return onDayMouseEnter;\n }(),\n onDayMouseLeave: function () {\n function onDayMouseLeave() {}\n\n return onDayMouseLeave;\n }(),\n\n\n // accessibility props\n isFocused: false,\n getFirstFocusableDay: null,\n onBlur: function () {\n function onBlur() {}\n\n return onBlur;\n }(),\n\n showKeyboardShortcuts: false,\n\n // internationalization\n monthFormat: 'MMMM YYYY',\n weekDayFormat: 'dd',\n phrases: _defaultPhrases.DayPickerPhrases,\n dayAriaLabelFormat: undefined\n};\n\nvar DayPicker = function (_React$Component) {\n _inherits(DayPicker, _React$Component);\n\n function DayPicker(props) {\n _classCallCheck(this, DayPicker);\n\n var _this = _possibleConstructorReturn(this, (DayPicker.__proto__ || Object.getPrototypeOf(DayPicker)).call(this, props));\n\n var currentMonth = props.hidden ? (0, _moment2['default'])() : props.initialVisibleMonth();\n\n var focusedDate = currentMonth.clone().startOf('month');\n if (props.getFirstFocusableDay) {\n focusedDate = props.getFirstFocusableDay(currentMonth);\n }\n\n var horizontalMonthPadding = props.horizontalMonthPadding;\n\n\n var translationValue = props.isRTL && _this.isHorizontal() ? -(0, _getCalendarMonthWidth2['default'])(props.daySize, horizontalMonthPadding) : 0;\n\n _this.hasSetInitialVisibleMonth = !props.hidden;\n _this.state = {\n currentMonth: currentMonth,\n monthTransition: null,\n translationValue: translationValue,\n scrollableMonthMultiple: 1,\n calendarMonthWidth: (0, _getCalendarMonthWidth2['default'])(props.daySize, horizontalMonthPadding),\n focusedDate: !props.hidden || props.isFocused ? focusedDate : null,\n nextFocusedDate: null,\n showKeyboardShortcuts: props.showKeyboardShortcuts,\n onKeyboardShortcutsPanelClose: function () {\n function onKeyboardShortcutsPanelClose() {}\n\n return onKeyboardShortcutsPanelClose;\n }(),\n\n isTouchDevice: (0, _isTouchDevice2['default'])(),\n withMouseInteractions: true,\n calendarInfoWidth: 0,\n monthTitleHeight: null,\n hasSetHeight: false\n };\n\n _this.setCalendarMonthWeeks(currentMonth);\n\n _this.calendarMonthGridHeight = 0;\n _this.setCalendarInfoWidthTimeout = null;\n\n _this.onKeyDown = _this.onKeyDown.bind(_this);\n _this.throttledKeyDown = (0, _throttle2['default'])(_this.onFinalKeyDown, 200, { trailing: false });\n _this.onPrevMonthClick = _this.onPrevMonthClick.bind(_this);\n _this.onNextMonthClick = _this.onNextMonthClick.bind(_this);\n _this.onMonthChange = _this.onMonthChange.bind(_this);\n _this.onYearChange = _this.onYearChange.bind(_this);\n\n _this.multiplyScrollableMonths = _this.multiplyScrollableMonths.bind(_this);\n _this.updateStateAfterMonthTransition = _this.updateStateAfterMonthTransition.bind(_this);\n\n _this.openKeyboardShortcutsPanel = _this.openKeyboardShortcutsPanel.bind(_this);\n _this.closeKeyboardShortcutsPanel = _this.closeKeyboardShortcutsPanel.bind(_this);\n\n _this.setCalendarInfoRef = _this.setCalendarInfoRef.bind(_this);\n _this.setContainerRef = _this.setContainerRef.bind(_this);\n _this.setTransitionContainerRef = _this.setTransitionContainerRef.bind(_this);\n _this.setMonthTitleHeight = _this.setMonthTitleHeight.bind(_this);\n return _this;\n }\n\n _createClass(DayPicker, [{\n key: 'componentDidMount',\n value: function () {\n function componentDidMount() {\n var currentMonth = this.state.currentMonth;\n\n if (this.calendarInfo) {\n this.setState({\n isTouchDevice: (0, _isTouchDevice2['default'])(),\n calendarInfoWidth: (0, _calculateDimension2['default'])(this.calendarInfo, 'width', true, true)\n });\n } else {\n this.setState({ isTouchDevice: (0, _isTouchDevice2['default'])() });\n }\n\n this.setCalendarMonthWeeks(currentMonth);\n }\n\n return componentDidMount;\n }()\n }, {\n key: 'componentWillReceiveProps',\n value: function () {\n function componentWillReceiveProps(nextProps) {\n var hidden = nextProps.hidden,\n isFocused = nextProps.isFocused,\n showKeyboardShortcuts = nextProps.showKeyboardShortcuts,\n onBlur = nextProps.onBlur,\n renderMonthText = nextProps.renderMonthText,\n horizontalMonthPadding = nextProps.horizontalMonthPadding;\n var currentMonth = this.state.currentMonth;\n\n\n if (!hidden) {\n if (!this.hasSetInitialVisibleMonth) {\n this.hasSetInitialVisibleMonth = true;\n this.setState({\n currentMonth: nextProps.initialVisibleMonth()\n });\n }\n }\n\n var _props = this.props,\n daySize = _props.daySize,\n prevIsFocused = _props.isFocused,\n prevRenderMonthText = _props.renderMonthText;\n\n\n if (nextProps.daySize !== daySize) {\n this.setState({\n calendarMonthWidth: (0, _getCalendarMonthWidth2['default'])(nextProps.daySize, horizontalMonthPadding)\n });\n }\n\n if (isFocused !== prevIsFocused) {\n if (isFocused) {\n var focusedDate = this.getFocusedDay(currentMonth);\n\n var onKeyboardShortcutsPanelClose = this.state.onKeyboardShortcutsPanelClose;\n\n if (nextProps.showKeyboardShortcuts) {\n // the ? shortcut came from the input and we should return input there once it is close\n onKeyboardShortcutsPanelClose = onBlur;\n }\n\n this.setState({\n showKeyboardShortcuts: showKeyboardShortcuts,\n onKeyboardShortcutsPanelClose: onKeyboardShortcutsPanelClose,\n focusedDate: focusedDate,\n withMouseInteractions: false\n });\n } else {\n this.setState({ focusedDate: null });\n }\n }\n\n if (renderMonthText !== prevRenderMonthText) {\n this.setState({\n monthTitleHeight: null\n });\n }\n }\n\n return componentWillReceiveProps;\n }()\n }, {\n key: 'shouldComponentUpdate',\n value: function () {\n function shouldComponentUpdate(nextProps, nextState) {\n return (0, _reactAddonsShallowCompare2['default'])(this, nextProps, nextState);\n }\n\n return shouldComponentUpdate;\n }()\n }, {\n key: 'componentWillUpdate',\n value: function () {\n function componentWillUpdate() {\n var _this2 = this;\n\n var transitionDuration = this.props.transitionDuration;\n\n // Calculating the dimensions trigger a DOM repaint which\n // breaks the CSS transition.\n // The setTimeout will wait until the transition ends.\n\n if (this.calendarInfo) {\n this.setCalendarInfoWidthTimeout = setTimeout(function () {\n var calendarInfoWidth = _this2.state.calendarInfoWidth;\n\n var calendarInfoPanelWidth = (0, _calculateDimension2['default'])(_this2.calendarInfo, 'width', true, true);\n if (calendarInfoWidth !== calendarInfoPanelWidth) {\n _this2.setState({\n calendarInfoWidth: calendarInfoPanelWidth\n });\n }\n }, transitionDuration);\n }\n }\n\n return componentWillUpdate;\n }()\n }, {\n key: 'componentDidUpdate',\n value: function () {\n function componentDidUpdate(prevProps) {\n var _props2 = this.props,\n orientation = _props2.orientation,\n daySize = _props2.daySize,\n isFocused = _props2.isFocused,\n numberOfMonths = _props2.numberOfMonths;\n var _state = this.state,\n focusedDate = _state.focusedDate,\n monthTitleHeight = _state.monthTitleHeight;\n\n\n if (this.isHorizontal() && (orientation !== prevProps.orientation || daySize !== prevProps.daySize)) {\n var visibleCalendarWeeks = this.calendarMonthWeeks.slice(1, numberOfMonths + 1);\n var calendarMonthWeeksHeight = Math.max.apply(Math, [0].concat(_toConsumableArray(visibleCalendarWeeks))) * (daySize - 1);\n var newMonthHeight = monthTitleHeight + calendarMonthWeeksHeight + 1;\n this.adjustDayPickerHeight(newMonthHeight);\n }\n\n if (!prevProps.isFocused && isFocused && !focusedDate) {\n this.container.focus();\n }\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: 'componentWillUnmount',\n value: function () {\n function componentWillUnmount() {\n clearTimeout(this.setCalendarInfoWidthTimeout);\n }\n\n return componentWillUnmount;\n }()\n }, {\n key: 'onKeyDown',\n value: function () {\n function onKeyDown(e) {\n e.stopPropagation();\n if (!_constants.MODIFIER_KEY_NAMES.has(e.key)) {\n this.throttledKeyDown(e);\n }\n }\n\n return onKeyDown;\n }()\n }, {\n key: 'onFinalKeyDown',\n value: function () {\n function onFinalKeyDown(e) {\n this.setState({ withMouseInteractions: false });\n\n var _props3 = this.props,\n onBlur = _props3.onBlur,\n isRTL = _props3.isRTL;\n var _state2 = this.state,\n focusedDate = _state2.focusedDate,\n showKeyboardShortcuts = _state2.showKeyboardShortcuts;\n\n if (!focusedDate) return;\n\n var newFocusedDate = focusedDate.clone();\n\n var didTransitionMonth = false;\n\n // focus might be anywhere when the keyboard shortcuts panel is opened so we want to\n // return it to wherever it was before when the panel was opened\n var activeElement = (0, _getActiveElement2['default'])();\n var onKeyboardShortcutsPanelClose = function () {\n function onKeyboardShortcutsPanelClose() {\n if (activeElement) activeElement.focus();\n }\n\n return onKeyboardShortcutsPanelClose;\n }();\n\n switch (e.key) {\n case 'ArrowUp':\n e.preventDefault();\n newFocusedDate.subtract(1, 'week');\n didTransitionMonth = this.maybeTransitionPrevMonth(newFocusedDate);\n break;\n case 'ArrowLeft':\n e.preventDefault();\n if (isRTL) {\n newFocusedDate.add(1, 'day');\n } else {\n newFocusedDate.subtract(1, 'day');\n }\n didTransitionMonth = this.maybeTransitionPrevMonth(newFocusedDate);\n break;\n case 'Home':\n e.preventDefault();\n newFocusedDate.startOf('week');\n didTransitionMonth = this.maybeTransitionPrevMonth(newFocusedDate);\n break;\n case 'PageUp':\n e.preventDefault();\n newFocusedDate.subtract(1, 'month');\n didTransitionMonth = this.maybeTransitionPrevMonth(newFocusedDate);\n break;\n\n case 'ArrowDown':\n e.preventDefault();\n newFocusedDate.add(1, 'week');\n didTransitionMonth = this.maybeTransitionNextMonth(newFocusedDate);\n break;\n case 'ArrowRight':\n e.preventDefault();\n if (isRTL) {\n newFocusedDate.subtract(1, 'day');\n } else {\n newFocusedDate.add(1, 'day');\n }\n didTransitionMonth = this.maybeTransitionNextMonth(newFocusedDate);\n break;\n case 'End':\n e.preventDefault();\n newFocusedDate.endOf('week');\n didTransitionMonth = this.maybeTransitionNextMonth(newFocusedDate);\n break;\n case 'PageDown':\n e.preventDefault();\n newFocusedDate.add(1, 'month');\n didTransitionMonth = this.maybeTransitionNextMonth(newFocusedDate);\n break;\n\n case '?':\n this.openKeyboardShortcutsPanel(onKeyboardShortcutsPanelClose);\n break;\n\n case 'Escape':\n if (showKeyboardShortcuts) {\n this.closeKeyboardShortcutsPanel();\n } else {\n onBlur();\n }\n break;\n\n default:\n break;\n }\n\n // If there was a month transition, do not update the focused date until the transition has\n // completed. Otherwise, attempting to focus on a DOM node may interrupt the CSS animation. If\n // didTransitionMonth is true, the focusedDate gets updated in #updateStateAfterMonthTransition\n if (!didTransitionMonth) {\n this.setState({\n focusedDate: newFocusedDate\n });\n }\n }\n\n return onFinalKeyDown;\n }()\n }, {\n key: 'onPrevMonthClick',\n value: function () {\n function onPrevMonthClick(nextFocusedDate, e) {\n var _props4 = this.props,\n daySize = _props4.daySize,\n isRTL = _props4.isRTL,\n numberOfMonths = _props4.numberOfMonths;\n var _state3 = this.state,\n calendarMonthWidth = _state3.calendarMonthWidth,\n monthTitleHeight = _state3.monthTitleHeight;\n\n\n if (e) e.preventDefault();\n\n var translationValue = void 0;\n if (this.isVertical()) {\n var calendarMonthWeeksHeight = this.calendarMonthWeeks[0] * (daySize - 1);\n translationValue = monthTitleHeight + calendarMonthWeeksHeight + 1;\n } else if (this.isHorizontal()) {\n translationValue = calendarMonthWidth;\n if (isRTL) {\n translationValue = -2 * calendarMonthWidth;\n }\n\n var visibleCalendarWeeks = this.calendarMonthWeeks.slice(0, numberOfMonths);\n var _calendarMonthWeeksHeight = Math.max.apply(Math, [0].concat(_toConsumableArray(visibleCalendarWeeks))) * (daySize - 1);\n var newMonthHeight = monthTitleHeight + _calendarMonthWeeksHeight + 1;\n this.adjustDayPickerHeight(newMonthHeight);\n }\n\n this.setState({\n monthTransition: PREV_TRANSITION,\n translationValue: translationValue,\n focusedDate: null,\n nextFocusedDate: nextFocusedDate\n });\n }\n\n return onPrevMonthClick;\n }()\n }, {\n key: 'onMonthChange',\n value: function () {\n function onMonthChange(currentMonth) {\n this.setCalendarMonthWeeks(currentMonth);\n this.calculateAndSetDayPickerHeight();\n\n // Translation value is a hack to force an invisible transition that\n // properly rerenders the CalendarMonthGrid\n this.setState({\n monthTransition: MONTH_SELECTION_TRANSITION,\n translationValue: 0.00001,\n focusedDate: null,\n nextFocusedDate: currentMonth,\n currentMonth: currentMonth\n });\n }\n\n return onMonthChange;\n }()\n }, {\n key: 'onYearChange',\n value: function () {\n function onYearChange(currentMonth) {\n this.setCalendarMonthWeeks(currentMonth);\n this.calculateAndSetDayPickerHeight();\n\n // Translation value is a hack to force an invisible transition that\n // properly rerenders the CalendarMonthGrid\n this.setState({\n monthTransition: YEAR_SELECTION_TRANSITION,\n translationValue: 0.0001,\n focusedDate: null,\n nextFocusedDate: currentMonth,\n currentMonth: currentMonth\n });\n }\n\n return onYearChange;\n }()\n }, {\n key: 'onNextMonthClick',\n value: function () {\n function onNextMonthClick(nextFocusedDate, e) {\n var _props5 = this.props,\n isRTL = _props5.isRTL,\n numberOfMonths = _props5.numberOfMonths,\n daySize = _props5.daySize;\n var _state4 = this.state,\n calendarMonthWidth = _state4.calendarMonthWidth,\n monthTitleHeight = _state4.monthTitleHeight;\n\n\n if (e) e.preventDefault();\n\n var translationValue = void 0;\n\n if (this.isVertical()) {\n var firstVisibleMonthWeeks = this.calendarMonthWeeks[1];\n var calendarMonthWeeksHeight = firstVisibleMonthWeeks * (daySize - 1);\n translationValue = -(monthTitleHeight + calendarMonthWeeksHeight + 1);\n }\n\n if (this.isHorizontal()) {\n translationValue = -calendarMonthWidth;\n if (isRTL) {\n translationValue = 0;\n }\n\n var visibleCalendarWeeks = this.calendarMonthWeeks.slice(2, numberOfMonths + 2);\n var _calendarMonthWeeksHeight2 = Math.max.apply(Math, [0].concat(_toConsumableArray(visibleCalendarWeeks))) * (daySize - 1);\n var newMonthHeight = monthTitleHeight + _calendarMonthWeeksHeight2 + 1;\n this.adjustDayPickerHeight(newMonthHeight);\n }\n\n this.setState({\n monthTransition: NEXT_TRANSITION,\n translationValue: translationValue,\n focusedDate: null,\n nextFocusedDate: nextFocusedDate\n });\n }\n\n return onNextMonthClick;\n }()\n }, {\n key: 'getFirstDayOfWeek',\n value: function () {\n function getFirstDayOfWeek() {\n var firstDayOfWeek = this.props.firstDayOfWeek;\n\n if (firstDayOfWeek == null) {\n return _moment2['default'].localeData().firstDayOfWeek();\n }\n\n return firstDayOfWeek;\n }\n\n return getFirstDayOfWeek;\n }()\n }, {\n key: 'getFirstVisibleIndex',\n value: function () {\n function getFirstVisibleIndex() {\n var orientation = this.props.orientation;\n var monthTransition = this.state.monthTransition;\n\n\n if (orientation === _constants.VERTICAL_SCROLLABLE) return 0;\n\n var firstVisibleMonthIndex = 1;\n if (monthTransition === PREV_TRANSITION) {\n firstVisibleMonthIndex -= 1;\n } else if (monthTransition === NEXT_TRANSITION) {\n firstVisibleMonthIndex += 1;\n }\n\n return firstVisibleMonthIndex;\n }\n\n return getFirstVisibleIndex;\n }()\n }, {\n key: 'getFocusedDay',\n value: function () {\n function getFocusedDay(newMonth) {\n var _props6 = this.props,\n getFirstFocusableDay = _props6.getFirstFocusableDay,\n numberOfMonths = _props6.numberOfMonths;\n\n\n var focusedDate = void 0;\n if (getFirstFocusableDay) {\n focusedDate = getFirstFocusableDay(newMonth);\n }\n\n if (newMonth && (!focusedDate || !(0, _isDayVisible2['default'])(focusedDate, newMonth, numberOfMonths))) {\n focusedDate = newMonth.clone().startOf('month');\n }\n\n return focusedDate;\n }\n\n return getFocusedDay;\n }()\n }, {\n key: 'setMonthTitleHeight',\n value: function () {\n function setMonthTitleHeight(monthTitleHeight) {\n var _this3 = this;\n\n this.setState({\n monthTitleHeight: monthTitleHeight\n }, function () {\n _this3.calculateAndSetDayPickerHeight();\n });\n }\n\n return setMonthTitleHeight;\n }()\n }, {\n key: 'setCalendarMonthWeeks',\n value: function () {\n function setCalendarMonthWeeks(currentMonth) {\n var numberOfMonths = this.props.numberOfMonths;\n\n\n this.calendarMonthWeeks = [];\n var month = currentMonth.clone().subtract(1, 'months');\n var firstDayOfWeek = this.getFirstDayOfWeek();\n for (var i = 0; i < numberOfMonths + 2; i += 1) {\n var numberOfWeeks = (0, _getNumberOfCalendarMonthWeeks2['default'])(month, firstDayOfWeek);\n this.calendarMonthWeeks.push(numberOfWeeks);\n month = month.add(1, 'months');\n }\n }\n\n return setCalendarMonthWeeks;\n }()\n }, {\n key: 'setContainerRef',\n value: function () {\n function setContainerRef(ref) {\n this.container = ref;\n }\n\n return setContainerRef;\n }()\n }, {\n key: 'setCalendarInfoRef',\n value: function () {\n function setCalendarInfoRef(ref) {\n this.calendarInfo = ref;\n }\n\n return setCalendarInfoRef;\n }()\n }, {\n key: 'setTransitionContainerRef',\n value: function () {\n function setTransitionContainerRef(ref) {\n this.transitionContainer = ref;\n }\n\n return setTransitionContainerRef;\n }()\n }, {\n key: 'maybeTransitionNextMonth',\n value: function () {\n function maybeTransitionNextMonth(newFocusedDate) {\n var numberOfMonths = this.props.numberOfMonths;\n var _state5 = this.state,\n currentMonth = _state5.currentMonth,\n focusedDate = _state5.focusedDate;\n\n\n var newFocusedDateMonth = newFocusedDate.month();\n var focusedDateMonth = focusedDate.month();\n var isNewFocusedDateVisible = (0, _isDayVisible2['default'])(newFocusedDate, currentMonth, numberOfMonths);\n if (newFocusedDateMonth !== focusedDateMonth && !isNewFocusedDateVisible) {\n this.onNextMonthClick(newFocusedDate);\n return true;\n }\n\n return false;\n }\n\n return maybeTransitionNextMonth;\n }()\n }, {\n key: 'maybeTransitionPrevMonth',\n value: function () {\n function maybeTransitionPrevMonth(newFocusedDate) {\n var numberOfMonths = this.props.numberOfMonths;\n var _state6 = this.state,\n currentMonth = _state6.currentMonth,\n focusedDate = _state6.focusedDate;\n\n\n var newFocusedDateMonth = newFocusedDate.month();\n var focusedDateMonth = focusedDate.month();\n var isNewFocusedDateVisible = (0, _isDayVisible2['default'])(newFocusedDate, currentMonth, numberOfMonths);\n if (newFocusedDateMonth !== focusedDateMonth && !isNewFocusedDateVisible) {\n this.onPrevMonthClick(newFocusedDate);\n return true;\n }\n\n return false;\n }\n\n return maybeTransitionPrevMonth;\n }()\n }, {\n key: 'multiplyScrollableMonths',\n value: function () {\n function multiplyScrollableMonths(e) {\n var onMultiplyScrollableMonths = this.props.onMultiplyScrollableMonths;\n\n if (e) e.preventDefault();\n\n if (onMultiplyScrollableMonths) onMultiplyScrollableMonths(e);\n\n this.setState(function (_ref) {\n var scrollableMonthMultiple = _ref.scrollableMonthMultiple;\n return {\n scrollableMonthMultiple: scrollableMonthMultiple + 1\n };\n });\n }\n\n return multiplyScrollableMonths;\n }()\n }, {\n key: 'isHorizontal',\n value: function () {\n function isHorizontal() {\n var orientation = this.props.orientation;\n\n return orientation === _constants.HORIZONTAL_ORIENTATION;\n }\n\n return isHorizontal;\n }()\n }, {\n key: 'isVertical',\n value: function () {\n function isVertical() {\n var orientation = this.props.orientation;\n\n return orientation === _constants.VERTICAL_ORIENTATION || orientation === _constants.VERTICAL_SCROLLABLE;\n }\n\n return isVertical;\n }()\n }, {\n key: 'updateStateAfterMonthTransition',\n value: function () {\n function updateStateAfterMonthTransition() {\n var _this4 = this;\n\n var _props7 = this.props,\n onPrevMonthClick = _props7.onPrevMonthClick,\n onNextMonthClick = _props7.onNextMonthClick,\n numberOfMonths = _props7.numberOfMonths,\n onMonthChange = _props7.onMonthChange,\n onYearChange = _props7.onYearChange,\n isRTL = _props7.isRTL;\n var _state7 = this.state,\n currentMonth = _state7.currentMonth,\n monthTransition = _state7.monthTransition,\n focusedDate = _state7.focusedDate,\n nextFocusedDate = _state7.nextFocusedDate,\n withMouseInteractions = _state7.withMouseInteractions,\n calendarMonthWidth = _state7.calendarMonthWidth;\n\n\n if (!monthTransition) return;\n\n var newMonth = currentMonth.clone();\n var firstDayOfWeek = this.getFirstDayOfWeek();\n if (monthTransition === PREV_TRANSITION) {\n newMonth.subtract(1, 'month');\n if (onPrevMonthClick) onPrevMonthClick(newMonth);\n var newInvisibleMonth = newMonth.clone().subtract(1, 'month');\n var numberOfWeeks = (0, _getNumberOfCalendarMonthWeeks2['default'])(newInvisibleMonth, firstDayOfWeek);\n this.calendarMonthWeeks = [numberOfWeeks].concat(_toConsumableArray(this.calendarMonthWeeks.slice(0, -1)));\n } else if (monthTransition === NEXT_TRANSITION) {\n newMonth.add(1, 'month');\n if (onNextMonthClick) onNextMonthClick(newMonth);\n var _newInvisibleMonth = newMonth.clone().add(numberOfMonths, 'month');\n var _numberOfWeeks = (0, _getNumberOfCalendarMonthWeeks2['default'])(_newInvisibleMonth, firstDayOfWeek);\n this.calendarMonthWeeks = [].concat(_toConsumableArray(this.calendarMonthWeeks.slice(1)), [_numberOfWeeks]);\n } else if (monthTransition === MONTH_SELECTION_TRANSITION) {\n if (onMonthChange) onMonthChange(newMonth);\n } else if (monthTransition === YEAR_SELECTION_TRANSITION) {\n if (onYearChange) onYearChange(newMonth);\n }\n\n var newFocusedDate = null;\n if (nextFocusedDate) {\n newFocusedDate = nextFocusedDate;\n } else if (!focusedDate && !withMouseInteractions) {\n newFocusedDate = this.getFocusedDay(newMonth);\n }\n\n this.setState({\n currentMonth: newMonth,\n monthTransition: null,\n translationValue: isRTL && this.isHorizontal() ? -calendarMonthWidth : 0,\n nextFocusedDate: null,\n focusedDate: newFocusedDate\n }, function () {\n // we don't want to focus on the relevant calendar day after a month transition\n // if the user is navigating around using a mouse\n if (withMouseInteractions) {\n var activeElement = (0, _getActiveElement2['default'])();\n if (activeElement && activeElement !== document.body && _this4.container.contains(activeElement)) {\n activeElement.blur();\n }\n }\n });\n }\n\n return updateStateAfterMonthTransition;\n }()\n }, {\n key: 'adjustDayPickerHeight',\n value: function () {\n function adjustDayPickerHeight(newMonthHeight) {\n var _this5 = this;\n\n var monthHeight = newMonthHeight + MONTH_PADDING;\n if (monthHeight !== this.calendarMonthGridHeight) {\n this.transitionContainer.style.height = String(monthHeight) + 'px';\n if (!this.calendarMonthGridHeight) {\n setTimeout(function () {\n _this5.setState({ hasSetHeight: true });\n }, 0);\n }\n this.calendarMonthGridHeight = monthHeight;\n }\n }\n\n return adjustDayPickerHeight;\n }()\n }, {\n key: 'calculateAndSetDayPickerHeight',\n value: function () {\n function calculateAndSetDayPickerHeight() {\n var _props8 = this.props,\n daySize = _props8.daySize,\n numberOfMonths = _props8.numberOfMonths;\n var monthTitleHeight = this.state.monthTitleHeight;\n\n\n var visibleCalendarWeeks = this.calendarMonthWeeks.slice(1, numberOfMonths + 1);\n var calendarMonthWeeksHeight = Math.max.apply(Math, [0].concat(_toConsumableArray(visibleCalendarWeeks))) * (daySize - 1);\n var newMonthHeight = monthTitleHeight + calendarMonthWeeksHeight + 1;\n\n if (this.isHorizontal()) {\n this.adjustDayPickerHeight(newMonthHeight);\n }\n }\n\n return calculateAndSetDayPickerHeight;\n }()\n }, {\n key: 'openKeyboardShortcutsPanel',\n value: function () {\n function openKeyboardShortcutsPanel(onCloseCallBack) {\n this.setState({\n showKeyboardShortcuts: true,\n onKeyboardShortcutsPanelClose: onCloseCallBack\n });\n }\n\n return openKeyboardShortcutsPanel;\n }()\n }, {\n key: 'closeKeyboardShortcutsPanel',\n value: function () {\n function closeKeyboardShortcutsPanel() {\n var onKeyboardShortcutsPanelClose = this.state.onKeyboardShortcutsPanelClose;\n\n\n if (onKeyboardShortcutsPanelClose) {\n onKeyboardShortcutsPanelClose();\n }\n\n this.setState({\n onKeyboardShortcutsPanelClose: null,\n showKeyboardShortcuts: false\n });\n }\n\n return closeKeyboardShortcutsPanel;\n }()\n }, {\n key: 'renderNavigation',\n value: function () {\n function renderNavigation() {\n var _this6 = this;\n\n var _props9 = this.props,\n navPrev = _props9.navPrev,\n navNext = _props9.navNext,\n noNavButtons = _props9.noNavButtons,\n orientation = _props9.orientation,\n phrases = _props9.phrases,\n isRTL = _props9.isRTL;\n\n\n if (noNavButtons) {\n return null;\n }\n\n var onNextMonthClick = void 0;\n if (orientation === _constants.VERTICAL_SCROLLABLE) {\n onNextMonthClick = this.multiplyScrollableMonths;\n } else {\n onNextMonthClick = function () {\n function onNextMonthClick(e) {\n _this6.onNextMonthClick(null, e);\n }\n\n return onNextMonthClick;\n }();\n }\n\n return _react2['default'].createElement(_DayPickerNavigation2['default'], {\n onPrevMonthClick: function () {\n function onPrevMonthClick(e) {\n _this6.onPrevMonthClick(null, e);\n }\n\n return onPrevMonthClick;\n }(),\n onNextMonthClick: onNextMonthClick,\n navPrev: navPrev,\n navNext: navNext,\n orientation: orientation,\n phrases: phrases,\n isRTL: isRTL\n });\n }\n\n return renderNavigation;\n }()\n }, {\n key: 'renderWeekHeader',\n value: function () {\n function renderWeekHeader(index) {\n var _props10 = this.props,\n daySize = _props10.daySize,\n horizontalMonthPadding = _props10.horizontalMonthPadding,\n orientation = _props10.orientation,\n weekDayFormat = _props10.weekDayFormat,\n styles = _props10.styles;\n var calendarMonthWidth = this.state.calendarMonthWidth;\n\n var verticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE;\n var horizontalStyle = {\n left: index * calendarMonthWidth\n };\n var verticalStyle = {\n marginLeft: -calendarMonthWidth / 2\n };\n\n var weekHeaderStyle = {}; // no styles applied to the vertical-scrollable orientation\n if (this.isHorizontal()) {\n weekHeaderStyle = horizontalStyle;\n } else if (this.isVertical() && !verticalScrollable) {\n weekHeaderStyle = verticalStyle;\n }\n\n var firstDayOfWeek = this.getFirstDayOfWeek();\n\n var header = [];\n for (var i = 0; i < 7; i += 1) {\n header.push(_react2['default'].createElement(\n 'li',\n _extends({ key: i }, (0, _reactWithStyles.css)(styles.DayPicker_weekHeader_li, { width: daySize })),\n _react2['default'].createElement(\n 'small',\n null,\n (0, _moment2['default'])().day((i + firstDayOfWeek) % 7).format(weekDayFormat)\n )\n ));\n }\n\n return _react2['default'].createElement(\n 'div',\n _extends({}, (0, _reactWithStyles.css)(styles.DayPicker_weekHeader, this.isVertical() && styles.DayPicker_weekHeader__vertical, verticalScrollable && styles.DayPicker_weekHeader__verticalScrollable, weekHeaderStyle, { padding: '0 ' + String(horizontalMonthPadding) + 'px' }), {\n key: 'week-' + String(index)\n }),\n _react2['default'].createElement(\n 'ul',\n (0, _reactWithStyles.css)(styles.DayPicker_weekHeader_ul),\n header\n )\n );\n }\n\n return renderWeekHeader;\n }()\n }, {\n key: 'render',\n value: function () {\n function render() {\n var _this7 = this;\n\n var _state8 = this.state,\n calendarMonthWidth = _state8.calendarMonthWidth,\n currentMonth = _state8.currentMonth,\n monthTransition = _state8.monthTransition,\n translationValue = _state8.translationValue,\n scrollableMonthMultiple = _state8.scrollableMonthMultiple,\n focusedDate = _state8.focusedDate,\n showKeyboardShortcuts = _state8.showKeyboardShortcuts,\n isTouch = _state8.isTouchDevice,\n hasSetHeight = _state8.hasSetHeight,\n calendarInfoWidth = _state8.calendarInfoWidth,\n monthTitleHeight = _state8.monthTitleHeight;\n var _props11 = this.props,\n enableOutsideDays = _props11.enableOutsideDays,\n numberOfMonths = _props11.numberOfMonths,\n orientation = _props11.orientation,\n modifiers = _props11.modifiers,\n withPortal = _props11.withPortal,\n onDayClick = _props11.onDayClick,\n onDayMouseEnter = _props11.onDayMouseEnter,\n onDayMouseLeave = _props11.onDayMouseLeave,\n firstDayOfWeek = _props11.firstDayOfWeek,\n renderMonthText = _props11.renderMonthText,\n renderCalendarDay = _props11.renderCalendarDay,\n renderDayContents = _props11.renderDayContents,\n renderCalendarInfo = _props11.renderCalendarInfo,\n renderMonthElement = _props11.renderMonthElement,\n calendarInfoPosition = _props11.calendarInfoPosition,\n hideKeyboardShortcutsPanel = _props11.hideKeyboardShortcutsPanel,\n onOutsideClick = _props11.onOutsideClick,\n monthFormat = _props11.monthFormat,\n daySize = _props11.daySize,\n isFocused = _props11.isFocused,\n isRTL = _props11.isRTL,\n styles = _props11.styles,\n theme = _props11.theme,\n phrases = _props11.phrases,\n verticalHeight = _props11.verticalHeight,\n dayAriaLabelFormat = _props11.dayAriaLabelFormat,\n noBorder = _props11.noBorder,\n transitionDuration = _props11.transitionDuration,\n verticalBorderSpacing = _props11.verticalBorderSpacing,\n horizontalMonthPadding = _props11.horizontalMonthPadding;\n var dayPickerHorizontalPadding = theme.reactDates.spacing.dayPickerHorizontalPadding;\n\n\n var isHorizontal = this.isHorizontal();\n\n var numOfWeekHeaders = this.isVertical() ? 1 : numberOfMonths;\n var weekHeaders = [];\n for (var i = 0; i < numOfWeekHeaders; i += 1) {\n weekHeaders.push(this.renderWeekHeader(i));\n }\n\n var verticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE;\n var height = void 0;\n if (isHorizontal) {\n height = this.calendarMonthGridHeight;\n } else if (this.isVertical() && !verticalScrollable && !withPortal) {\n // If the user doesn't set a desired height,\n // we default back to this kind of made-up value that generally looks good\n height = verticalHeight || 1.75 * calendarMonthWidth;\n }\n\n var isCalendarMonthGridAnimating = monthTransition !== null;\n\n var shouldFocusDate = !isCalendarMonthGridAnimating && isFocused;\n\n var keyboardShortcutButtonLocation = _DayPickerKeyboardShortcuts.BOTTOM_RIGHT;\n if (this.isVertical()) {\n keyboardShortcutButtonLocation = withPortal ? _DayPickerKeyboardShortcuts.TOP_LEFT : _DayPickerKeyboardShortcuts.TOP_RIGHT;\n }\n\n var shouldAnimateHeight = isHorizontal && hasSetHeight;\n\n var calendarInfoPositionTop = calendarInfoPosition === _constants.INFO_POSITION_TOP;\n var calendarInfoPositionBottom = calendarInfoPosition === _constants.INFO_POSITION_BOTTOM;\n var calendarInfoPositionBefore = calendarInfoPosition === _constants.INFO_POSITION_BEFORE;\n var calendarInfoPositionAfter = calendarInfoPosition === _constants.INFO_POSITION_AFTER;\n var calendarInfoIsInline = calendarInfoPositionBefore || calendarInfoPositionAfter;\n\n var calendarInfo = renderCalendarInfo && _react2['default'].createElement(\n 'div',\n _extends({\n ref: this.setCalendarInfoRef\n }, (0, _reactWithStyles.css)(calendarInfoIsInline && styles.DayPicker_calendarInfo__horizontal)),\n renderCalendarInfo()\n );\n\n var calendarInfoPanelWidth = renderCalendarInfo && calendarInfoIsInline ? calendarInfoWidth : 0;\n\n var firstVisibleMonthIndex = this.getFirstVisibleIndex();\n var wrapperHorizontalWidth = calendarMonthWidth * numberOfMonths + 2 * dayPickerHorizontalPadding;\n // Adding `1px` because of whitespace between 2 inline-block\n var fullHorizontalWidth = wrapperHorizontalWidth + calendarInfoPanelWidth + 1;\n\n var transitionContainerStyle = {\n width: isHorizontal && wrapperHorizontalWidth,\n height: height\n };\n\n var dayPickerWrapperStyle = {\n width: isHorizontal && wrapperHorizontalWidth\n };\n\n var dayPickerStyle = {\n width: isHorizontal && fullHorizontalWidth,\n\n // These values are to center the datepicker (approximately) on the page\n marginLeft: isHorizontal && withPortal ? -fullHorizontalWidth / 2 : null,\n marginTop: isHorizontal && withPortal ? -calendarMonthWidth / 2 : null\n };\n\n return _react2['default'].createElement(\n 'div',\n _extends({\n role: 'application',\n 'aria-label': phrases.calendarLabel\n }, (0, _reactWithStyles.css)(styles.DayPicker, isHorizontal && styles.DayPicker__horizontal, verticalScrollable && styles.DayPicker__verticalScrollable, isHorizontal && withPortal && styles.DayPicker_portal__horizontal, this.isVertical() && withPortal && styles.DayPicker_portal__vertical, dayPickerStyle, !monthTitleHeight && styles.DayPicker__hidden, !noBorder && styles.DayPicker__withBorder)),\n _react2['default'].createElement(\n _reactOutsideClickHandler2['default'],\n { onOutsideClick: onOutsideClick },\n (calendarInfoPositionTop || calendarInfoPositionBefore) && calendarInfo,\n _react2['default'].createElement(\n 'div',\n (0, _reactWithStyles.css)(dayPickerWrapperStyle, calendarInfoIsInline && isHorizontal && styles.DayPicker_wrapper__horizontal),\n _react2['default'].createElement(\n 'div',\n _extends({}, (0, _reactWithStyles.css)(styles.DayPicker_weekHeaders, isHorizontal && styles.DayPicker_weekHeaders__horizontal), {\n 'aria-hidden': 'true',\n role: 'presentation'\n }),\n weekHeaders\n ),\n _react2['default'].createElement(\n 'div',\n _extends({}, (0, _reactWithStyles.css)(styles.DayPicker_focusRegion), {\n ref: this.setContainerRef,\n onClick: function () {\n function onClick(e) {\n e.stopPropagation();\n }\n\n return onClick;\n }(),\n onKeyDown: this.onKeyDown,\n onMouseUp: function () {\n function onMouseUp() {\n _this7.setState({ withMouseInteractions: true });\n }\n\n return onMouseUp;\n }(),\n role: 'region',\n tabIndex: -1\n }),\n !verticalScrollable && this.renderNavigation(),\n _react2['default'].createElement(\n 'div',\n _extends({}, (0, _reactWithStyles.css)(styles.DayPicker_transitionContainer, shouldAnimateHeight && styles.DayPicker_transitionContainer__horizontal, this.isVertical() && styles.DayPicker_transitionContainer__vertical, verticalScrollable && styles.DayPicker_transitionContainer__verticalScrollable, transitionContainerStyle), {\n ref: this.setTransitionContainerRef\n }),\n _react2['default'].createElement(_CalendarMonthGrid2['default'], {\n setMonthTitleHeight: !monthTitleHeight ? this.setMonthTitleHeight : undefined,\n translationValue: translationValue,\n enableOutsideDays: enableOutsideDays,\n firstVisibleMonthIndex: firstVisibleMonthIndex,\n initialMonth: currentMonth,\n isAnimating: isCalendarMonthGridAnimating,\n modifiers: modifiers,\n orientation: orientation,\n numberOfMonths: numberOfMonths * scrollableMonthMultiple,\n onDayClick: onDayClick,\n onDayMouseEnter: onDayMouseEnter,\n onDayMouseLeave: onDayMouseLeave,\n onMonthChange: this.onMonthChange,\n onYearChange: this.onYearChange,\n renderMonthText: renderMonthText,\n renderCalendarDay: renderCalendarDay,\n renderDayContents: renderDayContents,\n renderMonthElement: renderMonthElement,\n onMonthTransitionEnd: this.updateStateAfterMonthTransition,\n monthFormat: monthFormat,\n daySize: daySize,\n firstDayOfWeek: firstDayOfWeek,\n isFocused: shouldFocusDate,\n focusedDate: focusedDate,\n phrases: phrases,\n isRTL: isRTL,\n dayAriaLabelFormat: dayAriaLabelFormat,\n transitionDuration: transitionDuration,\n verticalBorderSpacing: verticalBorderSpacing,\n horizontalMonthPadding: horizontalMonthPadding\n }),\n verticalScrollable && this.renderNavigation()\n ),\n !isTouch && !hideKeyboardShortcutsPanel && _react2['default'].createElement(_DayPickerKeyboardShortcuts2['default'], {\n block: this.isVertical() && !withPortal,\n buttonLocation: keyboardShortcutButtonLocation,\n showKeyboardShortcutsPanel: showKeyboardShortcuts,\n openKeyboardShortcutsPanel: this.openKeyboardShortcutsPanel,\n closeKeyboardShortcutsPanel: this.closeKeyboardShortcutsPanel,\n phrases: phrases\n })\n )\n ),\n (calendarInfoPositionBottom || calendarInfoPositionAfter) && calendarInfo\n )\n );\n }\n\n return render;\n }()\n }]);\n\n return DayPicker;\n}(_react2['default'].Component);\n\nDayPicker.propTypes = propTypes;\nDayPicker.defaultProps = defaultProps;\n\nexports.PureDayPicker = DayPicker;\nexports['default'] = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var _ref2$reactDates = _ref2.reactDates,\n color = _ref2$reactDates.color,\n font = _ref2$reactDates.font,\n noScrollBarOnVerticalScrollable = _ref2$reactDates.noScrollBarOnVerticalScrollable,\n spacing = _ref2$reactDates.spacing,\n zIndex = _ref2$reactDates.zIndex;\n return {\n DayPicker: {\n background: color.background,\n position: 'relative',\n textAlign: 'left'\n },\n\n DayPicker__horizontal: {\n background: color.background\n },\n\n DayPicker__verticalScrollable: {\n height: '100%'\n },\n\n DayPicker__hidden: {\n visibility: 'hidden'\n },\n\n DayPicker__withBorder: {\n boxShadow: '0 2px 6px rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.07)',\n borderRadius: 3\n },\n\n DayPicker_portal__horizontal: {\n boxShadow: 'none',\n position: 'absolute',\n left: '50%',\n top: '50%'\n },\n\n DayPicker_portal__vertical: {\n position: 'initial'\n },\n\n DayPicker_focusRegion: {\n outline: 'none'\n },\n\n DayPicker_calendarInfo__horizontal: {\n display: 'inline-block',\n verticalAlign: 'top'\n },\n\n DayPicker_wrapper__horizontal: {\n display: 'inline-block',\n verticalAlign: 'top'\n },\n\n DayPicker_weekHeaders: {\n position: 'relative'\n },\n\n DayPicker_weekHeaders__horizontal: {\n marginLeft: spacing.dayPickerHorizontalPadding\n },\n\n DayPicker_weekHeader: {\n color: color.placeholderText,\n position: 'absolute',\n top: 62,\n zIndex: zIndex + 2,\n textAlign: 'left'\n },\n\n DayPicker_weekHeader__vertical: {\n left: '50%'\n },\n\n DayPicker_weekHeader__verticalScrollable: {\n top: 0,\n display: 'table-row',\n borderBottom: '1px solid ' + String(color.core.border),\n background: color.background,\n marginLeft: 0,\n left: 0,\n width: '100%',\n textAlign: 'center'\n },\n\n DayPicker_weekHeader_ul: {\n listStyle: 'none',\n margin: '1px 0',\n paddingLeft: 0,\n paddingRight: 0,\n fontSize: font.size\n },\n\n DayPicker_weekHeader_li: {\n display: 'inline-block',\n textAlign: 'center'\n },\n\n DayPicker_transitionContainer: {\n position: 'relative',\n overflow: 'hidden',\n borderRadius: 3\n },\n\n DayPicker_transitionContainer__horizontal: {\n transition: 'height 0.2s ease-in-out'\n },\n\n DayPicker_transitionContainer__vertical: {\n width: '100%'\n },\n\n DayPicker_transitionContainer__verticalScrollable: (0, _object2['default'])({\n paddingTop: 20,\n height: '100%',\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 0,\n left: 0,\n overflowY: 'scroll'\n }, noScrollBarOnVerticalScrollable && {\n '-webkitOverflowScrolling': 'touch',\n '::-webkit-scrollbar': {\n '-webkit-appearance': 'none',\n display: 'none'\n }\n })\n };\n})(DayPicker);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BOTTOM_RIGHT = exports.TOP_RIGHT = exports.TOP_LEFT = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _object = require('object.assign');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _reactWithStyles = require('react-with-styles');\n\nvar _defaultPhrases = require('../defaultPhrases');\n\nvar _getPhrasePropTypes = require('../utils/getPhrasePropTypes');\n\nvar _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);\n\nvar _KeyboardShortcutRow = require('./KeyboardShortcutRow');\n\nvar _KeyboardShortcutRow2 = _interopRequireDefault(_KeyboardShortcutRow);\n\nvar _CloseButton = require('./CloseButton');\n\nvar _CloseButton2 = _interopRequireDefault(_CloseButton);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOP_LEFT = exports.TOP_LEFT = 'top-left';\nvar TOP_RIGHT = exports.TOP_RIGHT = 'top-right';\nvar BOTTOM_RIGHT = exports.BOTTOM_RIGHT = 'bottom-right';\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {\n block: _propTypes2['default'].bool,\n buttonLocation: _propTypes2['default'].oneOf([TOP_LEFT, TOP_RIGHT, BOTTOM_RIGHT]),\n showKeyboardShortcutsPanel: _propTypes2['default'].bool,\n openKeyboardShortcutsPanel: _propTypes2['default'].func,\n closeKeyboardShortcutsPanel: _propTypes2['default'].func,\n phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DayPickerKeyboardShortcutsPhrases))\n}));\n\nvar defaultProps = {\n block: false,\n buttonLocation: BOTTOM_RIGHT,\n showKeyboardShortcutsPanel: false,\n openKeyboardShortcutsPanel: function () {\n function openKeyboardShortcutsPanel() {}\n\n return openKeyboardShortcutsPanel;\n }(),\n closeKeyboardShortcutsPanel: function () {\n function closeKeyboardShortcutsPanel() {}\n\n return closeKeyboardShortcutsPanel;\n }(),\n\n phrases: _defaultPhrases.DayPickerKeyboardShortcutsPhrases\n};\n\nfunction getKeyboardShortcuts(phrases) {\n return [{\n unicode: '↵',\n label: phrases.enterKey,\n action: phrases.selectFocusedDate\n }, {\n unicode: '←/→',\n label: phrases.leftArrowRightArrow,\n action: phrases.moveFocusByOneDay\n }, {\n unicode: '↑/↓',\n label: phrases.upArrowDownArrow,\n action: phrases.moveFocusByOneWeek\n }, {\n unicode: 'PgUp/PgDn',\n label: phrases.pageUpPageDown,\n action: phrases.moveFocusByOneMonth\n }, {\n unicode: 'Home/End',\n label: phrases.homeEnd,\n action: phrases.moveFocustoStartAndEndOfWeek\n }, {\n unicode: 'Esc',\n label: phrases.escape,\n action: phrases.returnFocusToInput\n }, {\n unicode: '?',\n label: phrases.questionMark,\n action: phrases.openThisPanel\n }];\n}\n\nvar DayPickerKeyboardShortcuts = function (_React$Component) {\n _inherits(DayPickerKeyboardShortcuts, _React$Component);\n\n function DayPickerKeyboardShortcuts() {\n var _ref;\n\n _classCallCheck(this, DayPickerKeyboardShortcuts);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _this = _possibleConstructorReturn(this, (_ref = DayPickerKeyboardShortcuts.__proto__ || Object.getPrototypeOf(DayPickerKeyboardShortcuts)).call.apply(_ref, [this].concat(args)));\n\n var phrases = _this.props.phrases;\n\n _this.keyboardShortcuts = getKeyboardShortcuts(phrases);\n\n _this.onShowKeyboardShortcutsButtonClick = _this.onShowKeyboardShortcutsButtonClick.bind(_this);\n _this.setShowKeyboardShortcutsButtonRef = _this.setShowKeyboardShortcutsButtonRef.bind(_this);\n _this.setHideKeyboardShortcutsButtonRef = _this.setHideKeyboardShortcutsButtonRef.bind(_this);\n _this.handleFocus = _this.handleFocus.bind(_this);\n _this.onKeyDown = _this.onKeyDown.bind(_this);\n return _this;\n }\n\n _createClass(DayPickerKeyboardShortcuts, [{\n key: 'componentWillReceiveProps',\n value: function () {\n function componentWillReceiveProps(nextProps) {\n var phrases = this.props.phrases;\n\n if (nextProps.phrases !== phrases) {\n this.keyboardShortcuts = getKeyboardShortcuts(nextProps.phrases);\n }\n }\n\n return componentWillReceiveProps;\n }()\n }, {\n key: 'componentDidUpdate',\n value: function () {\n function componentDidUpdate() {\n this.handleFocus();\n }\n\n return componentDidUpdate;\n }()\n }, {\n key: 'onKeyDown',\n value: function () {\n function onKeyDown(e) {\n e.stopPropagation();\n\n var closeKeyboardShortcutsPanel = this.props.closeKeyboardShortcutsPanel;\n // Because the close button is the only focusable element inside of the panel, this\n // amounts to a very basic focus trap. The user can exit the panel by \"pressing\" the\n // close button or hitting escape\n\n switch (e.key) {\n case 'Enter':\n case ' ':\n case 'Spacebar': // for older browsers\n case 'Escape':\n closeKeyboardShortcutsPanel();\n break;\n\n // do nothing - this allows the up and down arrows continue their\n // default behavior of scrolling the content of the Keyboard Shortcuts Panel\n // which is needed when only a single month is shown for instance.\n case 'ArrowUp':\n case 'ArrowDown':\n break;\n\n // completely block the rest of the keys that have functionality outside of this panel\n case 'Tab':\n case 'Home':\n case 'End':\n case 'PageUp':\n case 'PageDown':\n case 'ArrowLeft':\n case 'ArrowRight':\n e.preventDefault();\n break;\n\n default:\n break;\n }\n }\n\n return onKeyDown;\n }()\n }, {\n key: 'onShowKeyboardShortcutsButtonClick',\n value: function () {\n function onShowKeyboardShortcutsButtonClick() {\n var _this2 = this;\n\n var openKeyboardShortcutsPanel = this.props.openKeyboardShortcutsPanel;\n\n // we want to return focus to this button after closing the keyboard shortcuts panel\n\n openKeyboardShortcutsPanel(function () {\n _this2.showKeyboardShortcutsButton.focus();\n });\n }\n\n return onShowKeyboardShortcutsButtonClick;\n }()\n }, {\n key: 'setShowKeyboardShortcutsButtonRef',\n value: function () {\n function setShowKeyboardShortcutsButtonRef(ref) {\n this.showKeyboardShortcutsButton = ref;\n }\n\n return setShowKeyboardShortcutsButtonRef;\n }()\n }, {\n key: 'setHideKeyboardShortcutsButtonRef',\n value: function () {\n function setHideKeyboardShortcutsButtonRef(ref) {\n this.hideKeyboardShortcutsButton = ref;\n }\n\n return setHideKeyboardShortcutsButtonRef;\n }()\n }, {\n key: 'handleFocus',\n value: function () {\n function handleFocus() {\n if (this.hideKeyboardShortcutsButton) {\n // automatically move focus into the dialog by moving\n // to the only interactive element, the hide button\n this.hideKeyboardShortcutsButton.focus();\n }\n }\n\n return handleFocus;\n }()\n }, {\n key: 'render',\n value: function () {\n function render() {\n var _this3 = this;\n\n var _props = this.props,\n block = _props.block,\n buttonLocation = _props.buttonLocation,\n showKeyboardShortcutsPanel = _props.showKeyboardShortcutsPanel,\n closeKeyboardShortcutsPanel = _props.closeKeyboardShortcutsPanel,\n styles = _props.styles,\n phrases = _props.phrases;\n\n\n var toggleButtonText = showKeyboardShortcutsPanel ? phrases.hideKeyboardShortcutsPanel : phrases.showKeyboardShortcutsPanel;\n\n var bottomRight = buttonLocation === BOTTOM_RIGHT;\n var topRight = buttonLocation === TOP_RIGHT;\n var topLeft = buttonLocation === TOP_LEFT;\n\n return _react2['default'].createElement(\n 'div',\n null,\n _react2['default'].createElement(\n 'button',\n _extends({\n ref: this.setShowKeyboardShortcutsButtonRef\n }, (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_buttonReset, styles.DayPickerKeyboardShortcuts_show, bottomRight && styles.DayPickerKeyboardShortcuts_show__bottomRight, topRight && styles.DayPickerKeyboardShortcuts_show__topRight, topLeft && styles.DayPickerKeyboardShortcuts_show__topLeft), {\n type: 'button',\n 'aria-label': toggleButtonText,\n onClick: this.onShowKeyboardShortcutsButtonClick,\n onKeyDown: function () {\n function onKeyDown(e) {\n if (e.key === 'Enter') {\n e.preventDefault();\n } else if (e.key === 'Space') {\n _this3.onShowKeyboardShortcutsButtonClick(e);\n }\n }\n\n return onKeyDown;\n }(),\n onMouseUp: function () {\n function onMouseUp(e) {\n e.currentTarget.blur();\n }\n\n return onMouseUp;\n }()\n }),\n _react2['default'].createElement(\n 'span',\n (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_showSpan, bottomRight && styles.DayPickerKeyboardShortcuts_showSpan__bottomRight, topRight && styles.DayPickerKeyboardShortcuts_showSpan__topRight, topLeft && styles.DayPickerKeyboardShortcuts_showSpan__topLeft),\n '?'\n )\n ),\n showKeyboardShortcutsPanel && _react2['default'].createElement(\n 'div',\n _extends({}, (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_panel), {\n role: 'dialog',\n 'aria-labelledby': 'DayPickerKeyboardShortcuts_title',\n 'aria-describedby': 'DayPickerKeyboardShortcuts_description'\n }),\n _react2['default'].createElement(\n 'div',\n _extends({}, (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_title), {\n id: 'DayPickerKeyboardShortcuts_title'\n }),\n phrases.keyboardShortcuts\n ),\n _react2['default'].createElement(\n 'button',\n _extends({\n ref: this.setHideKeyboardShortcutsButtonRef\n }, (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_buttonReset, styles.DayPickerKeyboardShortcuts_close), {\n type: 'button',\n tabIndex: '0',\n 'aria-label': phrases.hideKeyboardShortcutsPanel,\n onClick: closeKeyboardShortcutsPanel,\n onKeyDown: this.onKeyDown\n }),\n _react2['default'].createElement(_CloseButton2['default'], (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_closeSvg))\n ),\n _react2['default'].createElement(\n 'ul',\n _extends({}, (0, _reactWithStyles.css)(styles.DayPickerKeyboardShortcuts_list), {\n id: 'DayPickerKeyboardShortcuts_description'\n }),\n this.keyboardShortcuts.map(function (_ref2) {\n var unicode = _ref2.unicode,\n label = _ref2.label,\n action = _ref2.action;\n return _react2['default'].createElement(_KeyboardShortcutRow2['default'], {\n key: label,\n unicode: unicode,\n label: label,\n action: action,\n block: block\n });\n })\n )\n )\n );\n }\n\n return render;\n }()\n }]);\n\n return DayPickerKeyboardShortcuts;\n}(_react2['default'].Component);\n\nDayPickerKeyboardShortcuts.propTypes = propTypes;\nDayPickerKeyboardShortcuts.defaultProps = defaultProps;\n\nexports['default'] = (0, _reactWithStyles.withStyles)(function (_ref3) {\n var _ref3$reactDates = _ref3.reactDates,\n color = _ref3$reactDates.color,\n font = _ref3$reactDates.font,\n zIndex = _ref3$reactDates.zIndex;\n return {\n DayPickerKeyboardShortcuts_buttonReset: {\n background: 'none',\n border: 0,\n borderRadius: 0,\n color: 'inherit',\n font: 'inherit',\n lineHeight: 'normal',\n overflow: 'visible',\n padding: 0,\n cursor: 'pointer',\n fontSize: font.size,\n\n ':active': {\n outline: 'none'\n }\n },\n\n DayPickerKeyboardShortcuts_show: {\n width: 22,\n position: 'absolute',\n zIndex: zIndex + 2\n },\n\n DayPickerKeyboardShortcuts_show__bottomRight: {\n borderTop: '26px solid transparent',\n borderRight: '33px solid ' + String(color.core.primary),\n bottom: 0,\n right: 0,\n\n ':hover': {\n borderRight: '33px solid ' + String(color.core.primary_dark)\n }\n },\n\n DayPickerKeyboardShortcuts_show__topRight: {\n borderBottom: '26px solid transparent',\n borderRight: '33px solid ' + String(color.core.primary),\n top: 0,\n right: 0,\n\n ':hover': {\n borderRight: '33px solid ' + String(color.core.primary_dark)\n }\n },\n\n DayPickerKeyboardShortcuts_show__topLeft: {\n borderBottom: '26px solid transparent',\n borderLeft: '33px solid ' + String(color.core.primary),\n top: 0,\n left: 0,\n\n ':hover': {\n borderLeft: '33px solid ' + String(color.core.primary_dark)\n }\n },\n\n DayPickerKeyboardShortcuts_showSpan: {\n color: color.core.white,\n position: 'absolute'\n },\n\n DayPickerKeyboardShortcuts_showSpan__bottomRight: {\n bottom: 0,\n right: -28\n },\n\n DayPickerKeyboardShortcuts_showSpan__topRight: {\n top: 1,\n right: -28\n },\n\n DayPickerKeyboardShortcuts_showSpan__topLeft: {\n top: 1,\n left: -28\n },\n\n DayPickerKeyboardShortcuts_panel: {\n overflow: 'auto',\n background: color.background,\n border: '1px solid ' + String(color.core.border),\n borderRadius: 2,\n position: 'absolute',\n top: 0,\n bottom: 0,\n right: 0,\n left: 0,\n zIndex: zIndex + 2,\n padding: 22,\n margin: 33\n },\n\n DayPickerKeyboardShortcuts_title: {\n fontSize: 16,\n fontWeight: 'bold',\n margin: 0\n },\n\n DayPickerKeyboardShortcuts_list: {\n listStyle: 'none',\n padding: 0,\n fontSize: font.size\n },\n\n DayPickerKeyboardShortcuts_close: {\n position: 'absolute',\n right: 22,\n top: 22,\n zIndex: zIndex + 2,\n\n ':active': {\n outline: 'none'\n }\n },\n\n DayPickerKeyboardShortcuts_closeSvg: {\n height: 15,\n width: 15,\n fill: color.core.grayLighter,\n\n ':hover': {\n fill: color.core.grayLight\n },\n\n ':focus': {\n fill: color.core.grayLight\n }\n }\n };\n})(DayPickerKeyboardShortcuts);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _object = require('object.assign');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _reactWithStyles = require('react-with-styles');\n\nvar _defaultPhrases = require('../defaultPhrases');\n\nvar _getPhrasePropTypes = require('../utils/getPhrasePropTypes');\n\nvar _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);\n\nvar _LeftArrow = require('./LeftArrow');\n\nvar _LeftArrow2 = _interopRequireDefault(_LeftArrow);\n\nvar _RightArrow = require('./RightArrow');\n\nvar _RightArrow2 = _interopRequireDefault(_RightArrow);\n\nvar _ChevronUp = require('./ChevronUp');\n\nvar _ChevronUp2 = _interopRequireDefault(_ChevronUp);\n\nvar _ChevronDown = require('./ChevronDown');\n\nvar _ChevronDown2 = _interopRequireDefault(_ChevronDown);\n\nvar _ScrollableOrientationShape = require('../shapes/ScrollableOrientationShape');\n\nvar _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {\n navPrev: _propTypes2['default'].node,\n navNext: _propTypes2['default'].node,\n orientation: _ScrollableOrientationShape2['default'],\n\n onPrevMonthClick: _propTypes2['default'].func,\n onNextMonthClick: _propTypes2['default'].func,\n\n // internationalization\n phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DayPickerNavigationPhrases)),\n\n isRTL: _propTypes2['default'].bool\n}));\n\nvar defaultProps = {\n navPrev: null,\n navNext: null,\n orientation: _constants.HORIZONTAL_ORIENTATION,\n\n onPrevMonthClick: function () {\n function onPrevMonthClick() {}\n\n return onPrevMonthClick;\n }(),\n onNextMonthClick: function () {\n function onNextMonthClick() {}\n\n return onNextMonthClick;\n }(),\n\n\n // internationalization\n phrases: _defaultPhrases.DayPickerNavigationPhrases,\n isRTL: false\n};\n\nfunction DayPickerNavigation(_ref) {\n var navPrev = _ref.navPrev,\n navNext = _ref.navNext,\n onPrevMonthClick = _ref.onPrevMonthClick,\n onNextMonthClick = _ref.onNextMonthClick,\n orientation = _ref.orientation,\n phrases = _ref.phrases,\n isRTL = _ref.isRTL,\n styles = _ref.styles;\n\n var isHorizontal = orientation === _constants.HORIZONTAL_ORIENTATION;\n var isVertical = orientation !== _constants.HORIZONTAL_ORIENTATION;\n var isVerticalScrollable = orientation === _constants.VERTICAL_SCROLLABLE;\n\n var navPrevIcon = navPrev;\n var navNextIcon = navNext;\n var isDefaultNavPrev = false;\n var isDefaultNavNext = false;\n if (!navPrevIcon) {\n isDefaultNavPrev = true;\n var Icon = isVertical ? _ChevronUp2['default'] : _LeftArrow2['default'];\n if (isRTL && !isVertical) {\n Icon = _RightArrow2['default'];\n }\n navPrevIcon = _react2['default'].createElement(Icon, (0, _reactWithStyles.css)(isHorizontal && styles.DayPickerNavigation_svg__horizontal, isVertical && styles.DayPickerNavigation_svg__vertical));\n }\n\n if (!navNextIcon) {\n isDefaultNavNext = true;\n var _Icon = isVertical ? _ChevronDown2['default'] : _RightArrow2['default'];\n if (isRTL && !isVertical) {\n _Icon = _LeftArrow2['default'];\n }\n navNextIcon = _react2['default'].createElement(_Icon, (0, _reactWithStyles.css)(isHorizontal && styles.DayPickerNavigation_svg__horizontal, isVertical && styles.DayPickerNavigation_svg__vertical));\n }\n\n var isDefaultNav = isVerticalScrollable ? isDefaultNavNext : isDefaultNavNext || isDefaultNavPrev;\n\n return _react2['default'].createElement(\n 'div',\n _reactWithStyles.css.apply(undefined, [styles.DayPickerNavigation, isHorizontal && styles.DayPickerNavigation__horizontal].concat(_toConsumableArray(isVertical && [styles.DayPickerNavigation__vertical, isDefaultNav && styles.DayPickerNavigation__verticalDefault]), _toConsumableArray(isVerticalScrollable && [styles.DayPickerNavigation__verticalScrollable, isDefaultNav && styles.DayPickerNavigation__verticalScrollableDefault]))),\n !isVerticalScrollable && _react2['default'].createElement(\n 'div',\n _extends({\n role: 'button',\n tabIndex: '0'\n }, _reactWithStyles.css.apply(undefined, [styles.DayPickerNavigation_button, isDefaultNavPrev && styles.DayPickerNavigation_button__default].concat(_toConsumableArray(isHorizontal && [styles.DayPickerNavigation_button__horizontal].concat(_toConsumableArray(isDefaultNavPrev && [styles.DayPickerNavigation_button__horizontalDefault, !isRTL && styles.DayPickerNavigation_leftButton__horizontalDefault, isRTL && styles.DayPickerNavigation_rightButton__horizontalDefault]))), _toConsumableArray(isVertical && [styles.DayPickerNavigation_button__vertical].concat(_toConsumableArray(isDefaultNavPrev && [styles.DayPickerNavigation_button__verticalDefault, styles.DayPickerNavigation_prevButton__verticalDefault]))))), {\n 'aria-label': phrases.jumpToPrevMonth,\n onClick: onPrevMonthClick,\n onKeyUp: function () {\n function onKeyUp(e) {\n var key = e.key;\n\n if (key === 'Enter' || key === ' ') onPrevMonthClick(e);\n }\n\n return onKeyUp;\n }(),\n onMouseUp: function () {\n function onMouseUp(e) {\n e.currentTarget.blur();\n }\n\n return onMouseUp;\n }()\n }),\n navPrevIcon\n ),\n _react2['default'].createElement(\n 'div',\n _extends({\n role: 'button',\n tabIndex: '0'\n }, _reactWithStyles.css.apply(undefined, [styles.DayPickerNavigation_button, isDefaultNavNext && styles.DayPickerNavigation_button__default].concat(_toConsumableArray(isHorizontal && [styles.DayPickerNavigation_button__horizontal].concat(_toConsumableArray(isDefaultNavNext && [styles.DayPickerNavigation_button__horizontalDefault, isRTL && styles.DayPickerNavigation_leftButton__horizontalDefault, !isRTL && styles.DayPickerNavigation_rightButton__horizontalDefault]))), _toConsumableArray(isVertical && [styles.DayPickerNavigation_button__vertical, styles.DayPickerNavigation_nextButton__vertical].concat(_toConsumableArray(isDefaultNavNext && [styles.DayPickerNavigation_button__verticalDefault, styles.DayPickerNavigation_nextButton__verticalDefault, isVerticalScrollable && styles.DayPickerNavigation_nextButton__verticalScrollableDefault]))))), {\n 'aria-label': phrases.jumpToNextMonth,\n onClick: onNextMonthClick,\n onKeyUp: function () {\n function onKeyUp(e) {\n var key = e.key;\n\n if (key === 'Enter' || key === ' ') onNextMonthClick(e);\n }\n\n return onKeyUp;\n }(),\n onMouseUp: function () {\n function onMouseUp(e) {\n e.currentTarget.blur();\n }\n\n return onMouseUp;\n }()\n }),\n navNextIcon\n )\n );\n}\n\nDayPickerNavigation.propTypes = propTypes;\nDayPickerNavigation.defaultProps = defaultProps;\n\nexports['default'] = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var _ref2$reactDates = _ref2.reactDates,\n color = _ref2$reactDates.color,\n zIndex = _ref2$reactDates.zIndex;\n return {\n DayPickerNavigation: {\n position: 'relative',\n zIndex: zIndex + 2\n },\n\n DayPickerNavigation__horizontal: {\n height: 0\n },\n\n DayPickerNavigation__vertical: {},\n DayPickerNavigation__verticalScrollable: {},\n\n DayPickerNavigation__verticalDefault: {\n position: 'absolute',\n width: '100%',\n height: 52,\n bottom: 0,\n left: 0\n },\n\n DayPickerNavigation__verticalScrollableDefault: {\n position: 'relative'\n },\n\n DayPickerNavigation_button: {\n cursor: 'pointer',\n userSelect: 'none',\n border: 0,\n padding: 0,\n margin: 0\n },\n\n DayPickerNavigation_button__default: {\n border: '1px solid ' + String(color.core.borderLight),\n backgroundColor: color.background,\n color: color.placeholderText,\n\n ':focus': {\n border: '1px solid ' + String(color.core.borderMedium)\n },\n\n ':hover': {\n border: '1px solid ' + String(color.core.borderMedium)\n },\n\n ':active': {\n background: color.backgroundDark\n }\n },\n\n DayPickerNavigation_button__horizontal: {},\n\n DayPickerNavigation_button__horizontalDefault: {\n position: 'absolute',\n top: 18,\n lineHeight: 0.78,\n borderRadius: 3,\n padding: '6px 9px'\n },\n\n DayPickerNavigation_leftButton__horizontalDefault: {\n left: 22\n },\n\n DayPickerNavigation_rightButton__horizontalDefault: {\n right: 22\n },\n\n DayPickerNavigation_button__vertical: {},\n\n DayPickerNavigation_button__verticalDefault: {\n padding: 5,\n background: color.background,\n boxShadow: '0 0 5px 2px rgba(0, 0, 0, 0.1)',\n position: 'relative',\n display: 'inline-block',\n height: '100%',\n width: '50%'\n },\n\n DayPickerNavigation_prevButton__verticalDefault: {},\n\n DayPickerNavigation_nextButton__verticalDefault: {\n borderLeft: 0\n },\n\n DayPickerNavigation_nextButton__verticalScrollableDefault: {\n width: '100%'\n },\n\n DayPickerNavigation_svg__horizontal: {\n height: 19,\n width: 19,\n fill: color.core.grayLight,\n display: 'block'\n },\n\n DayPickerNavigation_svg__vertical: {\n height: 42,\n width: 42,\n fill: color.text,\n display: 'block'\n }\n };\n})(DayPickerNavigation);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _object = require('object.assign');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactMomentProptypes = require('react-moment-proptypes');\n\nvar _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _object3 = require('object.values');\n\nvar _object4 = _interopRequireDefault(_object3);\n\nvar _isTouchDevice = require('is-touch-device');\n\nvar _isTouchDevice2 = _interopRequireDefault(_isTouchDevice);\n\nvar _defaultPhrases = require('../defaultPhrases');\n\nvar _getPhrasePropTypes = require('../utils/getPhrasePropTypes');\n\nvar _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);\n\nvar _isInclusivelyAfterDay = require('../utils/isInclusivelyAfterDay');\n\nvar _isInclusivelyAfterDay2 = _interopRequireDefault(_isInclusivelyAfterDay);\n\nvar _isNextDay = require('../utils/isNextDay');\n\nvar _isNextDay2 = _interopRequireDefault(_isNextDay);\n\nvar _isSameDay = require('../utils/isSameDay');\n\nvar _isSameDay2 = _interopRequireDefault(_isSameDay);\n\nvar _isAfterDay = require('../utils/isAfterDay');\n\nvar _isAfterDay2 = _interopRequireDefault(_isAfterDay);\n\nvar _isBeforeDay = require('../utils/isBeforeDay');\n\nvar _isBeforeDay2 = _interopRequireDefault(_isBeforeDay);\n\nvar _getVisibleDays = require('../utils/getVisibleDays');\n\nvar _getVisibleDays2 = _interopRequireDefault(_getVisibleDays);\n\nvar _isDayVisible = require('../utils/isDayVisible');\n\nvar _isDayVisible2 = _interopRequireDefault(_isDayVisible);\n\nvar _getSelectedDateOffset = require('../utils/getSelectedDateOffset');\n\nvar _getSelectedDateOffset2 = _interopRequireDefault(_getSelectedDateOffset);\n\nvar _toISODateString = require('../utils/toISODateString');\n\nvar _toISODateString2 = _interopRequireDefault(_toISODateString);\n\nvar _toISOMonthString = require('../utils/toISOMonthString');\n\nvar _toISOMonthString2 = _interopRequireDefault(_toISOMonthString);\n\nvar _DisabledShape = require('../shapes/DisabledShape');\n\nvar _DisabledShape2 = _interopRequireDefault(_DisabledShape);\n\nvar _FocusedInputShape = require('../shapes/FocusedInputShape');\n\nvar _FocusedInputShape2 = _interopRequireDefault(_FocusedInputShape);\n\nvar _ScrollableOrientationShape = require('../shapes/ScrollableOrientationShape');\n\nvar _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);\n\nvar _DayOfWeekShape = require('../shapes/DayOfWeekShape');\n\nvar _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape);\n\nvar _CalendarInfoPositionShape = require('../shapes/CalendarInfoPositionShape');\n\nvar _CalendarInfoPositionShape2 = _interopRequireDefault(_CalendarInfoPositionShape);\n\nvar _constants = require('../constants');\n\nvar _DayPicker = require('./DayPicker');\n\nvar _DayPicker2 = _interopRequireDefault(_DayPicker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)({\n startDate: _reactMomentProptypes2['default'].momentObj,\n endDate: _reactMomentProptypes2['default'].momentObj,\n onDatesChange: _propTypes2['default'].func,\n startDateOffset: _propTypes2['default'].func,\n endDateOffset: _propTypes2['default'].func,\n\n focusedInput: _FocusedInputShape2['default'],\n onFocusChange: _propTypes2['default'].func,\n onClose: _propTypes2['default'].func,\n\n keepOpenOnDateSelect: _propTypes2['default'].bool,\n minimumNights: _propTypes2['default'].number,\n disabled: _DisabledShape2['default'],\n isOutsideRange: _propTypes2['default'].func,\n isDayBlocked: _propTypes2['default'].func,\n isDayHighlighted: _propTypes2['default'].func,\n\n // DayPicker props\n renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),\n renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),\n enableOutsideDays: _propTypes2['default'].bool,\n numberOfMonths: _propTypes2['default'].number,\n orientation: _ScrollableOrientationShape2['default'],\n withPortal: _propTypes2['default'].bool,\n initialVisibleMonth: _propTypes2['default'].func,\n hideKeyboardShortcutsPanel: _propTypes2['default'].bool,\n daySize: _airbnbPropTypes.nonNegativeInteger,\n noBorder: _propTypes2['default'].bool,\n verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger,\n horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,\n\n navPrev: _propTypes2['default'].node,\n navNext: _propTypes2['default'].node,\n noNavButtons: _propTypes2['default'].bool,\n\n onPrevMonthClick: _propTypes2['default'].func,\n onNextMonthClick: _propTypes2['default'].func,\n onOutsideClick: _propTypes2['default'].func,\n renderCalendarDay: _propTypes2['default'].func,\n renderDayContents: _propTypes2['default'].func,\n renderCalendarInfo: _propTypes2['default'].func,\n calendarInfoPosition: _CalendarInfoPositionShape2['default'],\n firstDayOfWeek: _DayOfWeekShape2['default'],\n verticalHeight: _airbnbPropTypes.nonNegativeInteger,\n transitionDuration: _airbnbPropTypes.nonNegativeInteger,\n\n // accessibility\n onBlur: _propTypes2['default'].func,\n isFocused: _propTypes2['default'].bool,\n showKeyboardShortcuts: _propTypes2['default'].bool,\n\n // i18n\n monthFormat: _propTypes2['default'].string,\n weekDayFormat: _propTypes2['default'].string,\n phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DayPickerPhrases)),\n dayAriaLabelFormat: _propTypes2['default'].string,\n\n isRTL: _propTypes2['default'].bool\n});\n\nvar defaultProps = {\n startDate: undefined, // TODO: use null\n endDate: undefined, // TODO: use null\n onDatesChange: function () {\n function onDatesChange() {}\n\n return onDatesChange;\n }(),\n\n startDateOffset: undefined,\n endDateOffset: undefined,\n\n focusedInput: null,\n onFocusChange: function () {\n function onFocusChange() {}\n\n return onFocusChange;\n }(),\n onClose: function () {\n function onClose() {}\n\n return onClose;\n }(),\n\n\n keepOpenOnDateSelect: false,\n minimumNights: 1,\n disabled: false,\n isOutsideRange: function () {\n function isOutsideRange() {}\n\n return isOutsideRange;\n }(),\n isDayBlocked: function () {\n function isDayBlocked() {}\n\n return isDayBlocked;\n }(),\n isDayHighlighted: function () {\n function isDayHighlighted() {}\n\n return isDayHighlighted;\n }(),\n\n\n // DayPicker props\n renderMonthText: null,\n enableOutsideDays: false,\n numberOfMonths: 1,\n orientation: _constants.HORIZONTAL_ORIENTATION,\n withPortal: false,\n hideKeyboardShortcutsPanel: false,\n initialVisibleMonth: null,\n daySize: _constants.DAY_SIZE,\n\n navPrev: null,\n navNext: null,\n noNavButtons: false,\n\n onPrevMonthClick: function () {\n function onPrevMonthClick() {}\n\n return onPrevMonthClick;\n }(),\n onNextMonthClick: function () {\n function onNextMonthClick() {}\n\n return onNextMonthClick;\n }(),\n onOutsideClick: function () {\n function onOutsideClick() {}\n\n return onOutsideClick;\n }(),\n\n\n renderCalendarDay: undefined,\n renderDayContents: null,\n renderCalendarInfo: null,\n renderMonthElement: null,\n calendarInfoPosition: _constants.INFO_POSITION_BOTTOM,\n firstDayOfWeek: null,\n verticalHeight: null,\n noBorder: false,\n transitionDuration: undefined,\n verticalBorderSpacing: undefined,\n horizontalMonthPadding: 13,\n\n // accessibility\n onBlur: function () {\n function onBlur() {}\n\n return onBlur;\n }(),\n\n isFocused: false,\n showKeyboardShortcuts: false,\n\n // i18n\n monthFormat: 'MMMM YYYY',\n weekDayFormat: 'dd',\n phrases: _defaultPhrases.DayPickerPhrases,\n dayAriaLabelFormat: undefined,\n\n isRTL: false\n};\n\nvar getChooseAvailableDatePhrase = function getChooseAvailableDatePhrase(phrases, focusedInput) {\n if (focusedInput === _constants.START_DATE) {\n return phrases.chooseAvailableStartDate;\n }\n if (focusedInput === _constants.END_DATE) {\n return phrases.chooseAvailableEndDate;\n }\n return phrases.chooseAvailableDate;\n};\n\nvar DayPickerRangeController = function (_React$Component) {\n _inherits(DayPickerRangeController, _React$Component);\n\n function DayPickerRangeController(props) {\n _classCallCheck(this, DayPickerRangeController);\n\n var _this = _possibleConstructorReturn(this, (DayPickerRangeController.__proto__ || Object.getPrototypeOf(DayPickerRangeController)).call(this, props));\n\n _this.isTouchDevice = (0, _isTouchDevice2['default'])();\n _this.today = (0, _moment2['default'])();\n _this.modifiers = {\n today: function () {\n function today(day) {\n return _this.isToday(day);\n }\n\n return today;\n }(),\n blocked: function () {\n function blocked(day) {\n return _this.isBlocked(day);\n }\n\n return blocked;\n }(),\n 'blocked-calendar': function () {\n function blockedCalendar(day) {\n return props.isDayBlocked(day);\n }\n\n return blockedCalendar;\n }(),\n 'blocked-out-of-range': function () {\n function blockedOutOfRange(day) {\n return props.isOutsideRange(day);\n }\n\n return blockedOutOfRange;\n }(),\n 'highlighted-calendar': function () {\n function highlightedCalendar(day) {\n return props.isDayHighlighted(day);\n }\n\n return highlightedCalendar;\n }(),\n valid: function () {\n function valid(day) {\n return !_this.isBlocked(day);\n }\n\n return valid;\n }(),\n 'selected-start': function () {\n function selectedStart(day) {\n return _this.isStartDate(day);\n }\n\n return selectedStart;\n }(),\n 'selected-end': function () {\n function selectedEnd(day) {\n return _this.isEndDate(day);\n }\n\n return selectedEnd;\n }(),\n 'blocked-minimum-nights': function () {\n function blockedMinimumNights(day) {\n return _this.doesNotMeetMinimumNights(day);\n }\n\n return blockedMinimumNights;\n }(),\n 'selected-span': function () {\n function selectedSpan(day) {\n return _this.isInSelectedSpan(day);\n }\n\n return selectedSpan;\n }(),\n 'last-in-range': function () {\n function lastInRange(day) {\n return _this.isLastInRange(day);\n }\n\n return lastInRange;\n }(),\n hovered: function () {\n function hovered(day) {\n return _this.isHovered(day);\n }\n\n return hovered;\n }(),\n 'hovered-span': function () {\n function hoveredSpan(day) {\n return _this.isInHoveredSpan(day);\n }\n\n return hoveredSpan;\n }(),\n 'hovered-offset': function () {\n function hoveredOffset(day) {\n return _this.isInHoveredSpan(day);\n }\n\n return hoveredOffset;\n }(),\n 'after-hovered-start': function () {\n function afterHoveredStart(day) {\n return _this.isDayAfterHoveredStartDate(day);\n }\n\n return afterHoveredStart;\n }(),\n 'first-day-of-week': function () {\n function firstDayOfWeek(day) {\n return _this.isFirstDayOfWeek(day);\n }\n\n return firstDayOfWeek;\n }(),\n 'last-day-of-week': function () {\n function lastDayOfWeek(day) {\n return _this.isLastDayOfWeek(day);\n }\n\n return lastDayOfWeek;\n }()\n };\n\n var _this$getStateForNewM = _this.getStateForNewMonth(props),\n currentMonth = _this$getStateForNewM.currentMonth,\n visibleDays = _this$getStateForNewM.visibleDays;\n\n // initialize phrases\n // set the appropriate CalendarDay phrase based on focusedInput\n\n\n var chooseAvailableDate = getChooseAvailableDatePhrase(props.phrases, props.focusedInput);\n\n _this.state = {\n hoverDate: null,\n currentMonth: currentMonth,\n phrases: (0, _object2['default'])({}, props.phrases, {\n chooseAvailableDate: chooseAvailableDate\n }),\n visibleDays: visibleDays\n };\n\n _this.onDayClick = _this.onDayClick.bind(_this);\n _this.onDayMouseEnter = _this.onDayMouseEnter.bind(_this);\n _this.onDayMouseLeave = _this.onDayMouseLeave.bind(_this);\n _this.onPrevMonthClick = _this.onPrevMonthClick.bind(_this);\n _this.onNextMonthClick = _this.onNextMonthClick.bind(_this);\n _this.onMonthChange = _this.onMonthChange.bind(_this);\n _this.onYearChange = _this.onYearChange.bind(_this);\n _this.onMultiplyScrollableMonths = _this.onMultiplyScrollableMonths.bind(_this);\n _this.getFirstFocusableDay = _this.getFirstFocusableDay.bind(_this);\n return _this;\n }\n\n _createClass(DayPickerRangeController, [{\n key: 'componentWillReceiveProps',\n value: function () {\n function componentWillReceiveProps(nextProps) {\n var _this2 = this;\n\n var startDate = nextProps.startDate,\n endDate = nextProps.endDate,\n focusedInput = nextProps.focusedInput,\n minimumNights = nextProps.minimumNights,\n isOutsideRange = nextProps.isOutsideRange,\n isDayBlocked = nextProps.isDayBlocked,\n isDayHighlighted = nextProps.isDayHighlighted,\n phrases = nextProps.phrases,\n initialVisibleMonth = nextProps.initialVisibleMonth,\n numberOfMonths = nextProps.numberOfMonths,\n enableOutsideDays = nextProps.enableOutsideDays;\n var _props = this.props,\n prevStartDate = _props.startDate,\n prevEndDate = _props.endDate,\n prevFocusedInput = _props.focusedInput,\n prevMinimumNights = _props.minimumNights,\n prevIsOutsideRange = _props.isOutsideRange,\n prevIsDayBlocked = _props.isDayBlocked,\n prevIsDayHighlighted = _props.isDayHighlighted,\n prevPhrases = _props.phrases,\n prevInitialVisibleMonth = _props.initialVisibleMonth,\n prevNumberOfMonths = _props.numberOfMonths,\n prevEnableOutsideDays = _props.enableOutsideDays;\n var visibleDays = this.state.visibleDays;\n\n\n var recomputeOutsideRange = false;\n var recomputeDayBlocked = false;\n var recomputeDayHighlighted = false;\n\n if (isOutsideRange !== prevIsOutsideRange) {\n this.modifiers['blocked-out-of-range'] = function (day) {\n return isOutsideRange(day);\n };\n recomputeOutsideRange = true;\n }\n\n if (isDayBlocked !== prevIsDayBlocked) {\n this.modifiers['blocked-calendar'] = function (day) {\n return isDayBlocked(day);\n };\n recomputeDayBlocked = true;\n }\n\n if (isDayHighlighted !== prevIsDayHighlighted) {\n this.modifiers['highlighted-calendar'] = function (day) {\n return isDayHighlighted(day);\n };\n recomputeDayHighlighted = true;\n }\n\n var recomputePropModifiers = recomputeOutsideRange || recomputeDayBlocked || recomputeDayHighlighted;\n\n var didStartDateChange = startDate !== prevStartDate;\n var didEndDateChange = endDate !== prevEndDate;\n var didFocusChange = focusedInput !== prevFocusedInput;\n\n if (numberOfMonths !== prevNumberOfMonths || enableOutsideDays !== prevEnableOutsideDays || initialVisibleMonth !== prevInitialVisibleMonth && !prevFocusedInput && didFocusChange) {\n var newMonthState = this.getStateForNewMonth(nextProps);\n var currentMonth = newMonthState.currentMonth;\n visibleDays = newMonthState.visibleDays;\n\n this.setState({\n currentMonth: currentMonth,\n visibleDays: visibleDays\n });\n }\n\n var modifiers = {};\n\n if (didStartDateChange) {\n modifiers = this.deleteModifier(modifiers, prevStartDate, 'selected-start');\n modifiers = this.addModifier(modifiers, startDate, 'selected-start');\n\n if (prevStartDate) {\n var startSpan = prevStartDate.clone().add(1, 'day');\n var endSpan = prevStartDate.clone().add(prevMinimumNights + 1, 'days');\n modifiers = this.deleteModifierFromRange(modifiers, startSpan, endSpan, 'after-hovered-start');\n }\n }\n\n if (didEndDateChange) {\n modifiers = this.deleteModifier(modifiers, prevEndDate, 'selected-end');\n modifiers = this.addModifier(modifiers, endDate, 'selected-end');\n }\n\n if (didStartDateChange || didEndDateChange) {\n if (prevStartDate && prevEndDate) {\n modifiers = this.deleteModifierFromRange(modifiers, prevStartDate, prevEndDate.clone().add(1, 'day'), 'selected-span');\n }\n\n if (startDate && endDate) {\n modifiers = this.deleteModifierFromRange(modifiers, startDate, endDate.clone().add(1, 'day'), 'hovered-span');\n\n modifiers = this.addModifierToRange(modifiers, startDate.clone().add(1, 'day'), endDate, 'selected-span');\n }\n }\n\n if (!this.isTouchDevice && didStartDateChange && startDate && !endDate) {\n var _startSpan = startDate.clone().add(1, 'day');\n var _endSpan = startDate.clone().add(minimumNights + 1, 'days');\n modifiers = this.addModifierToRange(modifiers, _startSpan, _endSpan, 'after-hovered-start');\n }\n\n if (prevMinimumNights > 0) {\n if (didFocusChange || didStartDateChange || minimumNights !== prevMinimumNights) {\n var _startSpan2 = prevStartDate || this.today;\n modifiers = this.deleteModifierFromRange(modifiers, _startSpan2, _startSpan2.clone().add(prevMinimumNights, 'days'), 'blocked-minimum-nights');\n\n modifiers = this.deleteModifierFromRange(modifiers, _startSpan2, _startSpan2.clone().add(prevMinimumNights, 'days'), 'blocked');\n }\n }\n\n if (didFocusChange || recomputePropModifiers) {\n (0, _object4['default'])(visibleDays).forEach(function (days) {\n Object.keys(days).forEach(function (day) {\n var momentObj = (0, _moment2['default'])(day);\n var isBlocked = false;\n\n if (didFocusChange || recomputeOutsideRange) {\n if (isOutsideRange(momentObj)) {\n modifiers = _this2.addModifier(modifiers, momentObj, 'blocked-out-of-range');\n isBlocked = true;\n } else {\n modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked-out-of-range');\n }\n }\n\n if (didFocusChange || recomputeDayBlocked) {\n if (isDayBlocked(momentObj)) {\n modifiers = _this2.addModifier(modifiers, momentObj, 'blocked-calendar');\n isBlocked = true;\n } else {\n modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked-calendar');\n }\n }\n\n if (isBlocked) {\n modifiers = _this2.addModifier(modifiers, momentObj, 'blocked');\n } else {\n modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked');\n }\n\n if (didFocusChange || recomputeDayHighlighted) {\n if (isDayHighlighted(momentObj)) {\n modifiers = _this2.addModifier(modifiers, momentObj, 'highlighted-calendar');\n } else {\n modifiers = _this2.deleteModifier(modifiers, momentObj, 'highlighted-calendar');\n }\n }\n });\n });\n }\n\n if (minimumNights > 0 && startDate && focusedInput === _constants.END_DATE) {\n modifiers = this.addModifierToRange(modifiers, startDate, startDate.clone().add(minimumNights, 'days'), 'blocked-minimum-nights');\n\n modifiers = this.addModifierToRange(modifiers, startDate, startDate.clone().add(minimumNights, 'days'), 'blocked');\n }\n\n var today = (0, _moment2['default'])();\n if (!(0, _isSameDay2['default'])(this.today, today)) {\n modifiers = this.deleteModifier(modifiers, this.today, 'today');\n modifiers = this.addModifier(modifiers, today, 'today');\n this.today = today;\n }\n\n if (Object.keys(modifiers).length > 0) {\n this.setState({\n visibleDays: (0, _object2['default'])({}, visibleDays, modifiers)\n });\n }\n\n if (didFocusChange || phrases !== prevPhrases) {\n // set the appropriate CalendarDay phrase based on focusedInput\n var chooseAvailableDate = getChooseAvailableDatePhrase(phrases, focusedInput);\n\n this.setState({\n phrases: (0, _object2['default'])({}, phrases, {\n chooseAvailableDate: chooseAvailableDate\n })\n });\n }\n }\n\n return componentWillReceiveProps;\n }()\n }, {\n key: 'onDayClick',\n value: function () {\n function onDayClick(day, e) {\n var _props2 = this.props,\n keepOpenOnDateSelect = _props2.keepOpenOnDateSelect,\n minimumNights = _props2.minimumNights,\n onBlur = _props2.onBlur,\n focusedInput = _props2.focusedInput,\n onFocusChange = _props2.onFocusChange,\n onClose = _props2.onClose,\n onDatesChange = _props2.onDatesChange,\n startDateOffset = _props2.startDateOffset,\n endDateOffset = _props2.endDateOffset,\n disabled = _props2.disabled;\n\n\n if (e) e.preventDefault();\n if (this.isBlocked(day)) return;\n\n var _props3 = this.props,\n startDate = _props3.startDate,\n endDate = _props3.endDate;\n\n\n if (startDateOffset || endDateOffset) {\n startDate = (0, _getSelectedDateOffset2['default'])(startDateOffset, day);\n endDate = (0, _getSelectedDateOffset2['default'])(endDateOffset, day);\n\n if (!keepOpenOnDateSelect) {\n onFocusChange(null);\n onClose({ startDate: startDate, endDate: endDate });\n }\n } else if (focusedInput === _constants.START_DATE) {\n var lastAllowedStartDate = endDate && endDate.clone().subtract(minimumNights, 'days');\n var isStartDateAfterEndDate = (0, _isBeforeDay2['default'])(lastAllowedStartDate, day) || (0, _isAfterDay2['default'])(startDate, endDate);\n var isEndDateDisabled = disabled === _constants.END_DATE;\n\n if (!isEndDateDisabled || !isStartDateAfterEndDate) {\n startDate = day;\n if (isStartDateAfterEndDate) {\n endDate = null;\n }\n }\n\n if (isEndDateDisabled && !isStartDateAfterEndDate) {\n onFocusChange(null);\n onClose({ startDate: startDate, endDate: endDate });\n } else if (!isEndDateDisabled) {\n onFocusChange(_constants.END_DATE);\n }\n } else if (focusedInput === _constants.END_DATE) {\n var firstAllowedEndDate = startDate && startDate.clone().add(minimumNights, 'days');\n\n if (!startDate) {\n endDate = day;\n onFocusChange(_constants.START_DATE);\n } else if ((0, _isInclusivelyAfterDay2['default'])(day, firstAllowedEndDate)) {\n endDate = day;\n if (!keepOpenOnDateSelect) {\n onFocusChange(null);\n onClose({ startDate: startDate, endDate: endDate });\n }\n } else if (disabled !== _constants.START_DATE) {\n startDate = day;\n endDate = null;\n }\n }\n\n onDatesChange({ startDate: startDate, endDate: endDate });\n onBlur();\n }\n\n return onDayClick;\n }()\n }, {\n key: 'onDayMouseEnter',\n value: function () {\n function onDayMouseEnter(day) {\n /* eslint react/destructuring-assignment: 1 */\n if (this.isTouchDevice) return;\n var _props4 = this.props,\n startDate = _props4.startDate,\n endDate = _props4.endDate,\n focusedInput = _props4.focusedInput,\n minimumNights = _props4.minimumNights,\n startDateOffset = _props4.startDateOffset,\n endDateOffset = _props4.endDateOffset;\n var _state = this.state,\n hoverDate = _state.hoverDate,\n visibleDays = _state.visibleDays;\n\n var dateOffset = null;\n\n if (focusedInput) {\n var hasOffset = startDateOffset || endDateOffset;\n var modifiers = {};\n\n if (hasOffset) {\n var start = (0, _getSelectedDateOffset2['default'])(startDateOffset, day);\n var end = (0, _getSelectedDateOffset2['default'])(endDateOffset, day, function (rangeDay) {\n return rangeDay.add(1, 'day');\n });\n\n dateOffset = {\n start: start,\n end: end\n };\n\n // eslint-disable-next-line react/destructuring-assignment\n if (this.state.dateOffset && this.state.dateOffset.start && this.state.dateOffset.end) {\n modifiers = this.deleteModifierFromRange(modifiers, this.state.dateOffset.start, this.state.dateOffset.end, 'hovered-offset');\n }\n modifiers = this.addModifierToRange(modifiers, start, end, 'hovered-offset');\n }\n\n if (!hasOffset) {\n modifiers = this.deleteModifier(modifiers, hoverDate, 'hovered');\n modifiers = this.addModifier(modifiers, day, 'hovered');\n\n if (startDate && !endDate && focusedInput === _constants.END_DATE) {\n if ((0, _isAfterDay2['default'])(hoverDate, startDate)) {\n var endSpan = hoverDate.clone().add(1, 'day');\n modifiers = this.deleteModifierFromRange(modifiers, startDate, endSpan, 'hovered-span');\n }\n\n if (!this.isBlocked(day) && (0, _isAfterDay2['default'])(day, startDate)) {\n var _endSpan2 = day.clone().add(1, 'day');\n modifiers = this.addModifierToRange(modifiers, startDate, _endSpan2, 'hovered-span');\n }\n }\n\n if (!startDate && endDate && focusedInput === _constants.START_DATE) {\n if ((0, _isBeforeDay2['default'])(hoverDate, endDate)) {\n modifiers = this.deleteModifierFromRange(modifiers, hoverDate, endDate, 'hovered-span');\n }\n\n if (!this.isBlocked(day) && (0, _isBeforeDay2['default'])(day, endDate)) {\n modifiers = this.addModifierToRange(modifiers, day, endDate, 'hovered-span');\n }\n }\n\n if (startDate) {\n var startSpan = startDate.clone().add(1, 'day');\n var _endSpan3 = startDate.clone().add(minimumNights + 1, 'days');\n modifiers = this.deleteModifierFromRange(modifiers, startSpan, _endSpan3, 'after-hovered-start');\n\n if ((0, _isSameDay2['default'])(day, startDate)) {\n var newStartSpan = startDate.clone().add(1, 'day');\n var newEndSpan = startDate.clone().add(minimumNights + 1, 'days');\n modifiers = this.addModifierToRange(modifiers, newStartSpan, newEndSpan, 'after-hovered-start');\n }\n }\n }\n\n this.setState({\n hoverDate: day,\n dateOffset: dateOffset,\n visibleDays: (0, _object2['default'])({}, visibleDays, modifiers)\n });\n }\n }\n\n return onDayMouseEnter;\n }()\n }, {\n key: 'onDayMouseLeave',\n value: function () {\n function onDayMouseLeave(day) {\n var _props5 = this.props,\n startDate = _props5.startDate,\n endDate = _props5.endDate,\n minimumNights = _props5.minimumNights;\n var _state2 = this.state,\n hoverDate = _state2.hoverDate,\n visibleDays = _state2.visibleDays,\n dateOffset = _state2.dateOffset;\n\n if (this.isTouchDevice || !hoverDate) return;\n\n var modifiers = {};\n modifiers = this.deleteModifier(modifiers, hoverDate, 'hovered');\n\n if (dateOffset) {\n modifiers = this.deleteModifierFromRange(modifiers, this.state.dateOffset.start, this.state.dateOffset.end, 'hovered-offset');\n }\n\n if (startDate && !endDate && (0, _isAfterDay2['default'])(hoverDate, startDate)) {\n var endSpan = hoverDate.clone().add(1, 'day');\n modifiers = this.deleteModifierFromRange(modifiers, startDate, endSpan, 'hovered-span');\n }\n\n if (!startDate && endDate && (0, _isAfterDay2['default'])(endDate, hoverDate)) {\n modifiers = this.deleteModifierFromRange(modifiers, hoverDate, endDate, 'hovered-span');\n }\n\n if (startDate && (0, _isSameDay2['default'])(day, startDate)) {\n var startSpan = startDate.clone().add(1, 'day');\n var _endSpan4 = startDate.clone().add(minimumNights + 1, 'days');\n modifiers = this.deleteModifierFromRange(modifiers, startSpan, _endSpan4, 'after-hovered-start');\n }\n\n this.setState({\n hoverDate: null,\n visibleDays: (0, _object2['default'])({}, visibleDays, modifiers)\n });\n }\n\n return onDayMouseLeave;\n }()\n }, {\n key: 'onPrevMonthClick',\n value: function () {\n function onPrevMonthClick() {\n var _props6 = this.props,\n onPrevMonthClick = _props6.onPrevMonthClick,\n numberOfMonths = _props6.numberOfMonths,\n enableOutsideDays = _props6.enableOutsideDays;\n var _state3 = this.state,\n currentMonth = _state3.currentMonth,\n visibleDays = _state3.visibleDays;\n\n\n var newVisibleDays = {};\n Object.keys(visibleDays).sort().slice(0, numberOfMonths + 1).forEach(function (month) {\n newVisibleDays[month] = visibleDays[month];\n });\n\n var prevMonth = currentMonth.clone().subtract(2, 'months');\n var prevMonthVisibleDays = (0, _getVisibleDays2['default'])(prevMonth, 1, enableOutsideDays, true);\n\n var newCurrentMonth = currentMonth.clone().subtract(1, 'month');\n this.setState({\n currentMonth: newCurrentMonth,\n visibleDays: (0, _object2['default'])({}, newVisibleDays, this.getModifiers(prevMonthVisibleDays))\n }, function () {\n onPrevMonthClick(newCurrentMonth.clone());\n });\n }\n\n return onPrevMonthClick;\n }()\n }, {\n key: 'onNextMonthClick',\n value: function () {\n function onNextMonthClick() {\n var _props7 = this.props,\n onNextMonthClick = _props7.onNextMonthClick,\n numberOfMonths = _props7.numberOfMonths,\n enableOutsideDays = _props7.enableOutsideDays;\n var _state4 = this.state,\n currentMonth = _state4.currentMonth,\n visibleDays = _state4.visibleDays;\n\n\n var newVisibleDays = {};\n Object.keys(visibleDays).sort().slice(1).forEach(function (month) {\n newVisibleDays[month] = visibleDays[month];\n });\n\n var nextMonth = currentMonth.clone().add(numberOfMonths + 1, 'month');\n var nextMonthVisibleDays = (0, _getVisibleDays2['default'])(nextMonth, 1, enableOutsideDays, true);\n\n var newCurrentMonth = currentMonth.clone().add(1, 'month');\n this.setState({\n currentMonth: newCurrentMonth,\n visibleDays: (0, _object2['default'])({}, newVisibleDays, this.getModifiers(nextMonthVisibleDays))\n }, function () {\n onNextMonthClick(newCurrentMonth.clone());\n });\n }\n\n return onNextMonthClick;\n }()\n }, {\n key: 'onMonthChange',\n value: function () {\n function onMonthChange(newMonth) {\n var _props8 = this.props,\n numberOfMonths = _props8.numberOfMonths,\n enableOutsideDays = _props8.enableOutsideDays,\n orientation = _props8.orientation;\n\n var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n var newVisibleDays = (0, _getVisibleDays2['default'])(newMonth, numberOfMonths, enableOutsideDays, withoutTransitionMonths);\n\n this.setState({\n currentMonth: newMonth.clone(),\n visibleDays: this.getModifiers(newVisibleDays)\n });\n }\n\n return onMonthChange;\n }()\n }, {\n key: 'onYearChange',\n value: function () {\n function onYearChange(newMonth) {\n var _props9 = this.props,\n numberOfMonths = _props9.numberOfMonths,\n enableOutsideDays = _props9.enableOutsideDays,\n orientation = _props9.orientation;\n\n var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n var newVisibleDays = (0, _getVisibleDays2['default'])(newMonth, numberOfMonths, enableOutsideDays, withoutTransitionMonths);\n\n this.setState({\n currentMonth: newMonth.clone(),\n visibleDays: this.getModifiers(newVisibleDays)\n });\n }\n\n return onYearChange;\n }()\n }, {\n key: 'onMultiplyScrollableMonths',\n value: function () {\n function onMultiplyScrollableMonths() {\n var _props10 = this.props,\n numberOfMonths = _props10.numberOfMonths,\n enableOutsideDays = _props10.enableOutsideDays;\n var _state5 = this.state,\n currentMonth = _state5.currentMonth,\n visibleDays = _state5.visibleDays;\n\n\n var numberOfVisibleMonths = Object.keys(visibleDays).length;\n var nextMonth = currentMonth.clone().add(numberOfVisibleMonths, 'month');\n var newVisibleDays = (0, _getVisibleDays2['default'])(nextMonth, numberOfMonths, enableOutsideDays, true);\n\n this.setState({\n visibleDays: (0, _object2['default'])({}, visibleDays, this.getModifiers(newVisibleDays))\n });\n }\n\n return onMultiplyScrollableMonths;\n }()\n }, {\n key: 'getFirstFocusableDay',\n value: function () {\n function getFirstFocusableDay(newMonth) {\n var _this3 = this;\n\n var _props11 = this.props,\n startDate = _props11.startDate,\n endDate = _props11.endDate,\n focusedInput = _props11.focusedInput,\n minimumNights = _props11.minimumNights,\n numberOfMonths = _props11.numberOfMonths;\n\n\n var focusedDate = newMonth.clone().startOf('month');\n if (focusedInput === _constants.START_DATE && startDate) {\n focusedDate = startDate.clone();\n } else if (focusedInput === _constants.END_DATE && !endDate && startDate) {\n focusedDate = startDate.clone().add(minimumNights, 'days');\n } else if (focusedInput === _constants.END_DATE && endDate) {\n focusedDate = endDate.clone();\n }\n\n if (this.isBlocked(focusedDate)) {\n var days = [];\n var lastVisibleDay = newMonth.clone().add(numberOfMonths - 1, 'months').endOf('month');\n var currentDay = focusedDate.clone();\n while (!(0, _isAfterDay2['default'])(currentDay, lastVisibleDay)) {\n currentDay = currentDay.clone().add(1, 'day');\n days.push(currentDay);\n }\n\n var viableDays = days.filter(function (day) {\n return !_this3.isBlocked(day);\n });\n\n if (viableDays.length > 0) {\n var _viableDays = _slicedToArray(viableDays, 1);\n\n focusedDate = _viableDays[0];\n }\n }\n\n return focusedDate;\n }\n\n return getFirstFocusableDay;\n }()\n }, {\n key: 'getModifiers',\n value: function () {\n function getModifiers(visibleDays) {\n var _this4 = this;\n\n var modifiers = {};\n Object.keys(visibleDays).forEach(function (month) {\n modifiers[month] = {};\n visibleDays[month].forEach(function (day) {\n modifiers[month][(0, _toISODateString2['default'])(day)] = _this4.getModifiersForDay(day);\n });\n });\n\n return modifiers;\n }\n\n return getModifiers;\n }()\n }, {\n key: 'getModifiersForDay',\n value: function () {\n function getModifiersForDay(day) {\n var _this5 = this;\n\n return new Set(Object.keys(this.modifiers).filter(function (modifier) {\n return _this5.modifiers[modifier](day);\n }));\n }\n\n return getModifiersForDay;\n }()\n }, {\n key: 'getStateForNewMonth',\n value: function () {\n function getStateForNewMonth(nextProps) {\n var _this6 = this;\n\n var initialVisibleMonth = nextProps.initialVisibleMonth,\n numberOfMonths = nextProps.numberOfMonths,\n enableOutsideDays = nextProps.enableOutsideDays,\n orientation = nextProps.orientation,\n startDate = nextProps.startDate;\n\n var initialVisibleMonthThunk = initialVisibleMonth || (startDate ? function () {\n return startDate;\n } : function () {\n return _this6.today;\n });\n var currentMonth = initialVisibleMonthThunk();\n var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n var visibleDays = this.getModifiers((0, _getVisibleDays2['default'])(currentMonth, numberOfMonths, enableOutsideDays, withoutTransitionMonths));\n return { currentMonth: currentMonth, visibleDays: visibleDays };\n }\n\n return getStateForNewMonth;\n }()\n }, {\n key: 'addModifier',\n value: function () {\n function addModifier(updatedDays, day, modifier) {\n var _props12 = this.props,\n numberOfVisibleMonths = _props12.numberOfMonths,\n enableOutsideDays = _props12.enableOutsideDays,\n orientation = _props12.orientation;\n var _state6 = this.state,\n firstVisibleMonth = _state6.currentMonth,\n visibleDays = _state6.visibleDays;\n\n\n var currentMonth = firstVisibleMonth;\n var numberOfMonths = numberOfVisibleMonths;\n if (orientation === _constants.VERTICAL_SCROLLABLE) {\n numberOfMonths = Object.keys(visibleDays).length;\n } else {\n currentMonth = currentMonth.clone().subtract(1, 'month');\n numberOfMonths += 2;\n }\n if (!day || !(0, _isDayVisible2['default'])(day, currentMonth, numberOfMonths, enableOutsideDays)) {\n return updatedDays;\n }\n\n var iso = (0, _toISODateString2['default'])(day);\n\n var updatedDaysAfterAddition = (0, _object2['default'])({}, updatedDays);\n if (enableOutsideDays) {\n var monthsToUpdate = Object.keys(visibleDays).filter(function (monthKey) {\n return Object.keys(visibleDays[monthKey]).indexOf(iso) > -1;\n });\n\n updatedDaysAfterAddition = monthsToUpdate.reduce(function (days, monthIso) {\n var month = updatedDays[monthIso] || visibleDays[monthIso];\n var modifiers = new Set(month[iso]);\n modifiers.add(modifier);\n return (0, _object2['default'])({}, days, _defineProperty({}, monthIso, (0, _object2['default'])({}, month, _defineProperty({}, iso, modifiers))));\n }, updatedDaysAfterAddition);\n } else {\n var monthIso = (0, _toISOMonthString2['default'])(day);\n var month = updatedDays[monthIso] || visibleDays[monthIso];\n\n var modifiers = new Set(month[iso]);\n modifiers.add(modifier);\n updatedDaysAfterAddition = (0, _object2['default'])({}, updatedDaysAfterAddition, _defineProperty({}, monthIso, (0, _object2['default'])({}, month, _defineProperty({}, iso, modifiers))));\n }\n\n return updatedDaysAfterAddition;\n }\n\n return addModifier;\n }()\n }, {\n key: 'addModifierToRange',\n value: function () {\n function addModifierToRange(updatedDays, start, end, modifier) {\n var days = updatedDays;\n\n var spanStart = start.clone();\n while ((0, _isBeforeDay2['default'])(spanStart, end)) {\n days = this.addModifier(days, spanStart, modifier);\n spanStart = spanStart.clone().add(1, 'day');\n }\n\n return days;\n }\n\n return addModifierToRange;\n }()\n }, {\n key: 'deleteModifier',\n value: function () {\n function deleteModifier(updatedDays, day, modifier) {\n var _props13 = this.props,\n numberOfVisibleMonths = _props13.numberOfMonths,\n enableOutsideDays = _props13.enableOutsideDays,\n orientation = _props13.orientation;\n var _state7 = this.state,\n firstVisibleMonth = _state7.currentMonth,\n visibleDays = _state7.visibleDays;\n\n var currentMonth = firstVisibleMonth;\n var numberOfMonths = numberOfVisibleMonths;\n if (orientation === _constants.VERTICAL_SCROLLABLE) {\n numberOfMonths = Object.keys(visibleDays).length;\n } else {\n currentMonth = currentMonth.clone().subtract(1, 'month');\n numberOfMonths += 2;\n }\n if (!day || !(0, _isDayVisible2['default'])(day, currentMonth, numberOfMonths, enableOutsideDays)) {\n return updatedDays;\n }\n\n var iso = (0, _toISODateString2['default'])(day);\n\n var updatedDaysAfterDeletion = (0, _object2['default'])({}, updatedDays);\n if (enableOutsideDays) {\n var monthsToUpdate = Object.keys(visibleDays).filter(function (monthKey) {\n return Object.keys(visibleDays[monthKey]).indexOf(iso) > -1;\n });\n\n updatedDaysAfterDeletion = monthsToUpdate.reduce(function (days, monthIso) {\n var month = updatedDays[monthIso] || visibleDays[monthIso];\n var modifiers = new Set(month[iso]);\n modifiers['delete'](modifier);\n return (0, _object2['default'])({}, days, _defineProperty({}, monthIso, (0, _object2['default'])({}, month, _defineProperty({}, iso, modifiers))));\n }, updatedDaysAfterDeletion);\n } else {\n var monthIso = (0, _toISOMonthString2['default'])(day);\n var month = updatedDays[monthIso] || visibleDays[monthIso];\n\n var modifiers = new Set(month[iso]);\n modifiers['delete'](modifier);\n updatedDaysAfterDeletion = (0, _object2['default'])({}, updatedDaysAfterDeletion, _defineProperty({}, monthIso, (0, _object2['default'])({}, month, _defineProperty({}, iso, modifiers))));\n }\n\n return updatedDaysAfterDeletion;\n }\n\n return deleteModifier;\n }()\n }, {\n key: 'deleteModifierFromRange',\n value: function () {\n function deleteModifierFromRange(updatedDays, start, end, modifier) {\n var days = updatedDays;\n\n var spanStart = start.clone();\n while ((0, _isBeforeDay2['default'])(spanStart, end)) {\n days = this.deleteModifier(days, spanStart, modifier);\n spanStart = spanStart.clone().add(1, 'day');\n }\n\n return days;\n }\n\n return deleteModifierFromRange;\n }()\n }, {\n key: 'doesNotMeetMinimumNights',\n value: function () {\n function doesNotMeetMinimumNights(day) {\n var _props14 = this.props,\n startDate = _props14.startDate,\n isOutsideRange = _props14.isOutsideRange,\n focusedInput = _props14.focusedInput,\n minimumNights = _props14.minimumNights;\n\n if (focusedInput !== _constants.END_DATE) return false;\n\n if (startDate) {\n var dayDiff = day.diff(startDate.clone().startOf('day').hour(12), 'days');\n return dayDiff < minimumNights && dayDiff >= 0;\n }\n return isOutsideRange((0, _moment2['default'])(day).subtract(minimumNights, 'days'));\n }\n\n return doesNotMeetMinimumNights;\n }()\n }, {\n key: 'isDayAfterHoveredStartDate',\n value: function () {\n function isDayAfterHoveredStartDate(day) {\n var _props15 = this.props,\n startDate = _props15.startDate,\n endDate = _props15.endDate,\n minimumNights = _props15.minimumNights;\n\n var _ref = this.state || {},\n hoverDate = _ref.hoverDate;\n\n return !!startDate && !endDate && !this.isBlocked(day) && (0, _isNextDay2['default'])(hoverDate, day) && minimumNights > 0 && (0, _isSameDay2['default'])(hoverDate, startDate);\n }\n\n return isDayAfterHoveredStartDate;\n }()\n }, {\n key: 'isEndDate',\n value: function () {\n function isEndDate(day) {\n var endDate = this.props.endDate;\n\n return (0, _isSameDay2['default'])(day, endDate);\n }\n\n return isEndDate;\n }()\n }, {\n key: 'isHovered',\n value: function () {\n function isHovered(day) {\n var _ref2 = this.state || {},\n hoverDate = _ref2.hoverDate;\n\n var focusedInput = this.props.focusedInput;\n\n return !!focusedInput && (0, _isSameDay2['default'])(day, hoverDate);\n }\n\n return isHovered;\n }()\n }, {\n key: 'isInHoveredSpan',\n value: function () {\n function isInHoveredSpan(day) {\n var _props16 = this.props,\n startDate = _props16.startDate,\n endDate = _props16.endDate;\n\n var _ref3 = this.state || {},\n hoverDate = _ref3.hoverDate;\n\n var isForwardRange = !!startDate && !endDate && (day.isBetween(startDate, hoverDate) || (0, _isSameDay2['default'])(hoverDate, day));\n var isBackwardRange = !!endDate && !startDate && (day.isBetween(hoverDate, endDate) || (0, _isSameDay2['default'])(hoverDate, day));\n\n var isValidDayHovered = hoverDate && !this.isBlocked(hoverDate);\n\n return (isForwardRange || isBackwardRange) && isValidDayHovered;\n }\n\n return isInHoveredSpan;\n }()\n }, {\n key: 'isInSelectedSpan',\n value: function () {\n function isInSelectedSpan(day) {\n var _props17 = this.props,\n startDate = _props17.startDate,\n endDate = _props17.endDate;\n\n return day.isBetween(startDate, endDate);\n }\n\n return isInSelectedSpan;\n }()\n }, {\n key: 'isLastInRange',\n value: function () {\n function isLastInRange(day) {\n var endDate = this.props.endDate;\n\n return this.isInSelectedSpan(day) && (0, _isNextDay2['default'])(day, endDate);\n }\n\n return isLastInRange;\n }()\n }, {\n key: 'isStartDate',\n value: function () {\n function isStartDate(day) {\n var startDate = this.props.startDate;\n\n return (0, _isSameDay2['default'])(day, startDate);\n }\n\n return isStartDate;\n }()\n }, {\n key: 'isBlocked',\n value: function () {\n function isBlocked(day) {\n var _props18 = this.props,\n isDayBlocked = _props18.isDayBlocked,\n isOutsideRange = _props18.isOutsideRange;\n\n return isDayBlocked(day) || isOutsideRange(day) || this.doesNotMeetMinimumNights(day);\n }\n\n return isBlocked;\n }()\n }, {\n key: 'isToday',\n value: function () {\n function isToday(day) {\n return (0, _isSameDay2['default'])(day, this.today);\n }\n\n return isToday;\n }()\n }, {\n key: 'isFirstDayOfWeek',\n value: function () {\n function isFirstDayOfWeek(day) {\n var firstDayOfWeek = this.props.firstDayOfWeek;\n\n return day.day() === (firstDayOfWeek || _moment2['default'].localeData().firstDayOfWeek());\n }\n\n return isFirstDayOfWeek;\n }()\n }, {\n key: 'isLastDayOfWeek',\n value: function () {\n function isLastDayOfWeek(day) {\n var firstDayOfWeek = this.props.firstDayOfWeek;\n\n return day.day() === ((firstDayOfWeek || _moment2['default'].localeData().firstDayOfWeek()) + 6) % 7;\n }\n\n return isLastDayOfWeek;\n }()\n }, {\n key: 'render',\n value: function () {\n function render() {\n var _props19 = this.props,\n numberOfMonths = _props19.numberOfMonths,\n orientation = _props19.orientation,\n monthFormat = _props19.monthFormat,\n renderMonthText = _props19.renderMonthText,\n navPrev = _props19.navPrev,\n navNext = _props19.navNext,\n noNavButtons = _props19.noNavButtons,\n onOutsideClick = _props19.onOutsideClick,\n withPortal = _props19.withPortal,\n enableOutsideDays = _props19.enableOutsideDays,\n firstDayOfWeek = _props19.firstDayOfWeek,\n hideKeyboardShortcutsPanel = _props19.hideKeyboardShortcutsPanel,\n daySize = _props19.daySize,\n focusedInput = _props19.focusedInput,\n renderCalendarDay = _props19.renderCalendarDay,\n renderDayContents = _props19.renderDayContents,\n renderCalendarInfo = _props19.renderCalendarInfo,\n renderMonthElement = _props19.renderMonthElement,\n calendarInfoPosition = _props19.calendarInfoPosition,\n onBlur = _props19.onBlur,\n isFocused = _props19.isFocused,\n showKeyboardShortcuts = _props19.showKeyboardShortcuts,\n isRTL = _props19.isRTL,\n weekDayFormat = _props19.weekDayFormat,\n dayAriaLabelFormat = _props19.dayAriaLabelFormat,\n verticalHeight = _props19.verticalHeight,\n noBorder = _props19.noBorder,\n transitionDuration = _props19.transitionDuration,\n verticalBorderSpacing = _props19.verticalBorderSpacing,\n horizontalMonthPadding = _props19.horizontalMonthPadding;\n var _state8 = this.state,\n currentMonth = _state8.currentMonth,\n phrases = _state8.phrases,\n visibleDays = _state8.visibleDays;\n\n\n return _react2['default'].createElement(_DayPicker2['default'], {\n orientation: orientation,\n enableOutsideDays: enableOutsideDays,\n modifiers: visibleDays,\n numberOfMonths: numberOfMonths,\n onDayClick: this.onDayClick,\n onDayMouseEnter: this.onDayMouseEnter,\n onDayMouseLeave: this.onDayMouseLeave,\n onPrevMonthClick: this.onPrevMonthClick,\n onNextMonthClick: this.onNextMonthClick,\n onMonthChange: this.onMonthChange,\n onYearChange: this.onYearChange,\n onMultiplyScrollableMonths: this.onMultiplyScrollableMonths,\n monthFormat: monthFormat,\n renderMonthText: renderMonthText,\n withPortal: withPortal,\n hidden: !focusedInput,\n initialVisibleMonth: function () {\n function initialVisibleMonth() {\n return currentMonth;\n }\n\n return initialVisibleMonth;\n }(),\n daySize: daySize,\n onOutsideClick: onOutsideClick,\n navPrev: navPrev,\n navNext: navNext,\n noNavButtons: noNavButtons,\n renderCalendarDay: renderCalendarDay,\n renderDayContents: renderDayContents,\n renderCalendarInfo: renderCalendarInfo,\n renderMonthElement: renderMonthElement,\n calendarInfoPosition: calendarInfoPosition,\n firstDayOfWeek: firstDayOfWeek,\n hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,\n isFocused: isFocused,\n getFirstFocusableDay: this.getFirstFocusableDay,\n onBlur: onBlur,\n showKeyboardShortcuts: showKeyboardShortcuts,\n phrases: phrases,\n isRTL: isRTL,\n weekDayFormat: weekDayFormat,\n dayAriaLabelFormat: dayAriaLabelFormat,\n verticalHeight: verticalHeight,\n verticalBorderSpacing: verticalBorderSpacing,\n noBorder: noBorder,\n transitionDuration: transitionDuration,\n horizontalMonthPadding: horizontalMonthPadding\n });\n }\n\n return render;\n }()\n }]);\n\n return DayPickerRangeController;\n}(_react2['default'].Component);\n\nexports['default'] = DayPickerRangeController;\n\n\nDayPickerRangeController.propTypes = propTypes;\nDayPickerRangeController.defaultProps = defaultProps;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _object = require('object.assign');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactMomentProptypes = require('react-moment-proptypes');\n\nvar _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _object3 = require('object.values');\n\nvar _object4 = _interopRequireDefault(_object3);\n\nvar _isTouchDevice = require('is-touch-device');\n\nvar _isTouchDevice2 = _interopRequireDefault(_isTouchDevice);\n\nvar _defaultPhrases = require('../defaultPhrases');\n\nvar _getPhrasePropTypes = require('../utils/getPhrasePropTypes');\n\nvar _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);\n\nvar _isSameDay = require('../utils/isSameDay');\n\nvar _isSameDay2 = _interopRequireDefault(_isSameDay);\n\nvar _isAfterDay = require('../utils/isAfterDay');\n\nvar _isAfterDay2 = _interopRequireDefault(_isAfterDay);\n\nvar _getVisibleDays = require('../utils/getVisibleDays');\n\nvar _getVisibleDays2 = _interopRequireDefault(_getVisibleDays);\n\nvar _isDayVisible = require('../utils/isDayVisible');\n\nvar _isDayVisible2 = _interopRequireDefault(_isDayVisible);\n\nvar _toISODateString = require('../utils/toISODateString');\n\nvar _toISODateString2 = _interopRequireDefault(_toISODateString);\n\nvar _toISOMonthString = require('../utils/toISOMonthString');\n\nvar _toISOMonthString2 = _interopRequireDefault(_toISOMonthString);\n\nvar _ScrollableOrientationShape = require('../shapes/ScrollableOrientationShape');\n\nvar _ScrollableOrientationShape2 = _interopRequireDefault(_ScrollableOrientationShape);\n\nvar _DayOfWeekShape = require('../shapes/DayOfWeekShape');\n\nvar _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape);\n\nvar _CalendarInfoPositionShape = require('../shapes/CalendarInfoPositionShape');\n\nvar _CalendarInfoPositionShape2 = _interopRequireDefault(_CalendarInfoPositionShape);\n\nvar _constants = require('../constants');\n\nvar _DayPicker = require('./DayPicker');\n\nvar _DayPicker2 = _interopRequireDefault(_DayPicker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)({\n date: _reactMomentProptypes2['default'].momentObj,\n onDateChange: _propTypes2['default'].func,\n\n focused: _propTypes2['default'].bool,\n onFocusChange: _propTypes2['default'].func,\n onClose: _propTypes2['default'].func,\n\n keepOpenOnDateSelect: _propTypes2['default'].bool,\n isOutsideRange: _propTypes2['default'].func,\n isDayBlocked: _propTypes2['default'].func,\n isDayHighlighted: _propTypes2['default'].func,\n\n // DayPicker props\n renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),\n renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),\n enableOutsideDays: _propTypes2['default'].bool,\n numberOfMonths: _propTypes2['default'].number,\n orientation: _ScrollableOrientationShape2['default'],\n withPortal: _propTypes2['default'].bool,\n initialVisibleMonth: _propTypes2['default'].func,\n firstDayOfWeek: _DayOfWeekShape2['default'],\n hideKeyboardShortcutsPanel: _propTypes2['default'].bool,\n daySize: _airbnbPropTypes.nonNegativeInteger,\n verticalHeight: _airbnbPropTypes.nonNegativeInteger,\n noBorder: _propTypes2['default'].bool,\n verticalBorderSpacing: _airbnbPropTypes.nonNegativeInteger,\n transitionDuration: _airbnbPropTypes.nonNegativeInteger,\n horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,\n\n navPrev: _propTypes2['default'].node,\n navNext: _propTypes2['default'].node,\n\n onPrevMonthClick: _propTypes2['default'].func,\n onNextMonthClick: _propTypes2['default'].func,\n onOutsideClick: _propTypes2['default'].func,\n renderCalendarDay: _propTypes2['default'].func,\n renderDayContents: _propTypes2['default'].func,\n renderCalendarInfo: _propTypes2['default'].func,\n calendarInfoPosition: _CalendarInfoPositionShape2['default'],\n\n // accessibility\n onBlur: _propTypes2['default'].func,\n isFocused: _propTypes2['default'].bool,\n showKeyboardShortcuts: _propTypes2['default'].bool,\n\n // i18n\n monthFormat: _propTypes2['default'].string,\n weekDayFormat: _propTypes2['default'].string,\n phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DayPickerPhrases)),\n dayAriaLabelFormat: _propTypes2['default'].string,\n\n isRTL: _propTypes2['default'].bool\n});\n\nvar defaultProps = {\n date: undefined, // TODO: use null\n onDateChange: function () {\n function onDateChange() {}\n\n return onDateChange;\n }(),\n\n\n focused: false,\n onFocusChange: function () {\n function onFocusChange() {}\n\n return onFocusChange;\n }(),\n onClose: function () {\n function onClose() {}\n\n return onClose;\n }(),\n\n\n keepOpenOnDateSelect: false,\n isOutsideRange: function () {\n function isOutsideRange() {}\n\n return isOutsideRange;\n }(),\n isDayBlocked: function () {\n function isDayBlocked() {}\n\n return isDayBlocked;\n }(),\n isDayHighlighted: function () {\n function isDayHighlighted() {}\n\n return isDayHighlighted;\n }(),\n\n\n // DayPicker props\n renderMonthText: null,\n enableOutsideDays: false,\n numberOfMonths: 1,\n orientation: _constants.HORIZONTAL_ORIENTATION,\n withPortal: false,\n hideKeyboardShortcutsPanel: false,\n initialVisibleMonth: null,\n firstDayOfWeek: null,\n daySize: _constants.DAY_SIZE,\n verticalHeight: null,\n noBorder: false,\n verticalBorderSpacing: undefined,\n transitionDuration: undefined,\n horizontalMonthPadding: 13,\n\n navPrev: null,\n navNext: null,\n\n onPrevMonthClick: function () {\n function onPrevMonthClick() {}\n\n return onPrevMonthClick;\n }(),\n onNextMonthClick: function () {\n function onNextMonthClick() {}\n\n return onNextMonthClick;\n }(),\n onOutsideClick: function () {\n function onOutsideClick() {}\n\n return onOutsideClick;\n }(),\n\n\n renderCalendarDay: undefined,\n renderDayContents: null,\n renderCalendarInfo: null,\n renderMonthElement: null,\n calendarInfoPosition: _constants.INFO_POSITION_BOTTOM,\n\n // accessibility\n onBlur: function () {\n function onBlur() {}\n\n return onBlur;\n }(),\n\n isFocused: false,\n showKeyboardShortcuts: false,\n\n // i18n\n monthFormat: 'MMMM YYYY',\n weekDayFormat: 'dd',\n phrases: _defaultPhrases.DayPickerPhrases,\n dayAriaLabelFormat: undefined,\n\n isRTL: false\n};\n\nvar DayPickerSingleDateController = function (_React$Component) {\n _inherits(DayPickerSingleDateController, _React$Component);\n\n function DayPickerSingleDateController(props) {\n _classCallCheck(this, DayPickerSingleDateController);\n\n var _this = _possibleConstructorReturn(this, (DayPickerSingleDateController.__proto__ || Object.getPrototypeOf(DayPickerSingleDateController)).call(this, props));\n\n _this.isTouchDevice = false;\n _this.today = (0, _moment2['default'])();\n\n _this.modifiers = {\n today: function () {\n function today(day) {\n return _this.isToday(day);\n }\n\n return today;\n }(),\n blocked: function () {\n function blocked(day) {\n return _this.isBlocked(day);\n }\n\n return blocked;\n }(),\n 'blocked-calendar': function () {\n function blockedCalendar(day) {\n return props.isDayBlocked(day);\n }\n\n return blockedCalendar;\n }(),\n 'blocked-out-of-range': function () {\n function blockedOutOfRange(day) {\n return props.isOutsideRange(day);\n }\n\n return blockedOutOfRange;\n }(),\n 'highlighted-calendar': function () {\n function highlightedCalendar(day) {\n return props.isDayHighlighted(day);\n }\n\n return highlightedCalendar;\n }(),\n valid: function () {\n function valid(day) {\n return !_this.isBlocked(day);\n }\n\n return valid;\n }(),\n hovered: function () {\n function hovered(day) {\n return _this.isHovered(day);\n }\n\n return hovered;\n }(),\n selected: function () {\n function selected(day) {\n return _this.isSelected(day);\n }\n\n return selected;\n }(),\n 'first-day-of-week': function () {\n function firstDayOfWeek(day) {\n return _this.isFirstDayOfWeek(day);\n }\n\n return firstDayOfWeek;\n }(),\n 'last-day-of-week': function () {\n function lastDayOfWeek(day) {\n return _this.isLastDayOfWeek(day);\n }\n\n return lastDayOfWeek;\n }()\n };\n\n var _this$getStateForNewM = _this.getStateForNewMonth(props),\n currentMonth = _this$getStateForNewM.currentMonth,\n visibleDays = _this$getStateForNewM.visibleDays;\n\n _this.state = {\n hoverDate: null,\n currentMonth: currentMonth,\n visibleDays: visibleDays\n };\n\n _this.onDayMouseEnter = _this.onDayMouseEnter.bind(_this);\n _this.onDayMouseLeave = _this.onDayMouseLeave.bind(_this);\n _this.onDayClick = _this.onDayClick.bind(_this);\n\n _this.onPrevMonthClick = _this.onPrevMonthClick.bind(_this);\n _this.onNextMonthClick = _this.onNextMonthClick.bind(_this);\n _this.onMonthChange = _this.onMonthChange.bind(_this);\n _this.onYearChange = _this.onYearChange.bind(_this);\n\n _this.getFirstFocusableDay = _this.getFirstFocusableDay.bind(_this);\n return _this;\n }\n\n _createClass(DayPickerSingleDateController, [{\n key: 'componentDidMount',\n value: function () {\n function componentDidMount() {\n this.isTouchDevice = (0, _isTouchDevice2['default'])();\n }\n\n return componentDidMount;\n }()\n }, {\n key: 'componentWillReceiveProps',\n value: function () {\n function componentWillReceiveProps(nextProps) {\n var _this2 = this;\n\n var date = nextProps.date,\n focused = nextProps.focused,\n isOutsideRange = nextProps.isOutsideRange,\n isDayBlocked = nextProps.isDayBlocked,\n isDayHighlighted = nextProps.isDayHighlighted,\n initialVisibleMonth = nextProps.initialVisibleMonth,\n numberOfMonths = nextProps.numberOfMonths,\n enableOutsideDays = nextProps.enableOutsideDays;\n var _props = this.props,\n prevIsOutsideRange = _props.isOutsideRange,\n prevIsDayBlocked = _props.isDayBlocked,\n prevIsDayHighlighted = _props.isDayHighlighted,\n prevNumberOfMonths = _props.numberOfMonths,\n prevEnableOutsideDays = _props.enableOutsideDays,\n prevInitialVisibleMonth = _props.initialVisibleMonth,\n prevFocused = _props.focused,\n prevDate = _props.date;\n var visibleDays = this.state.visibleDays;\n\n\n var recomputeOutsideRange = false;\n var recomputeDayBlocked = false;\n var recomputeDayHighlighted = false;\n\n if (isOutsideRange !== prevIsOutsideRange) {\n this.modifiers['blocked-out-of-range'] = function (day) {\n return isOutsideRange(day);\n };\n recomputeOutsideRange = true;\n }\n\n if (isDayBlocked !== prevIsDayBlocked) {\n this.modifiers['blocked-calendar'] = function (day) {\n return isDayBlocked(day);\n };\n recomputeDayBlocked = true;\n }\n\n if (isDayHighlighted !== prevIsDayHighlighted) {\n this.modifiers['highlighted-calendar'] = function (day) {\n return isDayHighlighted(day);\n };\n recomputeDayHighlighted = true;\n }\n\n var recomputePropModifiers = recomputeOutsideRange || recomputeDayBlocked || recomputeDayHighlighted;\n\n if (numberOfMonths !== prevNumberOfMonths || enableOutsideDays !== prevEnableOutsideDays || initialVisibleMonth !== prevInitialVisibleMonth && !prevFocused && focused) {\n var newMonthState = this.getStateForNewMonth(nextProps);\n var currentMonth = newMonthState.currentMonth;\n visibleDays = newMonthState.visibleDays;\n\n this.setState({\n currentMonth: currentMonth,\n visibleDays: visibleDays\n });\n }\n\n var didDateChange = date !== prevDate;\n var didFocusChange = focused !== prevFocused;\n\n var modifiers = {};\n\n if (didDateChange) {\n modifiers = this.deleteModifier(modifiers, prevDate, 'selected');\n modifiers = this.addModifier(modifiers, date, 'selected');\n }\n\n if (didFocusChange || recomputePropModifiers) {\n (0, _object4['default'])(visibleDays).forEach(function (days) {\n Object.keys(days).forEach(function (day) {\n var momentObj = (0, _moment2['default'])(day);\n if (_this2.isBlocked(momentObj)) {\n modifiers = _this2.addModifier(modifiers, momentObj, 'blocked');\n } else {\n modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked');\n }\n\n if (didFocusChange || recomputeOutsideRange) {\n if (isOutsideRange(momentObj)) {\n modifiers = _this2.addModifier(modifiers, momentObj, 'blocked-out-of-range');\n } else {\n modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked-out-of-range');\n }\n }\n\n if (didFocusChange || recomputeDayBlocked) {\n if (isDayBlocked(momentObj)) {\n modifiers = _this2.addModifier(modifiers, momentObj, 'blocked-calendar');\n } else {\n modifiers = _this2.deleteModifier(modifiers, momentObj, 'blocked-calendar');\n }\n }\n\n if (didFocusChange || recomputeDayHighlighted) {\n if (isDayHighlighted(momentObj)) {\n modifiers = _this2.addModifier(modifiers, momentObj, 'highlighted-calendar');\n } else {\n modifiers = _this2.deleteModifier(modifiers, momentObj, 'highlighted-calendar');\n }\n }\n });\n });\n }\n\n var today = (0, _moment2['default'])();\n if (!(0, _isSameDay2['default'])(this.today, today)) {\n modifiers = this.deleteModifier(modifiers, this.today, 'today');\n modifiers = this.addModifier(modifiers, today, 'today');\n this.today = today;\n }\n\n if (Object.keys(modifiers).length > 0) {\n this.setState({\n visibleDays: (0, _object2['default'])({}, visibleDays, modifiers)\n });\n }\n }\n\n return componentWillReceiveProps;\n }()\n }, {\n key: 'componentWillUpdate',\n value: function () {\n function componentWillUpdate() {\n this.today = (0, _moment2['default'])();\n }\n\n return componentWillUpdate;\n }()\n }, {\n key: 'onDayClick',\n value: function () {\n function onDayClick(day, e) {\n if (e) e.preventDefault();\n if (this.isBlocked(day)) return;\n var _props2 = this.props,\n onDateChange = _props2.onDateChange,\n keepOpenOnDateSelect = _props2.keepOpenOnDateSelect,\n onFocusChange = _props2.onFocusChange,\n onClose = _props2.onClose;\n\n\n onDateChange(day);\n if (!keepOpenOnDateSelect) {\n onFocusChange({ focused: false });\n onClose({ date: day });\n }\n }\n\n return onDayClick;\n }()\n }, {\n key: 'onDayMouseEnter',\n value: function () {\n function onDayMouseEnter(day) {\n if (this.isTouchDevice) return;\n var _state = this.state,\n hoverDate = _state.hoverDate,\n visibleDays = _state.visibleDays;\n\n\n var modifiers = this.deleteModifier({}, hoverDate, 'hovered');\n modifiers = this.addModifier(modifiers, day, 'hovered');\n\n this.setState({\n hoverDate: day,\n visibleDays: (0, _object2['default'])({}, visibleDays, modifiers)\n });\n }\n\n return onDayMouseEnter;\n }()\n }, {\n key: 'onDayMouseLeave',\n value: function () {\n function onDayMouseLeave() {\n var _state2 = this.state,\n hoverDate = _state2.hoverDate,\n visibleDays = _state2.visibleDays;\n\n if (this.isTouchDevice || !hoverDate) return;\n\n var modifiers = this.deleteModifier({}, hoverDate, 'hovered');\n\n this.setState({\n hoverDate: null,\n visibleDays: (0, _object2['default'])({}, visibleDays, modifiers)\n });\n }\n\n return onDayMouseLeave;\n }()\n }, {\n key: 'onPrevMonthClick',\n value: function () {\n function onPrevMonthClick() {\n var _props3 = this.props,\n onPrevMonthClick = _props3.onPrevMonthClick,\n numberOfMonths = _props3.numberOfMonths,\n enableOutsideDays = _props3.enableOutsideDays;\n var _state3 = this.state,\n currentMonth = _state3.currentMonth,\n visibleDays = _state3.visibleDays;\n\n\n var newVisibleDays = {};\n Object.keys(visibleDays).sort().slice(0, numberOfMonths + 1).forEach(function (month) {\n newVisibleDays[month] = visibleDays[month];\n });\n\n var prevMonth = currentMonth.clone().subtract(1, 'month');\n var prevMonthVisibleDays = (0, _getVisibleDays2['default'])(prevMonth, 1, enableOutsideDays);\n\n this.setState({\n currentMonth: prevMonth,\n visibleDays: (0, _object2['default'])({}, newVisibleDays, this.getModifiers(prevMonthVisibleDays))\n }, function () {\n onPrevMonthClick(prevMonth.clone());\n });\n }\n\n return onPrevMonthClick;\n }()\n }, {\n key: 'onNextMonthClick',\n value: function () {\n function onNextMonthClick() {\n var _props4 = this.props,\n onNextMonthClick = _props4.onNextMonthClick,\n numberOfMonths = _props4.numberOfMonths,\n enableOutsideDays = _props4.enableOutsideDays;\n var _state4 = this.state,\n currentMonth = _state4.currentMonth,\n visibleDays = _state4.visibleDays;\n\n\n var newVisibleDays = {};\n Object.keys(visibleDays).sort().slice(1).forEach(function (month) {\n newVisibleDays[month] = visibleDays[month];\n });\n\n var nextMonth = currentMonth.clone().add(numberOfMonths, 'month');\n var nextMonthVisibleDays = (0, _getVisibleDays2['default'])(nextMonth, 1, enableOutsideDays);\n\n var newCurrentMonth = currentMonth.clone().add(1, 'month');\n this.setState({\n currentMonth: newCurrentMonth,\n visibleDays: (0, _object2['default'])({}, newVisibleDays, this.getModifiers(nextMonthVisibleDays))\n }, function () {\n onNextMonthClick(newCurrentMonth.clone());\n });\n }\n\n return onNextMonthClick;\n }()\n }, {\n key: 'onMonthChange',\n value: function () {\n function onMonthChange(newMonth) {\n var _props5 = this.props,\n numberOfMonths = _props5.numberOfMonths,\n enableOutsideDays = _props5.enableOutsideDays,\n orientation = _props5.orientation;\n\n var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n var newVisibleDays = (0, _getVisibleDays2['default'])(newMonth, numberOfMonths, enableOutsideDays, withoutTransitionMonths);\n\n this.setState({\n currentMonth: newMonth.clone(),\n visibleDays: this.getModifiers(newVisibleDays)\n });\n }\n\n return onMonthChange;\n }()\n }, {\n key: 'onYearChange',\n value: function () {\n function onYearChange(newMonth) {\n var _props6 = this.props,\n numberOfMonths = _props6.numberOfMonths,\n enableOutsideDays = _props6.enableOutsideDays,\n orientation = _props6.orientation;\n\n var withoutTransitionMonths = orientation === _constants.VERTICAL_SCROLLABLE;\n var newVisibleDays = (0, _getVisibleDays2['default'])(newMonth, numberOfMonths, enableOutsideDays, withoutTransitionMonths);\n\n this.setState({\n currentMonth: newMonth.clone(),\n visibleDays: this.getModifiers(newVisibleDays)\n });\n }\n\n return onYearChange;\n }()\n }, {\n key: 'getFirstFocusableDay',\n value: function () {\n function getFirstFocusableDay(newMonth) {\n var _this3 = this;\n\n var _props7 = this.props,\n date = _props7.date,\n numberOfMonths = _props7.numberOfMonths;\n\n\n var focusedDate = newMonth.clone().startOf('month');\n if (date) {\n focusedDate = date.clone();\n }\n\n if (this.isBlocked(focusedDate)) {\n var days = [];\n var lastVisibleDay = newMonth.clone().add(numberOfMonths - 1, 'months').endOf('month');\n var currentDay = focusedDate.clone();\n while (!(0, _isAfterDay2['default'])(currentDay, lastVisibleDay)) {\n currentDay = currentDay.clone().add(1, 'day');\n days.push(currentDay);\n }\n\n var viableDays = days.filter(function (day) {\n return !_this3.isBlocked(day) && (0, _isAfterDay2['default'])(day, focusedDate);\n });\n if (viableDays.length > 0) {\n var _viableDays = _slicedToArray(viableDays, 1);\n\n focusedDate = _viableDays[0];\n }\n }\n\n return focusedDate;\n }\n\n return getFirstFocusableDay;\n }()\n }, {\n key: 'getModifiers',\n value: function () {\n function getModifiers(visibleDays) {\n var _this4 = this;\n\n var modifiers = {};\n Object.keys(visibleDays).forEach(function (month) {\n modifiers[month] = {};\n visibleDays[month].forEach(function (day) {\n modifiers[month][(0, _toISODateString2['default'])(day)] = _this4.getModifiersForDay(day);\n });\n });\n\n return modifiers;\n }\n\n return getModifiers;\n }()\n }, {\n key: 'getModifiersForDay',\n value: function () {\n function getModifiersForDay(day) {\n var _this5 = this;\n\n return new Set(Object.keys(this.modifiers).filter(function (modifier) {\n return _this5.modifiers[modifier](day);\n }));\n }\n\n return getModifiersForDay;\n }()\n }, {\n key: 'getStateForNewMonth',\n value: function () {\n function getStateForNewMonth(nextProps) {\n var _this6 = this;\n\n var initialVisibleMonth = nextProps.initialVisibleMonth,\n date = nextProps.date,\n numberOfMonths = nextProps.numberOfMonths,\n enableOutsideDays = nextProps.enableOutsideDays;\n\n var initialVisibleMonthThunk = initialVisibleMonth || (date ? function () {\n return date;\n } : function () {\n return _this6.today;\n });\n var currentMonth = initialVisibleMonthThunk();\n var visibleDays = this.getModifiers((0, _getVisibleDays2['default'])(currentMonth, numberOfMonths, enableOutsideDays));\n return { currentMonth: currentMonth, visibleDays: visibleDays };\n }\n\n return getStateForNewMonth;\n }()\n }, {\n key: 'addModifier',\n value: function () {\n function addModifier(updatedDays, day, modifier) {\n var _props8 = this.props,\n numberOfVisibleMonths = _props8.numberOfMonths,\n enableOutsideDays = _props8.enableOutsideDays,\n orientation = _props8.orientation;\n var _state5 = this.state,\n firstVisibleMonth = _state5.currentMonth,\n visibleDays = _state5.visibleDays;\n\n\n var currentMonth = firstVisibleMonth;\n var numberOfMonths = numberOfVisibleMonths;\n if (orientation === _constants.VERTICAL_SCROLLABLE) {\n numberOfMonths = Object.keys(visibleDays).length;\n } else {\n currentMonth = currentMonth.clone().subtract(1, 'month');\n numberOfMonths += 2;\n }\n if (!day || !(0, _isDayVisible2['default'])(day, currentMonth, numberOfMonths, enableOutsideDays)) {\n return updatedDays;\n }\n\n var iso = (0, _toISODateString2['default'])(day);\n\n var updatedDaysAfterAddition = (0, _object2['default'])({}, updatedDays);\n if (enableOutsideDays) {\n var monthsToUpdate = Object.keys(visibleDays).filter(function (monthKey) {\n return Object.keys(visibleDays[monthKey]).indexOf(iso) > -1;\n });\n\n updatedDaysAfterAddition = monthsToUpdate.reduce(function (days, monthIso) {\n var month = updatedDays[monthIso] || visibleDays[monthIso];\n var modifiers = new Set(month[iso]);\n modifiers.add(modifier);\n return (0, _object2['default'])({}, days, _defineProperty({}, monthIso, (0, _object2['default'])({}, month, _defineProperty({}, iso, modifiers))));\n }, updatedDaysAfterAddition);\n } else {\n var monthIso = (0, _toISOMonthString2['default'])(day);\n var month = updatedDays[monthIso] || visibleDays[monthIso];\n\n var modifiers = new Set(month[iso]);\n modifiers.add(modifier);\n updatedDaysAfterAddition = (0, _object2['default'])({}, updatedDaysAfterAddition, _defineProperty({}, monthIso, (0, _object2['default'])({}, month, _defineProperty({}, iso, modifiers))));\n }\n\n return updatedDaysAfterAddition;\n }\n\n return addModifier;\n }()\n }, {\n key: 'deleteModifier',\n value: function () {\n function deleteModifier(updatedDays, day, modifier) {\n var _props9 = this.props,\n numberOfVisibleMonths = _props9.numberOfMonths,\n enableOutsideDays = _props9.enableOutsideDays,\n orientation = _props9.orientation;\n var _state6 = this.state,\n firstVisibleMonth = _state6.currentMonth,\n visibleDays = _state6.visibleDays;\n\n\n var currentMonth = firstVisibleMonth;\n var numberOfMonths = numberOfVisibleMonths;\n if (orientation === _constants.VERTICAL_SCROLLABLE) {\n numberOfMonths = Object.keys(visibleDays).length;\n } else {\n currentMonth = currentMonth.clone().subtract(1, 'month');\n numberOfMonths += 2;\n }\n if (!day || !(0, _isDayVisible2['default'])(day, currentMonth, numberOfMonths, enableOutsideDays)) {\n return updatedDays;\n }\n\n var iso = (0, _toISODateString2['default'])(day);\n\n var updatedDaysAfterDeletion = (0, _object2['default'])({}, updatedDays);\n if (enableOutsideDays) {\n var monthsToUpdate = Object.keys(visibleDays).filter(function (monthKey) {\n return Object.keys(visibleDays[monthKey]).indexOf(iso) > -1;\n });\n\n updatedDaysAfterDeletion = monthsToUpdate.reduce(function (days, monthIso) {\n var month = updatedDays[monthIso] || visibleDays[monthIso];\n var modifiers = new Set(month[iso]);\n modifiers['delete'](modifier);\n return (0, _object2['default'])({}, days, _defineProperty({}, monthIso, (0, _object2['default'])({}, month, _defineProperty({}, iso, modifiers))));\n }, updatedDaysAfterDeletion);\n } else {\n var monthIso = (0, _toISOMonthString2['default'])(day);\n var month = updatedDays[monthIso] || visibleDays[monthIso];\n\n var modifiers = new Set(month[iso]);\n modifiers['delete'](modifier);\n updatedDaysAfterDeletion = (0, _object2['default'])({}, updatedDaysAfterDeletion, _defineProperty({}, monthIso, (0, _object2['default'])({}, month, _defineProperty({}, iso, modifiers))));\n }\n\n return updatedDaysAfterDeletion;\n }\n\n return deleteModifier;\n }()\n }, {\n key: 'isBlocked',\n value: function () {\n function isBlocked(day) {\n var _props10 = this.props,\n isDayBlocked = _props10.isDayBlocked,\n isOutsideRange = _props10.isOutsideRange;\n\n return isDayBlocked(day) || isOutsideRange(day);\n }\n\n return isBlocked;\n }()\n }, {\n key: 'isHovered',\n value: function () {\n function isHovered(day) {\n var _ref = this.state || {},\n hoverDate = _ref.hoverDate;\n\n return (0, _isSameDay2['default'])(day, hoverDate);\n }\n\n return isHovered;\n }()\n }, {\n key: 'isSelected',\n value: function () {\n function isSelected(day) {\n var date = this.props.date;\n\n return (0, _isSameDay2['default'])(day, date);\n }\n\n return isSelected;\n }()\n }, {\n key: 'isToday',\n value: function () {\n function isToday(day) {\n return (0, _isSameDay2['default'])(day, this.today);\n }\n\n return isToday;\n }()\n }, {\n key: 'isFirstDayOfWeek',\n value: function () {\n function isFirstDayOfWeek(day) {\n var firstDayOfWeek = this.props.firstDayOfWeek;\n\n return day.day() === (firstDayOfWeek || _moment2['default'].localeData().firstDayOfWeek());\n }\n\n return isFirstDayOfWeek;\n }()\n }, {\n key: 'isLastDayOfWeek',\n value: function () {\n function isLastDayOfWeek(day) {\n var firstDayOfWeek = this.props.firstDayOfWeek;\n\n return day.day() === ((firstDayOfWeek || _moment2['default'].localeData().firstDayOfWeek()) + 6) % 7;\n }\n\n return isLastDayOfWeek;\n }()\n }, {\n key: 'render',\n value: function () {\n function render() {\n var _props11 = this.props,\n numberOfMonths = _props11.numberOfMonths,\n orientation = _props11.orientation,\n monthFormat = _props11.monthFormat,\n renderMonthText = _props11.renderMonthText,\n navPrev = _props11.navPrev,\n navNext = _props11.navNext,\n onOutsideClick = _props11.onOutsideClick,\n withPortal = _props11.withPortal,\n focused = _props11.focused,\n enableOutsideDays = _props11.enableOutsideDays,\n hideKeyboardShortcutsPanel = _props11.hideKeyboardShortcutsPanel,\n daySize = _props11.daySize,\n firstDayOfWeek = _props11.firstDayOfWeek,\n renderCalendarDay = _props11.renderCalendarDay,\n renderDayContents = _props11.renderDayContents,\n renderCalendarInfo = _props11.renderCalendarInfo,\n renderMonthElement = _props11.renderMonthElement,\n calendarInfoPosition = _props11.calendarInfoPosition,\n isFocused = _props11.isFocused,\n isRTL = _props11.isRTL,\n phrases = _props11.phrases,\n dayAriaLabelFormat = _props11.dayAriaLabelFormat,\n onBlur = _props11.onBlur,\n showKeyboardShortcuts = _props11.showKeyboardShortcuts,\n weekDayFormat = _props11.weekDayFormat,\n verticalHeight = _props11.verticalHeight,\n noBorder = _props11.noBorder,\n transitionDuration = _props11.transitionDuration,\n verticalBorderSpacing = _props11.verticalBorderSpacing,\n horizontalMonthPadding = _props11.horizontalMonthPadding;\n var _state7 = this.state,\n currentMonth = _state7.currentMonth,\n visibleDays = _state7.visibleDays;\n\n\n return _react2['default'].createElement(_DayPicker2['default'], {\n orientation: orientation,\n enableOutsideDays: enableOutsideDays,\n modifiers: visibleDays,\n numberOfMonths: numberOfMonths,\n onDayClick: this.onDayClick,\n onDayMouseEnter: this.onDayMouseEnter,\n onDayMouseLeave: this.onDayMouseLeave,\n onPrevMonthClick: this.onPrevMonthClick,\n onNextMonthClick: this.onNextMonthClick,\n onMonthChange: this.onMonthChange,\n onYearChange: this.onYearChange,\n monthFormat: monthFormat,\n withPortal: withPortal,\n hidden: !focused,\n hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,\n initialVisibleMonth: function () {\n function initialVisibleMonth() {\n return currentMonth;\n }\n\n return initialVisibleMonth;\n }(),\n firstDayOfWeek: firstDayOfWeek,\n onOutsideClick: onOutsideClick,\n navPrev: navPrev,\n navNext: navNext,\n renderMonthText: renderMonthText,\n renderCalendarDay: renderCalendarDay,\n renderDayContents: renderDayContents,\n renderCalendarInfo: renderCalendarInfo,\n renderMonthElement: renderMonthElement,\n calendarInfoPosition: calendarInfoPosition,\n isFocused: isFocused,\n getFirstFocusableDay: this.getFirstFocusableDay,\n onBlur: onBlur,\n phrases: phrases,\n daySize: daySize,\n isRTL: isRTL,\n showKeyboardShortcuts: showKeyboardShortcuts,\n weekDayFormat: weekDayFormat,\n dayAriaLabelFormat: dayAriaLabelFormat,\n verticalHeight: verticalHeight,\n noBorder: noBorder,\n transitionDuration: transitionDuration,\n verticalBorderSpacing: verticalBorderSpacing,\n horizontalMonthPadding: horizontalMonthPadding\n });\n }\n\n return render;\n }()\n }]);\n\n return DayPickerSingleDateController;\n}(_react2['default'].Component);\n\nexports['default'] = DayPickerSingleDateController;\n\n\nDayPickerSingleDateController.propTypes = propTypes;\nDayPickerSingleDateController.defaultProps = defaultProps;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _object = require('object.assign');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _reactWithStyles = require('react-with-styles');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {\n unicode: _propTypes2['default'].string.isRequired,\n label: _propTypes2['default'].string.isRequired,\n action: _propTypes2['default'].string.isRequired,\n block: _propTypes2['default'].bool\n}));\n\nvar defaultProps = {\n block: false\n};\n\nfunction KeyboardShortcutRow(_ref) {\n var unicode = _ref.unicode,\n label = _ref.label,\n action = _ref.action,\n block = _ref.block,\n styles = _ref.styles;\n\n return _react2['default'].createElement(\n 'li',\n (0, _reactWithStyles.css)(styles.KeyboardShortcutRow, block && styles.KeyboardShortcutRow__block),\n _react2['default'].createElement(\n 'div',\n (0, _reactWithStyles.css)(styles.KeyboardShortcutRow_keyContainer, block && styles.KeyboardShortcutRow_keyContainer__block),\n _react2['default'].createElement(\n 'span',\n _extends({}, (0, _reactWithStyles.css)(styles.KeyboardShortcutRow_key), {\n role: 'img',\n 'aria-label': String(label) + ',' // add comma so screen readers will pause before reading action\n }),\n unicode\n )\n ),\n _react2['default'].createElement(\n 'div',\n (0, _reactWithStyles.css)(styles.KeyboardShortcutRow_action),\n action\n )\n );\n}\n\nKeyboardShortcutRow.propTypes = propTypes;\nKeyboardShortcutRow.defaultProps = defaultProps;\n\nexports['default'] = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var color = _ref2.reactDates.color;\n return {\n KeyboardShortcutRow: {\n listStyle: 'none',\n margin: '6px 0'\n },\n\n KeyboardShortcutRow__block: {\n marginBottom: 16\n },\n\n KeyboardShortcutRow_keyContainer: {\n display: 'inline-block',\n whiteSpace: 'nowrap',\n textAlign: 'right',\n marginRight: 6\n },\n\n KeyboardShortcutRow_keyContainer__block: {\n textAlign: 'left',\n display: 'inline'\n },\n\n KeyboardShortcutRow_key: {\n fontFamily: 'monospace',\n fontSize: 12,\n textTransform: 'uppercase',\n background: color.core.grayLightest,\n padding: '2px 6px'\n },\n\n KeyboardShortcutRow_action: {\n display: 'inline',\n wordBreak: 'break-word',\n marginLeft: 8\n }\n };\n})(KeyboardShortcutRow);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar LeftArrow = function () {\n function LeftArrow(props) {\n return _react2['default'].createElement(\n 'svg',\n props,\n _react2['default'].createElement('path', {\n d: 'M336.2 274.5l-210.1 210h805.4c13 0 23 10 23 23s-10 23-23 23H126.1l210.1 210.1c11 11 11 21 0 32-5 5-10 7-16 7s-11-2-16-7l-249.1-249c-11-11-11-21 0-32l249.1-249.1c21-21.1 53 10.9 32 32z'\n })\n );\n }\n\n return LeftArrow;\n}();\n\nLeftArrow.defaultProps = {\n viewBox: '0 0 1000 1000'\n};\nexports['default'] = LeftArrow;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar RightArrow = function () {\n function RightArrow(props) {\n return _react2['default'].createElement(\n 'svg',\n props,\n _react2['default'].createElement('path', {\n d: 'M694.4 242.4l249.1 249.1c11 11 11 21 0 32L694.4 772.7c-5 5-10 7-16 7s-11-2-16-7c-11-11-11-21 0-32l210.1-210.1H67.1c-13 0-23-10-23-23s10-23 23-23h805.4L662.4 274.5c-21-21.1 11-53.1 32-32.1z'\n })\n );\n }\n\n return RightArrow;\n}();\n\nRightArrow.defaultProps = {\n viewBox: '0 0 1000 1000'\n};\nexports['default'] = RightArrow;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PureSingleDatePicker = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _object = require('object.assign');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _reactWithStyles = require('react-with-styles');\n\nvar _reactPortal = require('react-portal');\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _consolidatedEvents = require('consolidated-events');\n\nvar _isTouchDevice = require('is-touch-device');\n\nvar _isTouchDevice2 = _interopRequireDefault(_isTouchDevice);\n\nvar _reactOutsideClickHandler = require('react-outside-click-handler');\n\nvar _reactOutsideClickHandler2 = _interopRequireDefault(_reactOutsideClickHandler);\n\nvar _SingleDatePickerShape = require('../shapes/SingleDatePickerShape');\n\nvar _SingleDatePickerShape2 = _interopRequireDefault(_SingleDatePickerShape);\n\nvar _defaultPhrases = require('../defaultPhrases');\n\nvar _toMomentObject = require('../utils/toMomentObject');\n\nvar _toMomentObject2 = _interopRequireDefault(_toMomentObject);\n\nvar _toLocalizedDateString = require('../utils/toLocalizedDateString');\n\nvar _toLocalizedDateString2 = _interopRequireDefault(_toLocalizedDateString);\n\nvar _getResponsiveContainerStyles = require('../utils/getResponsiveContainerStyles');\n\nvar _getResponsiveContainerStyles2 = _interopRequireDefault(_getResponsiveContainerStyles);\n\nvar _getDetachedContainerStyles = require('../utils/getDetachedContainerStyles');\n\nvar _getDetachedContainerStyles2 = _interopRequireDefault(_getDetachedContainerStyles);\n\nvar _getInputHeight = require('../utils/getInputHeight');\n\nvar _getInputHeight2 = _interopRequireDefault(_getInputHeight);\n\nvar _isInclusivelyAfterDay = require('../utils/isInclusivelyAfterDay');\n\nvar _isInclusivelyAfterDay2 = _interopRequireDefault(_isInclusivelyAfterDay);\n\nvar _disableScroll2 = require('../utils/disableScroll');\n\nvar _disableScroll3 = _interopRequireDefault(_disableScroll2);\n\nvar _SingleDatePickerInput = require('./SingleDatePickerInput');\n\nvar _SingleDatePickerInput2 = _interopRequireDefault(_SingleDatePickerInput);\n\nvar _DayPickerSingleDateController = require('./DayPickerSingleDateController');\n\nvar _DayPickerSingleDateController2 = _interopRequireDefault(_DayPickerSingleDateController);\n\nvar _CloseButton = require('./CloseButton');\n\nvar _CloseButton2 = _interopRequireDefault(_CloseButton);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, _SingleDatePickerShape2['default']));\n\nvar defaultProps = {\n // required props for a functional interactive SingleDatePicker\n date: null,\n focused: false,\n\n // input related props\n id: 'date',\n placeholder: 'Date',\n disabled: false,\n required: false,\n readOnly: false,\n screenReaderInputMessage: '',\n showClearDate: false,\n showDefaultInputIcon: false,\n inputIconPosition: _constants.ICON_BEFORE_POSITION,\n customInputIcon: null,\n customCloseIcon: null,\n noBorder: false,\n block: false,\n small: false,\n regular: false,\n verticalSpacing: _constants.DEFAULT_VERTICAL_SPACING,\n keepFocusOnInput: false,\n\n // calendar presentation and interaction related props\n orientation: _constants.HORIZONTAL_ORIENTATION,\n anchorDirection: _constants.ANCHOR_LEFT,\n openDirection: _constants.OPEN_DOWN,\n horizontalMargin: 0,\n withPortal: false,\n withFullScreenPortal: false,\n appendToBody: false,\n disableScroll: false,\n initialVisibleMonth: null,\n firstDayOfWeek: null,\n numberOfMonths: 2,\n keepOpenOnDateSelect: false,\n reopenPickerOnClearDate: false,\n renderCalendarInfo: null,\n calendarInfoPosition: _constants.INFO_POSITION_BOTTOM,\n hideKeyboardShortcutsPanel: false,\n daySize: _constants.DAY_SIZE,\n isRTL: false,\n verticalHeight: null,\n transitionDuration: undefined,\n horizontalMonthPadding: 13,\n\n // navigation related props\n navPrev: null,\n navNext: null,\n\n onPrevMonthClick: function () {\n function onPrevMonthClick() {}\n\n return onPrevMonthClick;\n }(),\n onNextMonthClick: function () {\n function onNextMonthClick() {}\n\n return onNextMonthClick;\n }(),\n onClose: function () {\n function onClose() {}\n\n return onClose;\n }(),\n\n\n // month presentation and interaction related props\n renderMonthText: null,\n\n // day presentation and interaction related props\n renderCalendarDay: undefined,\n renderDayContents: null,\n renderMonthElement: null,\n enableOutsideDays: false,\n isDayBlocked: function () {\n function isDayBlocked() {\n return false;\n }\n\n return isDayBlocked;\n }(),\n isOutsideRange: function () {\n function isOutsideRange(day) {\n return !(0, _isInclusivelyAfterDay2['default'])(day, (0, _moment2['default'])());\n }\n\n return isOutsideRange;\n }(),\n isDayHighlighted: function () {\n function isDayHighlighted() {}\n\n return isDayHighlighted;\n }(),\n\n // internationalization props\n displayFormat: function () {\n function displayFormat() {\n return _moment2['default'].localeData().longDateFormat('L');\n }\n\n return displayFormat;\n }(),\n monthFormat: 'MMMM YYYY',\n weekDayFormat: 'dd',\n phrases: _defaultPhrases.SingleDatePickerPhrases,\n dayAriaLabelFormat: undefined\n};\n\nvar SingleDatePicker = function (_React$Component) {\n _inherits(SingleDatePicker, _React$Component);\n\n function SingleDatePicker(props) {\n _classCallCheck(this, SingleDatePicker);\n\n var _this = _possibleConstructorReturn(this, (SingleDatePicker.__proto__ || Object.getPrototypeOf(SingleDatePicker)).call(this, props));\n\n _this.isTouchDevice = false;\n\n _this.state = {\n dayPickerContainerStyles: {},\n isDayPickerFocused: false,\n isInputFocused: false,\n showKeyboardShortcuts: false\n };\n\n _this.onDayPickerFocus = _this.onDayPickerFocus.bind(_this);\n _this.onDayPickerBlur = _this.onDayPickerBlur.bind(_this);\n _this.showKeyboardShortcutsPanel = _this.showKeyboardShortcutsPanel.bind(_this);\n\n _this.onChange = _this.onChange.bind(_this);\n _this.onFocus = _this.onFocus.bind(_this);\n _this.onClearFocus = _this.onClearFocus.bind(_this);\n _this.clearDate = _this.clearDate.bind(_this);\n\n _this.responsivizePickerPosition = _this.responsivizePickerPosition.bind(_this);\n _this.disableScroll = _this.disableScroll.bind(_this);\n\n _this.setDayPickerContainerRef = _this.setDayPickerContainerRef.bind(_this);\n _this.setContainerRef = _this.setContainerRef.bind(_this);\n return _this;\n }\n\n /* istanbul ignore next */\n\n\n _createClass(SingleDatePicker, [{\n key: 'componentDidMount',\n value: function () {\n function componentDidMount() {\n this.removeEventListener = (0, _consolidatedEvents.addEventListener)(window, 'resize', this.responsivizePickerPosition, { passive: true });\n this.responsivizePickerPosition();\n this.disableScroll();\n\n var focused = this.props.focused;\n\n\n if (focused) {\n this.setState({\n isInputFocused: true\n });\n }\n\n this.isTouchDevice = (0, _isTouchDevice2['default'])();\n }\n\n return componentDidMount;\n }()\n }, {\n key: 'componentDidUpdate',\n value: function () {\n function componentDidUpdate(prevProps) {\n var focused = this.props.focused;\n\n if (!prevProps.focused && focused) {\n this.responsivizePickerPosition();\n this.disableScroll();\n } else if (prevProps.focused && !focused) {\n if (this.enableScroll) this.enableScroll();\n }\n }\n\n return componentDidUpdate;\n }()\n\n /* istanbul ignore next */\n\n }, {\n key: 'componentWillUnmount',\n value: function () {\n function componentWillUnmount() {\n if (this.removeEventListener) this.removeEventListener();\n if (this.enableScroll) this.enableScroll();\n }\n\n return componentWillUnmount;\n }()\n }, {\n key: 'onChange',\n value: function () {\n function onChange(dateString) {\n var _props = this.props,\n isOutsideRange = _props.isOutsideRange,\n keepOpenOnDateSelect = _props.keepOpenOnDateSelect,\n onDateChange = _props.onDateChange,\n onFocusChange = _props.onFocusChange,\n onClose = _props.onClose;\n\n var newDate = (0, _toMomentObject2['default'])(dateString, this.getDisplayFormat());\n\n var isValid = newDate && !isOutsideRange(newDate);\n if (isValid) {\n onDateChange(newDate);\n if (!keepOpenOnDateSelect) {\n onFocusChange({ focused: false });\n onClose({ date: newDate });\n }\n } else {\n onDateChange(null);\n }\n }\n\n return onChange;\n }()\n }, {\n key: 'onFocus',\n value: function () {\n function onFocus() {\n var _props2 = this.props,\n disabled = _props2.disabled,\n onFocusChange = _props2.onFocusChange,\n readOnly = _props2.readOnly,\n withPortal = _props2.withPortal,\n withFullScreenPortal = _props2.withFullScreenPortal,\n keepFocusOnInput = _props2.keepFocusOnInput;\n\n\n var withAnyPortal = withPortal || withFullScreenPortal;\n var moveFocusToDayPicker = withAnyPortal || readOnly && !keepFocusOnInput || this.isTouchDevice && !keepFocusOnInput;\n\n if (moveFocusToDayPicker) {\n this.onDayPickerFocus();\n } else {\n this.onDayPickerBlur();\n }\n\n if (!disabled) {\n onFocusChange({ focused: true });\n }\n }\n\n return onFocus;\n }()\n }, {\n key: 'onClearFocus',\n value: function () {\n function onClearFocus(event) {\n var _props3 = this.props,\n date = _props3.date,\n focused = _props3.focused,\n onFocusChange = _props3.onFocusChange,\n onClose = _props3.onClose,\n appendToBody = _props3.appendToBody;\n\n if (!focused) return;\n if (appendToBody && this.dayPickerContainer.contains(event.target)) return;\n\n this.setState({\n isInputFocused: false,\n isDayPickerFocused: false\n });\n\n onFocusChange({ focused: false });\n onClose({ date: date });\n }\n\n return onClearFocus;\n }()\n }, {\n key: 'onDayPickerFocus',\n value: function () {\n function onDayPickerFocus() {\n this.setState({\n isInputFocused: false,\n isDayPickerFocused: true,\n showKeyboardShortcuts: false\n });\n }\n\n return onDayPickerFocus;\n }()\n }, {\n key: 'onDayPickerBlur',\n value: function () {\n function onDayPickerBlur() {\n this.setState({\n isInputFocused: true,\n isDayPickerFocused: false,\n showKeyboardShortcuts: false\n });\n }\n\n return onDayPickerBlur;\n }()\n }, {\n key: 'getDateString',\n value: function () {\n function getDateString(date) {\n var displayFormat = this.getDisplayFormat();\n if (date && displayFormat) {\n return date && date.format(displayFormat);\n }\n return (0, _toLocalizedDateString2['default'])(date);\n }\n\n return getDateString;\n }()\n }, {\n key: 'getDisplayFormat',\n value: function () {\n function getDisplayFormat() {\n var displayFormat = this.props.displayFormat;\n\n return typeof displayFormat === 'string' ? displayFormat : displayFormat();\n }\n\n return getDisplayFormat;\n }()\n }, {\n key: 'setDayPickerContainerRef',\n value: function () {\n function setDayPickerContainerRef(ref) {\n this.dayPickerContainer = ref;\n }\n\n return setDayPickerContainerRef;\n }()\n }, {\n key: 'setContainerRef',\n value: function () {\n function setContainerRef(ref) {\n this.container = ref;\n }\n\n return setContainerRef;\n }()\n }, {\n key: 'clearDate',\n value: function () {\n function clearDate() {\n var _props4 = this.props,\n onDateChange = _props4.onDateChange,\n reopenPickerOnClearDate = _props4.reopenPickerOnClearDate,\n onFocusChange = _props4.onFocusChange;\n\n onDateChange(null);\n if (reopenPickerOnClearDate) {\n onFocusChange({ focused: true });\n }\n }\n\n return clearDate;\n }()\n }, {\n key: 'disableScroll',\n value: function () {\n function disableScroll() {\n var _props5 = this.props,\n appendToBody = _props5.appendToBody,\n propDisableScroll = _props5.disableScroll,\n focused = _props5.focused;\n\n if (!appendToBody && !propDisableScroll) return;\n if (!focused) return;\n\n // Disable scroll for every ancestor of this <SingleDatePicker> up to the\n // document level. This ensures the input and the picker never move. Other\n // sibling elements or the picker itself can scroll.\n this.enableScroll = (0, _disableScroll3['default'])(this.container);\n }\n\n return disableScroll;\n }()\n\n /* istanbul ignore next */\n\n }, {\n key: 'responsivizePickerPosition',\n value: function () {\n function responsivizePickerPosition() {\n // It's possible the portal props have been changed in response to window resizes\n // So let's ensure we reset this back to the base state each time\n this.setState({ dayPickerContainerStyles: {} });\n\n var _props6 = this.props,\n openDirection = _props6.openDirection,\n anchorDirection = _props6.anchorDirection,\n horizontalMargin = _props6.horizontalMargin,\n withPortal = _props6.withPortal,\n withFullScreenPortal = _props6.withFullScreenPortal,\n appendToBody = _props6.appendToBody,\n focused = _props6.focused;\n var dayPickerContainerStyles = this.state.dayPickerContainerStyles;\n\n\n if (!focused) {\n return;\n }\n\n var isAnchoredLeft = anchorDirection === _constants.ANCHOR_LEFT;\n\n if (!withPortal && !withFullScreenPortal) {\n var containerRect = this.dayPickerContainer.getBoundingClientRect();\n var currentOffset = dayPickerContainerStyles[anchorDirection] || 0;\n var containerEdge = isAnchoredLeft ? containerRect[_constants.ANCHOR_RIGHT] : containerRect[_constants.ANCHOR_LEFT];\n\n this.setState({\n dayPickerContainerStyles: (0, _object2['default'])({}, (0, _getResponsiveContainerStyles2['default'])(anchorDirection, currentOffset, containerEdge, horizontalMargin), appendToBody && (0, _getDetachedContainerStyles2['default'])(openDirection, anchorDirection, this.container))\n });\n }\n }\n\n return responsivizePickerPosition;\n }()\n }, {\n key: 'showKeyboardShortcutsPanel',\n value: function () {\n function showKeyboardShortcutsPanel() {\n this.setState({\n isInputFocused: false,\n isDayPickerFocused: true,\n showKeyboardShortcuts: true\n });\n }\n\n return showKeyboardShortcutsPanel;\n }()\n }, {\n key: 'maybeRenderDayPickerWithPortal',\n value: function () {\n function maybeRenderDayPickerWithPortal() {\n var _props7 = this.props,\n focused = _props7.focused,\n withPortal = _props7.withPortal,\n withFullScreenPortal = _props7.withFullScreenPortal,\n appendToBody = _props7.appendToBody;\n\n\n if (!focused) {\n return null;\n }\n\n if (withPortal || withFullScreenPortal || appendToBody) {\n return _react2['default'].createElement(\n _reactPortal.Portal,\n null,\n this.renderDayPicker()\n );\n }\n\n return this.renderDayPicker();\n }\n\n return maybeRenderDayPickerWithPortal;\n }()\n }, {\n key: 'renderDayPicker',\n value: function () {\n function renderDayPicker() {\n var _props8 = this.props,\n anchorDirection = _props8.anchorDirection,\n openDirection = _props8.openDirection,\n onDateChange = _props8.onDateChange,\n date = _props8.date,\n onFocusChange = _props8.onFocusChange,\n focused = _props8.focused,\n enableOutsideDays = _props8.enableOutsideDays,\n numberOfMonths = _props8.numberOfMonths,\n orientation = _props8.orientation,\n monthFormat = _props8.monthFormat,\n navPrev = _props8.navPrev,\n navNext = _props8.navNext,\n onPrevMonthClick = _props8.onPrevMonthClick,\n onNextMonthClick = _props8.onNextMonthClick,\n onClose = _props8.onClose,\n withPortal = _props8.withPortal,\n withFullScreenPortal = _props8.withFullScreenPortal,\n keepOpenOnDateSelect = _props8.keepOpenOnDateSelect,\n initialVisibleMonth = _props8.initialVisibleMonth,\n renderMonthText = _props8.renderMonthText,\n renderCalendarDay = _props8.renderCalendarDay,\n renderDayContents = _props8.renderDayContents,\n renderCalendarInfo = _props8.renderCalendarInfo,\n renderMonthElement = _props8.renderMonthElement,\n calendarInfoPosition = _props8.calendarInfoPosition,\n hideKeyboardShortcutsPanel = _props8.hideKeyboardShortcutsPanel,\n firstDayOfWeek = _props8.firstDayOfWeek,\n customCloseIcon = _props8.customCloseIcon,\n phrases = _props8.phrases,\n dayAriaLabelFormat = _props8.dayAriaLabelFormat,\n daySize = _props8.daySize,\n isRTL = _props8.isRTL,\n isOutsideRange = _props8.isOutsideRange,\n isDayBlocked = _props8.isDayBlocked,\n isDayHighlighted = _props8.isDayHighlighted,\n weekDayFormat = _props8.weekDayFormat,\n styles = _props8.styles,\n verticalHeight = _props8.verticalHeight,\n transitionDuration = _props8.transitionDuration,\n verticalSpacing = _props8.verticalSpacing,\n horizontalMonthPadding = _props8.horizontalMonthPadding,\n small = _props8.small,\n reactDates = _props8.theme.reactDates;\n var _state = this.state,\n dayPickerContainerStyles = _state.dayPickerContainerStyles,\n isDayPickerFocused = _state.isDayPickerFocused,\n showKeyboardShortcuts = _state.showKeyboardShortcuts;\n\n\n var onOutsideClick = !withFullScreenPortal && withPortal ? this.onClearFocus : undefined;\n var closeIcon = customCloseIcon || _react2['default'].createElement(_CloseButton2['default'], null);\n\n var inputHeight = (0, _getInputHeight2['default'])(reactDates, small);\n\n var withAnyPortal = withPortal || withFullScreenPortal;\n\n return _react2['default'].createElement(\n 'div',\n _extends({ // eslint-disable-line jsx-a11y/no-static-element-interactions\n ref: this.setDayPickerContainerRef\n }, (0, _reactWithStyles.css)(styles.SingleDatePicker_picker, anchorDirection === _constants.ANCHOR_LEFT && styles.SingleDatePicker_picker__directionLeft, anchorDirection === _constants.ANCHOR_RIGHT && styles.SingleDatePicker_picker__directionRight, openDirection === _constants.OPEN_DOWN && styles.SingleDatePicker_picker__openDown, openDirection === _constants.OPEN_UP && styles.SingleDatePicker_picker__openUp, !withAnyPortal && openDirection === _constants.OPEN_DOWN && {\n top: inputHeight + verticalSpacing\n }, !withAnyPortal && openDirection === _constants.OPEN_UP && {\n bottom: inputHeight + verticalSpacing\n }, orientation === _constants.HORIZONTAL_ORIENTATION && styles.SingleDatePicker_picker__horizontal, orientation === _constants.VERTICAL_ORIENTATION && styles.SingleDatePicker_picker__vertical, withAnyPortal && styles.SingleDatePicker_picker__portal, withFullScreenPortal && styles.SingleDatePicker_picker__fullScreenPortal, isRTL && styles.SingleDatePicker_picker__rtl, dayPickerContainerStyles), {\n onClick: onOutsideClick\n }),\n _react2['default'].createElement(_DayPickerSingleDateController2['default'], {\n date: date,\n onDateChange: onDateChange,\n onFocusChange: onFocusChange,\n orientation: orientation,\n enableOutsideDays: enableOutsideDays,\n numberOfMonths: numberOfMonths,\n monthFormat: monthFormat,\n withPortal: withAnyPortal,\n focused: focused,\n keepOpenOnDateSelect: keepOpenOnDateSelect,\n hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,\n initialVisibleMonth: initialVisibleMonth,\n navPrev: navPrev,\n navNext: navNext,\n onPrevMonthClick: onPrevMonthClick,\n onNextMonthClick: onNextMonthClick,\n onClose: onClose,\n renderMonthText: renderMonthText,\n renderCalendarDay: renderCalendarDay,\n renderDayContents: renderDayContents,\n renderCalendarInfo: renderCalendarInfo,\n renderMonthElement: renderMonthElement,\n calendarInfoPosition: calendarInfoPosition,\n isFocused: isDayPickerFocused,\n showKeyboardShortcuts: showKeyboardShortcuts,\n onBlur: this.onDayPickerBlur,\n phrases: phrases,\n dayAriaLabelFormat: dayAriaLabelFormat,\n daySize: daySize,\n isRTL: isRTL,\n isOutsideRange: isOutsideRange,\n isDayBlocked: isDayBlocked,\n isDayHighlighted: isDayHighlighted,\n firstDayOfWeek: firstDayOfWeek,\n weekDayFormat: weekDayFormat,\n verticalHeight: verticalHeight,\n transitionDuration: transitionDuration,\n horizontalMonthPadding: horizontalMonthPadding\n }),\n withFullScreenPortal && _react2['default'].createElement(\n 'button',\n _extends({}, (0, _reactWithStyles.css)(styles.SingleDatePicker_closeButton), {\n 'aria-label': phrases.closeDatePicker,\n type: 'button',\n onClick: this.onClearFocus\n }),\n _react2['default'].createElement(\n 'div',\n (0, _reactWithStyles.css)(styles.SingleDatePicker_closeButton_svg),\n closeIcon\n )\n )\n );\n }\n\n return renderDayPicker;\n }()\n }, {\n key: 'render',\n value: function () {\n function render() {\n var _props9 = this.props,\n id = _props9.id,\n placeholder = _props9.placeholder,\n disabled = _props9.disabled,\n focused = _props9.focused,\n required = _props9.required,\n readOnly = _props9.readOnly,\n openDirection = _props9.openDirection,\n showClearDate = _props9.showClearDate,\n showDefaultInputIcon = _props9.showDefaultInputIcon,\n inputIconPosition = _props9.inputIconPosition,\n customCloseIcon = _props9.customCloseIcon,\n customInputIcon = _props9.customInputIcon,\n date = _props9.date,\n phrases = _props9.phrases,\n withPortal = _props9.withPortal,\n withFullScreenPortal = _props9.withFullScreenPortal,\n screenReaderInputMessage = _props9.screenReaderInputMessage,\n isRTL = _props9.isRTL,\n noBorder = _props9.noBorder,\n block = _props9.block,\n small = _props9.small,\n regular = _props9.regular,\n verticalSpacing = _props9.verticalSpacing,\n styles = _props9.styles;\n var isInputFocused = this.state.isInputFocused;\n\n\n var displayValue = this.getDateString(date);\n\n var enableOutsideClick = !withPortal && !withFullScreenPortal;\n\n var hideFang = verticalSpacing < _constants.FANG_HEIGHT_PX;\n\n var input = _react2['default'].createElement(_SingleDatePickerInput2['default'], {\n id: id,\n placeholder: placeholder,\n focused: focused,\n isFocused: isInputFocused,\n disabled: disabled,\n required: required,\n readOnly: readOnly,\n openDirection: openDirection,\n showCaret: !withPortal && !withFullScreenPortal && !hideFang,\n onClearDate: this.clearDate,\n showClearDate: showClearDate,\n showDefaultInputIcon: showDefaultInputIcon,\n inputIconPosition: inputIconPosition,\n customCloseIcon: customCloseIcon,\n customInputIcon: customInputIcon,\n displayValue: displayValue,\n onChange: this.onChange,\n onFocus: this.onFocus,\n onKeyDownShiftTab: this.onClearFocus,\n onKeyDownTab: this.onClearFocus,\n onKeyDownArrowDown: this.onDayPickerFocus,\n onKeyDownQuestionMark: this.showKeyboardShortcutsPanel,\n screenReaderMessage: screenReaderInputMessage,\n phrases: phrases,\n isRTL: isRTL,\n noBorder: noBorder,\n block: block,\n small: small,\n regular: regular,\n verticalSpacing: verticalSpacing\n });\n\n return _react2['default'].createElement(\n 'div',\n _extends({\n ref: this.setContainerRef\n }, (0, _reactWithStyles.css)(styles.SingleDatePicker, block && styles.SingleDatePicker__block)),\n enableOutsideClick && _react2['default'].createElement(\n _reactOutsideClickHandler2['default'],\n { onOutsideClick: this.onClearFocus },\n input,\n this.maybeRenderDayPickerWithPortal()\n ),\n !enableOutsideClick && input,\n !enableOutsideClick && this.maybeRenderDayPickerWithPortal()\n );\n }\n\n return render;\n }()\n }]);\n\n return SingleDatePicker;\n}(_react2['default'].Component);\n\nSingleDatePicker.propTypes = propTypes;\nSingleDatePicker.defaultProps = defaultProps;\n\nexports.PureSingleDatePicker = SingleDatePicker;\nexports['default'] = (0, _reactWithStyles.withStyles)(function (_ref) {\n var _ref$reactDates = _ref.reactDates,\n color = _ref$reactDates.color,\n zIndex = _ref$reactDates.zIndex;\n return {\n SingleDatePicker: {\n position: 'relative',\n display: 'inline-block'\n },\n\n SingleDatePicker__block: {\n display: 'block'\n },\n\n SingleDatePicker_picker: {\n zIndex: zIndex + 1,\n backgroundColor: color.background,\n position: 'absolute'\n },\n\n SingleDatePicker_picker__rtl: {\n direction: 'rtl'\n },\n\n SingleDatePicker_picker__directionLeft: {\n left: 0\n },\n\n SingleDatePicker_picker__directionRight: {\n right: 0\n },\n\n SingleDatePicker_picker__portal: {\n backgroundColor: 'rgba(0, 0, 0, 0.3)',\n position: 'fixed',\n top: 0,\n left: 0,\n height: '100%',\n width: '100%'\n },\n\n SingleDatePicker_picker__fullScreenPortal: {\n backgroundColor: color.background\n },\n\n SingleDatePicker_closeButton: {\n background: 'none',\n border: 0,\n color: 'inherit',\n font: 'inherit',\n lineHeight: 'normal',\n overflow: 'visible',\n cursor: 'pointer',\n\n position: 'absolute',\n top: 0,\n right: 0,\n padding: 15,\n zIndex: zIndex + 2,\n\n ':hover': {\n color: 'darken(' + String(color.core.grayLighter) + ', 10%)',\n textDecoration: 'none'\n },\n\n ':focus': {\n color: 'darken(' + String(color.core.grayLighter) + ', 10%)',\n textDecoration: 'none'\n }\n },\n\n SingleDatePicker_closeButton_svg: {\n height: 15,\n width: 15,\n fill: color.core.grayLighter\n }\n };\n})(SingleDatePicker);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _object = require('object.assign');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _reactWithStyles = require('react-with-styles');\n\nvar _defaultPhrases = require('../defaultPhrases');\n\nvar _getPhrasePropTypes = require('../utils/getPhrasePropTypes');\n\nvar _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);\n\nvar _DateInput = require('./DateInput');\n\nvar _DateInput2 = _interopRequireDefault(_DateInput);\n\nvar _IconPositionShape = require('../shapes/IconPositionShape');\n\nvar _IconPositionShape2 = _interopRequireDefault(_IconPositionShape);\n\nvar _CloseButton = require('./CloseButton');\n\nvar _CloseButton2 = _interopRequireDefault(_CloseButton);\n\nvar _CalendarIcon = require('./CalendarIcon');\n\nvar _CalendarIcon2 = _interopRequireDefault(_CalendarIcon);\n\nvar _OpenDirectionShape = require('../shapes/OpenDirectionShape');\n\nvar _OpenDirectionShape2 = _interopRequireDefault(_OpenDirectionShape);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)((0, _object2['default'])({}, _reactWithStyles.withStylesPropTypes, {\n id: _propTypes2['default'].string.isRequired,\n placeholder: _propTypes2['default'].string, // also used as label\n displayValue: _propTypes2['default'].string,\n screenReaderMessage: _propTypes2['default'].string,\n focused: _propTypes2['default'].bool,\n isFocused: _propTypes2['default'].bool, // describes actual DOM focus\n disabled: _propTypes2['default'].bool,\n required: _propTypes2['default'].bool,\n readOnly: _propTypes2['default'].bool,\n openDirection: _OpenDirectionShape2['default'],\n showCaret: _propTypes2['default'].bool,\n showClearDate: _propTypes2['default'].bool,\n customCloseIcon: _propTypes2['default'].node,\n showDefaultInputIcon: _propTypes2['default'].bool,\n inputIconPosition: _IconPositionShape2['default'],\n customInputIcon: _propTypes2['default'].node,\n isRTL: _propTypes2['default'].bool,\n noBorder: _propTypes2['default'].bool,\n block: _propTypes2['default'].bool,\n small: _propTypes2['default'].bool,\n regular: _propTypes2['default'].bool,\n verticalSpacing: _airbnbPropTypes.nonNegativeInteger,\n\n onChange: _propTypes2['default'].func,\n onClearDate: _propTypes2['default'].func,\n onFocus: _propTypes2['default'].func,\n onKeyDownShiftTab: _propTypes2['default'].func,\n onKeyDownTab: _propTypes2['default'].func,\n onKeyDownArrowDown: _propTypes2['default'].func,\n onKeyDownQuestionMark: _propTypes2['default'].func,\n\n // i18n\n phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.SingleDatePickerInputPhrases))\n}));\n\nvar defaultProps = {\n placeholder: 'Select Date',\n displayValue: '',\n screenReaderMessage: '',\n focused: false,\n isFocused: false,\n disabled: false,\n required: false,\n readOnly: false,\n openDirection: _constants.OPEN_DOWN,\n showCaret: false,\n showClearDate: false,\n showDefaultInputIcon: false,\n inputIconPosition: _constants.ICON_BEFORE_POSITION,\n customCloseIcon: null,\n customInputIcon: null,\n isRTL: false,\n noBorder: false,\n block: false,\n small: false,\n regular: false,\n verticalSpacing: undefined,\n\n onChange: function () {\n function onChange() {}\n\n return onChange;\n }(),\n onClearDate: function () {\n function onClearDate() {}\n\n return onClearDate;\n }(),\n onFocus: function () {\n function onFocus() {}\n\n return onFocus;\n }(),\n onKeyDownShiftTab: function () {\n function onKeyDownShiftTab() {}\n\n return onKeyDownShiftTab;\n }(),\n onKeyDownTab: function () {\n function onKeyDownTab() {}\n\n return onKeyDownTab;\n }(),\n onKeyDownArrowDown: function () {\n function onKeyDownArrowDown() {}\n\n return onKeyDownArrowDown;\n }(),\n onKeyDownQuestionMark: function () {\n function onKeyDownQuestionMark() {}\n\n return onKeyDownQuestionMark;\n }(),\n\n\n // i18n\n phrases: _defaultPhrases.SingleDatePickerInputPhrases\n};\n\n/* eslint react/no-this-in-sfc: 1 */\n\nfunction SingleDatePickerInput(_ref) {\n var id = _ref.id,\n placeholder = _ref.placeholder,\n displayValue = _ref.displayValue,\n focused = _ref.focused,\n isFocused = _ref.isFocused,\n disabled = _ref.disabled,\n required = _ref.required,\n readOnly = _ref.readOnly,\n showCaret = _ref.showCaret,\n showClearDate = _ref.showClearDate,\n showDefaultInputIcon = _ref.showDefaultInputIcon,\n inputIconPosition = _ref.inputIconPosition,\n phrases = _ref.phrases,\n onClearDate = _ref.onClearDate,\n onChange = _ref.onChange,\n onFocus = _ref.onFocus,\n onKeyDownShiftTab = _ref.onKeyDownShiftTab,\n onKeyDownTab = _ref.onKeyDownTab,\n onKeyDownArrowDown = _ref.onKeyDownArrowDown,\n onKeyDownQuestionMark = _ref.onKeyDownQuestionMark,\n screenReaderMessage = _ref.screenReaderMessage,\n customCloseIcon = _ref.customCloseIcon,\n customInputIcon = _ref.customInputIcon,\n openDirection = _ref.openDirection,\n isRTL = _ref.isRTL,\n noBorder = _ref.noBorder,\n block = _ref.block,\n small = _ref.small,\n regular = _ref.regular,\n verticalSpacing = _ref.verticalSpacing,\n styles = _ref.styles;\n\n var calendarIcon = customInputIcon || _react2['default'].createElement(_CalendarIcon2['default'], (0, _reactWithStyles.css)(styles.SingleDatePickerInput_calendarIcon_svg));\n var closeIcon = customCloseIcon || _react2['default'].createElement(_CloseButton2['default'], (0, _reactWithStyles.css)(styles.SingleDatePickerInput_clearDate_svg, small && styles.SingleDatePickerInput_clearDate_svg__small));\n\n var screenReaderText = screenReaderMessage || phrases.keyboardNavigationInstructions;\n var inputIcon = (showDefaultInputIcon || customInputIcon !== null) && _react2['default'].createElement(\n 'button',\n _extends({}, (0, _reactWithStyles.css)(styles.SingleDatePickerInput_calendarIcon), {\n type: 'button',\n disabled: disabled,\n 'aria-label': phrases.focusStartDate,\n onClick: onFocus\n }),\n calendarIcon\n );\n\n return _react2['default'].createElement(\n 'div',\n (0, _reactWithStyles.css)(styles.SingleDatePickerInput, disabled && styles.SingleDatePickerInput__disabled, isRTL && styles.SingleDatePickerInput__rtl, !noBorder && styles.SingleDatePickerInput__withBorder, block && styles.SingleDatePickerInput__block, showClearDate && styles.SingleDatePickerInput__showClearDate),\n inputIconPosition === _constants.ICON_BEFORE_POSITION && inputIcon,\n _react2['default'].createElement(_DateInput2['default'], {\n id: id,\n placeholder: placeholder // also used as label\n , displayValue: displayValue,\n screenReaderMessage: screenReaderText,\n focused: focused,\n isFocused: isFocused,\n disabled: disabled,\n required: required,\n readOnly: readOnly,\n showCaret: showCaret,\n onChange: onChange,\n onFocus: onFocus,\n onKeyDownShiftTab: onKeyDownShiftTab,\n onKeyDownTab: onKeyDownTab,\n onKeyDownArrowDown: onKeyDownArrowDown,\n onKeyDownQuestionMark: onKeyDownQuestionMark,\n openDirection: openDirection,\n verticalSpacing: verticalSpacing,\n small: small,\n regular: regular,\n block: block\n }),\n showClearDate && _react2['default'].createElement(\n 'button',\n _extends({}, (0, _reactWithStyles.css)(styles.SingleDatePickerInput_clearDate, small && styles.SingleDatePickerInput_clearDate__small, !customCloseIcon && styles.SingleDatePickerInput_clearDate__default, !displayValue && styles.SingleDatePickerInput_clearDate__hide), {\n type: 'button',\n 'aria-label': phrases.clearDate,\n disabled: disabled,\n onMouseEnter: this && this.onClearDateMouseEnter,\n onMouseLeave: this && this.onClearDateMouseLeave,\n onClick: onClearDate\n }),\n closeIcon\n ),\n inputIconPosition === _constants.ICON_AFTER_POSITION && inputIcon\n );\n}\n\nSingleDatePickerInput.propTypes = propTypes;\nSingleDatePickerInput.defaultProps = defaultProps;\n\nexports['default'] = (0, _reactWithStyles.withStyles)(function (_ref2) {\n var _ref2$reactDates = _ref2.reactDates,\n border = _ref2$reactDates.border,\n color = _ref2$reactDates.color;\n return {\n SingleDatePickerInput: {\n display: 'inline-block',\n backgroundColor: color.background\n },\n\n SingleDatePickerInput__withBorder: {\n borderColor: color.border,\n borderWidth: border.pickerInput.borderWidth,\n borderStyle: border.pickerInput.borderStyle,\n borderRadius: border.pickerInput.borderRadius\n },\n\n SingleDatePickerInput__rtl: {\n direction: 'rtl'\n },\n\n SingleDatePickerInput__disabled: {\n backgroundColor: color.disabled\n },\n\n SingleDatePickerInput__block: {\n display: 'block'\n },\n\n SingleDatePickerInput__showClearDate: {\n paddingRight: 30\n },\n\n SingleDatePickerInput_clearDate: {\n background: 'none',\n border: 0,\n color: 'inherit',\n font: 'inherit',\n lineHeight: 'normal',\n overflow: 'visible',\n\n cursor: 'pointer',\n padding: 10,\n margin: '0 10px 0 5px',\n position: 'absolute',\n right: 0,\n top: '50%',\n transform: 'translateY(-50%)'\n },\n\n SingleDatePickerInput_clearDate__default: {\n ':focus': {\n background: color.core.border,\n borderRadius: '50%'\n },\n\n ':hover': {\n background: color.core.border,\n borderRadius: '50%'\n }\n },\n\n SingleDatePickerInput_clearDate__small: {\n padding: 6\n },\n\n SingleDatePickerInput_clearDate__hide: {\n visibility: 'hidden'\n },\n\n SingleDatePickerInput_clearDate_svg: {\n fill: color.core.grayLight,\n height: 12,\n width: 15,\n verticalAlign: 'middle'\n },\n\n SingleDatePickerInput_clearDate_svg__small: {\n height: 9\n },\n\n SingleDatePickerInput_calendarIcon: {\n background: 'none',\n border: 0,\n color: 'inherit',\n font: 'inherit',\n lineHeight: 'normal',\n overflow: 'visible',\n\n cursor: 'pointer',\n display: 'inline-block',\n verticalAlign: 'middle',\n padding: 10,\n margin: '0 5px 0 10px'\n },\n\n SingleDatePickerInput_calendarIcon_svg: {\n fill: color.core.grayLight,\n height: 15,\n width: 14,\n verticalAlign: 'middle'\n }\n };\n})(SingleDatePickerInput);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar DISPLAY_FORMAT = exports.DISPLAY_FORMAT = 'L';\nvar ISO_FORMAT = exports.ISO_FORMAT = 'YYYY-MM-DD';\nvar ISO_MONTH_FORMAT = exports.ISO_MONTH_FORMAT = 'YYYY-MM';\n\nvar START_DATE = exports.START_DATE = 'startDate';\nvar END_DATE = exports.END_DATE = 'endDate';\n\nvar HORIZONTAL_ORIENTATION = exports.HORIZONTAL_ORIENTATION = 'horizontal';\nvar VERTICAL_ORIENTATION = exports.VERTICAL_ORIENTATION = 'vertical';\nvar VERTICAL_SCROLLABLE = exports.VERTICAL_SCROLLABLE = 'verticalScrollable';\n\nvar ICON_BEFORE_POSITION = exports.ICON_BEFORE_POSITION = 'before';\nvar ICON_AFTER_POSITION = exports.ICON_AFTER_POSITION = 'after';\n\nvar INFO_POSITION_TOP = exports.INFO_POSITION_TOP = 'top';\nvar INFO_POSITION_BOTTOM = exports.INFO_POSITION_BOTTOM = 'bottom';\nvar INFO_POSITION_BEFORE = exports.INFO_POSITION_BEFORE = 'before';\nvar INFO_POSITION_AFTER = exports.INFO_POSITION_AFTER = 'after';\n\nvar ANCHOR_LEFT = exports.ANCHOR_LEFT = 'left';\nvar ANCHOR_RIGHT = exports.ANCHOR_RIGHT = 'right';\n\nvar OPEN_DOWN = exports.OPEN_DOWN = 'down';\nvar OPEN_UP = exports.OPEN_UP = 'up';\n\nvar DAY_SIZE = exports.DAY_SIZE = 39;\nvar BLOCKED_MODIFIER = exports.BLOCKED_MODIFIER = 'blocked';\nvar WEEKDAYS = exports.WEEKDAYS = [0, 1, 2, 3, 4, 5, 6];\n\nvar FANG_WIDTH_PX = exports.FANG_WIDTH_PX = 20;\nvar FANG_HEIGHT_PX = exports.FANG_HEIGHT_PX = 10;\nvar DEFAULT_VERTICAL_SPACING = exports.DEFAULT_VERTICAL_SPACING = 22;\n\nvar MODIFIER_KEY_NAMES = exports.MODIFIER_KEY_NAMES = new Set(['Shift', 'Control', 'Alt', 'Meta']);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar calendarLabel = 'Calendar';\nvar closeDatePicker = 'Close';\nvar focusStartDate = 'Interact with the calendar and add the check-in date for your trip.';\nvar clearDate = 'Clear Date';\nvar clearDates = 'Clear Dates';\nvar jumpToPrevMonth = 'Move backward to switch to the previous month.';\nvar jumpToNextMonth = 'Move forward to switch to the next month.';\nvar keyboardShortcuts = 'Keyboard Shortcuts';\nvar showKeyboardShortcutsPanel = 'Open the keyboard shortcuts panel.';\nvar hideKeyboardShortcutsPanel = 'Close the shortcuts panel.';\nvar openThisPanel = 'Open this panel.';\nvar enterKey = 'Enter key';\nvar leftArrowRightArrow = 'Right and left arrow keys';\nvar upArrowDownArrow = 'up and down arrow keys';\nvar pageUpPageDown = 'page up and page down keys';\nvar homeEnd = 'Home and end keys';\nvar escape = 'Escape key';\nvar questionMark = 'Question mark';\nvar selectFocusedDate = 'Select the date in focus.';\nvar moveFocusByOneDay = 'Move backward (left) and forward (right) by one day.';\nvar moveFocusByOneWeek = 'Move backward (up) and forward (down) by one week.';\nvar moveFocusByOneMonth = 'Switch months.';\nvar moveFocustoStartAndEndOfWeek = 'Go to the first or last day of a week.';\nvar returnFocusToInput = 'Return to the date input field.';\nvar keyboardNavigationInstructions = 'Press the down arrow key to interact with the calendar and\\n select a date. Press the question mark key to get the keyboard shortcuts for changing dates.';\n\nvar chooseAvailableStartDate = function chooseAvailableStartDate(_ref) {\n var date = _ref.date;\n return 'Choose ' + String(date) + ' as your check-in date. It\\u2019s available.';\n};\nvar chooseAvailableEndDate = function chooseAvailableEndDate(_ref2) {\n var date = _ref2.date;\n return 'Choose ' + String(date) + ' as your check-out date. It\\u2019s available.';\n};\nvar chooseAvailableDate = function chooseAvailableDate(_ref3) {\n var date = _ref3.date;\n return date;\n};\nvar dateIsUnavailable = function dateIsUnavailable(_ref4) {\n var date = _ref4.date;\n return 'Not available. ' + String(date);\n};\nvar dateIsSelected = function dateIsSelected(_ref5) {\n var date = _ref5.date;\n return 'Selected. ' + String(date);\n};\n\nexports['default'] = {\n calendarLabel: calendarLabel,\n closeDatePicker: closeDatePicker,\n focusStartDate: focusStartDate,\n clearDate: clearDate,\n clearDates: clearDates,\n jumpToPrevMonth: jumpToPrevMonth,\n jumpToNextMonth: jumpToNextMonth,\n keyboardShortcuts: keyboardShortcuts,\n showKeyboardShortcutsPanel: showKeyboardShortcutsPanel,\n hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,\n openThisPanel: openThisPanel,\n enterKey: enterKey,\n leftArrowRightArrow: leftArrowRightArrow,\n upArrowDownArrow: upArrowDownArrow,\n pageUpPageDown: pageUpPageDown,\n homeEnd: homeEnd,\n escape: escape,\n questionMark: questionMark,\n selectFocusedDate: selectFocusedDate,\n moveFocusByOneDay: moveFocusByOneDay,\n moveFocusByOneWeek: moveFocusByOneWeek,\n moveFocusByOneMonth: moveFocusByOneMonth,\n moveFocustoStartAndEndOfWeek: moveFocustoStartAndEndOfWeek,\n returnFocusToInput: returnFocusToInput,\n keyboardNavigationInstructions: keyboardNavigationInstructions,\n\n chooseAvailableStartDate: chooseAvailableStartDate,\n chooseAvailableEndDate: chooseAvailableEndDate,\n dateIsUnavailable: dateIsUnavailable,\n dateIsSelected: dateIsSelected\n};\nvar DateRangePickerPhrases = exports.DateRangePickerPhrases = {\n calendarLabel: calendarLabel,\n closeDatePicker: closeDatePicker,\n clearDates: clearDates,\n focusStartDate: focusStartDate,\n jumpToPrevMonth: jumpToPrevMonth,\n jumpToNextMonth: jumpToNextMonth,\n keyboardShortcuts: keyboardShortcuts,\n showKeyboardShortcutsPanel: showKeyboardShortcutsPanel,\n hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,\n openThisPanel: openThisPanel,\n enterKey: enterKey,\n leftArrowRightArrow: leftArrowRightArrow,\n upArrowDownArrow: upArrowDownArrow,\n pageUpPageDown: pageUpPageDown,\n homeEnd: homeEnd,\n escape: escape,\n questionMark: questionMark,\n selectFocusedDate: selectFocusedDate,\n moveFocusByOneDay: moveFocusByOneDay,\n moveFocusByOneWeek: moveFocusByOneWeek,\n moveFocusByOneMonth: moveFocusByOneMonth,\n moveFocustoStartAndEndOfWeek: moveFocustoStartAndEndOfWeek,\n returnFocusToInput: returnFocusToInput,\n keyboardNavigationInstructions: keyboardNavigationInstructions,\n chooseAvailableStartDate: chooseAvailableStartDate,\n chooseAvailableEndDate: chooseAvailableEndDate,\n dateIsUnavailable: dateIsUnavailable,\n dateIsSelected: dateIsSelected\n};\n\nvar DateRangePickerInputPhrases = exports.DateRangePickerInputPhrases = {\n focusStartDate: focusStartDate,\n clearDates: clearDates,\n keyboardNavigationInstructions: keyboardNavigationInstructions\n};\n\nvar SingleDatePickerPhrases = exports.SingleDatePickerPhrases = {\n calendarLabel: calendarLabel,\n closeDatePicker: closeDatePicker,\n clearDate: clearDate,\n jumpToPrevMonth: jumpToPrevMonth,\n jumpToNextMonth: jumpToNextMonth,\n keyboardShortcuts: keyboardShortcuts,\n showKeyboardShortcutsPanel: showKeyboardShortcutsPanel,\n hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,\n openThisPanel: openThisPanel,\n enterKey: enterKey,\n leftArrowRightArrow: leftArrowRightArrow,\n upArrowDownArrow: upArrowDownArrow,\n pageUpPageDown: pageUpPageDown,\n homeEnd: homeEnd,\n escape: escape,\n questionMark: questionMark,\n selectFocusedDate: selectFocusedDate,\n moveFocusByOneDay: moveFocusByOneDay,\n moveFocusByOneWeek: moveFocusByOneWeek,\n moveFocusByOneMonth: moveFocusByOneMonth,\n moveFocustoStartAndEndOfWeek: moveFocustoStartAndEndOfWeek,\n returnFocusToInput: returnFocusToInput,\n keyboardNavigationInstructions: keyboardNavigationInstructions,\n chooseAvailableDate: chooseAvailableDate,\n dateIsUnavailable: dateIsUnavailable,\n dateIsSelected: dateIsSelected\n};\n\nvar SingleDatePickerInputPhrases = exports.SingleDatePickerInputPhrases = {\n clearDate: clearDate,\n keyboardNavigationInstructions: keyboardNavigationInstructions\n};\n\nvar DayPickerPhrases = exports.DayPickerPhrases = {\n calendarLabel: calendarLabel,\n jumpToPrevMonth: jumpToPrevMonth,\n jumpToNextMonth: jumpToNextMonth,\n keyboardShortcuts: keyboardShortcuts,\n showKeyboardShortcutsPanel: showKeyboardShortcutsPanel,\n hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,\n openThisPanel: openThisPanel,\n enterKey: enterKey,\n leftArrowRightArrow: leftArrowRightArrow,\n upArrowDownArrow: upArrowDownArrow,\n pageUpPageDown: pageUpPageDown,\n homeEnd: homeEnd,\n escape: escape,\n questionMark: questionMark,\n selectFocusedDate: selectFocusedDate,\n moveFocusByOneDay: moveFocusByOneDay,\n moveFocusByOneWeek: moveFocusByOneWeek,\n moveFocusByOneMonth: moveFocusByOneMonth,\n moveFocustoStartAndEndOfWeek: moveFocustoStartAndEndOfWeek,\n returnFocusToInput: returnFocusToInput,\n chooseAvailableStartDate: chooseAvailableStartDate,\n chooseAvailableEndDate: chooseAvailableEndDate,\n chooseAvailableDate: chooseAvailableDate,\n dateIsUnavailable: dateIsUnavailable,\n dateIsSelected: dateIsSelected\n};\n\nvar DayPickerKeyboardShortcutsPhrases = exports.DayPickerKeyboardShortcutsPhrases = {\n keyboardShortcuts: keyboardShortcuts,\n showKeyboardShortcutsPanel: showKeyboardShortcutsPanel,\n hideKeyboardShortcutsPanel: hideKeyboardShortcutsPanel,\n openThisPanel: openThisPanel,\n enterKey: enterKey,\n leftArrowRightArrow: leftArrowRightArrow,\n upArrowDownArrow: upArrowDownArrow,\n pageUpPageDown: pageUpPageDown,\n homeEnd: homeEnd,\n escape: escape,\n questionMark: questionMark,\n selectFocusedDate: selectFocusedDate,\n moveFocusByOneDay: moveFocusByOneDay,\n moveFocusByOneWeek: moveFocusByOneWeek,\n moveFocusByOneMonth: moveFocusByOneMonth,\n moveFocustoStartAndEndOfWeek: moveFocustoStartAndEndOfWeek,\n returnFocusToInput: returnFocusToInput\n};\n\nvar DayPickerNavigationPhrases = exports.DayPickerNavigationPhrases = {\n jumpToPrevMonth: jumpToPrevMonth,\n jumpToNextMonth: jumpToNextMonth\n};\n\nvar CalendarDayPhrases = exports.CalendarDayPhrases = {\n chooseAvailableDate: chooseAvailableDate,\n dateIsUnavailable: dateIsUnavailable,\n dateIsSelected: dateIsSelected\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _CalendarDay = require('./components/CalendarDay');\n\nObject.defineProperty(exports, 'CalendarDay', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_CalendarDay)['default'];\n }\n\n return get;\n }()\n});\n\nvar _CalendarMonth = require('./components/CalendarMonth');\n\nObject.defineProperty(exports, 'CalendarMonth', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_CalendarMonth)['default'];\n }\n\n return get;\n }()\n});\n\nvar _CalendarMonthGrid = require('./components/CalendarMonthGrid');\n\nObject.defineProperty(exports, 'CalendarMonthGrid', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_CalendarMonthGrid)['default'];\n }\n\n return get;\n }()\n});\n\nvar _DateRangePicker = require('./components/DateRangePicker');\n\nObject.defineProperty(exports, 'DateRangePicker', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_DateRangePicker)['default'];\n }\n\n return get;\n }()\n});\n\nvar _DateRangePickerInput = require('./components/DateRangePickerInput');\n\nObject.defineProperty(exports, 'DateRangePickerInput', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_DateRangePickerInput)['default'];\n }\n\n return get;\n }()\n});\n\nvar _DateRangePickerInputController = require('./components/DateRangePickerInputController');\n\nObject.defineProperty(exports, 'DateRangePickerInputController', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_DateRangePickerInputController)['default'];\n }\n\n return get;\n }()\n});\n\nvar _DateRangePickerShape = require('./shapes/DateRangePickerShape');\n\nObject.defineProperty(exports, 'DateRangePickerShape', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_DateRangePickerShape)['default'];\n }\n\n return get;\n }()\n});\n\nvar _DayPicker = require('./components/DayPicker');\n\nObject.defineProperty(exports, 'DayPicker', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_DayPicker)['default'];\n }\n\n return get;\n }()\n});\n\nvar _DayPickerRangeController = require('./components/DayPickerRangeController');\n\nObject.defineProperty(exports, 'DayPickerRangeController', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_DayPickerRangeController)['default'];\n }\n\n return get;\n }()\n});\n\nvar _DayPickerSingleDateController = require('./components/DayPickerSingleDateController');\n\nObject.defineProperty(exports, 'DayPickerSingleDateController', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_DayPickerSingleDateController)['default'];\n }\n\n return get;\n }()\n});\n\nvar _SingleDatePicker = require('./components/SingleDatePicker');\n\nObject.defineProperty(exports, 'SingleDatePicker', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_SingleDatePicker)['default'];\n }\n\n return get;\n }()\n});\n\nvar _SingleDatePickerInput = require('./components/SingleDatePickerInput');\n\nObject.defineProperty(exports, 'SingleDatePickerInput', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_SingleDatePickerInput)['default'];\n }\n\n return get;\n }()\n});\n\nvar _SingleDatePickerShape = require('./shapes/SingleDatePickerShape');\n\nObject.defineProperty(exports, 'SingleDatePickerShape', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_SingleDatePickerShape)['default'];\n }\n\n return get;\n }()\n});\n\nvar _isInclusivelyAfterDay = require('./utils/isInclusivelyAfterDay');\n\nObject.defineProperty(exports, 'isInclusivelyAfterDay', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_isInclusivelyAfterDay)['default'];\n }\n\n return get;\n }()\n});\n\nvar _isInclusivelyBeforeDay = require('./utils/isInclusivelyBeforeDay');\n\nObject.defineProperty(exports, 'isInclusivelyBeforeDay', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_isInclusivelyBeforeDay)['default'];\n }\n\n return get;\n }()\n});\n\nvar _isNextDay = require('./utils/isNextDay');\n\nObject.defineProperty(exports, 'isNextDay', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_isNextDay)['default'];\n }\n\n return get;\n }()\n});\n\nvar _isSameDay = require('./utils/isSameDay');\n\nObject.defineProperty(exports, 'isSameDay', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_isSameDay)['default'];\n }\n\n return get;\n }()\n});\n\nvar _toISODateString = require('./utils/toISODateString');\n\nObject.defineProperty(exports, 'toISODateString', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_toISODateString)['default'];\n }\n\n return get;\n }()\n});\n\nvar _toLocalizedDateString = require('./utils/toLocalizedDateString');\n\nObject.defineProperty(exports, 'toLocalizedDateString', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_toLocalizedDateString)['default'];\n }\n\n return get;\n }()\n});\n\nvar _toMomentObject = require('./utils/toMomentObject');\n\nObject.defineProperty(exports, 'toMomentObject', {\n enumerable: true,\n get: function () {\n function get() {\n return _interopRequireDefault(_toMomentObject)['default'];\n }\n\n return get;\n }()\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }","'use strict';\n\nvar _registerCSSInterfaceWithDefaultTheme = require('./utils/registerCSSInterfaceWithDefaultTheme');\n\nvar _registerCSSInterfaceWithDefaultTheme2 = _interopRequireDefault(_registerCSSInterfaceWithDefaultTheme);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n(0, _registerCSSInterfaceWithDefaultTheme2['default'])();","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = _propTypes2['default'].oneOf([_constants.ANCHOR_LEFT, _constants.ANCHOR_RIGHT]);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = _propTypes2['default'].oneOf([_constants.INFO_POSITION_TOP, _constants.INFO_POSITION_BOTTOM, _constants.INFO_POSITION_BEFORE, _constants.INFO_POSITION_AFTER]);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactMomentProptypes = require('react-moment-proptypes');\n\nvar _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _defaultPhrases = require('../defaultPhrases');\n\nvar _getPhrasePropTypes = require('../utils/getPhrasePropTypes');\n\nvar _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);\n\nvar _FocusedInputShape = require('./FocusedInputShape');\n\nvar _FocusedInputShape2 = _interopRequireDefault(_FocusedInputShape);\n\nvar _IconPositionShape = require('./IconPositionShape');\n\nvar _IconPositionShape2 = _interopRequireDefault(_IconPositionShape);\n\nvar _OrientationShape = require('./OrientationShape');\n\nvar _OrientationShape2 = _interopRequireDefault(_OrientationShape);\n\nvar _DisabledShape = require('./DisabledShape');\n\nvar _DisabledShape2 = _interopRequireDefault(_DisabledShape);\n\nvar _AnchorDirectionShape = require('./AnchorDirectionShape');\n\nvar _AnchorDirectionShape2 = _interopRequireDefault(_AnchorDirectionShape);\n\nvar _OpenDirectionShape = require('./OpenDirectionShape');\n\nvar _OpenDirectionShape2 = _interopRequireDefault(_OpenDirectionShape);\n\nvar _DayOfWeekShape = require('./DayOfWeekShape');\n\nvar _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape);\n\nvar _CalendarInfoPositionShape = require('./CalendarInfoPositionShape');\n\nvar _CalendarInfoPositionShape2 = _interopRequireDefault(_CalendarInfoPositionShape);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = {\n // required props for a functional interactive DateRangePicker\n startDate: _reactMomentProptypes2['default'].momentObj,\n endDate: _reactMomentProptypes2['default'].momentObj,\n onDatesChange: _propTypes2['default'].func.isRequired,\n\n focusedInput: _FocusedInputShape2['default'],\n onFocusChange: _propTypes2['default'].func.isRequired,\n\n onClose: _propTypes2['default'].func,\n\n // input related props\n startDateId: _propTypes2['default'].string.isRequired,\n startDatePlaceholderText: _propTypes2['default'].string,\n endDateId: _propTypes2['default'].string.isRequired,\n endDatePlaceholderText: _propTypes2['default'].string,\n disabled: _DisabledShape2['default'],\n required: _propTypes2['default'].bool,\n readOnly: _propTypes2['default'].bool,\n screenReaderInputMessage: _propTypes2['default'].string,\n showClearDates: _propTypes2['default'].bool,\n showDefaultInputIcon: _propTypes2['default'].bool,\n inputIconPosition: _IconPositionShape2['default'],\n customInputIcon: _propTypes2['default'].node,\n customArrowIcon: _propTypes2['default'].node,\n customCloseIcon: _propTypes2['default'].node,\n noBorder: _propTypes2['default'].bool,\n block: _propTypes2['default'].bool,\n small: _propTypes2['default'].bool,\n regular: _propTypes2['default'].bool,\n keepFocusOnInput: _propTypes2['default'].bool,\n\n // calendar presentation and interaction related props\n renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),\n renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),\n orientation: _OrientationShape2['default'],\n anchorDirection: _AnchorDirectionShape2['default'],\n openDirection: _OpenDirectionShape2['default'],\n horizontalMargin: _propTypes2['default'].number,\n withPortal: _propTypes2['default'].bool,\n withFullScreenPortal: _propTypes2['default'].bool,\n appendToBody: _propTypes2['default'].bool,\n disableScroll: _propTypes2['default'].bool,\n daySize: _airbnbPropTypes.nonNegativeInteger,\n isRTL: _propTypes2['default'].bool,\n firstDayOfWeek: _DayOfWeekShape2['default'],\n initialVisibleMonth: _propTypes2['default'].func,\n numberOfMonths: _propTypes2['default'].number,\n keepOpenOnDateSelect: _propTypes2['default'].bool,\n reopenPickerOnClearDates: _propTypes2['default'].bool,\n renderCalendarInfo: _propTypes2['default'].func,\n calendarInfoPosition: _CalendarInfoPositionShape2['default'],\n hideKeyboardShortcutsPanel: _propTypes2['default'].bool,\n verticalHeight: _airbnbPropTypes.nonNegativeInteger,\n transitionDuration: _airbnbPropTypes.nonNegativeInteger,\n verticalSpacing: _airbnbPropTypes.nonNegativeInteger,\n\n // navigation related props\n navPrev: _propTypes2['default'].node,\n navNext: _propTypes2['default'].node,\n onPrevMonthClick: _propTypes2['default'].func,\n onNextMonthClick: _propTypes2['default'].func,\n\n // day presentation and interaction related props\n renderCalendarDay: _propTypes2['default'].func,\n renderDayContents: _propTypes2['default'].func,\n minimumNights: _propTypes2['default'].number,\n enableOutsideDays: _propTypes2['default'].bool,\n isDayBlocked: _propTypes2['default'].func,\n isOutsideRange: _propTypes2['default'].func,\n isDayHighlighted: _propTypes2['default'].func,\n\n // internationalization props\n displayFormat: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].func]),\n monthFormat: _propTypes2['default'].string,\n weekDayFormat: _propTypes2['default'].string,\n phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.DateRangePickerPhrases)),\n dayAriaLabelFormat: _propTypes2['default'].string\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = _propTypes2['default'].oneOf(_constants.WEEKDAYS);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = _propTypes2['default'].oneOfType([_propTypes2['default'].bool, _propTypes2['default'].oneOf([_constants.START_DATE, _constants.END_DATE])]);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = _propTypes2['default'].oneOf([_constants.START_DATE, _constants.END_DATE]);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = _propTypes2['default'].oneOf([_constants.ICON_BEFORE_POSITION, _constants.ICON_AFTER_POSITION]);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nexports['default'] = (0, _airbnbPropTypes.and)([_propTypes2['default'].instanceOf(Set), function () {\n function modifiers(props, propName) {\n for (var _len = arguments.length, rest = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n rest[_key - 2] = arguments[_key];\n }\n\n var propValue = props[propName];\n\n var firstError = void 0;\n [].concat(_toConsumableArray(propValue)).some(function (v, i) {\n var _PropTypes$string;\n\n var fakePropName = String(propName) + ': index ' + String(i);\n firstError = (_PropTypes$string = _propTypes2['default'].string).isRequired.apply(_PropTypes$string, [_defineProperty({}, fakePropName, v), fakePropName].concat(rest));\n return firstError != null;\n });\n return firstError == null ? null : firstError;\n }\n\n return modifiers;\n}()], 'Modifiers (Set of Strings)');","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = _propTypes2['default'].oneOf([_constants.OPEN_DOWN, _constants.OPEN_UP]);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = _propTypes2['default'].oneOf([_constants.HORIZONTAL_ORIENTATION, _constants.VERTICAL_ORIENTATION]);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = _propTypes2['default'].oneOf([_constants.HORIZONTAL_ORIENTATION, _constants.VERTICAL_ORIENTATION, _constants.VERTICAL_SCROLLABLE]);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactMomentProptypes = require('react-moment-proptypes');\n\nvar _reactMomentProptypes2 = _interopRequireDefault(_reactMomentProptypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _defaultPhrases = require('../defaultPhrases');\n\nvar _getPhrasePropTypes = require('../utils/getPhrasePropTypes');\n\nvar _getPhrasePropTypes2 = _interopRequireDefault(_getPhrasePropTypes);\n\nvar _IconPositionShape = require('./IconPositionShape');\n\nvar _IconPositionShape2 = _interopRequireDefault(_IconPositionShape);\n\nvar _OrientationShape = require('./OrientationShape');\n\nvar _OrientationShape2 = _interopRequireDefault(_OrientationShape);\n\nvar _AnchorDirectionShape = require('./AnchorDirectionShape');\n\nvar _AnchorDirectionShape2 = _interopRequireDefault(_AnchorDirectionShape);\n\nvar _OpenDirectionShape = require('./OpenDirectionShape');\n\nvar _OpenDirectionShape2 = _interopRequireDefault(_OpenDirectionShape);\n\nvar _DayOfWeekShape = require('./DayOfWeekShape');\n\nvar _DayOfWeekShape2 = _interopRequireDefault(_DayOfWeekShape);\n\nvar _CalendarInfoPositionShape = require('./CalendarInfoPositionShape');\n\nvar _CalendarInfoPositionShape2 = _interopRequireDefault(_CalendarInfoPositionShape);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = {\n // required props for a functional interactive SingleDatePicker\n date: _reactMomentProptypes2['default'].momentObj,\n onDateChange: _propTypes2['default'].func.isRequired,\n\n focused: _propTypes2['default'].bool,\n onFocusChange: _propTypes2['default'].func.isRequired,\n\n // input related props\n id: _propTypes2['default'].string.isRequired,\n placeholder: _propTypes2['default'].string,\n disabled: _propTypes2['default'].bool,\n required: _propTypes2['default'].bool,\n readOnly: _propTypes2['default'].bool,\n screenReaderInputMessage: _propTypes2['default'].string,\n showClearDate: _propTypes2['default'].bool,\n customCloseIcon: _propTypes2['default'].node,\n showDefaultInputIcon: _propTypes2['default'].bool,\n inputIconPosition: _IconPositionShape2['default'],\n customInputIcon: _propTypes2['default'].node,\n noBorder: _propTypes2['default'].bool,\n block: _propTypes2['default'].bool,\n small: _propTypes2['default'].bool,\n regular: _propTypes2['default'].bool,\n verticalSpacing: _airbnbPropTypes.nonNegativeInteger,\n keepFocusOnInput: _propTypes2['default'].bool,\n\n // calendar presentation and interaction related props\n renderMonthText: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),\n renderMonthElement: (0, _airbnbPropTypes.mutuallyExclusiveProps)(_propTypes2['default'].func, 'renderMonthText', 'renderMonthElement'),\n orientation: _OrientationShape2['default'],\n anchorDirection: _AnchorDirectionShape2['default'],\n openDirection: _OpenDirectionShape2['default'],\n horizontalMargin: _propTypes2['default'].number,\n withPortal: _propTypes2['default'].bool,\n withFullScreenPortal: _propTypes2['default'].bool,\n appendToBody: _propTypes2['default'].bool,\n disableScroll: _propTypes2['default'].bool,\n initialVisibleMonth: _propTypes2['default'].func,\n firstDayOfWeek: _DayOfWeekShape2['default'],\n numberOfMonths: _propTypes2['default'].number,\n keepOpenOnDateSelect: _propTypes2['default'].bool,\n reopenPickerOnClearDate: _propTypes2['default'].bool,\n renderCalendarInfo: _propTypes2['default'].func,\n calendarInfoPosition: _CalendarInfoPositionShape2['default'],\n hideKeyboardShortcutsPanel: _propTypes2['default'].bool,\n daySize: _airbnbPropTypes.nonNegativeInteger,\n isRTL: _propTypes2['default'].bool,\n verticalHeight: _airbnbPropTypes.nonNegativeInteger,\n transitionDuration: _airbnbPropTypes.nonNegativeInteger,\n horizontalMonthPadding: _airbnbPropTypes.nonNegativeInteger,\n\n // navigation related props\n navPrev: _propTypes2['default'].node,\n navNext: _propTypes2['default'].node,\n\n onPrevMonthClick: _propTypes2['default'].func,\n onNextMonthClick: _propTypes2['default'].func,\n onClose: _propTypes2['default'].func,\n\n // day presentation and interaction related props\n renderCalendarDay: _propTypes2['default'].func,\n renderDayContents: _propTypes2['default'].func,\n enableOutsideDays: _propTypes2['default'].bool,\n isDayBlocked: _propTypes2['default'].func,\n isOutsideRange: _propTypes2['default'].func,\n isDayHighlighted: _propTypes2['default'].func,\n\n // internationalization props\n displayFormat: _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].func]),\n monthFormat: _propTypes2['default'].string,\n weekDayFormat: _propTypes2['default'].string,\n phrases: _propTypes2['default'].shape((0, _getPhrasePropTypes2['default'])(_defaultPhrases.SingleDatePickerPhrases)),\n dayAriaLabelFormat: _propTypes2['default'].string\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar core = {\n white: '#fff',\n gray: '#484848',\n grayLight: '#82888a',\n grayLighter: '#cacccd',\n grayLightest: '#f2f2f2',\n\n borderMedium: '#c4c4c4',\n border: '#dbdbdb',\n borderLight: '#e4e7e7',\n borderLighter: '#eceeee',\n borderBright: '#f4f5f5',\n\n primary: '#00a699',\n primaryShade_1: '#33dacd',\n primaryShade_2: '#66e2da',\n primaryShade_3: '#80e8e0',\n primaryShade_4: '#b2f1ec',\n primary_dark: '#008489',\n\n secondary: '#007a87',\n\n yellow: '#ffe8bc',\n yellow_dark: '#ffce71'\n};\n\nexports['default'] = {\n reactDates: {\n zIndex: 0,\n border: {\n input: {\n border: 0,\n borderTop: 0,\n borderRight: 0,\n borderBottom: '2px solid transparent',\n borderLeft: 0,\n outlineFocused: 0,\n borderFocused: 0,\n borderTopFocused: 0,\n borderLeftFocused: 0,\n borderBottomFocused: '2px solid ' + String(core.primary_dark),\n borderRightFocused: 0,\n borderRadius: 0\n },\n pickerInput: {\n borderWidth: 1,\n borderStyle: 'solid',\n borderRadius: 2\n }\n },\n\n color: {\n core: core,\n\n disabled: core.grayLightest,\n\n background: core.white,\n backgroundDark: '#f2f2f2',\n backgroundFocused: core.white,\n border: 'rgb(219, 219, 219)',\n text: core.gray,\n textDisabled: core.border,\n textFocused: '#007a87',\n placeholderText: '#757575',\n\n outside: {\n backgroundColor: core.white,\n backgroundColor_active: core.white,\n backgroundColor_hover: core.white,\n color: core.gray,\n color_active: core.gray,\n color_hover: core.gray\n },\n\n highlighted: {\n backgroundColor: core.yellow,\n backgroundColor_active: core.yellow_dark,\n backgroundColor_hover: core.yellow_dark,\n color: core.gray,\n color_active: core.gray,\n color_hover: core.gray\n },\n\n minimumNights: {\n backgroundColor: core.white,\n backgroundColor_active: core.white,\n backgroundColor_hover: core.white,\n borderColor: core.borderLighter,\n color: core.grayLighter,\n color_active: core.grayLighter,\n color_hover: core.grayLighter\n },\n\n hoveredSpan: {\n backgroundColor: core.primaryShade_4,\n backgroundColor_active: core.primaryShade_3,\n backgroundColor_hover: core.primaryShade_4,\n borderColor: core.primaryShade_3,\n borderColor_active: core.primaryShade_3,\n borderColor_hover: core.primaryShade_3,\n color: core.secondary,\n color_active: core.secondary,\n color_hover: core.secondary\n },\n\n selectedSpan: {\n backgroundColor: core.primaryShade_2,\n backgroundColor_active: core.primaryShade_1,\n backgroundColor_hover: core.primaryShade_1,\n borderColor: core.primaryShade_1,\n borderColor_active: core.primary,\n borderColor_hover: core.primary,\n color: core.white,\n color_active: core.white,\n color_hover: core.white\n },\n\n selected: {\n backgroundColor: core.primary,\n backgroundColor_active: core.primary,\n backgroundColor_hover: core.primary,\n borderColor: core.primary,\n borderColor_active: core.primary,\n borderColor_hover: core.primary,\n color: core.white,\n color_active: core.white,\n color_hover: core.white\n },\n\n blocked_calendar: {\n backgroundColor: core.grayLighter,\n backgroundColor_active: core.grayLighter,\n backgroundColor_hover: core.grayLighter,\n borderColor: core.grayLighter,\n borderColor_active: core.grayLighter,\n borderColor_hover: core.grayLighter,\n color: core.grayLight,\n color_active: core.grayLight,\n color_hover: core.grayLight\n },\n\n blocked_out_of_range: {\n backgroundColor: core.white,\n backgroundColor_active: core.white,\n backgroundColor_hover: core.white,\n borderColor: core.borderLight,\n borderColor_active: core.borderLight,\n borderColor_hover: core.borderLight,\n color: core.grayLighter,\n color_active: core.grayLighter,\n color_hover: core.grayLighter\n }\n },\n\n spacing: {\n dayPickerHorizontalPadding: 9,\n captionPaddingTop: 22,\n captionPaddingBottom: 37,\n inputPadding: 0,\n displayTextPaddingVertical: undefined,\n displayTextPaddingTop: 11,\n displayTextPaddingBottom: 9,\n displayTextPaddingHorizontal: undefined,\n displayTextPaddingLeft: 11,\n displayTextPaddingRight: 11,\n displayTextPaddingVertical_small: undefined,\n displayTextPaddingTop_small: 7,\n displayTextPaddingBottom_small: 5,\n displayTextPaddingHorizontal_small: undefined,\n displayTextPaddingLeft_small: 7,\n displayTextPaddingRight_small: 7\n },\n\n sizing: {\n inputWidth: 130,\n inputWidth_small: 97,\n arrowWidth: 24\n },\n\n noScrollBarOnVerticalScrollable: false,\n\n font: {\n size: 14,\n captionSize: 18,\n input: {\n size: 19,\n lineHeight: '24px',\n size_small: 15,\n lineHeight_small: '18px',\n letterSpacing_small: '0.2px',\n styleDisabled: 'italic'\n }\n }\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = calculateDimension;\nfunction calculateDimension(el, axis) {\n var borderBox = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var withMargin = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n\n if (!el) {\n return 0;\n }\n\n var axisStart = axis === 'width' ? 'Left' : 'Top';\n var axisEnd = axis === 'width' ? 'Right' : 'Bottom';\n\n // Only read styles if we need to\n var style = !borderBox || withMargin ? window.getComputedStyle(el) : null;\n\n // Offset includes border and padding\n var offsetWidth = el.offsetWidth,\n offsetHeight = el.offsetHeight;\n\n var size = axis === 'width' ? offsetWidth : offsetHeight;\n\n // Get the inner size\n if (!borderBox) {\n size -= parseFloat(style['padding' + axisStart]) + parseFloat(style['padding' + axisEnd]) + parseFloat(style['border' + axisStart + 'Width']) + parseFloat(style['border' + axisEnd + 'Width']);\n }\n\n // Apply margin\n if (withMargin) {\n size += parseFloat(style['margin' + axisStart]) + parseFloat(style['margin' + axisEnd]);\n }\n\n return size;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getScrollParent = getScrollParent;\nexports.getScrollAncestorsOverflowY = getScrollAncestorsOverflowY;\nexports['default'] = disableScroll;\nvar getScrollingRoot = function getScrollingRoot() {\n return document.scrollingElement || document.documentElement;\n};\n\n/**\n * Recursively finds the scroll parent of a node. The scroll parrent of a node\n * is the closest node that is scrollable. A node is scrollable if:\n * - it is allowed to scroll via CSS ('overflow-y' not visible or hidden);\n * - and its children/content are \"bigger\" than the node's box height.\n *\n * The root of the document always scrolls by default.\n *\n * @param {HTMLElement} node Any DOM element.\n * @return {HTMLElement} The scroll parent element.\n */\nfunction getScrollParent(node) {\n var parent = node.parentElement;\n\n if (parent == null) return getScrollingRoot();\n\n var _window$getComputedSt = window.getComputedStyle(parent),\n overflowY = _window$getComputedSt.overflowY;\n\n var canScroll = overflowY !== 'visible' && overflowY !== 'hidden';\n\n if (canScroll && parent.scrollHeight > parent.clientHeight) {\n return parent;\n }\n\n return getScrollParent(parent);\n}\n\n/**\n * Recursively traverses the tree upwards from the given node, capturing all\n * ancestor nodes that scroll along with their current 'overflow-y' CSS\n * property.\n *\n * @param {HTMLElement} node Any DOM element.\n * @param {Map<HTMLElement,string>} [acc] Accumulator map.\n * @return {Map<HTMLElement,string>} Map of ancestors with their 'overflow-y' value.\n */\nfunction getScrollAncestorsOverflowY(node) {\n var acc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Map();\n\n var scrollingRoot = getScrollingRoot();\n var scrollParent = getScrollParent(node);\n acc.set(scrollParent, scrollParent.style.overflowY);\n\n if (scrollParent === scrollingRoot) return acc;\n return getScrollAncestorsOverflowY(scrollParent, acc);\n}\n\n/**\n * Disabling the scroll on a node involves finding all the scrollable ancestors\n * and set their 'overflow-y' CSS property to 'hidden'. When all ancestors have\n * 'overflow-y: hidden' (up to the document element) there is no scroll\n * container, thus all the scroll outside of the node is disabled. In order to\n * enable scroll again, we store the previous value of the 'overflow-y' for\n * every ancestor in a closure and reset it back.\n *\n * @param {HTMLElement} node Any DOM element.\n */\nfunction disableScroll(node) {\n var scrollAncestorsOverflowY = getScrollAncestorsOverflowY(node);\n var toggle = function toggle(on) {\n return scrollAncestorsOverflowY.forEach(function (overflowY, ancestor) {\n ancestor.style.setProperty('overflow-y', on ? 'hidden' : overflowY);\n });\n };\n\n toggle(true);\n return function () {\n return toggle(false);\n };\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = getActiveElement;\nfunction getActiveElement() {\n return typeof document !== 'undefined' && document.activeElement;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = getCalendarDaySettings;\n\nvar _getPhrase = require('./getPhrase');\n\nvar _getPhrase2 = _interopRequireDefault(_getPhrase);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction getCalendarDaySettings(day, ariaLabelFormat, daySize, modifiers, phrases) {\n var chooseAvailableDate = phrases.chooseAvailableDate,\n dateIsUnavailable = phrases.dateIsUnavailable,\n dateIsSelected = phrases.dateIsSelected;\n\n\n var daySizeStyles = {\n width: daySize,\n height: daySize - 1\n };\n\n var useDefaultCursor = modifiers.has('blocked-minimum-nights') || modifiers.has('blocked-calendar') || modifiers.has('blocked-out-of-range');\n\n var selected = modifiers.has('selected') || modifiers.has('selected-start') || modifiers.has('selected-end');\n\n var hoveredSpan = !selected && (modifiers.has('hovered-span') || modifiers.has('after-hovered-start'));\n\n var isOutsideRange = modifiers.has('blocked-out-of-range');\n\n var formattedDate = { date: day.format(ariaLabelFormat) };\n\n var ariaLabel = (0, _getPhrase2['default'])(chooseAvailableDate, formattedDate);\n if (modifiers.has(_constants.BLOCKED_MODIFIER)) {\n ariaLabel = (0, _getPhrase2['default'])(dateIsUnavailable, formattedDate);\n } else if (selected) {\n ariaLabel = (0, _getPhrase2['default'])(dateIsSelected, formattedDate);\n }\n\n return {\n daySizeStyles: daySizeStyles,\n useDefaultCursor: useDefaultCursor,\n selected: selected,\n hoveredSpan: hoveredSpan,\n isOutsideRange: isOutsideRange,\n ariaLabel: ariaLabel\n };\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = getCalendarMonthWeeks;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction getCalendarMonthWeeks(month, enableOutsideDays) {\n var firstDayOfWeek = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _moment2['default'].localeData().firstDayOfWeek();\n\n if (!_moment2['default'].isMoment(month) || !month.isValid()) {\n throw new TypeError('`month` must be a valid moment object');\n }\n if (_constants.WEEKDAYS.indexOf(firstDayOfWeek) === -1) {\n throw new TypeError('`firstDayOfWeek` must be an integer between 0 and 6');\n }\n\n // set utc offset to get correct dates in future (when timezone changes)\n var firstOfMonth = month.clone().startOf('month').hour(12);\n var lastOfMonth = month.clone().endOf('month').hour(12);\n\n // calculate the exact first and last days to fill the entire matrix\n // (considering days outside month)\n var prevDays = (firstOfMonth.day() + 7 - firstDayOfWeek) % 7;\n var nextDays = (firstDayOfWeek + 6 - lastOfMonth.day()) % 7;\n var firstDay = firstOfMonth.clone().subtract(prevDays, 'day');\n var lastDay = lastOfMonth.clone().add(nextDays, 'day');\n\n var totalDays = lastDay.diff(firstDay, 'days') + 1;\n\n var currentDay = firstDay.clone();\n var weeksInMonth = [];\n\n for (var i = 0; i < totalDays; i += 1) {\n if (i % 7 === 0) {\n weeksInMonth.push([]);\n }\n\n var day = null;\n if (i >= prevDays && i < totalDays - nextDays || enableOutsideDays) {\n day = currentDay.clone();\n }\n\n weeksInMonth[weeksInMonth.length - 1].push(day);\n\n currentDay.add(1, 'day');\n }\n\n return weeksInMonth;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getCalendarMonthWidth;\nfunction getCalendarMonthWidth(daySize, calendarMonthPadding) {\n return 7 * daySize + 2 * calendarMonthPadding + 1;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = getDetachedContainerStyles;\n\nvar _constants = require('../constants');\n\n/**\n * Calculate and return a CSS transform style to position a detached element\n * next to a reference element. The open and anchor direction indicate wether\n * it should be positioned above/below and/or to the left/right of the\n * reference element.\n *\n * Assuming r(0,0), r(1,1), d(0,0), d(1,1) for the bottom-left and top-right\n * corners of the reference and detached elements, respectively:\n * - openDirection = DOWN, anchorDirection = LEFT => d(0,1) == r(0,1)\n * - openDirection = UP, anchorDirection = LEFT => d(0,0) == r(0,0)\n * - openDirection = DOWN, anchorDirection = RIGHT => d(1,1) == r(1,1)\n * - openDirection = UP, anchorDirection = RIGHT => d(1,0) == r(1,0)\n *\n * By using a CSS transform, we allow to further position it using\n * top/bottom CSS properties for the anchor gutter.\n *\n * @param {string} openDirection The vertical positioning of the popup\n * @param {string} anchorDirection The horizontal position of the popup\n * @param {HTMLElement} referenceEl The reference element\n */\nfunction getDetachedContainerStyles(openDirection, anchorDirection, referenceEl) {\n var referenceRect = referenceEl.getBoundingClientRect();\n var offsetX = referenceRect.left;\n var offsetY = referenceRect.top;\n\n if (openDirection === _constants.OPEN_UP) {\n offsetY = -(window.innerHeight - referenceRect.bottom);\n }\n\n if (anchorDirection === _constants.ANCHOR_RIGHT) {\n offsetX = -(window.innerWidth - referenceRect.right);\n }\n\n return {\n transform: 'translate3d(' + String(Math.round(offsetX)) + 'px, ' + String(Math.round(offsetY)) + 'px, 0)'\n };\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = getInputHeight;\n/* eslint-disable camelcase */\n\nfunction getPadding(vertical, top, bottom) {\n var isTopDefined = typeof top === 'number';\n var isBottomDefined = typeof bottom === 'number';\n var isVerticalDefined = typeof vertical === 'number';\n\n if (isTopDefined && isBottomDefined) {\n return top + bottom;\n }\n\n if (isTopDefined && isVerticalDefined) {\n return top + vertical;\n }\n\n if (isTopDefined) {\n return top;\n }\n\n if (isBottomDefined && isVerticalDefined) {\n return bottom + vertical;\n }\n\n if (isBottomDefined) {\n return bottom;\n }\n\n if (isVerticalDefined) {\n return 2 * vertical;\n }\n\n return 0;\n}\n\nfunction getInputHeight(_ref, small) {\n var _ref$font$input = _ref.font.input,\n lineHeight = _ref$font$input.lineHeight,\n lineHeight_small = _ref$font$input.lineHeight_small,\n _ref$spacing = _ref.spacing,\n inputPadding = _ref$spacing.inputPadding,\n displayTextPaddingVertical = _ref$spacing.displayTextPaddingVertical,\n displayTextPaddingTop = _ref$spacing.displayTextPaddingTop,\n displayTextPaddingBottom = _ref$spacing.displayTextPaddingBottom,\n displayTextPaddingVertical_small = _ref$spacing.displayTextPaddingVertical_small,\n displayTextPaddingTop_small = _ref$spacing.displayTextPaddingTop_small,\n displayTextPaddingBottom_small = _ref$spacing.displayTextPaddingBottom_small;\n\n var calcLineHeight = small ? lineHeight_small : lineHeight;\n\n var padding = small ? getPadding(displayTextPaddingVertical_small, displayTextPaddingTop_small, displayTextPaddingBottom_small) : getPadding(displayTextPaddingVertical, displayTextPaddingTop, displayTextPaddingBottom);\n\n return parseInt(calcLineHeight, 10) + 2 * inputPadding + padding;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = getNumberOfCalendarMonthWeeks;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction getBlankDaysBeforeFirstDay(firstDayOfMonth, firstDayOfWeek) {\n var weekDayDiff = firstDayOfMonth.day() - firstDayOfWeek;\n return (weekDayDiff + 7) % 7;\n}\n\nfunction getNumberOfCalendarMonthWeeks(month) {\n var firstDayOfWeek = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _moment2['default'].localeData().firstDayOfWeek();\n\n var firstDayOfMonth = month.clone().startOf('month');\n var numBlankDays = getBlankDaysBeforeFirstDay(firstDayOfMonth, firstDayOfWeek);\n return Math.ceil((numBlankDays + month.daysInMonth()) / 7);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = getPhrase;\nfunction getPhrase(phrase, args) {\n if (typeof phrase === 'string') return phrase;\n\n if (typeof phrase === 'function') {\n return phrase(args);\n }\n\n return '';\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = getPhrasePropTypes;\n\nvar _object = require('object.assign');\n\nvar _object2 = _interopRequireDefault(_object);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction getPhrasePropTypes(defaultPhrases) {\n return Object.keys(defaultPhrases).reduce(function (phrases, key) {\n return (0, _object2['default'])({}, phrases, _defineProperty({}, key, _propTypes2['default'].oneOfType([_propTypes2['default'].string, _propTypes2['default'].func, _propTypes2['default'].node])));\n }, {});\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = getResponsiveContainerStyles;\n\nvar _constants = require('../constants');\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction getResponsiveContainerStyles(anchorDirection, currentOffset, containerEdge, margin) {\n var windowWidth = typeof window !== 'undefined' ? window.innerWidth : 0;\n var calculatedOffset = anchorDirection === _constants.ANCHOR_LEFT ? windowWidth - containerEdge : containerEdge;\n var calculatedMargin = margin || 0;\n\n return _defineProperty({}, anchorDirection, Math.min(currentOffset + calculatedOffset - calculatedMargin, 0));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getSelectedDateOffset;\nvar defaultModifier = function defaultModifier(day) {\n return day;\n};\n\nfunction getSelectedDateOffset(fn, day) {\n var modifier = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : defaultModifier;\n\n if (!fn) return day;\n return modifier(fn(day.clone()));\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getTransformStyles;\nfunction getTransformStyles(transformValue) {\n return {\n transform: transformValue,\n msTransform: transformValue,\n MozTransform: transformValue,\n WebkitTransform: transformValue\n };\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = getVisibleDays;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _toISOMonthString = require('./toISOMonthString');\n\nvar _toISOMonthString2 = _interopRequireDefault(_toISOMonthString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction getVisibleDays(month, numberOfMonths, enableOutsideDays, withoutTransitionMonths) {\n if (!_moment2['default'].isMoment(month)) return {};\n\n var visibleDaysByMonth = {};\n var currentMonth = withoutTransitionMonths ? month.clone() : month.clone().subtract(1, 'month');\n for (var i = 0; i < (withoutTransitionMonths ? numberOfMonths : numberOfMonths + 2); i += 1) {\n var visibleDays = [];\n\n // set utc offset to get correct dates in future (when timezone changes)\n var baseDate = currentMonth.clone();\n var firstOfMonth = baseDate.clone().startOf('month').hour(12);\n var lastOfMonth = baseDate.clone().endOf('month').hour(12);\n\n var currentDay = firstOfMonth.clone();\n\n // days belonging to the previous month\n if (enableOutsideDays) {\n for (var j = 0; j < currentDay.weekday(); j += 1) {\n var prevDay = currentDay.clone().subtract(j + 1, 'day');\n visibleDays.unshift(prevDay);\n }\n }\n\n while (currentDay < lastOfMonth) {\n visibleDays.push(currentDay.clone());\n currentDay.add(1, 'day');\n }\n\n if (enableOutsideDays) {\n // weekday() returns the index of the day of the week according to the locale\n // this means if the week starts on Monday, weekday() will return 0 for a Monday date, not 1\n if (currentDay.weekday() !== 0) {\n // days belonging to the next month\n for (var k = currentDay.weekday(), count = 0; k < 7; k += 1, count += 1) {\n var nextDay = currentDay.clone().add(count, 'day');\n visibleDays.push(nextDay);\n }\n }\n }\n\n visibleDaysByMonth[(0, _toISOMonthString2['default'])(currentMonth)] = visibleDays;\n currentMonth = currentMonth.clone().add(1, 'month');\n }\n\n return visibleDaysByMonth;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = isAfterDay;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _isBeforeDay = require('./isBeforeDay');\n\nvar _isBeforeDay2 = _interopRequireDefault(_isBeforeDay);\n\nvar _isSameDay = require('./isSameDay');\n\nvar _isSameDay2 = _interopRequireDefault(_isSameDay);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction isAfterDay(a, b) {\n if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;\n return !(0, _isBeforeDay2['default'])(a, b) && !(0, _isSameDay2['default'])(a, b);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = isBeforeDay;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction isBeforeDay(a, b) {\n if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;\n\n var aYear = a.year();\n var aMonth = a.month();\n\n var bYear = b.year();\n var bMonth = b.month();\n\n var isSameYear = aYear === bYear;\n var isSameMonth = aMonth === bMonth;\n\n if (isSameYear && isSameMonth) return a.date() < b.date();\n if (isSameYear) return aMonth < bMonth;\n return aYear < bYear;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = isDayVisible;\n\nvar _isBeforeDay = require('./isBeforeDay');\n\nvar _isBeforeDay2 = _interopRequireDefault(_isBeforeDay);\n\nvar _isAfterDay = require('./isAfterDay');\n\nvar _isAfterDay2 = _interopRequireDefault(_isAfterDay);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction isDayVisible(day, month, numberOfMonths, enableOutsideDays) {\n var firstDayOfFirstMonth = month.clone().startOf('month');\n if (enableOutsideDays) firstDayOfFirstMonth = firstDayOfFirstMonth.startOf('week');\n if ((0, _isBeforeDay2['default'])(day, firstDayOfFirstMonth)) return false;\n\n var lastDayOfLastMonth = month.clone().add(numberOfMonths - 1, 'months').endOf('month');\n if (enableOutsideDays) lastDayOfLastMonth = lastDayOfLastMonth.endOf('week');\n return !(0, _isAfterDay2['default'])(day, lastDayOfLastMonth);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = isInclusivelyAfterDay;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _isBeforeDay = require('./isBeforeDay');\n\nvar _isBeforeDay2 = _interopRequireDefault(_isBeforeDay);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction isInclusivelyAfterDay(a, b) {\n if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;\n return !(0, _isBeforeDay2['default'])(a, b);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = isInclusivelyBeforeDay;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _isAfterDay = require('./isAfterDay');\n\nvar _isAfterDay2 = _interopRequireDefault(_isAfterDay);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction isInclusivelyBeforeDay(a, b) {\n if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;\n return !(0, _isAfterDay2['default'])(a, b);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = isNextDay;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _isSameDay = require('./isSameDay');\n\nvar _isSameDay2 = _interopRequireDefault(_isSameDay);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction isNextDay(a, b) {\n if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;\n var nextDay = (0, _moment2['default'])(a).add(1, 'day');\n return (0, _isSameDay2['default'])(nextDay, b);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = isNextMonth;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _isSameMonth = require('./isSameMonth');\n\nvar _isSameMonth2 = _interopRequireDefault(_isSameMonth);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction isNextMonth(a, b) {\n if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;\n return (0, _isSameMonth2['default'])(a.clone().add(1, 'month'), b);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = isPrevMonth;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _isSameMonth = require('./isSameMonth');\n\nvar _isSameMonth2 = _interopRequireDefault(_isSameMonth);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction isPrevMonth(a, b) {\n if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;\n return (0, _isSameMonth2['default'])(a.clone().subtract(1, 'month'), b);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = isSameDay;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction isSameDay(a, b) {\n if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;\n // Compare least significant, most likely to change units first\n // Moment's isSame clones moment inputs and is a tad slow\n return a.date() === b.date() && a.month() === b.month() && a.year() === b.year();\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = isSameMonth;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction isSameMonth(a, b) {\n if (!_moment2['default'].isMoment(a) || !_moment2['default'].isMoment(b)) return false;\n // Compare least significant, most likely to change units first\n // Moment's isSame clones moment inputs and is a tad slow\n return a.month() === b.month() && a.year() === b.year();\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = isTransitionEndSupported;\nfunction isTransitionEndSupported() {\n return !!(typeof window !== 'undefined' && 'TransitionEvent' in window);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = registerCSSInterfaceWithDefaultTheme;\n\nvar _reactWithStylesInterfaceCss = require('react-with-styles-interface-css');\n\nvar _reactWithStylesInterfaceCss2 = _interopRequireDefault(_reactWithStylesInterfaceCss);\n\nvar _registerInterfaceWithDefaultTheme = require('./registerInterfaceWithDefaultTheme');\n\nvar _registerInterfaceWithDefaultTheme2 = _interopRequireDefault(_registerInterfaceWithDefaultTheme);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction registerCSSInterfaceWithDefaultTheme() {\n (0, _registerInterfaceWithDefaultTheme2['default'])(_reactWithStylesInterfaceCss2['default']);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = registerInterfaceWithDefaultTheme;\n\nvar _ThemedStyleSheet = require('react-with-styles/lib/ThemedStyleSheet');\n\nvar _ThemedStyleSheet2 = _interopRequireDefault(_ThemedStyleSheet);\n\nvar _DefaultTheme = require('../theme/DefaultTheme');\n\nvar _DefaultTheme2 = _interopRequireDefault(_DefaultTheme);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction registerInterfaceWithDefaultTheme(reactWithStylesInterface) {\n _ThemedStyleSheet2['default'].registerInterface(reactWithStylesInterface);\n _ThemedStyleSheet2['default'].registerTheme(_DefaultTheme2['default']);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = toISODateString;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _toMomentObject = require('./toMomentObject');\n\nvar _toMomentObject2 = _interopRequireDefault(_toMomentObject);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction toISODateString(date, currentFormat) {\n var dateObj = _moment2['default'].isMoment(date) ? date : (0, _toMomentObject2['default'])(date, currentFormat);\n if (!dateObj) return null;\n\n return dateObj.format(_constants.ISO_FORMAT);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = toISOMonthString;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _toMomentObject = require('./toMomentObject');\n\nvar _toMomentObject2 = _interopRequireDefault(_toMomentObject);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction toISOMonthString(date, currentFormat) {\n var dateObj = _moment2['default'].isMoment(date) ? date : (0, _toMomentObject2['default'])(date, currentFormat);\n if (!dateObj) return null;\n\n return dateObj.format(_constants.ISO_MONTH_FORMAT);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = toLocalizedDateString;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _toMomentObject = require('./toMomentObject');\n\nvar _toMomentObject2 = _interopRequireDefault(_toMomentObject);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction toLocalizedDateString(date, currentFormat) {\n var dateObj = _moment2['default'].isMoment(date) ? date : (0, _toMomentObject2['default'])(date, currentFormat);\n if (!dateObj) return null;\n\n return dateObj.format(_constants.DISPLAY_FORMAT);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = toMomentObject;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _constants = require('../constants');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction toMomentObject(dateString, customFormat) {\n var dateFormats = customFormat ? [customFormat, _constants.DISPLAY_FORMAT, _constants.ISO_FORMAT] : [_constants.DISPLAY_FORMAT, _constants.ISO_FORMAT];\n\n var date = (0, _moment2['default'])(dateString, dateFormats, true);\n return date.isValid() ? date.hour(12) : null;\n}","var messages = {\n invalidPredicate: '`predicate` must be a function',\n invalidPropValidator: '`propValidator` must be a function',\n requiredCore: 'is marked as required',\n invalidTypeCore: 'Invalid input type',\n predicateFailureCore: 'Failed to succeed with predicate',\n anonymousMessage: '<<anonymous>>',\n baseInvalidMessage: 'Invalid ',\n};\n\nfunction constructPropValidatorVariations(propValidator) {\n if (typeof propValidator !== 'function') {\n throw new Error(messages.invalidPropValidator);\n }\n\n var requiredPropValidator = propValidator.bind(null, false, null);\n requiredPropValidator.isRequired = propValidator.bind(null, true, null);\n\n requiredPropValidator.withPredicate = function predicateApplication(predicate) {\n if (typeof predicate !== 'function') {\n throw new Error(messages.invalidPredicate);\n }\n var basePropValidator = propValidator.bind(null, false, predicate);\n basePropValidator.isRequired = propValidator.bind(null, true, predicate);\n return basePropValidator;\n };\n\n return requiredPropValidator;\n}\n\nfunction createInvalidRequiredErrorMessage(propName, componentName, value) {\n return new Error(\n 'The prop `' + propName + '` ' + messages.requiredCore +\n ' in `' + componentName + '`, but its value is `' + value + '`.'\n );\n}\n\nvar independentGuardianValue = -1;\n\nfunction preValidationRequireCheck(isRequired, componentName, propFullName, propValue) {\n var isPropValueUndefined = typeof propValue === 'undefined';\n var isPropValueNull = propValue === null;\n\n if (isRequired) {\n if (isPropValueUndefined) {\n return createInvalidRequiredErrorMessage(propFullName, componentName, 'undefined');\n } else if (isPropValueNull) {\n return createInvalidRequiredErrorMessage(propFullName, componentName, 'null');\n }\n }\n\n if (isPropValueUndefined || isPropValueNull) {\n return null;\n }\n\n return independentGuardianValue;\n}\n\nfunction createMomentChecker(type, typeValidator, validator, momentType) {\n\n function propValidator(\n isRequired, // Bound parameter to indicate with the propType is required\n predicate, // Bound parameter to allow user to add dynamic validation\n props,\n propName,\n componentName,\n location,\n propFullName\n ) {\n var propValue = props[ propName ];\n var propType = typeof propValue;\n\n componentName = componentName || messages.anonymousMessage;\n propFullName = propFullName || propName;\n\n var preValidationRequireCheckValue = preValidationRequireCheck(\n isRequired, componentName, propFullName, propValue\n );\n\n if (preValidationRequireCheckValue !== independentGuardianValue) {\n return preValidationRequireCheckValue;\n }\n\n if (typeValidator && !typeValidator(propValue)) {\n return new Error(\n messages.invalidTypeCore + ': `' + propName + '` of type `' + propType + '` ' +\n 'supplied to `' + componentName + '`, expected `' + type + '`.'\n );\n }\n\n if (!validator(propValue)) {\n return new Error(\n messages.baseInvalidMessage + location + ' `' + propName + '` of type `' + propType + '` ' +\n 'supplied to `' + componentName + '`, expected `' + momentType + '`.'\n );\n }\n\n if (predicate && !predicate(propValue)) {\n var predicateName = predicate.name || messages.anonymousMessage;\n return new Error(\n messages.baseInvalidMessage + location + ' `' + propName + '` of type `' + propType + '` ' +\n 'supplied to `' + componentName + '`. ' + messages.predicateFailureCore + ' `' +\n predicateName + '`.'\n );\n }\n\n return null;\n\n }\n\n return constructPropValidatorVariations(propValidator);\n\n}\n\nmodule.exports = {\n constructPropValidatorVariations: constructPropValidatorVariations,\n createMomentChecker: createMomentChecker,\n messages: messages,\n};\n","var moment = require('moment');\nvar momentValidationWrapper = require('./moment-validation-wrapper');\nvar core = require('./core');\n\nmodule.exports = {\n\n momentObj : core.createMomentChecker(\n 'object',\n function(obj) {\n return typeof obj === 'object';\n },\n function isValid(value) {\n return momentValidationWrapper.isValidMoment(value);\n },\n 'Moment'\n ),\n\n momentString : core.createMomentChecker(\n 'string',\n function(str) {\n return typeof str === 'string';\n },\n function isValid(value) {\n return momentValidationWrapper.isValidMoment(moment(value));\n },\n 'Moment'\n ),\n\n momentDurationObj : core.createMomentChecker(\n 'object',\n function(obj) {\n return typeof obj === 'object';\n },\n function isValid(value) {\n return moment.isDuration(value);\n },\n 'Duration'\n ),\n\n};\n","var moment = require('moment');\n\nfunction isValidMoment(testMoment) {\n if (typeof moment.isMoment === 'function' && !moment.isMoment(testMoment)) {\n return false;\n }\n\n /* istanbul ignore else */\n if (typeof testMoment.isValid === 'function') {\n // moment 1.7.0+\n return testMoment.isValid();\n }\n\n /* istanbul ignore next */\n return !isNaN(testMoment);\n}\n\nmodule.exports = {\n isValidMoment : isValidMoment,\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _airbnbPropTypes = require('airbnb-prop-types');\n\nvar _consolidatedEvents = require('consolidated-events');\n\nvar _object = require('object.values');\n\nvar _object2 = _interopRequireDefault(_object);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar DISPLAY = {\n BLOCK: 'block',\n FLEX: 'flex',\n INLINE_BLOCK: 'inline-block'\n};\n\nvar propTypes = (0, _airbnbPropTypes.forbidExtraProps)({\n children: _propTypes2['default'].node.isRequired,\n onOutsideClick: _propTypes2['default'].func.isRequired,\n disabled: _propTypes2['default'].bool,\n useCapture: _propTypes2['default'].bool,\n display: _propTypes2['default'].oneOf((0, _object2['default'])(DISPLAY))\n});\n\nvar defaultProps = {\n disabled: false,\n\n // `useCapture` is set to true by default so that a `stopPropagation` in the\n // children will not prevent all outside click handlers from firing - maja\n useCapture: true,\n display: DISPLAY.BLOCK\n};\n\nvar OutsideClickHandler = function (_React$Component) {\n _inherits(OutsideClickHandler, _React$Component);\n\n function OutsideClickHandler() {\n var _ref;\n\n _classCallCheck(this, OutsideClickHandler);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _this = _possibleConstructorReturn(this, (_ref = OutsideClickHandler.__proto__ || Object.getPrototypeOf(OutsideClickHandler)).call.apply(_ref, [this].concat(args)));\n\n _this.onMouseDown = _this.onMouseDown.bind(_this);\n _this.onMouseUp = _this.onMouseUp.bind(_this);\n _this.setChildNodeRef = _this.setChildNodeRef.bind(_this);\n return _this;\n }\n\n _createClass(OutsideClickHandler, [{\n key: 'componentDidMount',\n value: function () {\n function componentDidMount() {\n var _props = this.props,\n disabled = _props.disabled,\n useCapture = _props.useCapture;\n\n\n if (!disabled) this.addMouseDownEventListener(useCapture);\n }\n\n return componentDidMount;\n }()\n }, {\n key: 'componentWillReceiveProps',\n value: function () {\n function componentWillReceiveProps(_ref2) {\n var disabled = _ref2.disabled,\n useCapture = _ref2.useCapture;\n var prevDisabled = this.props.disabled;\n\n if (prevDisabled !== disabled) {\n if (disabled) {\n this.removeEventListeners();\n } else {\n this.addMouseDownEventListener(useCapture);\n }\n }\n }\n\n return componentWillReceiveProps;\n }()\n }, {\n key: 'componentWillUnmount',\n value: function () {\n function componentWillUnmount() {\n this.removeEventListeners();\n }\n\n return componentWillUnmount;\n }()\n\n // Use mousedown/mouseup to enforce that clicks remain outside the root's\n // descendant tree, even when dragged. This should also get triggered on\n // touch devices.\n\n }, {\n key: 'onMouseDown',\n value: function () {\n function onMouseDown(e) {\n var useCapture = this.props.useCapture;\n\n\n var isDescendantOfRoot = this.childNode && this.childNode.contains(e.target);\n if (!isDescendantOfRoot) {\n this.removeMouseUp = (0, _consolidatedEvents.addEventListener)(document, 'mouseup', this.onMouseUp, { capture: useCapture });\n }\n }\n\n return onMouseDown;\n }()\n\n // Use mousedown/mouseup to enforce that clicks remain outside the root's\n // descendant tree, even when dragged. This should also get triggered on\n // touch devices.\n\n }, {\n key: 'onMouseUp',\n value: function () {\n function onMouseUp(e) {\n var onOutsideClick = this.props.onOutsideClick;\n\n\n var isDescendantOfRoot = this.childNode && this.childNode.contains(e.target);\n if (this.removeMouseUp) this.removeMouseUp();\n this.removeMouseUp = null;\n\n if (!isDescendantOfRoot) {\n onOutsideClick(e);\n }\n }\n\n return onMouseUp;\n }()\n }, {\n key: 'setChildNodeRef',\n value: function () {\n function setChildNodeRef(ref) {\n this.childNode = ref;\n }\n\n return setChildNodeRef;\n }()\n }, {\n key: 'addMouseDownEventListener',\n value: function () {\n function addMouseDownEventListener(useCapture) {\n this.removeMouseDown = (0, _consolidatedEvents.addEventListener)(document, 'mousedown', this.onMouseDown, { capture: useCapture });\n }\n\n return addMouseDownEventListener;\n }()\n }, {\n key: 'removeEventListeners',\n value: function () {\n function removeEventListeners() {\n if (this.removeMouseDown) this.removeMouseDown();\n if (this.removeMouseUp) this.removeMouseUp();\n }\n\n return removeEventListeners;\n }()\n }, {\n key: 'render',\n value: function () {\n function render() {\n var _props2 = this.props,\n children = _props2.children,\n display = _props2.display;\n\n\n return _react2['default'].createElement(\n 'div',\n {\n ref: this.setChildNodeRef,\n style: display !== DISPLAY.BLOCK && (0, _object2['default'])(DISPLAY).includes(display) ? { display: display } : undefined\n },\n children\n );\n }\n\n return render;\n }()\n }]);\n\n return OutsideClickHandler;\n}(_react2['default'].Component);\n\nexports['default'] = OutsideClickHandler;\n\n\nOutsideClickHandler.propTypes = propTypes;\nOutsideClickHandler.defaultProps = defaultProps;","// eslint-disable-next-line import/no-unresolved\nmodule.exports = require('./build/OutsideClickHandler');\n","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// This file is a fallback for a consumer who is not yet on React 16\n// as createPortal was introduced in React 16\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\n\nvar Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n _classCallCheck(this, Portal);\n\n return _possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));\n }\n\n _createClass(Portal, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.renderPortal();\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(props) {\n this.renderPortal();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n ReactDOM.unmountComponentAtNode(this.defaultNode || this.props.node);\n if (this.defaultNode) {\n document.body.removeChild(this.defaultNode);\n }\n this.defaultNode = null;\n this.portal = null;\n }\n }, {\n key: 'renderPortal',\n value: function renderPortal(props) {\n if (!this.props.node && !this.defaultNode) {\n this.defaultNode = document.createElement('div');\n document.body.appendChild(this.defaultNode);\n }\n\n var children = this.props.children;\n // https://gist.github.com/jimfb/d99e0678e9da715ccf6454961ef04d1b\n if (typeof this.props.children.type === 'function') {\n children = React.cloneElement(this.props.children);\n }\n\n this.portal = ReactDOM.unstable_renderSubtreeIntoContainer(this, children, this.props.node || this.defaultNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return null;\n }\n }]);\n\n return Portal;\n}(React.Component);\n\nexport default Portal;\n\n\nPortal.propTypes = {\n children: PropTypes.node.isRequired,\n node: PropTypes.any\n};","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport { canUseDOM } from './utils';\n\nvar Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n _classCallCheck(this, Portal);\n\n return _possibleConstructorReturn(this, (Portal.__proto__ || Object.getPrototypeOf(Portal)).apply(this, arguments));\n }\n\n _createClass(Portal, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.defaultNode) {\n document.body.removeChild(this.defaultNode);\n }\n this.defaultNode = null;\n }\n }, {\n key: 'render',\n value: function render() {\n if (!canUseDOM) {\n return null;\n }\n if (!this.props.node && !this.defaultNode) {\n this.defaultNode = document.createElement('div');\n document.body.appendChild(this.defaultNode);\n }\n return ReactDOM.createPortal(this.props.children, this.props.node || this.defaultNode);\n }\n }]);\n\n return Portal;\n}(React.Component);\n\nPortal.propTypes = {\n children: PropTypes.node.isRequired,\n node: PropTypes.any\n};\n\nexport default Portal;","import ReactDOM from 'react-dom';\n\nimport Portalv4 from './Portal';\nimport LegacyPortal from './LegacyPortal';\n\nvar Portal = void 0;\n\nif (ReactDOM.createPortal) {\n Portal = Portalv4;\n} else {\n Portal = LegacyPortal;\n}\n\nexport default Portal;","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Portal from './PortalCompat';\n\nvar KEYCODES = {\n ESCAPE: 27\n};\n\nvar PortalWithState = function (_React$Component) {\n _inherits(PortalWithState, _React$Component);\n\n function PortalWithState(props) {\n _classCallCheck(this, PortalWithState);\n\n var _this = _possibleConstructorReturn(this, (PortalWithState.__proto__ || Object.getPrototypeOf(PortalWithState)).call(this, props));\n\n _this.portalNode = null;\n _this.state = { active: !!props.defaultOpen };\n _this.openPortal = _this.openPortal.bind(_this);\n _this.closePortal = _this.closePortal.bind(_this);\n _this.wrapWithPortal = _this.wrapWithPortal.bind(_this);\n _this.handleOutsideMouseClick = _this.handleOutsideMouseClick.bind(_this);\n _this.handleKeydown = _this.handleKeydown.bind(_this);\n return _this;\n }\n\n _createClass(PortalWithState, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.closeOnEsc) {\n document.addEventListener('keydown', this.handleKeydown);\n }\n if (this.props.closeOnOutsideClick) {\n document.addEventListener('click', this.handleOutsideMouseClick);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (this.props.closeOnEsc) {\n document.removeEventListener('keydown', this.handleKeydown);\n }\n if (this.props.closeOnOutsideClick) {\n document.removeEventListener('click', this.handleOutsideMouseClick);\n }\n }\n }, {\n key: 'openPortal',\n value: function openPortal(e) {\n if (this.state.active) {\n return;\n }\n if (e && e.nativeEvent) {\n e.nativeEvent.stopImmediatePropagation();\n }\n this.setState({ active: true }, this.props.onOpen);\n }\n }, {\n key: 'closePortal',\n value: function closePortal() {\n if (!this.state.active) {\n return;\n }\n this.setState({ active: false }, this.props.onClose);\n }\n }, {\n key: 'wrapWithPortal',\n value: function wrapWithPortal(children) {\n var _this2 = this;\n\n if (!this.state.active) {\n return null;\n }\n return React.createElement(\n Portal,\n {\n node: this.props.node,\n key: 'react-portal',\n ref: function ref(portalNode) {\n return _this2.portalNode = portalNode;\n }\n },\n children\n );\n }\n }, {\n key: 'handleOutsideMouseClick',\n value: function handleOutsideMouseClick(e) {\n if (!this.state.active) {\n return;\n }\n var root = this.portalNode.props.node || this.portalNode.defaultNode;\n if (!root || root.contains(e.target) || e.button && e.button !== 0) {\n return;\n }\n this.closePortal();\n }\n }, {\n key: 'handleKeydown',\n value: function handleKeydown(e) {\n if (e.keyCode === KEYCODES.ESCAPE && this.state.active) {\n this.closePortal();\n }\n }\n }, {\n key: 'render',\n value: function render() {\n return this.props.children({\n openPortal: this.openPortal,\n closePortal: this.closePortal,\n portal: this.wrapWithPortal,\n isOpen: this.state.active\n });\n }\n }]);\n\n return PortalWithState;\n}(React.Component);\n\nPortalWithState.propTypes = {\n children: PropTypes.func.isRequired,\n defaultOpen: PropTypes.bool,\n node: PropTypes.any,\n openByClickOn: PropTypes.element,\n closeOnEsc: PropTypes.bool,\n closeOnOutsideClick: PropTypes.bool,\n onOpen: PropTypes.func,\n onClose: PropTypes.func\n};\n\nPortalWithState.defaultProps = {\n onOpen: function onOpen() {},\n onClose: function onClose() {}\n};\n\nexport default PortalWithState;","import Portal from './PortalCompat';\nimport PortalWithState from './PortalWithState';\n\nexport { Portal, PortalWithState };","export var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar CHANNEL = exports.CHANNEL = '__direction__';\n\nvar DIRECTIONS = exports.DIRECTIONS = {\n LTR: 'ltr',\n RTL: 'rtl'\n};","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nexports['default'] = _propTypes2['default'].shape({\n getState: _propTypes2['default'].func,\n setState: _propTypes2['default'].func,\n subscribe: _propTypes2['default'].func\n});","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _arrayPrototype = require('array.prototype.flat');\n\nvar _arrayPrototype2 = _interopRequireDefault(_arrayPrototype);\n\nvar _globalCache = require('global-cache');\n\nvar _globalCache2 = _interopRequireDefault(_globalCache);\n\nvar _constants = require('./utils/constants');\n\nvar _getClassName = require('./utils/getClassName');\n\nvar _getClassName2 = _interopRequireDefault(_getClassName);\n\nvar _separateStyles2 = require('./utils/separateStyles');\n\nvar _separateStyles3 = _interopRequireDefault(_separateStyles2);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\n/**\n * Function required as part of the react-with-styles interface. Parses the styles provided by\n * react-with-styles to produce class names based on the style name and optionally the namespace if\n * available.\n *\n * stylesObject {Object} The styles object passed to withStyles.\n *\n * Return an object mapping style names to class names.\n */\nfunction create(stylesObject) {\n var stylesToClasses = {};\n var styleNames = Object.keys(stylesObject);\n var sharedState = _globalCache2['default'].get(_constants.GLOBAL_CACHE_KEY) || {};\n var _sharedState$namespac = sharedState.namespace,\n namespace = _sharedState$namespac === undefined ? '' : _sharedState$namespac;\n\n styleNames.forEach(function (styleName) {\n var className = (0, _getClassName2['default'])(namespace, styleName);\n stylesToClasses[styleName] = className;\n });\n return stylesToClasses;\n}\n\n/**\n * Process styles to be consumed by a component.\n *\n * stylesArray {Array} Array of the following: values returned by create, plain JavaScript objects\n * representing inline styles, or arrays thereof.\n *\n * Return an object with optional className and style properties to be spread on a component.\n */\nfunction resolve(stylesArray) {\n var flattenedStyles = (0, _arrayPrototype2['default'])(stylesArray, Infinity);\n\n var _separateStyles = (0, _separateStyles3['default'])(flattenedStyles),\n classNames = _separateStyles.classNames,\n hasInlineStyles = _separateStyles.hasInlineStyles,\n inlineStyles = _separateStyles.inlineStyles;\n\n var specificClassNames = classNames.map(function (name, index) {\n return String(name) + ' ' + String(name) + '_' + String(index + 1);\n });\n var className = specificClassNames.join(' ');\n\n var result = { className: className };\n if (hasInlineStyles) result.style = inlineStyles;\n return result;\n}\n\nexports['default'] = { create: create, resolve: resolve };","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar GLOBAL_CACHE_KEY = 'reactWithStylesInterfaceCSS';\nvar MAX_SPECIFICITY = 20;\n\nexports.GLOBAL_CACHE_KEY = GLOBAL_CACHE_KEY;\nexports.MAX_SPECIFICITY = MAX_SPECIFICITY;","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports['default'] = getClassName;\n/**\n * Construct a class name.\n *\n * namespace {String} Used to construct unique class names.\n * styleName {String} Name identifying the specific style.\n *\n * Return the class name.\n */\nfunction getClassName(namespace, styleName) {\n var namespaceSegment = namespace.length > 0 ? String(namespace) + '__' : '';\n return '' + namespaceSegment + String(styleName);\n}","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\n// This function takes an array of styles and separates them into styles that\n// are handled by Aphrodite and inline styles.\nfunction separateStyles(stylesArray) {\n var classNames = [];\n\n // Since determining if an Object is empty requires collecting all of its\n // keys, and we want the best performance in this code because we are in the\n // render path, we are going to do a little bookkeeping ourselves.\n var hasInlineStyles = false;\n var inlineStyles = {};\n\n // This is run on potentially every node in the tree when rendering, where\n // performance is critical. Normally we would prefer using `forEach`, but\n // old-fashioned for loops are faster so that's what we have chosen here.\n for (var i = 0; i < stylesArray.length; i++) {\n // eslint-disable-line no-plusplus\n var style = stylesArray[i];\n\n // If this style is falsy, we just want to disregard it. This allows for\n // syntax like:\n //\n // css(isFoo && styles.foo)\n if (style) {\n if (typeof style === 'string') {\n classNames.push(style);\n } else {\n Object.assign(inlineStyles, style);\n hasInlineStyles = true;\n }\n }\n }\n\n return {\n classNames: classNames,\n hasInlineStyles: hasInlineStyles,\n inlineStyles: inlineStyles\n };\n}\n\nexports['default'] = separateStyles;","// eslint-disable-next-line import/no-unresolved\nmodule.exports = require('./dist/index.js').default;\n","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar styleInterface = void 0;\nvar styleTheme = void 0;\n\nfunction registerTheme(theme) {\n styleTheme = theme;\n}\n\nfunction registerInterface(interfaceToRegister) {\n styleInterface = interfaceToRegister;\n}\n\nfunction create(makeFromTheme, createWithDirection) {\n var styles = createWithDirection(makeFromTheme(styleTheme));\n return function () {\n return styles;\n };\n}\n\nfunction createLTR(makeFromTheme) {\n return create(makeFromTheme, styleInterface.createLTR || styleInterface.create);\n}\n\nfunction createRTL(makeFromTheme) {\n return create(makeFromTheme, styleInterface.createRTL || styleInterface.create);\n}\n\nfunction get() {\n return styleTheme;\n}\n\nfunction resolve() {\n if (process.env.NODE_ENV !== 'production' && typeof performance !== 'undefined' && performance.mark !== undefined) {\n performance.mark('react-with-styles.resolve.start');\n }\n\n for (var _len = arguments.length, styles = Array(_len), _key = 0; _key < _len; _key++) {\n styles[_key] = arguments[_key];\n }\n\n var result = styleInterface.resolve(styles);\n\n if (process.env.NODE_ENV !== 'production' && typeof performance !== 'undefined' && performance.mark !== undefined) {\n performance.mark('react-with-styles.resolve.end');\n\n performance.measure('\\uD83D\\uDC69\\u200D\\uD83C\\uDFA8 [resolve]', 'react-with-styles.resolve.start', 'react-with-styles.resolve.end');\n }\n\n return result;\n}\n\nfunction resolveLTR() {\n for (var _len2 = arguments.length, styles = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n styles[_key2] = arguments[_key2];\n }\n\n if (styleInterface.resolveLTR) {\n return styleInterface.resolveLTR(styles);\n }\n\n return resolve(styles);\n}\n\nfunction resolveRTL() {\n for (var _len3 = arguments.length, styles = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n styles[_key3] = arguments[_key3];\n }\n\n if (styleInterface.resolveRTL) {\n return styleInterface.resolveRTL(styles);\n }\n\n return resolve(styles);\n}\n\nfunction flush() {\n if (styleInterface.flush) {\n styleInterface.flush();\n }\n}\n\nexports['default'] = {\n registerTheme: registerTheme,\n registerInterface: registerInterface,\n create: createLTR,\n createLTR: createLTR,\n createRTL: createRTL,\n get: get,\n resolve: resolveLTR,\n resolveLTR: resolveLTR,\n resolveRTL: resolveRTL,\n flush: flush\n};","Object.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.withStylesPropTypes = exports.css = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.withStyles = withStyles;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _hoistNonReactStatics = require('hoist-non-react-statics');\n\nvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\nvar _deepmerge = require('deepmerge');\n\nvar _deepmerge2 = _interopRequireDefault(_deepmerge);\n\nvar _constants = require('react-with-direction/dist/constants');\n\nvar _brcast = require('react-with-direction/dist/proptypes/brcast');\n\nvar _brcast2 = _interopRequireDefault(_brcast);\n\nvar _ThemedStyleSheet = require('./ThemedStyleSheet');\n\nvar _ThemedStyleSheet2 = _interopRequireDefault(_ThemedStyleSheet);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Add some named exports to assist in upgrading and for convenience\nvar css = exports.css = _ThemedStyleSheet2['default'].resolveLTR;\nvar withStylesPropTypes = exports.withStylesPropTypes = {\n styles: _propTypes2['default'].object.isRequired, // eslint-disable-line react/forbid-prop-types\n theme: _propTypes2['default'].object.isRequired, // eslint-disable-line react/forbid-prop-types\n css: _propTypes2['default'].func.isRequired\n};\n\nvar EMPTY_STYLES = {};\nvar EMPTY_STYLES_FN = function EMPTY_STYLES_FN() {\n return EMPTY_STYLES;\n};\n\nfunction baseClass(pureComponent) {\n if (pureComponent) {\n if (!_react2['default'].PureComponent) {\n throw new ReferenceError('withStyles() pureComponent option requires React 15.3.0 or later');\n }\n\n return _react2['default'].PureComponent;\n }\n\n return _react2['default'].Component;\n}\n\nvar contextTypes = _defineProperty({}, _constants.CHANNEL, _brcast2['default']);\n\nvar defaultDirection = _constants.DIRECTIONS.LTR;\n\nfunction withStyles(styleFn) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$stylesPropName = _ref.stylesPropName,\n stylesPropName = _ref$stylesPropName === undefined ? 'styles' : _ref$stylesPropName,\n _ref$themePropName = _ref.themePropName,\n themePropName = _ref$themePropName === undefined ? 'theme' : _ref$themePropName,\n _ref$cssPropName = _ref.cssPropName,\n cssPropName = _ref$cssPropName === undefined ? 'css' : _ref$cssPropName,\n _ref$flushBefore = _ref.flushBefore,\n flushBefore = _ref$flushBefore === undefined ? false : _ref$flushBefore,\n _ref$pureComponent = _ref.pureComponent,\n pureComponent = _ref$pureComponent === undefined ? false : _ref$pureComponent;\n\n var styleDefLTR = void 0;\n var styleDefRTL = void 0;\n var currentThemeLTR = void 0;\n var currentThemeRTL = void 0;\n var BaseClass = baseClass(pureComponent);\n\n function getResolveMethod(direction) {\n return direction === _constants.DIRECTIONS.LTR ? _ThemedStyleSheet2['default'].resolveLTR : _ThemedStyleSheet2['default'].resolveRTL;\n }\n\n function getCurrentTheme(direction) {\n return direction === _constants.DIRECTIONS.LTR ? currentThemeLTR : currentThemeRTL;\n }\n\n function getStyleDef(direction, wrappedComponentName) {\n var currentTheme = getCurrentTheme(direction);\n var styleDef = direction === _constants.DIRECTIONS.LTR ? styleDefLTR : styleDefRTL;\n\n var registeredTheme = _ThemedStyleSheet2['default'].get();\n\n // Return the existing styles if they've already been defined\n // and if the theme used to create them corresponds to the theme\n // registered with ThemedStyleSheet\n if (styleDef && currentTheme === registeredTheme) {\n return styleDef;\n }\n\n if (process.env.NODE_ENV !== 'production' && typeof performance !== 'undefined' && performance.mark !== undefined) {\n performance.mark('react-with-styles.createStyles.start');\n }\n\n var isRTL = direction === _constants.DIRECTIONS.RTL;\n\n if (isRTL) {\n styleDefRTL = styleFn ? _ThemedStyleSheet2['default'].createRTL(styleFn) : EMPTY_STYLES_FN;\n\n currentThemeRTL = registeredTheme;\n styleDef = styleDefRTL;\n } else {\n styleDefLTR = styleFn ? _ThemedStyleSheet2['default'].createLTR(styleFn) : EMPTY_STYLES_FN;\n\n currentThemeLTR = registeredTheme;\n styleDef = styleDefLTR;\n }\n\n if (process.env.NODE_ENV !== 'production' && typeof performance !== 'undefined' && performance.mark !== undefined) {\n performance.mark('react-with-styles.createStyles.end');\n\n performance.measure('\\uD83D\\uDC69\\u200D\\uD83C\\uDFA8 withStyles(' + String(wrappedComponentName) + ') [create styles]', 'react-with-styles.createStyles.start', 'react-with-styles.createStyles.end');\n }\n\n return styleDef;\n }\n\n function getState(direction, wrappedComponentName) {\n return {\n resolveMethod: getResolveMethod(direction),\n styleDef: getStyleDef(direction, wrappedComponentName)\n };\n }\n\n return function () {\n function withStylesHOC(WrappedComponent) {\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n\n // NOTE: Use a class here so components are ref-able if need be:\n // eslint-disable-next-line react/prefer-stateless-function\n\n var WithStyles = function (_BaseClass) {\n _inherits(WithStyles, _BaseClass);\n\n function WithStyles(props, context) {\n _classCallCheck(this, WithStyles);\n\n var _this = _possibleConstructorReturn(this, (WithStyles.__proto__ || Object.getPrototypeOf(WithStyles)).call(this, props, context));\n\n var direction = _this.context[_constants.CHANNEL] ? _this.context[_constants.CHANNEL].getState() : defaultDirection;\n\n _this.state = getState(direction, wrappedComponentName);\n return _this;\n }\n\n _createClass(WithStyles, [{\n key: 'componentDidMount',\n value: function () {\n function componentDidMount() {\n var _this2 = this;\n\n if (this.context[_constants.CHANNEL]) {\n // subscribe to future direction changes\n this.channelUnsubscribe = this.context[_constants.CHANNEL].subscribe(function (direction) {\n _this2.setState(getState(direction, wrappedComponentName));\n });\n }\n }\n\n return componentDidMount;\n }()\n }, {\n key: 'componentWillUnmount',\n value: function () {\n function componentWillUnmount() {\n if (this.channelUnsubscribe) {\n this.channelUnsubscribe();\n }\n }\n\n return componentWillUnmount;\n }()\n }, {\n key: 'render',\n value: function () {\n function render() {\n var _ref2;\n\n // As some components will depend on previous styles in\n // the component tree, we provide the option of flushing the\n // buffered styles (i.e. to a style tag) **before** the rendering\n // cycle begins.\n //\n // The interfaces provide the optional \"flush\" method which\n // is run in turn by ThemedStyleSheet.flush.\n if (flushBefore) {\n _ThemedStyleSheet2['default'].flush();\n }\n\n var _state = this.state,\n resolveMethod = _state.resolveMethod,\n styleDef = _state.styleDef;\n\n\n return _react2['default'].createElement(WrappedComponent, _extends({}, this.props, (_ref2 = {}, _defineProperty(_ref2, themePropName, _ThemedStyleSheet2['default'].get()), _defineProperty(_ref2, stylesPropName, styleDef()), _defineProperty(_ref2, cssPropName, resolveMethod), _ref2)));\n }\n\n return render;\n }()\n }]);\n\n return WithStyles;\n }(BaseClass);\n\n WithStyles.WrappedComponent = WrappedComponent;\n WithStyles.displayName = 'withStyles(' + String(wrappedComponentName) + ')';\n WithStyles.contextTypes = contextTypes;\n if (WrappedComponent.propTypes) {\n WithStyles.propTypes = (0, _deepmerge2['default'])({}, WrappedComponent.propTypes);\n delete WithStyles.propTypes[stylesPropName];\n delete WithStyles.propTypes[themePropName];\n delete WithStyles.propTypes[cssPropName];\n }\n if (WrappedComponent.defaultProps) {\n WithStyles.defaultProps = (0, _deepmerge2['default'])({}, WrappedComponent.defaultProps);\n }\n\n return (0, _hoistNonReactStatics2['default'])(WithStyles, WrappedComponent);\n }\n\n return withStylesHOC;\n }();\n}","// TinyColor v1.4.1\n// https://github.com/bgrins/TinyColor\n// Brian Grinstead, MIT License\n\n(function(Math) {\n\nvar trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\nfunction tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n}\n\ntinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n};\n\n// If input is an object, force 1 into \"1.0\" to handle ratios properly\n// String input requires \"1.0\" as input, so 1 will be treated as 1\ntinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n};\n\n// Given a string or object, convert that input to RGB\n// Possible string inputs:\n//\n// \"red\"\n// \"#f00\" or \"f00\"\n// \"#ff0000\" or \"ff0000\"\n// \"#ff000000\" or \"ff000000\"\n// \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n// \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n// \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n// \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n// \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n// \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n// \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n//\nfunction inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n}\n\n\n// Conversion Functions\n// --------------------\n\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// <http://mjijackson.com/2008/02/rgb-to-hsl-and-rgb-to-hsv-color-model-conversion-algorithms-in-javascript>\n\n// `rgbToRgb`\n// Handle bounds / percentage checking to conform to CSS color spec\n// <http://www.w3.org/TR/css3-color/>\n// *Assumes:* r, g, b in [0, 255] or [0, 1]\n// *Returns:* { r, g, b } in [0, 255]\nfunction rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n}\n\n// `rgbToHsl`\n// Converts an RGB color value to HSL.\n// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n// *Returns:* { h, s, l } in [0,1]\nfunction rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n}\n\n// `hslToRgb`\n// Converts an HSL color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\nfunction hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHsv`\n// Converts an RGB color value to HSV\n// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n// *Returns:* { h, s, v } in [0,1]\nfunction rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n\n// `hsvToRgb`\n// Converts an HSV color value to RGB.\n// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n// *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n\n// `rgbToHex`\n// Converts an RGB color to hex\n// Assumes r, g, and b are contained in the set [0, 255]\n// Returns a 3 or 6 character hex\nfunction rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToHex`\n// Converts an RGBA color plus alpha transparency to hex\n// Assumes r, g, b are contained in the set [0, 255] and\n// a in [0, 1]. Returns a 4 or 8 character rgba hex\nfunction rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n}\n\n// `rgbaToArgbHex`\n// Converts an RGBA color to an ARGB Hex8 string\n// Rarely used, but required for \"toFilter()\"\nfunction rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n}\n\n// `equals`\n// Can be called with any tinycolor input\ntinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n};\n\ntinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n};\n\n\n// Modification Functions\n// ----------------------\n// Thanks to less.js for some of the basics here\n// <https://github.com/cloudhead/less.js/blob/master/lib/less/functions.js>\n\nfunction desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n}\n\nfunction greyscale(color) {\n return tinycolor(color).desaturate(100);\n}\n\nfunction lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\nfunction brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n}\n\nfunction darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n}\n\n// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n// Values outside of this range will be wrapped into this range.\nfunction spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n}\n\n// Combination Functions\n// ---------------------\n// Thanks to jQuery xColor for some of the ideas behind these\n// <https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js>\n\nfunction complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n}\n\nfunction triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n}\n\nfunction splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n}\n\nfunction analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n}\n\nfunction monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n}\n\n// Utility Functions\n// ---------------------\n\ntinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n};\n\n\n// Readability Functions\n// ---------------------\n// <http://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef (WCAG Version 2)\n\n// `contrast`\n// Analyze the 2 colors and returns the color contrast defined by (WCAG Version 2)\ntinycolor.readability = function(color1, color2) {\n var c1 = tinycolor(color1);\n var c2 = tinycolor(color2);\n return (Math.max(c1.getLuminance(),c2.getLuminance())+0.05) / (Math.min(c1.getLuminance(),c2.getLuminance())+0.05);\n};\n\n// `isReadable`\n// Ensure that foreground and background color combinations meet WCAG2 guidelines.\n// The third argument is an optional Object.\n// the 'level' property states 'AA' or 'AAA' - if missing or invalid, it defaults to 'AA';\n// the 'size' property states 'large' or 'small' - if missing or invalid, it defaults to 'small'.\n// If the entire object is absent, isReadable defaults to {level:\"AA\",size:\"small\"}.\n\n// *Example*\n// tinycolor.isReadable(\"#000\", \"#111\") => false\n// tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\ntinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n};\n\n// `mostReadable`\n// Given a base color and a list of possible foreground or background\n// colors for that base, returns the most readable color.\n// Optionally returns Black or White if the most readable color is unreadable.\n// *Example*\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n// tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n// tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\ntinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n};\n\n\n// Big List of Colors\n// ------------------\n// <http://www.w3.org/TR/css3-color/#svg-color>\nvar names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n};\n\n// Make it easy to access colors via `hexNames[hex]`\nvar hexNames = tinycolor.hexNames = flip(names);\n\n\n// Utilities\n// ---------\n\n// `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\nfunction flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n}\n\n// Return a valid alpha value [0,1] with all invalid values being set to 1\nfunction boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n}\n\n// Take input from [0, n] and return it as [0, 1]\nfunction bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n}\n\n// Force a number between 0 and 1\nfunction clamp01(val) {\n return mathMin(1, mathMax(0, val));\n}\n\n// Parse a base-16 hex value into a base-10 integer\nfunction parseIntFromHex(val) {\n return parseInt(val, 16);\n}\n\n// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n// <http://stackoverflow.com/questions/7422072/javascript-how-to-detect-number-as-a-decimal-including-1-0>\nfunction isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n}\n\n// Check to see if string passed in is a percentage\nfunction isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n}\n\n// Force a hex value to have 2 characters\nfunction pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n}\n\n// Replace a decimal with it's percentage value\nfunction convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n}\n\n// Converts a decimal to a hex value\nfunction convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n// Converts a hex value to a decimal\nfunction convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n}\n\nvar matchers = (function() {\n\n // <http://www.w3.org/TR/css3-values/#integers>\n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // <http://www.w3.org/TR/css3-values/#number-value>\n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n})();\n\n// `isValidCSSUnit`\n// Take in a single string / number and check to see if it looks like a CSS unit\n// (see `matchers` above for definition).\nfunction isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n}\n\n// `stringInputToObject`\n// Permissive string parsing. Take in a number of formats, and output an object\n// based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\nfunction stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n}\n\nfunction validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n}\n\n// Node: Export function\nif (typeof module !== \"undefined\" && module.exports) {\n module.exports = tinycolor;\n}\n// AMD/requirejs: Define the module\nelse if (typeof define === 'function' && define.amd) {\n define(function () {return tinycolor;});\n}\n// Browser: Expose to window\nelse {\n window.tinycolor = tinycolor;\n}\n\n})(Math);\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([bth[buf[i++]], bth[buf[i++]], \n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]],\n\tbth[buf[i++]], bth[buf[i++]],\n\tbth[buf[i++]], bth[buf[i++]]]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || Function(\"return this\")() || (1, eval)(\"this\");\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","(function() { module.exports = this[\"wp\"][\"a11y\"]; }());","(function() { module.exports = this[\"wp\"][\"apiFetch\"]; }());","(function() { module.exports = this[\"wp\"][\"compose\"]; }());","(function() { module.exports = this[\"wp\"][\"deprecated\"]; }());","(function() { module.exports = this[\"wp\"][\"dom\"]; }());","(function() { module.exports = this[\"wp\"][\"element\"]; }());","(function() { module.exports = this[\"wp\"][\"hooks\"]; }());","(function() { module.exports = this[\"wp\"][\"i18n\"]; }());","(function() { module.exports = this[\"wp\"][\"isShallowEqual\"]; }());","(function() { module.exports = this[\"wp\"][\"keycodes\"]; }());","(function() { module.exports = this[\"wp\"][\"richText\"]; }());","(function() { module.exports = this[\"wp\"][\"url\"]; }());","(function() { module.exports = this[\"lodash\"]; }());","(function() { module.exports = this[\"moment\"]; }());","(function() { module.exports = this[\"React\"]; }());","(function() { module.exports = this[\"ReactDOM\"]; }());"],"sourceRoot":""} |